svn commit: r742730 - in /lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms: cocoon/acting/ cocoon/transformation/ workflow/usecases/

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Mon Feb  9 21:03:40 2009
New Revision: 742730

URL: http://svn.apache.org/viewvc?rev=742730&view=rev
Log:
Simplify API, replace repository classes with publication classes for better SoC.

Modified:
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflow.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Publish.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Reject.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Submit.java

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java Mon Feb  9 21:03:40 2009
@@ -30,13 +30,9 @@
 import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
 import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.URLInformation;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
 import org.apache.lenya.cms.workflow.WorkflowUtil;
 import org.apache.lenya.util.ServletHelper;
 
@@ -67,8 +63,8 @@
      * <code>EVENT</code> The event
      */
     public static final String EVENT = "event";
-    
-    private RepositoryManager repositoryManager;
+
+    private Repository repository;
 
     /**
      * @see org.apache.cocoon.acting.Action#act(org.apache.cocoon.environment.Redirector,
@@ -92,10 +88,9 @@
         }
 
         Request request = ObjectModelHelper.getRequest(objectModel);
-        Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-        DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
-        String pubId = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
-        Publication pub = factory.getPublication(pubId);
+        Session session = this.repository.getSession(request);
+        Publication pub = session.getUriHandler().getPublication(
+                ServletHelper.getWebappURI(request));
         Document document = pub.getArea(area).getDocument(documentId, language);
 
         if (getLogger().isDebugEnabled()) {
@@ -106,12 +101,8 @@
         return Collections.EMPTY_MAP;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
 }

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java Mon Feb  9 21:03:40 2009
@@ -32,12 +32,9 @@
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.transformation.AbstractSAXTransformer;
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
+import org.apache.lenya.cms.publication.Repository;
 import org.apache.lenya.cms.publication.ResourceType;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Session;
 import org.apache.lenya.cms.workflow.WorkflowUtil;
 import org.apache.lenya.util.ServletHelper;
 import org.apache.lenya.workflow.Workflow;
@@ -63,7 +60,7 @@
      */
     public static final String EVENT_ATTRIBUTE = "event";
     
-    private RepositoryManager repositoryManager;
+    private Repository repository;
 
     /**
      * (non-Javadoc)
@@ -125,13 +122,12 @@
 
         try {
             Request request = ObjectModelHelper.getRequest(_objectModel);
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory map = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
 
             String webappUrl = ServletHelper.getWebappURI(request);
             Document document = null;
-            if (map.isDocument(webappUrl)) {
-                document = map.getFromURL(webappUrl);
+            if (session.getUriHandler().isDocument(webappUrl)) {
+                document = session.getUriHandler().getDocument(webappUrl);
                 ResourceType doctype = document.getResourceType();
                 if (document.getPublication().getWorkflowSchema(doctype) != null) {
                     setHasWorkflow(true);
@@ -178,12 +174,8 @@
         this.hasWorkflow = _hasWorkflow;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
 }
\ No newline at end of file

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflow.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflow.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflow.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflow.java Mon Feb  9 21:03:40 2009
@@ -32,7 +32,6 @@
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;
 import org.apache.lenya.cms.publication.DocumentException;
-import org.apache.lenya.cms.publication.DocumentFactory;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.PublicationException;
 import org.apache.lenya.cms.publication.URLInformation;
@@ -71,14 +70,13 @@
             PublicationException {
         List preOrder;
         String sourceUrl = getSourceURL();
-        DocumentFactory factory = getDocumentFactory();
-        if (getDocumentFactory().isDocument(sourceUrl)) {
-            Document doc = factory.getFromURL(sourceUrl);
+        if (getSession().getUriHandler().isDocument(sourceUrl)) {
+            Document doc = getSession().getUriHandler().getDocument(sourceUrl);
             preOrder = getPreOrder(doc.getLink().getNode());
         } else {
             preOrder = new ArrayList();
             URLInformation info = new URLInformation(getSourceURL());
-            Publication pub = factory.getPublication(info.getPublicationId());
+            Publication pub = getSession().getPublication(info.getPublicationId());
             Area area = pub.getArea(info.getArea());
             SiteStructure site = area.getSite();
             SiteNode[] topLevelNodes = site.getTopLevelNodes();

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Publish.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Publish.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Publish.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Publish.java Mon Feb  9 21:03:40 2009
@@ -45,12 +45,12 @@
 import org.apache.lenya.cms.observation.RepositoryEventFactory;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentException;
-import org.apache.lenya.cms.publication.DocumentFactory;
 import org.apache.lenya.cms.publication.DocumentLocator;
 import org.apache.lenya.cms.publication.DocumentManager;
 import org.apache.lenya.cms.publication.Proxy;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.PublicationException;
+import org.apache.lenya.cms.repository.Session;
 import org.apache.lenya.cms.site.Link;
 import org.apache.lenya.cms.site.SiteException;
 import org.apache.lenya.cms.site.SiteManager;
@@ -224,7 +224,6 @@
 
         Document document = getSourceDocument();
         Publication publication = document.getPublication();
-        DocumentFactory map = document.getFactory();
         SiteStructure liveSite = publication.getArea(Publication.LIVE_AREA).getSite();
 
         List missingDocuments = new ArrayList();
@@ -237,7 +236,7 @@
             if (!liveSite.contains(document.getPath())) {
                 DocumentLocator liveLoc = document.getLocator().getAreaVersion(
                         Publication.LIVE_AREA);
-                DocumentLocator[] requiredNodes = siteManager.getRequiredResources(map, liveLoc);
+                DocumentLocator[] requiredNodes = siteManager.getRequiredResources(getSession(), liveLoc);
                 for (int i = 0; i < requiredNodes.length; i++) {
                     String path = requiredNodes[i].getPath();
                     if (!liveSite.contains(path)) {
@@ -381,9 +380,9 @@
         Message message = new Message(subject, body, sender, recipients);
 
         NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
-        RepositoryEvent event = RepositoryEventFactory.createEvent(getSession()
-                .getDocumentFactory().getSession(), getLogger(), descriptor);
-        getSession().getDocumentFactory().getSession().enqueueEvent(event);
+        org.apache.lenya.cms.repository.Session repoSession = (Session) getSession();
+        RepositoryEvent event = RepositoryEventFactory.createEvent(repoSession, getLogger(), descriptor);
+        repoSession.enqueueEvent(event);
     }
 
     /**

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Reject.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Reject.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Reject.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Reject.java Mon Feb  9 21:03:40 2009
@@ -31,6 +31,7 @@
 import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.Proxy;
 import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.repository.Session;
 import org.apache.lenya.cms.workflow.WorkflowUtil;
 import org.apache.lenya.notification.Message;
 import org.apache.lenya.notification.NotificationEventDescriptor;
@@ -116,9 +117,9 @@
             Message message = new Message(subject, body, sender, recipients);
 
             NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
-            RepositoryEvent event = RepositoryEventFactory.createEvent(getSession()
-                    .getDocumentFactory().getSession(), getLogger(), descriptor);
-            getSession().getDocumentFactory().getSession().enqueueEvent(event);
+            org.apache.lenya.cms.repository.Session repoSession = (Session) getSession();
+            RepositoryEvent event = RepositoryEventFactory.createEvent(repoSession, getLogger(), descriptor);
+            repoSession.enqueueEvent(event);
         }
     }
 }

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Submit.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Submit.java?rev=742730&r1=742729&r2=742730&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Submit.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Submit.java Mon Feb  9 21:03:40 2009
@@ -28,6 +28,7 @@
 import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.Proxy;
 import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.repository.Session;
 import org.apache.lenya.notification.Message;
 import org.apache.lenya.notification.NotificationEventDescriptor;
 import org.apache.lenya.notification.NotificationException;
@@ -100,8 +101,8 @@
         Message message = new Message(subject, body, sender, recipients);
 
         NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
-        RepositoryEvent event = RepositoryEventFactory.createEvent(getSession()
-                .getDocumentFactory().getSession(), getLogger(), descriptor);
-        getSession().getDocumentFactory().getSession().enqueueEvent(event);
+        org.apache.lenya.cms.repository.Session repoSession = (Session) getSession();
+        RepositoryEvent event = RepositoryEventFactory.createEvent(repoSession, getLogger(), descriptor);
+        repoSession.enqueueEvent(event);
     }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.