- if (ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_PARENT)
- || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_NODE_TEMPLATE)
- || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_ENCODED_INSTANCE)
- || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_INSTANCE))
- return resourcesService.saveEntity(entity, publish);
- else if (ConnectJcrUtils.isNodeType(entity, TrackerTypes.TRACKER_PROJECT))
- return trackerService.saveEntity(entity, publish);
- else if (ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_TASK)
- || ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_ACTIVITY))
- return activitiesService.saveEntity(entity, publish);
- else if (ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_PERSON)
- || ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_ORG))
- return peopleService.saveEntity(entity, publish);
- else if (ConnectJcrUtils.isNodeType(entity, NodeType.NT_FILE)
- || ConnectJcrUtils.isNodeType(entity, NodeType.NT_FOLDER))
- return documentsService.saveEntity(entity, publish);
- else
- return AppService.super.saveEntity(entity, publish);
- }
-
- public void setResourcesService(ResourcesService resourcesService) {
- this.resourcesService = resourcesService;
+ for (AppService appService : knownAppServices) {
+ if (appService.isKnownType(entity))
+ return appService.saveEntity(entity, publish);
+ }
+ throw new SuiteException("Unknown NodeType for " + entity + ". Cannot save");
+ // return AppService.super.saveEntity(entity, publish);