svn commit: r741654 [6/9] - in /lenya/trunk: org.apache.lenya.core.ac/src/main/java/org/apache/lenya/ac/impl/ org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/ org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/cocoon/acting/ org...
[email protected] Fri, 06 Feb 2009 17:55:33 -0000
Newsgroups
gmane.comp.cms.lenya.cvs
Message-ID
<[email protected] >
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Deactivate.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Deactivate.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Deactivate.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/Deactivate.java Fri Feb 6 17:55:28 2009
@@ -22,18 +22,14 @@
import java.util.List;
import java.util.Set;
-import org.apache.avalon.framework.service.ServiceManager;
import org.apache.lenya.cms.linking.LinkManager;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentException;
import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.site.NodeSet;
-import org.apache.lenya.cms.site.SiteException;
import org.apache.lenya.cms.site.SiteNode;
import org.apache.lenya.cms.site.SiteUtil;
import org.apache.lenya.cms.usecase.UsecaseException;
-import org.apache.lenya.cms.workflow.usecases.InvokeWorkflow;
/**
* Deactivate usecase handler.
@@ -49,6 +45,9 @@
public static final String PARAM_CHECK_LIVE_CHILDREN = "checkLiveChildren";
protected static final String LINKS_TO_DOCUMENT = "linksToDocument";
+
+ private DocumentManager documentManager;
+ private LinkManager linkManager;
/**
* Checks if the workflow event is supported and the parent of the document exists in the live
@@ -72,7 +71,7 @@
addErrorMessage("This usecase can only be invoked when the live version exists.");
} else {
checkChildren();
- setParameter(LINKS_TO_DOCUMENT, new LinkList(this.manager, doc));
+ setParameter(LINKS_TO_DOCUMENT, new LinkList(doc));
}
}
}
@@ -89,7 +88,7 @@
Document doc = getSourceDocument();
Document liveDoc = doc.getAreaVersion(Publication.LIVE_AREA);
- NodeSet subSite = SiteUtil.getSubSite(this.manager, liveDoc.getLink().getNode());
+ NodeSet subSite = SiteUtil.getSubSite(liveDoc.getLink().getNode());
SiteNode node = liveDoc.getLink().getNode();
subSite.remove(node);
@@ -133,16 +132,10 @@
* @param authoringDocument The authoring document.
*/
protected void deactivate(Document authoringDocument) {
-
boolean success = false;
-
- DocumentManager documentManager = null;
try {
Document liveDocument = authoringDocument.getAreaVersion(Publication.LIVE_AREA);
-
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- documentManager.delete(liveDocument);
-
+ getDocumentManager().delete(liveDocument);
success = true;
} catch (Exception e) {
throw new RuntimeException(e);
@@ -151,11 +144,7 @@
getLogger().debug("Deactivate document [" + authoringDocument + "]. Success: ["
+ success + "]");
}
- if (documentManager != null) {
- this.manager.release(documentManager);
- }
}
-
}
protected String getEvent() {
@@ -165,18 +154,15 @@
/**
* A list of links pointing to a document. Allows lazy loading from the usecase view.
*/
- public static class LinkList {
+ public class LinkList {
private Document document;
private Document[] documents;
- private ServiceManager manager;
/**
- * @param manager The manager.
* @param doc The document to resolve the links from.
*/
- public LinkList(ServiceManager manager, Document doc) {
- this.manager = manager;
+ public LinkList(Document doc) {
this.document = doc;
}
@@ -192,9 +178,8 @@
protected Document[] getLinksToDocument() {
Set docs = new HashSet();
- LinkManager linkMgr = null;
+ LinkManager linkMgr = Deactivate.this.getLinkManager();
try {
- linkMgr = (LinkManager) this.manager.lookup(LinkManager.ROLE);
Document liveVersion = this.document.getAreaVersion(Publication.LIVE_AREA);
Document[] referencingDocs = linkMgr.getReferencingDocuments(liveVersion);
for (int d = 0; d < referencingDocs.length; d++) {
@@ -206,14 +191,31 @@
} catch (Exception e) {
throw new RuntimeException(e);
}
- finally {
- if (linkMgr != null) {
- this.manager.release(linkMgr);
- }
- }
return (Document[]) docs.toArray(new Document[docs.size()]);
}
}
+ protected DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
+ protected LinkManager getLinkManager() {
+ return linkManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setLinkManager(LinkManager linkManager) {
+ this.linkManager = linkManager;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/History.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/History.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/History.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/History.java Fri Feb 6 17:55:28 2009
@@ -36,7 +36,7 @@
super.initParameters();
if (getSourceDocument() != null) {
- Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getLogger(),
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(getLogger(),
getSourceDocument());
setParameter("versions", workflowable.getVersions());
}
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/InvokeWorkflow.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/InvokeWorkflow.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/InvokeWorkflow.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/InvokeWorkflow.java Fri Feb 6 17:55:28 2009
@@ -53,7 +53,7 @@
*/
protected void doExecute() throws Exception {
super.doExecute();
- WorkflowUtil.invoke(this.manager, getLogger(), getSourceDocument(), getEvent());
+ WorkflowUtil.invoke(getLogger(), getSourceDocument(), getEvent());
}
}
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=741654&r1=741653&r2=741654&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 Fri Feb 6 17:55:28 2009
@@ -53,8 +53,7 @@
SortedSet states = new TreeSet();
for (Iterator i = preOrder.iterator(); i.hasNext();) {
Document doc = (Document) i.next();
- WorkflowableWrapper wrapper = new WorkflowableWrapper(this, this.manager, doc,
- getLogger());
+ WorkflowableWrapper wrapper = new WorkflowableWrapper(this, doc, getLogger());
wrappers.add(wrapper);
states.addAll(Arrays.asList(wrapper.getStates()));
}
@@ -110,8 +109,10 @@
private Map usecase2event = new HashMap();
private List variables = new ArrayList();
+ /**
+ * TODO: Replace with bean properties
+ */
public void configure(Configuration config) throws ConfigurationException {
- super.configure(config);
Configuration[] usecaseConfigs = config.getChildren("usecase");
for (int i = 0; i < usecaseConfigs.length; i++) {
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflowInvoke.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflowInvoke.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflowInvoke.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/MultiWorkflowInvoke.java Fri Feb 6 17:55:28 2009
@@ -30,10 +30,12 @@
* Invocation usecase for the multi-workflow usecase.
*/
public class MultiWorkflowInvoke extends AbstractUsecase {
-
+
protected static final String URL = "url";
protected static final String USECASE_NAME = "usecaseName";
-
+
+ private UsecaseInvoker usecaseInvoker;
+
protected void doExecute() throws Exception {
super.doExecute();
@@ -42,23 +44,27 @@
String url = getParameterAsString(URL);
Assert.notNull("url", url);
- UsecaseInvoker invoker = null;
- try {
- invoker = (UsecaseInvoker) this.manager.lookup(UsecaseInvoker.ROLE);
- invoker.invoke(url, usecase, new HashMap());
-
- if (invoker.getResult() != UsecaseInvoker.SUCCESS) {
- List messages = invoker.getErrorMessages();
- for (Iterator i = messages.iterator(); i.hasNext();) {
- UsecaseMessage message = (UsecaseMessage) i.next();
- addErrorMessage(message.getMessage(), message.getParameters());
- }
- }
- } finally {
- if (invoker == null) {
- this.manager.release(invoker);
+ UsecaseInvoker invoker = getUsecaseInvoker();
+ invoker.invoke(url, usecase, new HashMap());
+
+ if (invoker.getResult() != UsecaseInvoker.SUCCESS) {
+ List messages = invoker.getErrorMessages();
+ for (Iterator i = messages.iterator(); i.hasNext();) {
+ UsecaseMessage message = (UsecaseMessage) i.next();
+ addErrorMessage(message.getMessage(), message.getParameters());
}
}
}
+ protected UsecaseInvoker getUsecaseInvoker() {
+ return usecaseInvoker;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setUsecaseInvoker(UsecaseInvoker usecaseInvoker) {
+ this.usecaseInvoker = usecaseInvoker;
+ }
+
}
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=741654&r1=741653&r2=741654&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 Fri Feb 6 17:55:28 2009
@@ -28,10 +28,9 @@
import java.util.List;
import java.util.Set;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.ServiceSelector;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lenya.ac.AccessControlException;
@@ -98,6 +97,11 @@
protected static final String CAN_SEND_NOTIFICATION = "canSendNotification";
protected static final String UNPUBLISHED_LINKS = "unpublishedLinks";
+ private LinkManager linkManager;
+ private LinkResolver linkResolver;
+ private UsecaseScheduler usecaseScheduler;
+ private DocumentManager documentManager;
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
@@ -116,15 +120,14 @@
setParameter(CAN_SEND_NOTIFICATION, canSendNotification);
setParameter(PARAM_SEND_NOTIFICATION, canSendNotification);
- setParameter(UNPUBLISHED_LINKS, new LinkList(this.manager, getSourceDocument()));
+ setParameter(UNPUBLISHED_LINKS, new LinkList(getSourceDocument()));
}
protected boolean canNotifySubmitter() {
boolean shallNotifySubmitter = false;
- Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, logger,
- getSourceDocument());
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(logger, getSourceDocument());
Version versions[] = workflowable.getVersions();
// consider the case that there was no submit transition
@@ -140,11 +143,9 @@
}
protected boolean hasBrokenLinks() {
- LinkManager linkMgr = null;
- LinkResolver resolver = null;
+ LinkManager linkMgr = getLinkManager();
+ LinkResolver resolver = getLinkResolver();
try {
- linkMgr = (LinkManager) this.manager.lookup(LinkManager.ROLE);
- resolver = (LinkResolver) this.manager.lookup(LinkResolver.ROLE);
org.apache.lenya.cms.linking.Link[] links = linkMgr.getLinksFrom(getSourceDocument());
for (int i = 0; i < links.length; i++) {
LinkTarget target = resolver.resolve(getSourceDocument(), links[i].getUri());
@@ -154,13 +155,6 @@
}
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (linkMgr != null) {
- this.manager.release(linkMgr);
- }
- if (resolver != null) {
- this.manager.release(resolver);
- }
}
return false;
}
@@ -235,11 +229,10 @@
List missingDocuments = new ArrayList();
- ServiceSelector selector = null;
- SiteManager siteManager = null;
try {
- selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
- siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
+ SiteManager siteManager = (SiteManager) WebAppContextUtils
+ .getCurrentWebApplicationContext().getBean(
+ SiteManager.ROLE + "/" + publication.getSiteManagerHint());
if (!liveSite.contains(document.getPath())) {
DocumentLocator liveLoc = document.getLocator().getAreaVersion(
@@ -258,13 +251,6 @@
}
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (selector != null) {
- if (siteManager != null) {
- selector.release(siteManager);
- }
- this.manager.release(selector);
- }
}
if (!missingDocuments.isEmpty()) {
@@ -329,17 +315,11 @@
deleteParameter(SCHEDULE);
String dateString = getParameterAsString(SCHEDULE_TIME);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- UsecaseScheduler scheduler = null;
try {
Date date = format.parse(dateString);
- scheduler = (UsecaseScheduler) this.manager.lookup(UsecaseScheduler.ROLE);
- scheduler.schedule(this, date);
+ getUsecaseScheduler().schedule(this, date);
} catch (ParseException e) {
addErrorMessage("scheduler-date-format-invalid");
- } finally {
- if (scheduler != null) {
- this.manager.release(scheduler);
- }
}
} else {
super.doExecute();
@@ -352,12 +332,8 @@
createAncestorNodes(authoringDocument);
- DocumentManager documentManager = null;
-
try {
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- documentManager.copyToArea(authoringDocument, Publication.LIVE_AREA);
-
+ getDocumentManager().copyToArea(authoringDocument, Publication.LIVE_AREA);
boolean notify = Boolean.valueOf(getBooleanCheckboxParameter(PARAM_SEND_NOTIFICATION))
.booleanValue();
if (notify) {
@@ -366,10 +342,6 @@
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (documentManager != null) {
- this.manager.release(documentManager);
- }
}
}
@@ -383,16 +355,14 @@
return;
}
- Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, logger,
- authoringDocument);
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(logger, authoringDocument);
Version versions[] = workflowable.getVersions();
// obtain submitted version
Version version = versions[versions.length - 2];
String userId = version.getUserId();
- User user = PolicyUtil.getUser(this.manager, authoringDocument.getCanonicalWebappURL(),
- userId, logger);
+ User user = PolicyUtil.getUser(authoringDocument.getCanonicalWebappURL(), userId, logger);
Identifiable[] recipients = { user };
@@ -411,8 +381,8 @@
Message message = new Message(subject, body, sender, recipients);
NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
- RepositoryEvent event = RepositoryEventFactory.createEvent(this.manager, getSession(),
- getLogger(), descriptor);
+ RepositoryEvent event = RepositoryEventFactory.createEvent(getSession(), getLogger(),
+ descriptor);
getSession().enqueueEvent(event);
}
@@ -426,7 +396,7 @@
if (proxy != null) {
url = proxy.getURL(document);
} else {
- Request request = ContextHelper.getRequest(this.context);
+ HttpServletRequest request = getRequest();
final String serverUrl = "http://" + request.getServerName() + ":"
+ request.getServerPort();
final String webappUrl = document.getCanonicalWebappURL();
@@ -453,18 +423,15 @@
/**
* A list of links originating from a document. Allows lazy loading from the usecase view.
*/
- public static class LinkList {
+ public class LinkList {
private Document document;
private Document[] documents;
- private ServiceManager manager;
/**
- * @param manager The manager.
* @param doc The document to resolve the links from.
*/
- public LinkList(ServiceManager manager, Document doc) {
- this.manager = manager;
+ public LinkList(Document doc) {
this.document = doc;
}
@@ -480,11 +447,9 @@
protected Document[] getUnpublishedLinks() {
Set docs = new HashSet();
- LinkManager linkMgr = null;
- LinkResolver resolver = null;
+ LinkManager linkMgr = Publish.this.getLinkManager();
+ LinkResolver resolver = Publish.this.getLinkResolver();
try {
- linkMgr = (LinkManager) this.manager.lookup(LinkManager.ROLE);
- resolver = (LinkResolver) this.manager.lookup(LinkResolver.ROLE);
org.apache.lenya.cms.linking.Link[] links = linkMgr.getLinksFrom(this.document);
for (int i = 0; i < links.length; i++) {
LinkTarget target = resolver.resolve(this.document, links[i].getUri());
@@ -497,17 +462,54 @@
}
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (linkMgr != null) {
- this.manager.release(linkMgr);
- }
- if (resolver != null) {
- this.manager.release(resolver);
- }
}
return (Document[]) docs.toArray(new Document[docs.size()]);
}
}
+ protected LinkManager getLinkManager() {
+ return linkManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setLinkManager(LinkManager linkManager) {
+ this.linkManager = linkManager;
+ }
+
+ protected LinkResolver getLinkResolver() {
+ return linkResolver;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setLinkResolver(LinkResolver linkResolver) {
+ this.linkResolver = linkResolver;
+ }
+
+ protected UsecaseScheduler getUsecaseScheduler() {
+ return usecaseScheduler;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setUsecaseScheduler(UsecaseScheduler usecaseScheduler) {
+ this.usecaseScheduler = usecaseScheduler;
+ }
+
+ protected DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
}
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=741654&r1=741653&r2=741654&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 Fri Feb 6 17:55:28 2009
@@ -17,8 +17,10 @@
*/
package org.apache.lenya.cms.workflow.usecases;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.cocoon.processing.ProcessInfoProvider;
+import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Identifiable;
import org.apache.lenya.ac.User;
@@ -75,8 +77,7 @@
User sender = getSession().getIdentity().getUser();
String reason = getParameterAsString(PARAM_REJECT_REASON);
- Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getLogger(),
- authoringDocument);
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(getLogger(), authoringDocument);
Version versions[] = workflowable.getVersions();
// current version is reject, want originating submit
Version version = versions[versions.length - 2];
@@ -86,8 +87,8 @@
if (version.getEvent().equals("submit")) {
String userId = version.getUserId();
- User user = PolicyUtil.getUser(this.manager, authoringDocument.getCanonicalWebappURL(),
- userId, getLogger());
+ User user = PolicyUtil.getUser(authoringDocument.getCanonicalWebappURL(), userId,
+ getLogger());
Identifiable[] recipients = { user };
@@ -99,7 +100,9 @@
if (proxy != null) {
url = proxy.getURL(authoringVersion);
} else {
- Request request = ContextHelper.getRequest(this.context);
+ ProcessInfoProvider process = (ProcessInfoProvider) WebAppContextUtils
+ .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
+ HttpServletRequest request = process.getRequest();
final String serverUrl = "http://" + request.getServerName() + ":"
+ request.getServerPort();
final String webappUrl = authoringVersion.getCanonicalWebappURL();
@@ -113,8 +116,8 @@
Message message = new Message(subject, body, sender, recipients);
NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
- RepositoryEvent event = RepositoryEventFactory.createEvent(this.manager, getSession(),
- getLogger(), descriptor);
+ RepositoryEvent event = RepositoryEventFactory.createEvent(getSession(), getLogger(),
+ descriptor);
getSession().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=741654&r1=741653&r2=741654&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 Fri Feb 6 17:55:28 2009
@@ -17,8 +17,8 @@
*/
package org.apache.lenya.cms.workflow.usecases;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.User;
import org.apache.lenya.cms.ac.PolicyUtil;
@@ -28,8 +28,6 @@
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.workflow.usecases.InvokeWorkflow;
-// FIXME Dependency on non-core module.
import org.apache.lenya.notification.Message;
import org.apache.lenya.notification.NotificationEventDescriptor;
import org.apache.lenya.notification.NotificationException;
@@ -46,20 +44,20 @@
public static final String PARAM_USER_NOTIFICATION_MESSAGE = "userNotificationMessage";
/**
- * If a notification message shall be sent.
+ * If a notification message shall be sent.
*/
public static final String PARAM_SEND_NOTIFICATION = "sendNotification";
-
+
protected static final String MESSAGE_SUBJECT = "notification-message";
protected static final String MESSAGE_DOCUMENT_SUBMITTED = "document-submitted";
-
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
super.doExecute();
-
+
if (Boolean.valueOf(getBooleanCheckboxParameter(PARAM_SEND_NOTIFICATION)).booleanValue()) {
sendNotification(getSourceDocument());
}
@@ -70,8 +68,8 @@
User sender = getSession().getIdentity().getUser();
- User[] recipients = PolicyUtil.getUsersWithRole(this.manager, authoringDocument
- .getCanonicalWebappURL(), "review", getLogger());
+ User[] recipients = PolicyUtil.getUsersWithRole(authoringDocument.getCanonicalWebappURL(),
+ "review", getLogger());
// check to see if current user can review their own submission
for (int i = 0; i < recipients.length; i++) {
@@ -86,13 +84,13 @@
if (proxy != null) {
url = proxy.getURL(authoringVersion);
} else {
- Request request = ContextHelper.getRequest(this.context);
+ HttpServletRequest request = getRequest();
final String serverUrl = "http://" + request.getServerName() + ":"
+ request.getServerPort();
final String webappUrl = authoringVersion.getCanonicalWebappURL();
url = serverUrl + request.getContextPath() + webappUrl;
}
-
+
String userMessage = getParameterAsString(PARAM_USER_NOTIFICATION_MESSAGE, "");
Text[] subjectParams = { new Text(getEvent(), true) };
@@ -101,10 +99,9 @@
Text body = new Text(MESSAGE_DOCUMENT_SUBMITTED, params);
Message message = new Message(subject, body, sender, recipients);
-
NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
- RepositoryEvent event = RepositoryEventFactory.createEvent(this.manager, getSession(),
- getLogger(), descriptor);
+ RepositoryEvent event = RepositoryEventFactory.createEvent(getSession(), getLogger(),
+ descriptor);
getSession().enqueueEvent(event);
}
}
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java Fri Feb 6 17:55:28 2009
@@ -17,7 +17,6 @@
*/
package org.apache.lenya.cms.workflow.usecases;
-import org.apache.avalon.framework.service.ServiceManager;
import org.apache.commons.logging.Log;
import org.apache.lenya.cms.metadata.MetaDataException;
import org.apache.lenya.cms.metadata.dublincore.DublinCoreHelper;
@@ -57,16 +56,15 @@
/**
* Adds an error message if the event can not be invoked.
- * @param manager The service manager.
* @param usecase The usecase.
* @param event The event.
* @param doc The document.
* @param logger The logger.
*/
- public static final void checkWorkflow(ServiceManager manager, AbstractUsecase usecase,
- String event, Document doc, Log logger) {
+ public static final void checkWorkflow(AbstractUsecase usecase, String event, Document doc,
+ Log logger) {
try {
- if (!WorkflowUtil.canInvoke(manager, logger, doc, event)) {
+ if (!WorkflowUtil.canInvoke(logger, doc, event)) {
UsecaseWorkflowHelper.addWorkflowError(usecase, event, doc);
}
} catch (WorkflowException e) {
Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/WorkflowableWrapper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/WorkflowableWrapper.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/WorkflowableWrapper.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/usecases/WorkflowableWrapper.java Fri Feb 6 17:55:28 2009
@@ -19,7 +19,6 @@
import java.util.Arrays;
-import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.util.AbstractLogEnabled;
import org.apache.commons.logging.Log;
import org.apache.lenya.cms.publication.Document;
@@ -33,31 +32,26 @@
* Wrap a workflowable for easy evaluation in JX template.
*/
public class WorkflowableWrapper extends AbstractLogEnabled {
-
+
private MultiWorkflow usecase;
private Workflowable workflowable;
- private ServiceManager manager;
private Document document;
/**
* Ctor.
* @param usecase The usecase.
- * @param manager The service manager.
* @param document The document to wrap.
* @param logger The logger.
*/
- public WorkflowableWrapper(MultiWorkflow usecase, ServiceManager manager, Document document,
- Log logger) {
+ public WorkflowableWrapper(MultiWorkflow usecase, Document document, Log logger) {
setLogger(logger);
this.usecase = usecase;
this.document = document;
- this.manager = manager;
}
protected Workflowable getWorkflowable() {
if (this.workflowable == null) {
- this.workflowable = WorkflowUtil.getWorkflowable(this.manager, getLogger(),
- this.document);
+ this.workflowable = WorkflowUtil.getWorkflowable(getLogger(), this.document);
}
return this.workflowable;
}
@@ -86,9 +80,7 @@
}
protected Workflow getWorkflowSchema() throws WorkflowException {
- Workflow workflow = WorkflowUtil
- .getWorkflowSchema(this.manager, getLogger(), this.document);
- return workflow;
+ return WorkflowUtil.getWorkflowSchema(getLogger(), this.document);
}
/**
@@ -120,7 +112,7 @@
*/
public boolean canInvoke(String usecaseName) throws WorkflowException {
String event = this.usecase.getEvent(usecaseName);
- return WorkflowUtil.canInvoke(this.manager, getLogger(), this.document, event);
+ return WorkflowUtil.canInvoke(getLogger(), this.document, event);
}
/**
@@ -130,11 +122,9 @@
* @throws WorkflowException if an error occurs.
*/
public boolean getValue(String variable) throws WorkflowException {
- Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getLogger(),
- this.document);
+ Workflowable workflowable = WorkflowUtil.getWorkflowable(getLogger(), this.document);
if (workflowable.getVersions().length == 0) {
- Workflow workflow = WorkflowUtil.getWorkflowSchema(this.manager, getLogger(),
- this.document);
+ Workflow workflow = WorkflowUtil.getWorkflowSchema(getLogger(), this.document);
return workflow.getInitialValue(variable);
} else {
return workflowable.getLatestVersion().getValue(variable);
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java Fri Feb 6 17:55:28 2009
@@ -33,10 +33,12 @@
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.PublicationUtil;
+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.site.SiteManager;
+import org.apache.lenya.util.ServletHelper;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;
@@ -76,6 +78,8 @@
* Only generate the #numrecent entries
*/
protected int numrecent;
+
+ private RepositoryManager repositoryManager;
/**
* Set the request parameters. Must be called before the generate method.
@@ -120,9 +124,10 @@
SiteManager siteManager = null;
try {
Request request = ObjectModelHelper.getRequest(this.objectModel);
- Session session = RepositoryUtil.getSession(this.manager, request);
- DocumentFactory map = DocumentUtil.createDocumentFactory(this.manager, session);
- Publication publication = PublicationUtil.getPublication(this.manager, request);
+ Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
+ DocumentFactory map = DocumentUtil.createDocumentFactory(session);
+ String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
+ Publication publication = map.getPublication(id);
selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
@@ -177,4 +182,12 @@
this.contentHandler.endPrefixMapping(PREFIX);
this.contentHandler.endDocument();
}
+
+ public void setRepositoryManager(RepositoryManager repositoryManager) {
+ this.repositoryManager = repositoryManager;
+ }
+
+ public RepositoryManager getRepositoryManager() {
+ return repositoryManager;
+ }
}
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java Fri Feb 6 17:55:28 2009
@@ -34,10 +34,12 @@
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.PublicationUtil;
+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.site.SiteManager;
+import org.apache.lenya.util.ServletHelper;
import org.apache.lenya.xml.DocumentHelper;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Element;
@@ -108,6 +110,8 @@
*/
protected Request request;
+ private RepositoryManager repositoryManager;
+
/**
* Set the request parameters. Must be called before the generate method.
*
@@ -178,10 +182,10 @@
ServiceSelector selector = null;
SiteManager siteManager = null;
try {
- Session session = RepositoryUtil.getSession(this.manager, request);
- DocumentFactory map = DocumentUtil.createDocumentFactory(this.manager, session);
- Publication publication = PublicationUtil.getPublication(
- this.manager, request);
+ Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
+ DocumentFactory map = DocumentUtil.createDocumentFactory(session);
+ String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
+ Publication publication = map.getPublication(id);
selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE
@@ -440,4 +444,12 @@
this.contentHandler.endPrefixMapping(PREFIX);
this.contentHandler.endDocument();
}
+
+ public void setRepositoryManager(RepositoryManager repositoryManager) {
+ this.repositoryManager = repositoryManager;
+ }
+
+ public RepositoryManager getRepositoryManager() {
+ return repositoryManager;
+ }
}
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Deactivate.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Deactivate.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Deactivate.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Deactivate.java Fri Feb 6 17:55:28 2009
@@ -33,6 +33,8 @@
* @version $Id: Deactivate.java 264805 2005-08-30 16:20:15Z andreas $
*/
public class Deactivate extends DocumentUsecase {
+
+ private DocumentManager documentManager;
/**
* Checks if the workflow event is supported and the parent of the document exists in the live
@@ -48,10 +50,7 @@
return;
}
String event = getEvent();
- if (!WorkflowUtil.canInvoke(this.manager,
- getLogger(),
- getSourceDocument(),
- event)) {
+ if (!WorkflowUtil.canInvoke(getLogger(), getSourceDocument(), event)) {
addInfoMessage("The document cannot be deactivated because the workflow event cannot be invoked.");
}
}
@@ -64,12 +63,13 @@
try {
List nodes = new ArrayList();
Document doc = getSourceDocument();
- Document liveDoc = doc.getAreaVersion(Publication.LIVE_AREA);
+ Document liveDoc = doc.getAreaVersion(Publication.LIVE_AREA);
nodes.add(doc.getRepositoryNode());
- nodes.add(liveDoc.getRepositoryNode());
+ nodes.add(liveDoc.getRepositoryNode());
nodes.add(liveDoc.area().getSite().getRepositoryNode());
- nodes.add(doc.area().getSite().getRepositoryNode());
- return (org.apache.lenya.cms.repository.Node[]) nodes.toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
+ nodes.add(doc.area().getSite().getRepositoryNode());
+ return (org.apache.lenya.cms.repository.Node[]) nodes
+ .toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
} catch (Exception e) {
throw new UsecaseException(e);
}
@@ -89,33 +89,23 @@
* @param authoringDocument The authoring document.
*/
protected void deactivate(Document authoringDocument) {
-
boolean success = false;
-
- DocumentManager documentManager = null;
try {
Document liveDocument = authoringDocument.getAreaVersion(Publication.LIVE_AREA);
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- documentManager.delete(liveDocument);
-
- WorkflowUtil.invoke(this.manager,
- getLogger(),
- authoringDocument,
- getEvent());
+ getDocumentManager().delete(liveDocument);
+
+ WorkflowUtil.invoke(getLogger(), authoringDocument, getEvent());
success = true;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (getLogger().isDebugEnabled()) {
- getLogger().debug("Deactivate document [" + authoringDocument + "]. Success: ["
- + success + "]");
- }
- if (documentManager != null) {
- this.manager.release(documentManager);
+ getLogger().debug(
+ "Deactivate document [" + authoringDocument + "]. Success: [" + success
+ + "]");
}
}
-
}
/**
@@ -124,4 +114,16 @@
private String getEvent() {
return "deactivate";
}
+
+ protected DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java Fri Feb 6 17:55:28 2009
@@ -34,6 +34,8 @@
*/
public class Delete extends DocumentUsecase {
+ private DocumentManager documentManager;
+
/**
* Checks if the workflow event is supported and the parent of the document exists in the live
* area.
@@ -53,10 +55,7 @@
return;
}
String event = getEvent();
- if (!WorkflowUtil.canInvoke(this.manager,
- getLogger(),
- getSourceDocument(),
- event)) {
+ if (!WorkflowUtil.canInvoke(getLogger(), getSourceDocument(), event)) {
addInfoMessage("The document cannot be deactivated because the workflow event cannot be invoked.");
}
}
@@ -68,10 +67,11 @@
protected org.apache.lenya.cms.repository.Node[] getNodesToLock() throws UsecaseException {
try {
List nodes = new ArrayList();
- Document doc = getSourceDocument();
- nodes.add(doc.getRepositoryNode());
- nodes.add(doc.area().getSite().getRepositoryNode());
- return (org.apache.lenya.cms.repository.Node[]) nodes.toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
+ Document doc = getSourceDocument();
+ nodes.add(doc.getRepositoryNode());
+ nodes.add(doc.area().getSite().getRepositoryNode());
+ return (org.apache.lenya.cms.repository.Node[]) nodes
+ .toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
} catch (Exception e) {
throw new UsecaseException(e);
}
@@ -82,8 +82,9 @@
*/
protected void doExecute() throws Exception {
super.doExecute();
- delete(getSourceDocument());
- setTargetDocument(getDocumentFactory().get(getSourceDocument().getPublication(), Publication.AUTHORING_AREA,"/feeds/all/index"));
+ delete(getSourceDocument());
+ setTargetDocument(getDocumentFactory().get(getSourceDocument().getPublication(),
+ Publication.AUTHORING_AREA, "/feeds/all/index"));
}
/**
@@ -91,26 +92,11 @@
* @param document The document to delete.
*/
protected void delete(Document document) {
- DocumentManager documentManager = null;
- boolean success = false;
try {
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- documentManager.delete(document);
- WorkflowUtil.invoke(this.manager,
- getLogger(),
- document,
- getEvent());
- success = true;
+ getDocumentManager().delete(document);
+ WorkflowUtil.invoke(getLogger(), document, getEvent());
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("Delete document [" + getSourceDocument() + "]. Success: ["
- + success + "]");
- }
- if (documentManager != null) {
- this.manager.release(documentManager);
- }
}
}
@@ -120,4 +106,17 @@
private String getEvent() {
return "delete";
}
+
+ public DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
+
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Publish.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Publish.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Publish.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Publish.java Fri Feb 6 17:55:28 2009
@@ -50,6 +50,8 @@
protected static final String MISSING_DOCUMENTS = "missingDocuments";
+ private DocumentManager documentManager;
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
*/
@@ -59,7 +61,7 @@
DocumentSet set = new DocumentSet();
Document doc = getSourceDocument();
- NodeSet subsite = SiteUtil.getSubSite(this.manager, doc.getLink().getNode());
+ NodeSet subsite = SiteUtil.getSubSite(doc.getLink().getNode());
set.addAll(new DocumentSet(subsite.getDocuments()));
Document[] documents = set.getDocuments();
@@ -77,8 +79,8 @@
}
/**
- * Checks if the workflow event is supported and the parent of the document
- * exists in the live area.
+ * Checks if the workflow event is supported and the parent of the document exists in the live
+ * area.
*
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions()
*/
@@ -94,7 +96,7 @@
return;
}
- UsecaseWorkflowHelper.checkWorkflow(this.manager, this, event, document, getLogger());
+ UsecaseWorkflowHelper.checkWorkflow(this, event, document, getLogger());
}
}
@@ -102,23 +104,16 @@
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
- DocumentManager documentManager = null;
try {
Document authoringDocument = getSourceDocument();
if (authoringDocument.getResourceType().getName().equals("entry")) {
updateBlogEntry(authoringDocument);
}
updateFeed();
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- documentManager.copyToArea(authoringDocument, Publication.LIVE_AREA);
- WorkflowUtil.invoke(this.manager, getLogger(), authoringDocument,
- getEvent());
+ getDocumentManager().copyToArea(authoringDocument, Publication.LIVE_AREA);
+ WorkflowUtil.invoke(getLogger(), authoringDocument, getEvent());
} catch (Exception e) {
throw new RuntimeException(e);
- } finally {
- if (documentManager != null) {
- this.manager.release(documentManager);
- }
}
}
@@ -173,8 +168,7 @@
DocumentHelper.setSimpleElementText(element, datestr);
// set issued date on first time publish
- Workflowable dw = WorkflowUtil.getWorkflowable(this.manager, this
- .getLogger(), doc);
+ Workflowable dw = WorkflowUtil.getWorkflowable(this.getLogger(), doc);
Version versions[] = dw.getVersions();
boolean wasLive = false;
for (int i = 0; i < versions.length; i++) {
@@ -199,4 +193,15 @@
return "publish";
}
+ public DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java Fri Feb 6 17:55:28 2009
@@ -20,13 +20,10 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
-import java.util.Map;
-import org.apache.avalon.framework.service.ServiceSelector;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.environment.Request;
-import org.apache.cocoon.environment.Session;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
import org.apache.lenya.ac.Identity;
import org.apache.lenya.cms.metadata.dublincore.DublinCore;
import org.apache.lenya.cms.publication.Document;
@@ -34,6 +31,7 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.ResourceType;
+import org.apache.lenya.cms.publication.ResourceTypeResolver;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.site.SiteStructure;
import org.apache.lenya.cms.usecase.DocumentUsecase;
@@ -53,6 +51,9 @@
protected static final String DOCUMENT_TYPE = "doctype";
protected static final String DOCUMENT_ID = "documentId";
+ private DocumentManager documentManager;
+ private ResourceTypeResolver resourceTypeResolver;
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
*/
@@ -108,46 +109,21 @@
// implementation note: since blog does not have a hierarchy,
// document id (full path) and document id-name (this leaf's id)
// are the same
- DocumentManager documentManager = null;
- ServiceSelector selector = null;
- ResourceType resourceType = null;
+ ResourceType resourceType = getResourceTypeResolver()
+ .getResourceType(getDocumentTypeName());
- try {
- selector = (ServiceSelector) this.manager.lookup(ResourceType.ROLE + "Selector");
- resourceType = (ResourceType) selector.select(getDocumentTypeName());
+ DocumentFactory map = getDocumentFactory();
- documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ String documentId = getDocumentID();
- DocumentFactory map = getDocumentFactory();
+ String sampleName = resourceType.getSampleNames()[0];
+ String sampleUri = resourceType.getSample(sampleName).getUri();
- String documentId = getDocumentID();
-
- String sampleName = resourceType.getSampleNames()[0];
- String sampleUri = resourceType.getSample(sampleName).getUri();
-
- Document document = documentManager.add(map,
- resourceType,
- sampleUri,
- getSourceDocument().getPublication(),
- getSourceDocument().getArea(),
- documentId,
- language,
- "xml",
- getParameterAsString(DublinCore.ELEMENT_TITLE),
- true);
-
- transformXML(document);
- } finally {
- if (documentManager != null) {
- this.manager.release(documentManager);
- }
- if (selector != null) {
- if (resourceType != null) {
- selector.release(resourceType);
- }
- this.manager.release(selector);
- }
- }
+ Document document = documentManager.add(map, resourceType, sampleUri, getSourceDocument()
+ .getPublication(), getSourceDocument().getArea(), documentId, language, "xml",
+ getParameterAsString(DublinCore.ELEMENT_TITLE), true);
+
+ transformXML(document);
}
/**
@@ -169,9 +145,7 @@
* <li>article-one</li>
* <li>article-two</li>
* </ul>
- * </ul>
- * </ul>
- * </ul>
+ * </ul> </ul> </ul>
*
* @return The document ID.
*/
@@ -208,9 +182,8 @@
protected void transformXML(Document document) throws Exception {
- Map objectModel = ContextHelper.getObjectModel(getContext());
- Request request = ObjectModelHelper.getRequest(objectModel);
- Session session = request.getCocoonSession(false);
+ HttpServletRequest request = getRequest();
+ HttpSession session = request.getSession(false);
Identity identity = (Identity) session.getAttribute(Identity.class.getName());
String title = getParameterAsString(DublinCore.ELEMENT_TITLE);
@@ -280,4 +253,27 @@
DocumentHelper.writeDocument(xmlDoc, document.getOutputStream());
}
+
+ protected DocumentManager getDocumentManager() {
+ return documentManager;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setDocumentManager(DocumentManager documentManager) {
+ this.documentManager = documentManager;
+ }
+
+ protected ResourceTypeResolver getResourceTypeResolver() {
+ return resourceTypeResolver;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setResourceTypeResolver(ResourceTypeResolver resourceTypeResolver) {
+ this.resourceTypeResolver = resourceTypeResolver;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.module.cforms/src/main/java/org/apache/lenya/cms/editors/cforms/CForms.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.cforms/src/main/java/org/apache/lenya/cms/editors/cforms/CForms.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.cforms/src/main/java/org/apache/lenya/cms/editors/cforms/CForms.java (original)
+++ lenya/trunk/org.apache.lenya.module.cforms/src/main/java/org/apache/lenya/cms/editors/cforms/CForms.java Fri Feb 6 17:55:28 2009
@@ -15,9 +15,8 @@
*/
package org.apache.lenya.cms.editors.cforms;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.workflow.usecases.InvokeWorkflow;
@@ -27,14 +26,21 @@
* Dummy CForms usecase.
*/
public class CForms extends InvokeWorkflow {
-
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
protected void initParameters() {
super.initParameters();
try {
- doPreparation(this.manager);
+ HttpServletRequest request = getRequest();
+ Document doc = getSourceDocument();
+ String sourceUri = doc.getSourceURI();
+ setParameter("sourceUri", sourceUri);
+ String pubId = doc.getPublication().getId();
+ setParameter("pubId", pubId);
+ String host = "http://" + request.getServerName() + ":" + request.getServerPort();
+ setParameter("host", host);
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -42,13 +48,6 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
- */
- protected void doCheckExecutionConditions() throws Exception {
- super.doCheckExecutionConditions();
- }
-
- /**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
@@ -56,21 +55,10 @@
org.w3c.dom.Document xml = (org.w3c.dom.Document) getParameter("xml");
DocumentHelper.writeDocument(xml, getSourceDocument().getOutputStream());
}
-
+
protected Node[] getNodesToLock() {
Node[] nodes = { getSourceDocument().getRepositoryNode() };
return nodes;
}
-
- private void doPreparation(ServiceManager manager) {
- Request request = ContextHelper.getRequest(this.context);
- Document doc = getSourceDocument();
- String sourceUri = doc.getSourceURI();
- setParameter("sourceUri", sourceUri);
- String pubId = doc.getPublication().getId();
- setParameter("pubId", pubId);
- String host="http://"+request.getServerName()+":"+request.getServerPort() ;
- setParameter("host", host);
- }
}
Modified: lenya/trunk/org.apache.lenya.module.contactform/src/main/java/org/apache/lenya/cms/contactform/ContactForm.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.contactform/src/main/java/org/apache/lenya/cms/contactform/ContactForm.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.contactform/src/main/java/org/apache/lenya/cms/contactform/ContactForm.java (original)
+++ lenya/trunk/org.apache.lenya.module.contactform/src/main/java/org/apache/lenya/cms/contactform/ContactForm.java Fri Feb 6 17:55:28 2009
@@ -17,14 +17,14 @@
*/
package org.apache.lenya.cms.contactform;
-import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.lenya.ac.AccessController;
import org.apache.lenya.ac.AccessControllerResolver;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.cms.usecase.AbstractUsecase;
import org.apache.lenya.notification.Message;
-import org.apache.lenya.notification.NotificationUtil;
+import org.apache.lenya.notification.Notifier;
/**
* Contact form. The recipient user ID is set using the "recipient" parameter. The sender user ID is
@@ -38,6 +38,8 @@
protected static final String NAME = "name";
protected static final String FROM = "email";
+ private Notifier notifier;
+
protected void doCheckPreconditions() throws Exception {
super.doCheckPreconditions();
if (getParameterAsString(SENDER).equals("")) {
@@ -77,43 +79,32 @@
String from = getParameterAsString(FROM);
Message message = new Message("Contact form submitted by " + name + " (" + from + ")",
- new String[0],
- body,
- new String[0],
- sender,
- recipients);
-
- NotificationUtil.notify(this.manager, message);
+ new String[0], body, new String[0], sender, recipients);
+
+ getNotifier().notify(message);
setDefaultTargetURL(getSourceURL() + "?sent=true");
}
protected User getUser(String userId) throws Exception {
- User user;
- ServiceSelector selector = null;
- AccessControllerResolver acResolver = null;
- AccessController accessController = null;
- try {
- selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
- + "Selector");
- acResolver = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
- accessController = acResolver.resolveAccessController(getSourceURL());
-
- UserManager userManager = accessController.getAccreditableManager().getUserManager();
- user = userManager.getUser(userId);
-
- } finally {
- if (selector != null) {
- if (acResolver != null) {
- if (accessController != null) {
- acResolver.release(accessController);
- }
- selector.release(acResolver);
- }
- this.manager.release(selector);
- }
- }
- return user;
+ AccessControllerResolver acResolver = (AccessControllerResolver) WebAppContextUtils
+ .getCurrentWebApplicationContext().getBean(
+ AccessControllerResolver.ROLE + "/"
+ + AccessControllerResolver.DEFAULT_RESOLVER);
+ AccessController accessController = acResolver.resolveAccessController(getSourceURL());
+ UserManager userManager = accessController.getAccreditableManager().getUserManager();
+ return userManager.getUser(userId);
+ }
+
+ protected Notifier getNotifier() {
+ return notifier;
+ }
+
+ /**
+ * TODO: Bean wiring
+ */
+ public void setNotifier(Notifier notifier) {
+ this.notifier = notifier;
}
}
Modified: lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/EditDocument.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/EditDocument.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/EditDocument.java (original)
+++ lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/EditDocument.java Fri Feb 6 17:55:28 2009
@@ -17,6 +17,7 @@
*/
package org.apache.lenya.cms.editors;
+import org.apache.excalibur.source.SourceResolver;
import org.apache.lenya.cms.cocoon.source.SourceUtil;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.ResourceType;
@@ -59,6 +60,8 @@
protected static final String EVENT = "event";
protected static final String DEFAULT_EVENT = "edit";
+
+ private SourceResolver sourceResolver;
/**
* The URI to copy the document source from.
@@ -74,16 +77,16 @@
Document sourceDoc = getSourceDocument();
String sourceUri = getParameterAsString(SOURCE_URI);
- org.w3c.dom.Document xmlDoc = SourceUtil.readDOM(sourceUri, this.manager);
+ org.w3c.dom.Document xmlDoc = SourceUtil.readDOM(sourceUri, getSourceResolver());
ResourceType resourceType = sourceDoc.getResourceType();
Schema schema = resourceType.getSchema();
- ValidationUtil.validate(this.manager, xmlDoc, schema, new UsecaseErrorHandler(this));
+ ValidationUtil.validate(xmlDoc, schema, new UsecaseErrorHandler(this));
if (!hasErrors()) {
SourceUtil.writeDOM(xmlDoc, sourceDoc.getOutputStream());
String event = getParameterAsString(EVENT, DEFAULT_EVENT);
- WorkflowUtil.invoke(this.manager, getLogger(), getSourceDocument(), event);
+ WorkflowUtil.invoke(getLogger(), getSourceDocument(), event);
}
}
@@ -95,4 +98,15 @@
return objects;
}
+ /**
+ * TODO: Bean wiring
+ */
+ public void setSourceResolver(SourceResolver sourceResolver) {
+ this.sourceResolver = sourceResolver;
+ }
+
+ public SourceResolver getSourceResolver() {
+ return sourceResolver;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/InsertAsset.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/InsertAsset.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/InsertAsset.java (original)
+++ lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/InsertAsset.java Fri Feb 6 17:55:28 2009
@@ -23,18 +23,18 @@
import java.util.List;
import java.util.Map;
-import org.apache.cocoon.environment.Request;
+import javax.servlet.http.HttpServletRequest;
+
import org.apache.lenya.ac.User;
-import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
import org.apache.lenya.cms.linking.LinkRewriter;
import org.apache.lenya.cms.linking.OutgoingLinkRewriter;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentException;
+import org.apache.lenya.cms.site.usecases.CreateResource;
import org.apache.lenya.cms.usecase.UsecaseException;
import org.apache.lenya.cms.usecase.UsecaseInvoker;
import org.apache.lenya.cms.usecase.UsecaseMessage;
import org.apache.lenya.util.ServletHelper;
-import org.apache.lenya.cms.site.usecases.CreateResource;
/**
* Usecase to insert an image into a document.
@@ -44,6 +44,8 @@
public class InsertAsset extends CreateResource {
protected static final String DOCUMENT = "document";
+
+ private UsecaseInvoker usecaseInvoker;
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
@@ -66,7 +68,7 @@
}
protected void doCheckPreconditions() throws Exception {
- if (!ServletHelper.isUploadEnabled(manager)) {
+ if (!ServletHelper.isUploadEnabled()) {
addErrorMessage("Upload is not enabled please check local.build.properties!");
}
}
@@ -90,14 +92,12 @@
}
protected void loadResources() {
- ContextUtility context = null;
try {
- context = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
- Request request = context.getRequest();
+ HttpServletRequest request = getRequest();
boolean ssl = request.isSecure();
- LinkRewriter rewriter = new OutgoingLinkRewriter(this.manager, getSession(),
- getSourceURL(), ssl, false, false);
+ LinkRewriter rewriter = new OutgoingLinkRewriter(getSession(), getSourceURL(), ssl,
+ false, false);
Map asset2proxyUrl = new HashMap();
setParameter("asset2proxyUrl", asset2proxyUrl);
@@ -118,25 +118,20 @@
setParameter("assets", resources);
} catch (final Exception e) {
throw new RuntimeException(e);
- } finally {
- if (context != null) {
- this.manager.release(context);
- }
}
}
/**
- * Delegates to the main assets usecase; the name of the usecase being
- * delegated to is set in the configuration parameter "asset-usecase".
+ * Delegates to the main assets usecase; the name of the usecase being delegated to is set in
+ * the configuration parameter "asset-usecase".
*
* @see org.apache.lenya.cms.usecase.Usecase#advance()
*/
public void advance() throws UsecaseException {
super.advance();
if (getParameterAsBoolean("upload", false)) {
- UsecaseInvoker invoker = null;
+ UsecaseInvoker invoker = getUsecaseInvoker();
try {
- invoker = (UsecaseInvoker) this.manager.lookup(UsecaseInvoker.ROLE);
String usecaseName = getParameterAsString("asset-usecase");
if (getLogger().isDebugEnabled())
@@ -157,19 +152,25 @@
}
}
/*
- * The <input type="file"/> value cannot be passed to the next
- * screen because the browser doesn't allow this for security
- * reasons.
+ * The <input type="file"/> value cannot be passed to the next screen because the
+ * browser doesn't allow this for security reasons.
*/
deleteParameter("file");
} catch (Exception e) {
throw new UsecaseException(e);
- } finally {
- if (invoker != null) {
- this.manager.release(invoker);
- }
}
}
}
+ /**
+ * TODO: Bean wiring
+ */
+ public void setUsecaseInvoker(UsecaseInvoker usecaseInvoker) {
+ this.usecaseInvoker = usecaseInvoker;
+ }
+
+ public UsecaseInvoker getUsecaseInvoker() {
+ return usecaseInvoker;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/SaveDocument.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/SaveDocument.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/SaveDocument.java (original)
+++ lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/SaveDocument.java Fri Feb 6 17:55:28 2009
@@ -29,10 +29,10 @@
/**
* <p>
- * This usecase saves the document from the request stream <em>before</em> the
- * view is displayed using the {@link EditDocument} usecase. That's kind of a
- * hack, since it violates the standard usecase principle, but it is very
- * convenient because you can save and re-load the document without a redirect.
+ * This usecase saves the document from the request stream <em>before</em> the view is displayed
+ * using the {@link EditDocument} usecase. That's kind of a hack, since it violates the standard
+ * usecase principle, but it is very convenient because you can save and re-load the document
+ * without a redirect.
* </p>
*
* @version $Id: EditDocument.java 495324 2007-01-11 18:44:04Z andreas $
@@ -40,6 +40,7 @@
public class SaveDocument extends DocumentUsecase {
protected static final String USECASE_NAME = "usecaseName";
+ private UsecaseInvoker usecaseInvoker;
protected void doCheckPreconditions() throws Exception {
super.doCheckPreconditions();
@@ -47,27 +48,31 @@
String usecase = getParameterAsString(USECASE_NAME);
Assert.notNull("usecase", usecase);
- UsecaseInvoker invoker = null;
- try {
- invoker = (UsecaseInvoker) this.manager.lookup(UsecaseInvoker.ROLE);
- Map params = new HashMap();
- params.put(EditDocument.SOURCE_URI, getParameter(EditDocument.SOURCE_URI));
- params.put(EditDocument.EVENT, getParameter(EditDocument.EVENT));
- invoker.invoke(getSourceURL(), usecase, params);
-
- if (invoker.getResult() != UsecaseInvoker.SUCCESS) {
- List messages = invoker.getErrorMessages();
- for (Iterator i = messages.iterator(); i.hasNext();) {
- UsecaseMessage message = (UsecaseMessage) i.next();
- addErrorMessage(message.getMessage(), message.getParameters());
- }
- }
- } finally {
- if (invoker != null) {
- this.manager.release(invoker);
+ UsecaseInvoker invoker = getUsecaseInvoker();
+ Map params = new HashMap();
+ params.put(EditDocument.SOURCE_URI, getParameter(EditDocument.SOURCE_URI));
+ params.put(EditDocument.EVENT, getParameter(EditDocument.EVENT));
+ invoker.invoke(getSourceURL(), usecase, params);
+
+ if (invoker.getResult() != UsecaseInvoker.SUCCESS) {
+ List messages = invoker.getErrorMessages();
+ for (Iterator i = messages.iterator(); i.hasNext();) {
+ UsecaseMessage message = (UsecaseMessage) i.next();
+ addErrorMessage(message.getMessage(), message.getParameters());
}
}
}
+ /**
+ * TODO: Bean wiring
+ */
+ public void setUsecaseInvoker(UsecaseInvoker usecaseInvoker) {
+ this.usecaseInvoker = usecaseInvoker;
+ }
+
+ public UsecaseInvoker getUsecaseInvoker() {
+ return usecaseInvoker;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/FormsEditor.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/FormsEditor.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/FormsEditor.java (original)
+++ lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/FormsEditor.java Fri Feb 6 17:55:28 2009
@@ -29,6 +29,7 @@
import java.util.List;
import java.util.Set;
+import javax.servlet.http.HttpServletRequest;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
@@ -43,8 +44,6 @@
import javax.xml.transform.stream.StreamSource;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
import org.apache.commons.lang.StringUtils;
import org.apache.excalibur.source.ModifiableSource;
import org.apache.excalibur.source.Source;
@@ -70,6 +69,7 @@
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
+import org.xmldb.common.xml.queries.XPathQueryConfigurationException;
import org.xmldb.common.xml.queries.XPathQueryFactory;
/**
@@ -81,6 +81,8 @@
protected static final String VALIDATION_ERRORS = "private.validationErrors";
+ private SourceResolver sourceResolver;
+
private static final class XUpdateAttributes {
/**
* <code>xupdateAttrExpr</code> The Xupdate expression
@@ -124,7 +126,7 @@
super.doCheckPreconditions();
if (!hasErrors()) {
org.apache.lenya.cms.publication.Document doc = getSourceDocument();
- UsecaseWorkflowHelper.checkWorkflow(this.manager, this, getEvent(), doc, getLogger());
+ UsecaseWorkflowHelper.checkWorkflow(this, getEvent(), doc, getLogger());
}
}
@@ -140,9 +142,8 @@
Source unnumberTagsXslSource = null;
Source numberTagsXslSource = null;
- SourceResolver resolver = null;
+ SourceResolver resolver = getSourceResolver();
try {
- resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
unnumberTagsXslSource = resolver.resolveURI(unnumberTagsXslUri);
numberTagsXslSource = resolver.resolveURI(numberTagsXslUri);
@@ -153,16 +154,15 @@
return;
}
- Request request = ContextHelper.getRequest(this.context);
+ HttpServletRequest request = getRequest();
String encoding = request.getCharacterEncoding();
- save(resolver, getSourceDocument(), unnumberTagsXslSource, numberTagsXslSource,
- encoding);
+ save(getSourceDocument(), unnumberTagsXslSource, numberTagsXslSource, encoding);
if (hasErrors()) {
setParameter(VALIDATION_ERRORS, getErrorMessages());
} else if (!getParameterAsBoolean(WORKFLOW_INVOKED, false)) {
deleteParameter(VALIDATION_ERRORS);
- WorkflowUtil.invoke(this.manager, getLogger(), getSourceDocument(), getEvent());
+ WorkflowUtil.invoke(getLogger(), getSourceDocument(), getEvent());
setParameter(WORKFLOW_INVOKED, Boolean.valueOf(true));
}
@@ -176,7 +176,6 @@
if (numberTagsXslSource != null) {
resolver.release(numberTagsXslSource);
}
- this.manager.release(resolver);
}
}
}
@@ -197,7 +196,6 @@
/**
* Save the Form
- * @param resolver
* @param lenyaDocument
* @param unnumberTagsXslSource
* @param numberTagsXslSource
@@ -212,9 +210,9 @@
* @throws TransformerConfigurationException
* @throws TransformerException
*/
- private void save(SourceResolver resolver,
- org.apache.lenya.cms.publication.Document lenyaDocument, Source unnumberTagsXslSource,
- Source numberTagsXslSource, String encoding) throws Exception {
+ private void save(org.apache.lenya.cms.publication.Document lenyaDocument,
+ Source unnumberTagsXslSource, Source numberTagsXslSource, String encoding)
+ throws Exception {
if (!lenyaDocument.exists()) {
throw new ProcessingException("The document [" + lenyaDocument + "] does not exist.");
}
@@ -246,7 +244,7 @@
Source validationSource = null;
Source unnumberTagsSource = null;
-
+ SourceResolver resolver = getSourceResolver();
try {
String validationUri = lenyaDocument.getSourceURI() + ".validate";
validationSource = resolver.resolveURI(validationUri);
@@ -270,8 +268,8 @@
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
doc = DocumentHelper.readDocument(in);
- ValidationUtil.validate(this.manager, doc, getSourceDocument().getResourceType()
- .getSchema(), new UsecaseErrorHandler(this));
+ ValidationUtil.validate(doc, getSourceDocument().getResourceType().getSchema(),
+ new UsecaseErrorHandler(this));
} finally {
if (validationSource != null) {
@@ -754,4 +752,15 @@
return "edit";
}
+ /**
+ * TODO: Bean wiring
+ */
+ public void setSourceResolver(SourceResolver sourceResolver) {
+ this.sourceResolver = sourceResolver;
+ }
+
+ public SourceResolver getSourceResolver() {
+ return sourceResolver;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java?rev=741654&r1=741653&r2=741654&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java (original)
+++ lenya/trunk/org.apache.lenya.module.editors/src/main/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java Fri Feb 6 17:55:28 2009
@@ -29,8 +29,6 @@
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.stream.StreamSource;
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.Request;
import org.apache.commons.io.IOUtils;
import org.apache.lenya.cms.cocoon.source.SourceUtil;
import org.apache.lenya.cms.linking.LinkConverter;
@@ -88,9 +86,8 @@
protected void doCheckPreconditions() throws Exception {
super.doCheckPreconditions();
if (!hasErrors()) {
- UsecaseWorkflowHelper.checkWorkflow(this.manager, this, getEvent(),
- getSourceDocument(), getLogger());
- if (!ServletHelper.isUploadEnabled(this.manager)) {
+ UsecaseWorkflowHelper.checkWorkflow(this, getEvent(), getSourceDocument(), getLogger());
+ if (!ServletHelper.isUploadEnabled()) {
addErrorMessage("upload-disabled");
}
}
@@ -106,8 +103,7 @@
}
protected String getRequestEncoding() {
- Request request = ContextHelper.getRequest(this.context);
- return request.getCharacterEncoding();
+ return getRequest().getCharacterEncoding();
}
protected String getContent() {
@@ -156,7 +152,7 @@
byte bytes[] = xmlString.getBytes(encoding);
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
StreamSource source = new StreamSource(stream);
- ValidationUtil.validate(this.manager, source, schema, this);
+ ValidationUtil.validate(source, schema, this);
if (!getValidationErrors().isEmpty()) {
addErrorMessage("editors.validationFailed");
}
@@ -183,8 +179,7 @@
*/
protected void saveDocument(Document content) throws Exception {
saveXMLFile(content, getSourceDocument());
-
- WorkflowUtil.invoke(this.manager, getLogger(), getSourceDocument(), getEvent());
+ WorkflowUtil.invoke(getLogger(), getSourceDocument(), getEvent());
}
/**
@@ -196,7 +191,7 @@
protected void saveXMLFile(Document content, org.apache.lenya.cms.publication.Document document) {
try {
SourceUtil.writeDOM(content, document.getOutputStream());
- LinkConverter converter = new LinkConverter(this.manager, getLogger());
+ LinkConverter converter = new LinkConverter(getLogger());
converter.convertUrlsToUuids(document, false);
} catch (Exception e) {
addErrorMessage(e.getMessage());