Improve launch config
[gpl/argeo-suite.git] / org.argeo.suite.core / src / org / argeo / suite / core / DefaultSuiteAppService.java
index ea5dc23e53996bda065ea034a876320630825387..b87527af828b30736790d6a85a5f0bc30934dde9 100644 (file)
@@ -4,9 +4,11 @@ import java.util.List;
 
 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;
 
@@ -17,11 +19,11 @@ public class DefaultSuiteAppService implements SystemAppService {
        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;
        }
@@ -51,10 +53,20 @@ public class DefaultSuiteAppService implements SystemAppService {
        }
 
        @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;
        }