RemoveAction rAction = actionManager.getAction(RemoveAction.class);
RemoveRelationshipAction rRelationShipAction = actionManager
.getAction(RemoveRelationshipAction.class);
RemoveProcedureParameterAction rProcedureParamAction = actionManager
.getAction(RemoveProcedureParameterAction.class);
if (content instanceof DataMap) {
if (where instanceof DataChannelDescriptor) {
rAction.removeDataMap((DataMap) content);
}
else if (where instanceof DataNodeDescriptor) {
rAction.removeDataMapFromDataNode(
(DataNodeDescriptor) where,
(DataMap) content);
}
}
else if (where instanceof DataMap) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
}
else if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
}
else if (content instanceof Embeddable) {
rAction.removeEmbeddable(map, (Embeddable) content);
}
else if (content instanceof Query) {
rAction.removeQuery(map, (Query) content);
}
else if (content instanceof Procedure) {
rAction.removeProcedure(map, (Procedure) content);
}
}
else if (where instanceof DbEntity) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
}
else if (content instanceof DbAttribute) {
rAttributeAction.removeDbAttributes(
map,
(DbEntity) where,
new DbAttribute[] {
(DbAttribute) content
});
}
else if (content instanceof DbRelationship) {
rRelationShipAction.removeDbRelationships(
(DbEntity) where,
new DbRelationship[] {
(DbRelationship) content
});
}
}
else if (where instanceof ObjEntity) {
if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
}
else if (content instanceof ObjAttribute) {
rAttributeAction.removeObjAttributes(
(ObjEntity) where,
new ObjAttribute[] {
(ObjAttribute) content
});
}
else if (content instanceof ObjRelationship) {
rRelationShipAction.removeObjRelationships(
(ObjEntity) where,
new ObjRelationship[] {
(ObjRelationship) content
});
}
}
else if (where instanceof Procedure) {
final Procedure procedure = (Procedure) where;
if (content instanceof ProcedureParameter) {
rProcedureParamAction.removeProcedureParameters(
procedure,
new ProcedureParameter[] {
(ProcedureParameter) content
});
}