You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/06/23 11:15:34 UTC
svn commit: r416648 - in /lenya/trunk/src:
java/org/apache/lenya/cms/cocoon/components/modules/input/
java/org/apache/lenya/cms/cocoon/transformation/
java/org/apache/lenya/cms/workflow/
java/org/apache/lenya/cms/workflow/usecases/ modules-core/siteman...
Author: andreas
Date: Fri Jun 23 02:15:28 2006
New Revision: 416648
URL: http://svn.apache.org/viewvc?rev=416648&view=rev
Log:
Reduced visibility of DocumentWorkflowable class to reduce dependencies on implementation code
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java
lenya/trunk/src/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java
lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowUtil.java
lenya/trunk/src/java/org/apache/lenya/cms/workflow/usecases/History.java
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Overview.java
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java
lenya/trunk/src/pubs/blog/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java Fri Jun 23 02:15:28 2006
@@ -30,10 +30,11 @@
import org.apache.lenya.cms.publication.PageEnvelope;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.workflow.Version;
import org.apache.lenya.workflow.Workflow;
import org.apache.lenya.workflow.WorkflowManager;
+import org.apache.lenya.workflow.Workflowable;
/**
* Module for workflow access.
@@ -83,10 +84,8 @@
wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE);
Session session = RepositoryUtil.getSession(this.manager,
ObjectModelHelper.getRequest(objectModel));
- DocumentWorkflowable workflowable = new DocumentWorkflowable(this.manager,
- session,
- document,
- getLogger());
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, session,
+ getLogger(), document);
if (wfManager.hasWorkflow(workflowable)) {
Version latestVersion = workflowable.getLatestVersion();
@@ -139,7 +138,7 @@
return value;
}
- protected Version getLatestVersion(DocumentWorkflowable workflowable, String event) {
+ protected Version getLatestVersion(Workflowable workflowable, String event) {
Version latestEventVersion = null;
Version versions[] = workflowable.getVersions();
for (int i = versions.length - 1; i > 0; i--) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java Fri Jun 23 02:15:28 2006
@@ -36,10 +36,11 @@
import org.apache.lenya.cms.publication.ResourceType;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.util.ServletHelper;
import org.apache.lenya.workflow.Workflow;
import org.apache.lenya.workflow.WorkflowManager;
+import org.apache.lenya.workflow.Workflowable;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
@@ -143,10 +144,10 @@
}
if (hasWorkflow()) {
- DocumentWorkflowable workflowable = new DocumentWorkflowable(this.manager,
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager,
session,
- document,
- getLogger());
+ getLogger(),
+ document);
Workflow workflow = workflowManager.getWorkflowSchema(workflowable);
String[] events = workflow.getEvents();
for (int i = 0; i < events.length; i++) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java Fri Jun 23 02:15:28 2006
@@ -44,7 +44,7 @@
*
* @version $Id$
*/
-public class DocumentWorkflowable extends AbstractLogEnabled implements Workflowable {
+class DocumentWorkflowable extends AbstractLogEnabled implements Workflowable {
/**
* Ctor.
Modified: lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowUtil.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowUtil.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowUtil.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowUtil.java Fri Jun 23 02:15:28 2006
@@ -49,7 +49,7 @@
WorkflowManager wfManager = null;
try {
wfManager = (WorkflowManager) manager.lookup(WorkflowManager.ROLE);
- Workflowable workflowable = new DocumentWorkflowable(manager, session, document, logger);
+ Workflowable workflowable = getWorkflowable(manager, session, logger, document);
wfManager.invoke(workflowable, event);
} catch (ServiceException e) {
throw new WorkflowException(e);
@@ -78,7 +78,7 @@
WorkflowManager wfManager = null;
try {
wfManager = (WorkflowManager) manager.lookup(WorkflowManager.ROLE);
- Workflowable workflowable = new DocumentWorkflowable(manager, session, document, logger);
+ Workflowable workflowable = getWorkflowable(manager, session, logger, document);
wfManager.invoke(workflowable, event, force);
} catch (ServiceException e) {
throw new WorkflowException(e);
@@ -230,7 +230,7 @@
WorkflowManager wfManager = null;
try {
wfManager = (WorkflowManager) manager.lookup(WorkflowManager.ROLE);
- Workflowable workflowable = new DocumentWorkflowable(manager, session, document, logger);
+ Workflowable workflowable = getWorkflowable(manager, session, logger, document);
if (wfManager.hasWorkflow(workflowable)) {
return wfManager.getWorkflowSchema(workflowable);
} else {
@@ -244,4 +244,19 @@
}
}
}
+
+ /**
+ * Returns a workflowable for a document.
+ * @param manager The service manager.
+ * @param session The session.
+ * @param logger The logger.
+ * @param document The document.
+ * @return A workflowable.
+ */
+ public static Workflowable getWorkflowable(ServiceManager manager, Session session,
+ Logger logger, Document document) {
+ Workflowable workflowable = new DocumentWorkflowable(manager, session, document, logger);
+ return workflowable;
+ }
+
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/workflow/usecases/History.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/workflow/usecases/History.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/workflow/usecases/History.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/workflow/usecases/History.java Fri Jun 23 02:15:28 2006
@@ -17,8 +17,9 @@
package org.apache.lenya.cms.workflow.usecases;
import org.apache.lenya.cms.usecase.DocumentUsecase;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.workflow.Version;
+import org.apache.lenya.workflow.Workflowable;
/**
* Display the workflow history tab in the site area
@@ -34,10 +35,10 @@
protected void initParameters() {
super.initParameters();
- DocumentWorkflowable workflowable = new DocumentWorkflowable(this.manager,
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager,
getSession(),
- getSourceDocument(),
- getLogger());
+ getLogger(),
+ getSourceDocument());
Version[] versions = workflowable.getVersions();
setParameter("versions", versions);
}
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Overview.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Overview.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Overview.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Overview.java Fri Jun 23 02:15:28 2006
@@ -25,10 +25,11 @@
import org.apache.lenya.cms.site.SiteUtil;
import org.apache.lenya.cms.site.usecases.SiteUsecase;
import org.apache.lenya.cms.usecase.UsecaseException;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.workflow.Version;
import org.apache.lenya.workflow.Workflow;
import org.apache.lenya.workflow.WorkflowManager;
+import org.apache.lenya.workflow.Workflowable;
/**
* Usecase to display the overview tab in the site area for a document.
@@ -77,10 +78,10 @@
boolean visible = SiteUtil.isVisibleInNavigation(this.manager, doc);
setParameter(VISIBLE_IN_NAVIGATION, Boolean.valueOf(visible));
- DocumentWorkflowable workflowable = new DocumentWorkflowable(this.manager,
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager,
getSession(),
- doc,
- getLogger());
+ getLogger(),
+ doc);
resolver = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE);
if (resolver.hasWorkflow(workflowable)) {
Workflow workflow = resolver.getWorkflowSchema(workflowable);
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java Fri Jun 23 02:15:28 2006
@@ -46,10 +46,10 @@
import org.apache.lenya.cms.site.SiteManager;
import org.apache.lenya.cms.usecase.AbstractUsecase;
import org.apache.lenya.cms.usecase.UsecaseException;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.workflow.Version;
import org.apache.lenya.workflow.Workflow;
+import org.apache.lenya.workflow.Workflowable;
/**
* Overview over all documents.
@@ -107,10 +107,10 @@
entry.setValue(KEY_LAST_MODIFIED, lastModified);
if (WorkflowUtil.hasWorkflow(this.manager, getSession(), getLogger(), documents[i])) {
- DocumentWorkflowable workflowable = new DocumentWorkflowable(this.manager,
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager,
getSession(),
- documents[i],
- getLogger());
+ getLogger(),
+ documents[i]);
Version latestVersion = workflowable.getLatestVersion();
String state;
if (latestVersion != null) {
@@ -142,8 +142,7 @@
RCMLEntry lastEntry = rcml.getLatestCheckOutEntry();
String userId = lastEntry.getIdentity();
entry.setValue(KEY_CHECKED_OUT, userId);
- }
- else {
+ } else {
entry.setValue(KEY_CHECKED_OUT, "");
}
entries.add(entry);
Modified: lenya/trunk/src/pubs/blog/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/pubs/blog/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java?rev=416648&r1=416647&r2=416648&view=diff
==============================================================================
--- lenya/trunk/src/pubs/blog/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java (original)
+++ lenya/trunk/src/pubs/blog/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java Fri Jun 23 02:15:28 2006
@@ -32,7 +32,6 @@
import org.apache.lenya.cms.site.SiteUtil;
import org.apache.lenya.cms.usecase.DocumentUsecase;
import org.apache.lenya.cms.usecase.UsecaseException;
-import org.apache.lenya.cms.workflow.DocumentWorkflowable;
import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.workflow.Version;
import org.apache.lenya.workflow.Workflowable;
@@ -138,14 +137,16 @@
protected void updateFeed() throws Exception {
DocumentFactory map = DocumentUtil.createDocumentIdentityMap(this.manager, getSession());
-
+
Document[] docs = new Document[2];
org.w3c.dom.Document[] doms = new org.w3c.dom.Document[2];
-
+
docs[0] = map.get(this.getSourceDocument().getPublication(),
- Publication.LIVE_AREA, "/feeds/all/index");
+ Publication.LIVE_AREA,
+ "/feeds/all/index");
docs[1] = map.get(this.getSourceDocument().getPublication(),
- Publication.AUTHORING_AREA, "/feeds/all/index");
+ Publication.AUTHORING_AREA,
+ "/feeds/all/index");
DateFormat datefmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
DateFormat ofsfmt = new SimpleDateFormat("Z");
@@ -154,22 +155,22 @@
String dateofs = ofsfmt.format(date);
String datestr = datefmt.format(date) + dateofs.substring(0, 3) + ":"
+ dateofs.substring(3, 5);
-
- for (int i=0; i<2; i++) {
+
+ for (int i = 0; i < 2; i++) {
doms[i] = DocumentHelper.readDocument(docs[i].getFile());
Element parent = doms[i].getDocumentElement();
// set modified date on publish
Element element = (Element) XPathAPI.selectSingleNode(parent,
- "/*[local-name() = 'feed']/*[local-name() = 'modified']");
+ "/*[local-name() = 'feed']/*[local-name() = 'modified']");
DocumentHelper.setSimpleElementText(element, datestr);
DocumentHelper.writeDocument(doms[i], docs[i].getFile());
}
}
-
- protected void updateBlogEntry(Document doc) throws Exception {
+
+ protected void updateBlogEntry(Document doc) throws Exception {
org.w3c.dom.Document dom = DocumentHelper.readDocument(doc.getFile());
Element parent = dom.getDocumentElement();
-
+
DateFormat datefmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
DateFormat ofsfmt = new SimpleDateFormat("Z");
Date date = new Date();
@@ -177,18 +178,20 @@
String dateofs = ofsfmt.format(date);
String datestr = datefmt.format(date) + dateofs.substring(0, 3) + ":"
+ dateofs.substring(3, 5);
-
+
// set modified date on re-publish
Element element = (Element) XPathAPI.selectSingleNode(parent,
- "/*[local-name() = 'entry']/*[local-name() = 'modified']");
+ "/*[local-name() = 'entry']/*[local-name() = 'modified']");
DocumentHelper.setSimpleElementText(element, datestr);
-
- // set issued date on first time publish
- Workflowable dw =
- (Workflowable)new DocumentWorkflowable(this.manager, this.getSession(), doc, this.getLogger());
+
+ // set issued date on first time publish
+ Workflowable dw = WorkflowUtil.getWorkflowable(this.manager,
+ this.getSession(),
+ this.getLogger(),
+ doc);
Version versions[] = dw.getVersions();
boolean wasLive = false;
- for (int i=0; i<versions.length; i++) {
+ for (int i = 0; i < versions.length; i++) {
if (versions[i].getValue("is_live")) {
wasLive = true;
break;
@@ -196,13 +199,13 @@
}
if (!wasLive) {
element = (Element) XPathAPI.selectSingleNode(parent,
- "/*[local-name() = 'entry']/*[local-name() = 'issued']");
- DocumentHelper.setSimpleElementText(element, datestr);
+ "/*[local-name() = 'entry']/*[local-name() = 'issued']");
+ DocumentHelper.setSimpleElementText(element, datestr);
}
DocumentHelper.writeDocument(dom, doc.getFile());
}
-
+
/**
* @return The event to invoke.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org