import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import org.argeo.connect.AppService;
import org.argeo.connect.SystemAppService;
+import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.suite.SuiteConstants;
import org.argeo.suite.SuiteException;
private List<AppService> knownAppServices;
@Override
- public Node createEntity(Node parent, String nodeType, Node srcNode, boolean removeSrcNode)
+ public Node publishEntity(Node parent, String nodeType, Node srcNode, boolean removeSrcNode)
throws RepositoryException {
for (AppService appService : knownAppServices) {
if (appService.isKnownType(nodeType))
- return appService.createEntity(parent, nodeType, srcNode, removeSrcNode);
+ return appService.publishEntity(parent, nodeType, srcNode, removeSrcNode);
}
return null;
}
}
@Override
- public String getDefaultRelPath(String nodetype, String id) {
+ public String getMainNodeType(Node node) {
+ for (AppService appService : knownAppServices) {
+ String foundType = appService.getMainNodeType(node);
+ if (EclipseUiUtils.notEmpty(foundType))
+ return foundType;
+ }
+ return null;
+ }
+
+ @Override
+ public String getDefaultRelPath(Session session, String nodetype, String id) {
for (AppService appService : knownAppServices) {
if (appService.isKnownType(nodetype))
- return appService.getDefaultRelPath(nodetype, id);
+ return appService.getDefaultRelPath(session, nodetype, id);
}
return null;
}