You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ch...@apache.org on 2006/02/24 04:22:16 UTC
svn commit: r380319 - in /lenya/trunk/src/java/org/apache/lenya/cms:
publication/DocumentManager.java publication/DocumentManagerImpl.java
site/usecases/MoveSubsite.java
Author: chestnut
Date: Thu Feb 23 19:22:14 2006
New Revision: 380319
URL: http://svn.apache.org/viewcvs?rev=380319&view=rev
Log:
containing documents of moved documents should not have their resources/assets copied as well. Fixes the bug of
not being able to delete a document contained by a document that has resources/assets.
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManager.java
lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManager.java?rev=380319&r1=380318&r2=380319&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManager.java Thu Feb 23 19:22:14 2006
@@ -41,6 +41,16 @@
void copy(Document sourceDocument, Document destinationDocument) throws PublicationException;
/**
+ * Copies a document from one location to another location.
+ * Does not copy the documents resources
+ * @param sourceDocument The document to copy.
+ * @param destinationDocument The destination document.
+ * @throws PublicationException if a document which destinationDocument depends on does not
+ * exist.
+ */
+ void copyDocument(Document sourceDocument, Document destinationDocument) throws PublicationException;
+
+ /**
* Copies a document to another area.
* @param sourceDocument The document to copy.
* @param destinationArea The destination area.
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java?rev=380319&r1=380318&r2=380319&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java Thu Feb 23 19:22:14 2006
@@ -192,6 +192,36 @@
}
}
}
+
+ /**
+ * Method to copy a document without it's resources. Override {@link #copyDocumentSource(Document, Document)}
+ * to implement access to a custom repository.
+ * @see org.apache.lenya.cms.publication.DocumentManager#copy(org.apache.lenya.cms.publication.Document,
+ * org.apache.lenya.cms.publication.Document)
+ */
+ public void copyDocument(Document sourceDocument, Document destinationDocument)
+ throws PublicationException {
+
+ Publication publication = sourceDocument.getPublication();
+ copyDocumentSource(sourceDocument, destinationDocument);
+
+ SiteManager siteManager = null;
+ ServiceSelector selector = null;
+ try {
+ selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
+ siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
+ siteManager.copy(sourceDocument, destinationDocument);
+ } catch (Exception e) {
+ throw new PublicationException(e);
+ } finally {
+ if (selector != null) {
+ if (siteManager != null) {
+ selector.release(siteManager);
+ }
+ this.manager.release(selector);
+ }
+ }
+ }
/**
* @see org.apache.lenya.cms.publication.DocumentManager#delete(org.apache.lenya.cms.publication.Document)
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java?rev=380319&r1=380318&r2=380319&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java Thu Feb 23 19:22:14 2006
@@ -179,7 +179,7 @@
Document existingSourceDoc = DocumentHelper.getExistingLanguageVersion(sourceDoc,
doc.getLanguage());
Document targetDoc = map.getAreaVersion(existingSourceDoc, getTargetArea());
- documentManager.copy(existingSourceDoc, targetDoc);
+ documentManager.copyDocument(existingSourceDoc, targetDoc);
if (!targetDoc.getArea().equals(Publication.AUTHORING_AREA)) {
MetaData meta = targetDoc.getMetaDataManager().getLenyaMetaData();
meta.setValue(LenyaMetaData.ELEMENT_PLACEHOLDER, "true");
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org