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 2005/05/25 15:15:29 UTC
svn commit: r178435 - in /lenya/trunk/src/java/org/apache/lenya/cms:
cocoon/components/modules/input/PageEnvelopeModule.java
workflow/WorkflowResolverImpl.java
Author: andreas
Date: Wed May 25 06:15:28 2005
New Revision: 178435
URL: http://svn.apache.org/viewcvs?rev=178435&view=rev
Log:
replace DocumentTypeResolver by document.getResourceType()
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowResolverImpl.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java?rev=178435&r1=178434&r2=178435&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java Wed May 25 06:15:28 2005
@@ -27,12 +27,10 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.service.ServiceException;
import org.apache.commons.lang.StringUtils;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentException;
import org.apache.lenya.cms.publication.DocumentType;
-import org.apache.lenya.cms.publication.DocumentTypeResolver;
import org.apache.lenya.cms.publication.PageEnvelope;
/**
@@ -109,15 +107,18 @@
Date date = document.getLastModified();
value = new SimpleDateFormat(DATE_FORMAT).format(date);
} else if (name.equals(PageEnvelope.DOCUMENT_TYPE)) {
- value = getDocumentType(envelope);
+ DocumentType resourceType = document.getResourceType();
+ if (resourceType == null) {
+ value = null;
+ }
+ else {
+ value = resourceType.getName();
+ }
}
}
} catch (final DocumentException e) {
throw new ConfigurationException("Getting attribute for name [" + name + "] failed: ",
e);
- } catch (final ServiceException e) {
- throw new ConfigurationException("Getting attribute for name [" + name + "] failed: ",
- e);
}
if (getLogger().isDebugEnabled()) {
@@ -131,27 +132,6 @@
* <code>DATE_FORMAT</code> The date format
*/
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
-
- /**
- * Returns the document type.
- * @param envelope The page envelope.
- * @return A string.
- * @throws ServiceException when something went wrong.
- */
- protected String getDocumentType(PageEnvelope envelope) throws ServiceException {
- String documentType;
- DocumentTypeResolver resolver = null;
- try {
- resolver = (DocumentTypeResolver) this.manager.lookup(DocumentTypeResolver.ROLE);
- DocumentType type = resolver.resolve(envelope.getDocument());
- documentType = type.getName();
- } finally {
- if (resolver != null) {
- this.manager.release(resolver);
- }
- }
- return documentType;
- }
/**
* @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration,
Modified: lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowResolverImpl.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowResolverImpl.java?rev=178435&r1=178434&r2=178435&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowResolverImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/workflow/WorkflowResolverImpl.java Wed May 25 06:15:28 2005
@@ -30,18 +30,14 @@
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Session;
-import org.apache.excalibur.source.Source;
-import org.apache.excalibur.source.SourceResolver;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Identity;
import org.apache.lenya.ac.Machine;
import org.apache.lenya.ac.Role;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.impl.PolicyAuthorizer;
-import org.apache.lenya.cms.publication.DefaultDocument;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentType;
-import org.apache.lenya.cms.publication.DocumentTypeResolver;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.workflow.Situation;
import org.apache.lenya.workflow.Workflow;
@@ -61,16 +57,12 @@
* @see org.apache.lenya.cms.workflow.WorkflowResolver#getWorkflowSchema(org.apache.lenya.cms.publication.Document)
*/
public Workflow getWorkflowSchema(Document document) throws WorkflowException {
- DocumentTypeResolver doctypeResolver = null;
WorkflowImpl workflow = null;
try {
- doctypeResolver = (DocumentTypeResolver) this.manager.lookup(DocumentTypeResolver.ROLE);
- DocumentType doctype = doctypeResolver.resolve(document);
-
+ DocumentType doctype = document.getResourceType();
if (doctype.hasWorkflow()) {
String workflowFileName = doctype.getWorkflowFileName();
-
Publication publication = document.getPublication();
File workflowDirectory = new File(publication.getDirectory(), WORKFLOW_DIRECTORY);
@@ -79,11 +71,7 @@
workflow = builder.buildWorkflow(workflowFileName, workflowFile);
}
} catch (final Exception e) {
- throw new RuntimeException(e);
- } finally {
- if (doctypeResolver != null) {
- this.manager.release(doctypeResolver);
- }
+ throw new WorkflowException(e);
}
return workflow;
@@ -124,8 +112,7 @@
}
situation = new CMSSituation(roleIds, userId, machineIp);
- }
- else {
+ } else {
situation = new CMSSituation(new String[0], null, null);
}
return situation;
@@ -144,33 +131,15 @@
* @see org.apache.lenya.cms.workflow.WorkflowResolver#hasWorkflow(org.apache.lenya.cms.publication.Document)
*/
public boolean hasWorkflow(Document document) {
- SourceResolver resolver = null;
- DocumentTypeResolver doctypeResolver = null;
- Source source = null;
+
boolean hasWorkflow = false;
try {
- resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
- String uri = ((DefaultDocument) document).getHistory().getSourceURI();
- source = resolver.resolveURI(uri);
- if (source.exists()) {
- hasWorkflow = true;
- } else {
- doctypeResolver = (DocumentTypeResolver) this.manager.lookup(DocumentTypeResolver.ROLE);
- DocumentType doctype = doctypeResolver.resolve(document);
+ if (document.exists()) {
+ DocumentType doctype = document.getResourceType();
hasWorkflow = doctype.hasWorkflow();
}
} catch (final Exception e) {
throw new RuntimeException(e);
- } finally {
- if (resolver != null) {
- if (source != null) {
- resolver.release(source);
- }
- this.manager.release(resolver);
- }
- if (doctypeResolver != null) {
- this.manager.release(doctypeResolver);
- }
}
return hasWorkflow;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org