tdraier 2005/07/08 19:22:04 CEST
Modified files:
core/src/java/org/jahia/services/importexport
ContentPickerListener.java
Log:
fixed subpages content picking
Revision Changes Path
1.3 +17 -14
jahia/core/src/java/org/jahia/services/importexport/ContentPickerListener.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ContentPickerListener.java.diff?r1=1.2&r2=1.3&f=h
Index: ContentPickerListener.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ContentPickerListener.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ContentPickerListener.java 8 Jul 2005 13:00:44 -0000 1.2
+++ ContentPickerListener.java 8 Jul 2005 17:22:04 -0000 1.3
@@ -36,26 +36,29 @@
ContentObject object = event.getContentObject();
Set languages = event.getLanguageCodes();
ProcessingContext jParams = event.getProcessingContext();
+ ImportExportService ie = ImportExportBaseService.getInstance();
try {
ContentObject current = object;
+ Set done = new HashSet();
while (current != null) {
- List objects =
WorkflowService.getInstance().getLinkedContentObjects(current, false);
- ImportExportService ie =
ImportExportBaseService.getInstance();
+ if (!done.contains(current.getObjectKey())) {
+ List objects =
WorkflowService.getInstance().getLinkedContentObjects(current, false);
- for (Iterator iterator = objects.iterator();
iterator.hasNext();) {
- ContentObject contentObject = (ContentObject)
iterator.next();
-
- Set pickers = contentObject.getPickerObjects();
- Set files = new HashSet();
- for (Iterator iterator2 = pickers.iterator();
iterator2.hasNext();) {
- ContentObject picker = (ContentObject)
iterator2.next();
- DiffImportHandler handler = new
DiffImportHandler(picker,jParams);
- ie.export(contentObject, languages, handler, files,
jParams, true,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT);
+ for (Iterator iterator = objects.iterator();
iterator.hasNext();) {
+ ContentObject contentObject = (ContentObject)
iterator.next();
+ if (!done.contains(contentObject.getObjectKey())) {
+ done.add(contentObject.getObjectKey());
+ Set pickers = contentObject.getPickerObjects();
+ Set files = new HashSet();
+ for (Iterator iterator2 = pickers.iterator();
iterator2.hasNext();) {
+ ContentObject picker = (ContentObject)
iterator2.next();
+ DiffImportHandler handler = new
DiffImportHandler(picker,jParams);
+ ie.export(contentObject, languages, handler,
files, jParams, true,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT);
+ }
+ }
}
}
- do {
- current = current.getParent(null);
- } while (current != null &&
WorkflowService.getInstance().getWorkflowMode(current)==WorkflowService.LINKED);
+ current = current.getParent(null);
}
} catch (Exception e) {
e.printStackTrace(); //To change body of catch statement use
File | Settings | File Templates.