renamed event subscriber to entity subscriber

This commit is contained in:
Umed Khudoiberdiev 2016-05-27 12:13:37 +05:00
parent 342b560ad9
commit 66cb50796e
11 changed files with 36 additions and 36 deletions

View File

@ -1,11 +1,11 @@
import {EventSubscriber} from "../../../src/decorator/listeners/EventSubscriber";
import {EventSubscriberInterface} from "../../../src/subscriber/EventSubscriberInterface";
import {EntityEventSubscriber} from "../../../src/decorator/listeners/EventSubscriber";
import {EntitySubscriberInterface} from "../../../src/subscriber/EntitySubscriberInterface";
import {InsertEvent} from "../../../src/subscriber/event/InsertEvent";
import {RemoveEvent} from "../../../src/subscriber/event/RemoveEvent";
import {UpdateEvent} from "../../../src/subscriber/event/UpdateEvent";
@EventSubscriber()
export class EverythingSubscriber implements EventSubscriberInterface<any> {
@EntityEventSubscriber()
export class EverythingSubscriber implements EntitySubscriberInterface<any> {
/**
* Called after entity insertion.

View File

@ -1,7 +1,7 @@
import {Driver} from "../driver/Driver";
import {ConnectionOptions} from "./ConnectionOptions";
import {Repository} from "../repository/Repository";
import {EventSubscriberInterface} from "../subscriber/EventSubscriberInterface";
import {EntitySubscriberInterface} from "../subscriber/EntitySubscriberInterface";
import {RepositoryNotFoundError} from "./error/RepositoryNotFoundError";
import {EntityMetadata} from "../metadata/EntityMetadata";
import {ConstructorFunction} from "../common/ConstructorFunction";
@ -80,7 +80,7 @@ export class Connection {
/**
* All subscribers that are registered for this connection.
*/
readonly eventSubscribers: EventSubscriberInterface<any>[] = [];
readonly entitySubscribers: EntitySubscriberInterface<any>[] = [];
// -------------------------------------------------------------------------
// Private Properties
@ -234,7 +234,7 @@ export class Connection {
*/
importSubscribers(subscriberClasses: Function[]): this {
if (this.isConnected)
throw new CannotImportAlreadyConnectedError("event subscribers", this.name);
throw new CannotImportAlreadyConnectedError("entity subscribers", this.name);
subscriberClasses.forEach(cls => this.subscriberClasses.push(cls));
return this;
@ -354,10 +354,10 @@ export class Connection {
// take imported event subscribers
getMetadataArgsStorage()
.eventSubscribers
.entitySubscribers
.filterByClasses(this.subscriberClasses)
.map(metadata => getFromContainer(metadata.target))
.forEach(subscriber => this.eventSubscribers.push(subscriber));
.forEach(subscriber => this.entitySubscribers.push(subscriber));
// take imported entity listeners
getMetadataArgsStorage()

View File

@ -1,15 +1,15 @@
import {getMetadataArgsStorage} from "../../index";
import {EventSubscriberMetadataArgs} from "../../metadata-args/EventSubscriberMetadataArgs";
import {EntitySubscriberMetadataArgs} from "../../metadata-args/EntitySubscriberMetadataArgs";
/**
* Classes decorated with this decorator will listen to ORM events and their methods will be triggered when event
* occurs. Those classes must implement EventSubscriberInterface interface.
*/
export function EventSubscriber() {
export function EntityEventSubscriber() {
return function (target: Function) {
const args: EventSubscriberMetadataArgs = {
const args: EntitySubscriberMetadataArgs = {
target: target
};
getMetadataArgsStorage().eventSubscribers.add(args);
getMetadataArgsStorage().entitySubscribers.add(args);
};
}

View File

@ -113,4 +113,4 @@ export {FindOptions} from "./repository/FindOptions";
export {InsertEvent} from "./subscriber/event/InsertEvent";
export {UpdateEvent} from "./subscriber/event/UpdateEvent";
export {RemoveEvent} from "./subscriber/event/RemoveEvent";
export {EventSubscriberInterface} from "./subscriber/EventSubscriberInterface";
export {EntitySubscriberInterface} from "./subscriber/EntitySubscriberInterface";

View File

@ -1,8 +1,8 @@
/**
* Arguments for EventSubscriberMetadata class.
* Arguments for EntitySubscriberMetadata class.
*/
export interface EventSubscriberMetadataArgs {
export interface EntitySubscriberMetadataArgs {
/**
* Class to which subscriber is applied.

View File

@ -7,10 +7,10 @@ import {IndexMetadataArgs} from "./IndexMetadataArgs";
import {EntityListenerMetadataArgs} from "./EntityListenerMetadataArgs";
import {TableMetadataArgs} from "./TableMetadataArgs";
import {NamingStrategyMetadataArgs} from "./NamingStrategyMetadataArgs";
import {EventSubscriberMetadataArgs} from "./EventSubscriberMetadataArgs";
import {JoinTableMetadataArgs} from "./JoinTableMetadataArgs";
import {JoinColumnMetadataArgs} from "./JoinColumnMetadataArgs";
import {EmbeddedMetadataArgs} from "./EmbeddedMetadataArgs";
import {EntitySubscriberMetadataArgs} from "./EntitySubscriberMetadataArgs";
/**
* Storage all metadatas of all available types: tables, fields, subscribers, relations, etc.
@ -29,7 +29,7 @@ export class MetadataArgsStorage {
readonly tables = new TargetMetadataArgsCollection<TableMetadataArgs>();
readonly namingStrategies = new TargetMetadataArgsCollection<NamingStrategyMetadataArgs>();
readonly eventSubscribers = new TargetMetadataArgsCollection<EventSubscriberMetadataArgs>();
readonly entitySubscribers = new TargetMetadataArgsCollection<EntitySubscriberMetadataArgs>();
readonly indices = new TargetMetadataArgsCollection<IndexMetadataArgs>();
readonly columns = new PropertyMetadataArgsCollection<ColumnMetadataArgs>();
readonly relations = new PropertyMetadataArgsCollection<RelationMetadataArgs>();

View File

@ -0,0 +1,13 @@
import {TargetMetadata} from "./TargetMetadata";
import {EntitySubscriberMetadataArgs} from "../metadata-args/EntitySubscriberMetadataArgs";
/**
* Contains metadata information about ORM event subscribers.
*/
export class EntitySubscriberMetadata extends TargetMetadata {
constructor(args: EntitySubscriberMetadataArgs) {
super(args.target);
}
}

View File

@ -1,13 +0,0 @@
import {TargetMetadata} from "./TargetMetadata";
import {EventSubscriberMetadataArgs} from "../metadata-args/EventSubscriberMetadataArgs";
/**
* Contains metadata information about ORM event subscribers.
*/
export class EventSubscriberMetadata extends TargetMetadata {
constructor(args: EventSubscriberMetadataArgs) {
super(args.target);
}
}

View File

@ -35,7 +35,7 @@ export class Repository<Entity> {
protected entityMetadatas: EntityMetadataCollection,
protected metadata: EntityMetadata) {
this.driver = connection.driver;
this.broadcaster = new Broadcaster(entityMetadatas, connection.eventSubscribers, connection.entityListeners); // todo: inject broadcaster from connection
this.broadcaster = new Broadcaster(entityMetadatas, connection.entitySubscribers, connection.entityListeners); // todo: inject broadcaster from connection
this.persistOperationExecutor = new PersistOperationExecutor(connection.driver, entityMetadatas, this.broadcaster);
this.entityPersistOperationBuilder = new EntityPersistOperationBuilder(entityMetadatas);
this.plainObjectToEntityTransformer = new PlainObjectToNewEntityTransformer();

View File

@ -1,4 +1,4 @@
import {EventSubscriberInterface} from "./EventSubscriberInterface";
import {EntitySubscriberInterface} from "./EntitySubscriberInterface";
import {ColumnMetadata} from "../metadata/ColumnMetadata";
import {EventListenerTypes} from "../metadata/types/EventListenerTypes";
import {EntityListenerMetadata} from "../metadata/EntityListenerMetadata";
@ -14,7 +14,7 @@ export class Broadcaster {
// -------------------------------------------------------------------------
constructor(private entityMetadatas: EntityMetadataCollection,
private subscriberMetadatas: EventSubscriberInterface<any>[],
private subscriberMetadatas: EntitySubscriberInterface<any>[],
private entityListeners: EntityListenerMetadata[]) {
}
@ -182,7 +182,7 @@ export class Broadcaster {
// Private Methods
// -------------------------------------------------------------------------
private isAllowedSubscribers(subscriber: EventSubscriberInterface<any>, cls: Function) {
private isAllowedSubscribers(subscriber: EntitySubscriberInterface<any>, cls: Function) {
return !subscriber.listenTo ||
!subscriber.listenTo() ||
subscriber.listenTo() === Object ||

View File

@ -5,7 +5,7 @@ import {InsertEvent} from "./event/InsertEvent";
/**
* Classes that implement this interface are subscribers that subscribe for the specific events of the ORM.
*/
export interface EventSubscriberInterface<Entity> {
export interface EntitySubscriberInterface<Entity> {
/**
* Returns the class of the entity to which events will listen.