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/03/13 00:41:30 UTC
svn commit: r157298 - in lenya/trunk/src/java/org/apache/lenya/cms:
ac/usecases/ cocoon/transformation/ metadata/usecases/ search/usecases/
site/usecases/ usecase/
Author: andreas
Date: Sat Mar 12 15:41:26 2005
New Revision: 157298
URL: http://svn.apache.org/viewcvs?view=rev&rev=157298
Log:
refactored usecase initialization (source URL is passed and not resolved via context)
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java
lenya/trunk/src/java/org/apache/lenya/cms/metadata/usecases/Metadata.java
lenya/trunk/src/java/org/apache/lenya/cms/search/usecases/Search.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Move.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Overview.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Revisions.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Scheduler.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java
lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java
lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControl.java Sat Mar 12 15:41:26 2005
@@ -48,10 +48,10 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
try {
Role[] roles = getRoleManager().getRoles();
Modified: lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/ac/usecases/AccessControlUsecase.java Sat Mar 12 15:41:26 2005
@@ -48,10 +48,10 @@
private AccessController accessController;
/**
+ * Initializes the accreditable managers.
* FIXME: This method resolves the AccessController, it has to be released after it is used!
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
*/
- protected void doInitialize() {
+ protected void initializeAccessController() {
super.doInitialize();
this.accessController = null;
@@ -92,30 +92,49 @@
* @return Returns the groupManager.
*/
protected GroupManager getGroupManager() {
+ if (this.groupManager == null) {
+ initializeAccessController();
+ }
return this.groupManager;
}
+
/**
* @return Returns the ipRangeManager.
*/
protected IPRangeManager getIpRangeManager() {
+ if (this.ipRangeManager == null) {
+ initializeAccessController();
+ }
return this.ipRangeManager;
}
+
/**
* @return Returns the roleManager.
*/
protected RoleManager getRoleManager() {
+ if (this.roleManager == null) {
+ initializeAccessController();
+ }
return this.roleManager;
}
+
/**
* @return Returns the userManager.
*/
protected UserManager getUserManager() {
+ if (this.userManager == null) {
+ initializeAccessController();
+ }
return this.userManager;
}
+
/**
* @return Returns the accessController.
*/
protected AccessController getAccessController() {
+ if (this.accessController == null) {
+ initializeAccessController();
+ }
return this.accessController;
}
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java Sat Mar 12 15:41:26 2005
@@ -113,6 +113,8 @@
Usecase usecase = null;
try {
usecase = usecaseResolver.resolve(usecaseName);
+ usecase.setSourceURL(this.sourceUrl);
+ usecase.setName(usecaseName);
if (attr.getValue(HREF_ATTRIBUTE) != null) {
passRequestParameters(usecase, attr.getValue(HREF_ATTRIBUTE));
}
@@ -184,6 +186,7 @@
private Role[] roles;
private Publication publication;
private AccessControllerResolver acResolver;
+ private String sourceUrl;
/**
* @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(org.apache.cocoon.environment.SourceResolver,
@@ -202,6 +205,7 @@
this.authorizer = null;
Request _request = ObjectModelHelper.getRequest(_objectModel);
+ this.sourceUrl = ServletHelper.getWebappURI(request);
try {
this.roles = PolicyAuthorizer.getRoles(_request);
Modified: lenya/trunk/src/java/org/apache/lenya/cms/metadata/usecases/Metadata.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/metadata/usecases/Metadata.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/metadata/usecases/Metadata.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/metadata/usecases/Metadata.java Sat Mar 12 15:41:26 2005
@@ -36,10 +36,10 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
try {
this.dc = getSourceDocument().getDublinCore();
Modified: lenya/trunk/src/java/org/apache/lenya/cms/search/usecases/Search.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/search/usecases/Search.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/search/usecases/Search.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/search/usecases/Search.java Sat Mar 12 15:41:26 2005
@@ -89,13 +89,6 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
- */
- protected void doInitialize() {
- super.doInitialize();
- }
-
- /**
* Validates the request parameters.
* @throws UsecaseException if an error occurs.
*/
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java Sat Mar 12 15:41:26 2005
@@ -35,16 +35,6 @@
*/
public class Assets extends SiteUsecase {
- private ResourcesManager resourcesManager = null;
-
- /**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
- */
- protected void doInitialize() {
- super.doInitialize();
- this.resourcesManager = getSourceDocument().getResourcesManager();
- }
-
/**
* Validates the request parameters.
* @throws UsecaseException if an error occurs.
@@ -72,7 +62,8 @@
*/
protected void initParameters() {
super.initParameters();
- File[] resources = this.resourcesManager.getResources();
+ ResourcesManager resourcesManager = getSourceDocument().getResourcesManager();
+ File[] resources = resourcesManager.getResources();
if (resources != null) {
Map[] assets = new Map[resources.length];
@@ -83,7 +74,7 @@
String format = "";
org.w3c.dom.Document metaDoc;
try {
- metaDoc = DocumentHelper.readDocument(this.resourcesManager
+ metaDoc = DocumentHelper.readDocument(resourcesManager
.getMetaFile(resources[i]));
title = metaDoc.getElementsByTagNameNS("http://purl.org/dc/elements/1.1/",
"title").item(0).getChildNodes().item(0).getNodeValue();
@@ -123,7 +114,7 @@
*/
protected void deleteAsset() throws Exception {
String assetName = getParameterAsString("delete");
- this.resourcesManager.deleteResource(assetName);
+ getSourceDocument().getResourcesManager().deleteResource(assetName);
}
/**
@@ -140,7 +131,7 @@
metadata.put("creator", creator);
metadata.put("rights", rights);
try {
- this.resourcesManager.addResource(file, metadata);
+ getSourceDocument().getResourcesManager().addResource(file, metadata);
} catch (final Exception e) {
getLogger().error("The resource could not be added: ", e);
addErrorMessage("The resource could not be added (see log files for details).");
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Move.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Move.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Move.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Move.java Sat Mar 12 15:41:26 2005
@@ -26,7 +26,7 @@
*/
public class Move extends SiteUsecase {
- /**
+ /**
* Ctor.
*/
public Move() {
@@ -34,18 +34,11 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
- */
- protected void doInitialize() {
- super.doInitialize();
- }
-
- /**
* Validates the request parameters.
* @throws UsecaseException if an error occurs.
*/
void validate() throws UsecaseException {
- // do nothing
+ // do nothing
}
/**
@@ -63,7 +56,8 @@
}
/**
- * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
+ * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String,
+ * java.lang.Object)
*/
public void setParameter(String name, Object value) {
super.setParameter(name, value);
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Overview.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Overview.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Overview.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Overview.java Sat Mar 12 15:41:26 2005
@@ -36,10 +36,10 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
this.dc = getSourceDocument().getDublinCore();
try {
setParameter("languages", getSourceDocument().getLanguages());
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Revisions.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Revisions.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Revisions.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Revisions.java Sat Mar 12 15:41:26 2005
@@ -37,10 +37,12 @@
private RCML rcml = null;
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters() TODO
+ * filter out checkin entries
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
+
try {
final Publication publication = getSourceDocument().getPublication();
final String publicationPath = publication.getDirectory().getCanonicalPath();
@@ -58,15 +60,7 @@
} catch (final Exception e) {
throw new RuntimeException(e);
}
- }
-
- /**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters() TODO
- * filter out checkin entries
- */
- protected void initParameters() {
- super.initParameters();
-
+
Vector entries;
try {
entries = this.rcml.getEntries();
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Scheduler.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Scheduler.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Scheduler.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Scheduler.java Sat Mar 12 15:41:26 2005
@@ -34,10 +34,10 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
try {
setParameter("live", "");
} catch (Exception e) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/SiteUsecase.java Sat Mar 12 15:41:26 2005
@@ -34,10 +34,10 @@
protected static final String ISLIVE = "is_live";
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
*/
- protected void doInitialize() {
- super.doInitialize();
+ protected void initParameters() {
+ super.initParameters();
WorkflowResolver resolver = null;
try {
resolver = (WorkflowResolver) this.manager.lookup(WorkflowResolver.ROLE);
Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java Sat Mar 12 15:41:26 2005
@@ -365,8 +365,6 @@
public final void initialize() throws Exception {
super.initialize();
this.documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- doInitialize();
- initParameters();
}
/**
@@ -383,7 +381,7 @@
/**
* Does the actual initialization. Template method.
*/
- protected void doInitialize() {
+ protected final void doInitialize() {
}
/**
@@ -467,6 +465,7 @@
*/
public void setSourceURL(String url) {
this.sourceUrl = url;
+ initParameters();
}
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/DocumentUsecase.java Sat Mar 12 15:41:26 2005
@@ -17,18 +17,12 @@
package org.apache.lenya.cms.usecase;
-import java.util.Map;
-
-import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.environment.ObjectModelHelper;
-import org.apache.cocoon.environment.Request;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentBuildException;
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationFactory;
import org.apache.lenya.cms.publication.URLInformation;
-import org.apache.lenya.util.ServletHelper;
/**
* <p>
@@ -64,30 +58,26 @@
}
/**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doInitialize()
+ * @see org.apache.lenya.cms.usecase.Usecase#setSourceURL(java.lang.String)
*/
- protected void doInitialize() {
- super.doInitialize();
+ public void setSourceURL(String url) {
try {
- Map objectModel = ContextHelper.getObjectModel(getContext());
- Request request = ObjectModelHelper.getRequest(objectModel);
- String webappUri = ServletHelper.getWebappURI(request);
-
DocumentFactory factory = getUnitOfWork().getIdentityMap().getFactory();
PublicationFactory pubFactory = PublicationFactory.getInstance(getLogger());
- Publication publication = pubFactory.getPublication(this.manager, webappUri);
+ Publication publication = pubFactory.getPublication(this.manager, url);
- if (factory.isDocument(publication, getSourceURL())) {
- this.sourceDocument = factory.getFromURL(publication, getSourceURL());
+ if (factory.isDocument(publication, url)) {
+ this.sourceDocument = factory.getFromURL(publication, url);
}
- URLInformation info = new URLInformation(webappUri);
+ URLInformation info = new URLInformation(url);
this.completeArea = info.getCompleteArea();
} catch (Exception e) {
throw new RuntimeException(e);
}
+ super.setSourceURL(url);
}
-
+
private Document sourceDocument = null;
/**
Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java?view=diff&r1=157297&r2=157298
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java Sat Mar 12 15:41:26 2005
@@ -76,6 +76,8 @@
try {
resolver = (UsecaseResolver) this.manager.lookup(UsecaseResolver.ROLE);
usecase = resolver.resolve(getSourceURL(), getUsecaseName());
+
+ usecase.setSourceURL(getSourceURL());
usecase.setName(getUsecaseName());
passParameters(usecase);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org