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] Mon, 09 Feb 2009 21:03:41 -0000
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);
}
}