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/21 10:57:54 UTC
svn commit: r158433 - in lenya/trunk/src:
java/org/apache/lenya/cms/site/usecases/ java/org/apache/lenya/cms/usecase/
webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/
Author: andreas
Date: Mon Mar 21 01:57:52 2005
New Revision: 158433
URL: http://svn.apache.org/viewcvs?view=rev&rev=158433
Log:
Removed AbstractUsecase.getDocumentManager(). Use try { lookup } finally { release } instead.
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Paste.java
lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java
lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java
lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java Mon Mar 21 01:57:52 2005
@@ -22,6 +22,7 @@
import org.apache.lenya.cms.publication.DocumentException;
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentIdentityMap;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.usecase.DocumentUsecase;
@@ -77,13 +78,17 @@
String nodeId = getParameterAsString(NODE_ID);
Document parent = identityMap.getFactory().getParent(getSourceDocument());
- String[] messages = getDocumentManager().canCreate(identityMap,
- getSourceDocument().getArea(),
- parent,
- nodeId,
- getSourceDocument().getLanguage());
-
- addErrorMessages(messages);
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ String[] messages = documentManager.canCreate(identityMap, getSourceDocument()
+ .getArea(), parent, nodeId, getSourceDocument().getLanguage());
+ addErrorMessages(messages);
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
+ }
}
/**
@@ -126,23 +131,32 @@
String[] availableLanguages = document.getLanguages();
- for (int i = 0; i < availableLanguages.length; i++) {
- Document languageVersion = identityMap.getFactory().get(document.getPublication(),
- document.getArea(),
- document.getId(),
- availableLanguages[i]);
-
- Document newLanguageVersion = identityMap.getFactory().get(document.getPublication(),
- document.getArea(),
- newDocumentId,
- availableLanguages[i]);
-
- getDocumentManager().moveDocument(languageVersion, newLanguageVersion);
-
- if (availableLanguages[i].equals(document.getLanguage())) {
- newDocument = newLanguageVersion;
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ for (int i = 0; i < availableLanguages.length; i++) {
+ Document languageVersion = identityMap.getFactory().get(document.getPublication(),
+ document.getArea(),
+ document.getId(),
+ availableLanguages[i]);
+
+ Document newLanguageVersion = identityMap.getFactory().get(document.getPublication(),
+ document.getArea(),
+ newDocumentId,
+ availableLanguages[i]);
+
+ documentManager.moveDocument(languageVersion, newLanguageVersion);
+
+ if (availableLanguages[i].equals(document.getLanguage())) {
+ newDocument = newLanguageVersion;
+ }
+ }
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
}
}
+
return newDocument;
}
@@ -162,4 +176,4 @@
return newDocumentId;
}
-}
+}
\ No newline at end of file
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java Mon Mar 21 01:57:52 2005
@@ -30,6 +30,7 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentException;
import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.PublicationFactory;
@@ -85,7 +86,16 @@
Document document = createDocument();
Publication publication = document.getPublication();
- getDocumentManager().addDocument(document);
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ documentManager.addDocument(document);
+ }
+ finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
+ }
SiteManager _manager = publication.getSiteManager();
_manager.setLabel(document, getParameterAsString(DublinCore.ELEMENT_TITLE));
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/CreateDocument.java Mon Mar 21 01:57:52 2005
@@ -22,6 +22,7 @@
import org.apache.lenya.cms.authoring.ParentChildCreatorInterface;
import org.apache.lenya.cms.metadata.dublincore.DublinCore;
import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.DocumentType;
import org.apache.lenya.cms.publication.DocumentTypeBuilder;
import org.apache.lenya.cms.publication.Publication;
@@ -62,12 +63,20 @@
String nodeId = getParameterAsString(DOCUMENT_ID);
Document parent = getSourceDocument();
String language = getParameterAsString(LANGUAGE);
- String[] messages = getDocumentManager().canCreate(getUnitOfWork().getIdentityMap(),
- getArea(),
- parent,
- nodeId,
- language);
- addErrorMessages(messages);
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ String[] messages = documentManager.canCreate(getUnitOfWork().getIdentityMap(),
+ getArea(),
+ parent,
+ nodeId,
+ language);
+ addErrorMessages(messages);
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
+ }
}
/**
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java Mon Mar 21 01:57:52 2005
@@ -18,6 +18,7 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentIdentityMap;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.util.DocumentSet;
import org.apache.lenya.cms.publication.util.UniqueDocumentId;
@@ -25,8 +26,8 @@
import org.apache.lenya.cms.usecase.DocumentUsecase;
/**
- * Delete a document and all its descendants, including all language versions.
- * The documents are moved to the trash.
+ * Delete a document and all its descendants, including all language versions. The documents are
+ * moved to the trash.
*
* @version $Id:$
*/
@@ -77,7 +78,15 @@
Document target = identityMap.getFactory().get(source.getPublication(),
Publication.TRASH_AREA,
availableId);
- getDocumentManager().moveAll(source, target);
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ documentManager.moveAll(source, target);
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
+ }
setTargetDocument(target);
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java Mon Mar 21 01:57:52 2005
@@ -17,6 +17,7 @@
package org.apache.lenya.cms.site.usecases;
import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.util.DocumentHelper;
import org.apache.lenya.cms.usecase.DocumentUsecase;
@@ -51,7 +52,15 @@
super.doExecute();
Document document = getSourceDocument();
- getDocumentManager().deleteDocument(document);
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ documentManager.deleteDocument(document);
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
+ }
setTargetDocument(DocumentHelper.getExistingLanguageVersion(document));
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Paste.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Paste.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Paste.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Paste.java Mon Mar 21 01:57:52 2005
@@ -20,6 +20,7 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentBuildException;
import org.apache.lenya.cms.publication.DocumentIdentityMap;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.usecase.DocumentUsecase;
/**
@@ -85,14 +86,22 @@
targetArea,
potentialDocumentId,
language);
- Document availableDocument = getDocumentManager().getAvailableDocument(potentialDocument);
-
- if (clipboard.getMethod() == Clipboard.METHOD_COPY) {
- getDocumentManager().copyAll(clippedDocument, availableDocument);
- } else if (clipboard.getMethod() == Clipboard.METHOD_CUT) {
- getDocumentManager().moveAll(clippedDocument, availableDocument);
- } else {
- throw new RuntimeException("This clipboard method is not supported!");
+ DocumentManager documentManager = null;
+ try {
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ Document availableDocument = documentManager.getAvailableDocument(potentialDocument);
+
+ if (clipboard.getMethod() == Clipboard.METHOD_COPY) {
+ documentManager.copyAll(clippedDocument, availableDocument);
+ } else if (clipboard.getMethod() == Clipboard.METHOD_CUT) {
+ documentManager.moveAll(clippedDocument, availableDocument);
+ } else {
+ throw new RuntimeException("This clipboard method is not supported!");
+ }
+ } finally {
+ if (documentManager != null) {
+ this.manager.release(documentManager);
+ }
}
}
-}
+}
\ No newline at end of file
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=158432&r2=158433
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/AbstractUsecase.java Mon Mar 21 01:57:52 2005
@@ -18,7 +18,6 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -27,9 +26,7 @@
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.service.ServiceException;
import org.apache.cocoon.servlet.multipart.Part;
-import org.apache.lenya.cms.publication.DocumentManager;
/**
* Abstract usecase implementation.
@@ -350,41 +347,11 @@
this.context = _context;
}
- private DocumentManager documentManager;
-
- /**
- * Retrieves a document manager, which allows the use cases to manipulate documents (move, copy, add documents to publications, ...)
- *
- * @return a DocumentManager, which is a service to manipulate documents
- * @throws ServiceException if the document manager component can not be initialized by the component framework
- */
- protected DocumentManager getDocumentManager() throws ServiceException {
- if (this.documentManager == null) {
- if (getLogger().isDebugEnabled())
- getLogger().debug("AbstractUsecase.getDocumentManager() does not yet have instance, looking up role [" + DocumentManager.ROLE + "]");
-
- this.documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
- }
-
- return this.documentManager;
- }
-
/**
* @see org.apache.avalon.framework.activity.Initializable#initialize()
*/
public final void initialize() throws Exception {
super.initialize();
- }
-
- /**
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
- public void dispose() {
- super.dispose();
-
- if (this.documentManager != null) {
- this.manager.release(documentManager);
- }
}
/**
Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java Mon Mar 21 01:57:52 2005
@@ -19,6 +19,7 @@
import org.apache.avalon.framework.service.ServiceException;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.util.DocumentVisitor;
@@ -92,11 +93,14 @@
boolean success = false;
WorkflowManager wfManager = null;
+ DocumentManager documentManager = null;
try {
wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE);
Document liveDocument = publication.getAreaVersion(authoringDocument,
Publication.LIVE_AREA);
- getDocumentManager().deleteDocument(liveDocument);
+
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ documentManager.deleteDocument(liveDocument);
wfManager.invoke(authoringDocument, getEvent());
success = true;
@@ -109,6 +113,9 @@
}
if (wfManager != null) {
this.manager.release(wfManager);
+ }
+ if (documentManager != null) {
+ this.manager.release(documentManager);
}
}
Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java?view=diff&r1=158432&r2=158433
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java Mon Mar 21 01:57:52 2005
@@ -26,6 +26,7 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.util.DocumentVisitor;
@@ -160,15 +161,20 @@
protected void publish(Document authoringDocument) {
WorkflowManager wfManager = null;
+ DocumentManager documentManager = null;
try {
wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE);
- getDocumentManager().copyDocumentToArea(authoringDocument, Publication.LIVE_AREA);
+ documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
+ documentManager.copyDocumentToArea(authoringDocument, Publication.LIVE_AREA);
wfManager.invoke(authoringDocument, getEvent());
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (wfManager != null) {
this.manager.release(wfManager);
+ }
+ if (documentManager != null) {
+ this.manager.release(documentManager);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org