Adapt after connect refactoring
[gpl/argeo-suite.git] / org.argeo.suite.core / src / org / argeo / suite / core / DefaultSuiteAppService.java
index 52a9867cc7168bb1f4c710e9b6eb9b71621bd6b6..24cf37dff2e4087c3d00fddd6ac1206a57c08e24 100644 (file)
@@ -4,22 +4,25 @@ 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.suite.SuiteConstants;
+import org.argeo.suite.SuiteException;
 
-public class DefaultSuiteAppService implements AppService {
+public class DefaultSuiteAppService implements SystemAppService {
 
        // Injected known AppWorkbenchServices: order is important, first found
        // result will be returned by the various methods.
        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;
        }
@@ -49,10 +52,10 @@ public class DefaultSuiteAppService implements AppService {
        }
 
        @Override
-       public String getDefaultRelPath(String nodetype, String id) {
+       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;
        }
@@ -64,7 +67,8 @@ public class DefaultSuiteAppService implements AppService {
                        if (appService.isKnownType(entity))
                                return appService.saveEntity(entity, publish);
                }
-               return AppService.super.saveEntity(entity, publish);
+               throw new SuiteException("Unknown NodeType for " + entity + ". Cannot save");
+               // return AppService.super.saveEntity(entity, publish);
        }
 
        @Override