tdraier     2005/09/07 15:50:26 CEST

  Modified files:
    core/src/java/org/jahia/data/beans ContainerBean.java 
                                       ContainerListBean.java 
                                       FieldBean.java 
                                       PageBean.java 
    core/src/java/org/jahia/data/fields JahiaFieldSet.java 
    core/src/java/org/jahia/data/viewhelper/sitemap 
                                                    
WorkflowSiteMapViewHelper.java 
    core/src/java/org/jahia/engines/importexport 
                                                 ClipboardEngine.java 
                                                 ManageContentPicker.java 
    core/src/java/org/jahia/engines/shared BigText_Field.java 
                                           Page_Field.java 
    core/src/java/org/jahia/engines/workflow 
                                             AdvancedWorkflowEngine.java 
                                             ManageWorkflow.java 
                                             WorkflowEngine.java 
    core/src/java/org/jahia/services/fields ContentField.java 
                                            ContentPageField.java 
    core/src/java/org/jahia/services/importexport 
                                                  ContentPickerListener.java 
                                                  ImportExportBaseService.java 
                                                  ImportExportService.java 
                                                  ImportHandler.java 
    core/src/java/org/jahia/services/pages ContentPage.java 
    core/src/java/org/jahia/services/workflow WorkflowService.java 
    core/src/webapp/jsp/jahia/engines/workflow adv_workflow.jsp 
  Log:
  workflow fixes
  
  Revision  Changes    Path
  1.11      +9 -2      
jahia/core/src/java/org/jahia/data/beans/ContainerBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/beans/ContainerBean.java.diff?r1=1.10&r2=1.11&f=h
  1.13      +22 -13    
jahia/core/src/java/org/jahia/data/beans/ContainerListBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/beans/ContainerListBean.java.diff?r1=1.12&r2=1.13&f=h
  1.11      +2 -2      jahia/core/src/java/org/jahia/data/beans/FieldBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/beans/FieldBean.java.diff?r1=1.10&r2=1.11&f=h
  1.12      +5 -2      jahia/core/src/java/org/jahia/data/beans/PageBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/beans/PageBean.java.diff?r1=1.11&r2=1.12&f=h
  1.4       +1 -2      
jahia/core/src/java/org/jahia/data/fields/JahiaFieldSet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/fields/JahiaFieldSet.java.diff?r1=1.3&r2=1.4&f=h
  1.7       +6 -5      
jahia/core/src/java/org/jahia/data/viewhelper/sitemap/WorkflowSiteMapViewHelper.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/viewhelper/sitemap/WorkflowSiteMapViewHelper.java.diff?r1=1.6&r2=1.7&f=h
  1.2       +1 -1      
jahia/core/src/java/org/jahia/engines/importexport/ClipboardEngine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/importexport/ClipboardEngine.java.diff?r1=1.1&r2=1.2&f=h
  1.13      +1 -5      
jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java.diff?r1=1.12&r2=1.13&f=h
  1.26      +1 -1      
jahia/core/src/java/org/jahia/engines/shared/BigText_Field.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/shared/BigText_Field.java.diff?r1=1.25&r2=1.26&f=h
  1.22      +2 -2      
jahia/core/src/java/org/jahia/engines/shared/Page_Field.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/shared/Page_Field.java.diff?r1=1.21&r2=1.22&f=h
  1.17      +2 -2      
jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java.diff?r1=1.16&r2=1.17&f=h
  1.6       +3 -3      
jahia/core/src/java/org/jahia/engines/workflow/ManageWorkflow.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/workflow/ManageWorkflow.java.diff?r1=1.5&r2=1.6&f=h
  1.17      +1 -1      
jahia/core/src/java/org/jahia/engines/workflow/WorkflowEngine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/workflow/WorkflowEngine.java.diff?r1=1.16&r2=1.17&f=h
  1.26      +2 -2      
jahia/core/src/java/org/jahia/services/fields/ContentField.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/fields/ContentField.java.diff?r1=1.25&r2=1.26&f=h
  1.16      +1 -1      
jahia/core/src/java/org/jahia/services/fields/ContentPageField.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/fields/ContentPageField.java.diff?r1=1.15&r2=1.16&f=h
  1.7       +45 -32    
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.6&r2=1.7&f=h
  1.20      +30 -27    
jahia/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java.diff?r1=1.19&r2=1.20&f=h
  1.10      +6 -6      
jahia/core/src/java/org/jahia/services/importexport/ImportExportService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ImportExportService.java.diff?r1=1.9&r2=1.10&f=h
  1.14      +20 -2     
jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java.diff?r1=1.13&r2=1.14&f=h
  1.30      +4 -3      
jahia/core/src/java/org/jahia/services/pages/ContentPage.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/pages/ContentPage.java.diff?r1=1.29&r2=1.30&f=h
  1.23      +11 -7     
jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java.diff?r1=1.22&r2=1.23&f=h
  1.11      +2 -2      
jahia/core/src/webapp/jsp/jahia/engines/workflow/adv_workflow.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/jsp/jahia/engines/workflow/adv_workflow.jsp.diff?r1=1.10&r2=1.11&f=h
  
  
  
  Index: ContainerBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/beans/ContainerBean.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ContainerBean.java        26 Aug 2005 13:46:40 -0000      1.10
  +++ ContainerBean.java        7 Sep 2005 13:50:21 -0000       1.11
  @@ -60,14 +60,14 @@
       }
       
       public ContainerBean() {
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
       }
       
       public ContainerBean(final JahiaContainer jahiaContainer,
               final ProcessingContext processingContext) {
           this.jahiaContainer = jahiaContainer;
           this.processingContext = processingContext;
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
           
           try {
               init(jahiaContainer);
  @@ -424,6 +424,13 @@
           final HTMLToolBox htmlToolBox = new HTMLToolBox(guiBean, 
processingContext);
           completelyLocked = true;
           try {
  +            if 
(ServicesRegistry.getInstance().getImportExportService().isPicker(jahiaContainer.getContentContainer()))
 {
  +                return;
  +            }
  +        } catch (JahiaException e) {
  +            e.printStackTrace();  //To change body of catch statement use 
File | Settings | File Templates.
  +        }
  +        try {
               final ContentContainer theContainer = 
jahiaContainer.getContentContainer();
               String curURL = guiBean.drawUpdateContainerUrl(theContainer);
               String curLauncherURI = 
htmlToolBox.drawUpdateContainerLauncher(theContainer);
  
  
  
  Index: ContainerListBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/beans/ContainerListBean.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ContainerListBean.java    26 Aug 2005 14:15:01 -0000      1.12
  +++ ContainerListBean.java    7 Sep 2005 13:50:21 -0000       1.13
  @@ -60,7 +60,7 @@
       private final WorkflowService workflowService;
       
       public ContainerListBean() {
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
       }
       
       static {
  @@ -71,7 +71,7 @@
               final ProcessingContext processingContext) {
           this.jahiaContainerList = jahiaContainerList;
           this.processingContext = processingContext;
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
           
           try {
               init(jahiaContainerList);
  @@ -87,20 +87,22 @@
           
           final int mode = workflowService.getWorkflowMode(theList);
           independantWorkflow = (mode != WorkflowService.LINKED);
  -        final Map languagesStates = 
workflowService.getLanguagesStates(theList);
  -        Integer languageState = (Integer) languagesStates.get(
  -                processingContext.getLocale().toString());
  -        final Integer sharedLanguageState = (Integer)languagesStates.
  -                get(ContentObject.SHARED_LANGUAGE);
  -        if (languageState != null && languageState.intValue() != -1) {
  -            if ( sharedLanguageState != null &&
  -                    languageState.intValue() < 
sharedLanguageState.intValue() ){
  +        if (independantWorkflow) {
  +            final Map languagesStates = 
workflowService.getLanguagesStates(theList);
  +            Integer languageState = (Integer) languagesStates.get(
  +                    processingContext.getLocale().toString());
  +            final Integer sharedLanguageState = (Integer)languagesStates.
  +                    get(ContentObject.SHARED_LANGUAGE);
  +            if (languageState != null && languageState.intValue() != -1) {
  +                if ( sharedLanguageState != null &&
  +                        languageState.intValue() < 
sharedLanguageState.intValue() ){
  +                    languageState = sharedLanguageState;
  +                }
  +            } else if (languageState == null) {
                   languageState = sharedLanguageState;
               }
  -        } else if (languageState == null) {
  -            languageState = sharedLanguageState;
  +            groupWorkflowState = (languageState != 
null)?languageState.intValue():1;
           }
  -        groupWorkflowState = (languageState != 
null)?languageState.intValue():1;
       }
       
       public static AbstractJahiaObjectBean getChildInstance(
  @@ -346,6 +348,13 @@
           final HTMLToolBox htmlToolBox = new HTMLToolBox(guiBean, 
processingContext);
           completelyLocked = true;
           try {
  +            if 
(ServicesRegistry.getInstance().getImportExportService().isPicker(jahiaContainerList.getContentContainerList()))
 {
  +                return;
  +            }
  +        } catch (JahiaException e) {
  +            e.printStackTrace();  //To change body of catch statement use 
File | Settings | File Templates.
  +        }
  +        try {
               /** todo FIXME we must still add lock check for all the actions 
*/
               final ContentContainerList theList = 
jahiaContainerList.getContentContainerList();
               String curURL = guiBean.drawAddContainerUrl(jahiaContainerList);
  
  
  
  Index: FieldBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/beans/FieldBean.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FieldBean.java    18 Aug 2005 07:33:53 -0000      1.10
  +++ FieldBean.java    7 Sep 2005 13:50:21 -0000       1.11
  @@ -53,7 +53,7 @@
       private final WorkflowService workflowService;
       
       public FieldBean() {
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
       }
       
       static {
  @@ -64,7 +64,7 @@
       public FieldBean(final JahiaField jahiaField, final ProcessingContext 
processingContext) {
           this.jahiaField = jahiaField;
           this.processingContext = processingContext;
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
           
           try {
               init(jahiaField);
  
  
  
  Index: PageBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/beans/PageBean.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- PageBean.java     18 Aug 2005 07:33:53 -0000      1.11
  +++ PageBean.java     7 Sep 2005 13:50:21 -0000       1.12
  @@ -66,13 +66,13 @@
       }
       
       public PageBean() {
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
       }
       
       public PageBean(final JahiaPage jahiaPage, final ProcessingContext 
processingContext) {
           this.jahiaPage = jahiaPage;
           this.processingContext = processingContext;
  -        workflowService = WorkflowService.getInstance();
  +        workflowService = 
ServicesRegistry.getInstance().getWorkflowService();
           
           try {
               init(jahiaPage);
  @@ -464,6 +464,9 @@
                       processingContext.getEntryLoadRequest(), 
processingContext.getOperationMode());
               final JahiaField parentJahiaField = 
parentContentField.getJahiaField(
                       processingContext.getEntryLoadRequest());
  +            if (parentJahiaField == null) {
  +                return null;
  +            }
               final FieldBean parentFieldBean = new FieldBean(parentJahiaField,
                       processingContext);
               return parentFieldBean;
  
  
  
  Index: JahiaFieldSet.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/fields/JahiaFieldSet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JahiaFieldSet.java        5 Jul 2005 15:46:01 -0000       1.3
  +++ JahiaFieldSet.java        7 Sep 2005 13:50:22 -0000       1.4
  @@ -242,8 +242,7 @@
                       if ((fieldID != -1)) {
                           // now we must check if it exists in active or 
staging
                           ContentField curField = 
ContentField.getField(fieldID);
  -                        if ((curField.hasActiveEntries()) ||
  -                            (curField.hasStagingEntries())) {
  +                        if (curField!= null && 
(curField.hasActiveEntries()|| curField.hasStagingEntries())) {
                               fieldCurrentlyExists = true;
                           } else {
                               // we must remove it from the cache in order to
  
  
  
  Index: WorkflowSiteMapViewHelper.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/viewhelper/sitemap/WorkflowSiteMapViewHelper.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WorkflowSiteMapViewHelper.java    22 Aug 2005 08:40:36 -0000      1.6
  +++ WorkflowSiteMapViewHelper.java    7 Sep 2005 13:50:22 -0000       1.7
  @@ -10,6 +10,7 @@
   import org.jahia.services.containers.ContentContainerList;
   import org.jahia.services.containers.ContentContainer;
   import org.jahia.services.version.EntryLoadRequest;
  +import org.jahia.registries.ServicesRegistry;
   
   import java.util.*;
   
  @@ -19,11 +20,11 @@
    * Date: 16 nov. 2004
    * Time: 18:35:55
    * <p/>
  - * $Author: knguyen $
  - * $Date: 2005/08/22 08:40:36 $
  - * $Id: WorkflowSiteMapViewHelper.java,v 1.6 2005/08/22 08:40:36 knguyen Exp 
$
  + * $Author: tdraier $
  + * $Date: 2005/09/07 13:50:22 $
  + * $Id: WorkflowSiteMapViewHelper.java,v 1.7 2005/09/07 13:50:22 tdraier Exp 
$
    * $RCSfile: WorkflowSiteMapViewHelper.java,v $
  - * $Revision: 1.6 $
  + * $Revision: 1.7 $
    * $Source: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/viewhelper/sitemap/WorkflowSiteMapViewHelper.java,v
 $
    * $State: Exp $
    */
  @@ -44,7 +45,7 @@
                   thisPageId = 
((PageReferenceableInterface)object).getPageID();
               }
   
  -            WorkflowService instance = WorkflowService.getInstance();
  +            WorkflowService instance = 
ServicesRegistry.getInstance().getWorkflowService();
   
               List linked = instance.getLinkedContentObjects(object, false);
               List linkedPages = new ArrayList();
  
  
  
  Index: ClipboardEngine.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ClipboardEngine.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ClipboardEngine.java      26 Aug 2005 13:46:40 -0000      1.1
  +++ ClipboardEngine.java      7 Sep 2005 13:50:22 -0000       1.2
  @@ -74,7 +74,7 @@
                   String dkey = processingContext.getParameter("key");
                   ContentObject dest = 
ContentObject.getContentObjectInstance(ContentObjectKey.getInstance(dkey));
   
  -                
ServicesRegistry.getInstance().getImportExportService().copy(source,dest , 
processingContext, EntryLoadRequest.STAGED);
  +                
ServicesRegistry.getInstance().getImportExportService().copy(source,dest , 
processingContext, EntryLoadRequest.STAGED, false);
               } catch (ClassNotFoundException e) {
                   e.printStackTrace();  //To change body of catch statement 
use File | Settings | File Templates.
               }
  
  
  
  Index: ManageContentPicker.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ManageContentPicker.java  30 Aug 2005 16:47:58 -0000      1.12
  +++ ManageContentPicker.java  7 Sep 2005 13:50:22 -0000       1.13
  @@ -346,11 +346,7 @@
           if (jParams.getParameter("containerId")!= null && 
jParams.getParameter("containerId").length()>0) {
               try {
                   ContentObject source = 
ContentContainer.getContainer(Integer.parseInt(jParams.getParameter("containerId")));
  -                if ("linked".equals(jParams.getParameter("copytype"))) {
  -                    ie.linkedCopy(source, object, jParams);
  -                } else {
  -                    ie.copy(source, object, jParams, 
EntryLoadRequest.CURRENT);
  -                }
  +                ie.copy(source, object, jParams, EntryLoadRequest.CURRENT, 
"linked".equals(jParams.getParameter("copytype")));
                   engineMap.put("contentpick_engine.fieldForm", "<script 
language=\"javascript\">window.close();</script>");
               } catch (JahiaException e) {
                   e.printStackTrace();  //To change body of catch statement 
use File | Settings | File Templates.
  
  
  
  Index: BigText_Field.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/shared/BigText_Field.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- BigText_Field.java        2 Sep 2005 08:51:38 -0000       1.25
  +++ BigText_Field.java        7 Sep 2005 13:50:22 -0000       1.26
  @@ -746,7 +746,7 @@
           final ContentPage page = ContentPage.getPage(pageId);
           if (page == null) { return "staging"; }
           
  -        final Map languagesStates = 
WorkflowService.getInstance().getLanguagesStates(page);
  +        final Map languagesStates = 
ServicesRegistry.getInstance().getWorkflowService().getLanguagesStates(page);
           final Integer state = 
((Integer)languagesStates.get(currentLanguageCode));
           
           if (state == null) { return "staging"; }
  
  
  
  Index: Page_Field.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/shared/Page_Field.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Page_Field.java   2 Sep 2005 08:51:38 -0000       1.21
  +++ Page_Field.java   7 Sep 2005 13:50:22 -0000       1.22
  @@ -625,8 +625,8 @@
               int oldParentPageID = 
contentPage.getParentID(jParams.getEntryLoadRequest());
               contentPage.setParentID(pageBean.getParentID(), jParams);
               contentPage.commitChanges(true);
  -            if (WorkflowService.getInstance().getWorkflowMode(contentPage) 
== WorkflowService.LINKED) {
  -                WorkflowService.getInstance().setWorkflowMode(contentPage, 
WorkflowService.INHERITED,null,null,jParams);
  +            if 
(ServicesRegistry.getInstance().getWorkflowService().getWorkflowMode(contentPage)
 == WorkflowService.LINKED) {
  +                
ServicesRegistry.getInstance().getWorkflowService().setWorkflowMode(contentPage,
 WorkflowService.INHERITED,null,null,jParams);
               }
               JahiaEvent objectCreatedEvent = new JahiaEvent(this, jParams, 
contentPage);
               ServicesRegistry.getInstance ().getJahiaEventService ()
  
  
  
  Index: AdvancedWorkflowEngine.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AdvancedWorkflowEngine.java       29 Jul 2005 13:15:50 -0000      1.16
  +++ AdvancedWorkflowEngine.java       7 Sep 2005 13:50:23 -0000       1.17
  @@ -148,7 +148,7 @@
           logger.debug("handleActions: " + actionScreen);
   
           ContentPage contentPage = jParams.getContentPage();        
  -        while (contentPage.getParent(EntryLoadRequest.STAGED) != null && 
WorkflowService.getInstance().getWorkflowMode(contentPage.getParent(EntryLoadRequest.STAGED))==
 WorkflowService.LINKED) {
  +        while (contentPage.getParent(EntryLoadRequest.STAGED) != null && 
ServicesRegistry.getInstance().getWorkflowService().getWorkflowMode(contentPage.getParent(EntryLoadRequest.STAGED))==
 WorkflowService.LINKED) {
               contentPage = ServicesRegistry.getInstance 
().getJahiaPageService ().lookupContentPage (
                       contentPage.getParentID (jParams), true);
           }
  @@ -362,7 +362,7 @@
               }
               while (languageEnum.hasMoreElements()) {
                   final SiteLanguageSettings siteLanguageSettings = 
(SiteLanguageSettings)languageEnum.nextElement();
  -                final Map languagesStates = 
WorkflowService.getInstance().getLanguagesStates(object);
  +                final Map languagesStates = 
ServicesRegistry.getInstance().getWorkflowService().getLanguagesStates(object);
   //                        ContentPage contentPage = (ContentPage) object;
                   final String languageCode = siteLanguageSettings.getCode();
                   Integer languageState = 
(Integer)languagesStates.get(languageCode);
  
  
  
  Index: ManageWorkflow.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/workflow/ManageWorkflow.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ManageWorkflow.java       5 Jul 2005 15:46:17 -0000       1.5
  +++ ManageWorkflow.java       7 Sep 2005 13:50:23 -0000       1.6
  @@ -45,7 +45,7 @@
   
       public boolean handleActions (ProcessingContext jParams, int mode, 
HashMap engineMap, ContentObject object)
               throws  JahiaException, JahiaSessionExpirationException {
  -        object = 
WorkflowService.getInstance().getHardLinkedMainObject(object);
  +        object = 
ServicesRegistry.getInstance().getWorkflowService().getHardLinkedMainObject(object);
   //        if (object instanceof ContentPage) {
   //            ContentObject parent = object.getParent(jParams.getUser(), 
jParams.getEntryLoadRequest(), jParams.getOperationMode());
   //            if (parent != null) {
  @@ -137,7 +137,7 @@
                       List roleMembersList = new ArrayList();
                       for (int i = 0; i < roles.size(); i++) {
                           String role = (String)roles.get(i);
  -                        JahiaGroup grp = 
WorkflowService.getInstance().getRoleGroup(object, role, true);
  +                        JahiaGroup grp = 
ServicesRegistry.getInstance().getWorkflowService().getRoleGroup(object, role, 
true);
                           if (grp != null) {
                               roleMembersList.add(getAppMembers(grp, i));
                           } else {
  @@ -260,7 +260,7 @@
                           String role = null;
                           for (int roleNb = 0; roleNb < roles.size(); 
roleNb++) {
                               role = (String) roles.get(roleNb);
  -                            JahiaGroup grp = 
WorkflowService.getInstance().getRoleGroup(object, role, true);
  +                            JahiaGroup grp = 
ServicesRegistry.getInstance().getWorkflowService().getRoleGroup(object, role, 
true);
                               HashSet membersSet = getFormMembers(jParams, 
roleNb);
                               Enumeration members = grp.members();
                               Principal p = null;
  
  
  
  Index: WorkflowEngine.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/workflow/WorkflowEngine.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- WorkflowEngine.java       25 Jul 2005 08:28:15 -0000      1.16
  +++ WorkflowEngine.java       7 Sep 2005 13:50:23 -0000       1.17
  @@ -815,7 +815,7 @@
           if (jParams.settings ().areLocksActivated ()) {
               HtmlCache htmlCache = 
ServicesRegistry.getInstance().getCacheService().getHtmlCacheInstance();
               ContentPage contentPage = jParams.getContentPage();
  -            while 
(WorkflowService.getInstance().getWorkflowMode(contentPage)== 
WorkflowService.LINKED) {
  +            while 
(ServicesRegistry.getInstance().getWorkflowService().getWorkflowMode(contentPage)==
 WorkflowService.LINKED) {
                   contentPage = ServicesRegistry.getInstance 
().getJahiaPageService ().lookupContentPage (
                           contentPage.getParentID (jParams), true);
               }
  
  
  
  Index: ContentField.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/fields/ContentField.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ContentField.java 29 Jul 2005 12:31:18 -0000      1.25
  +++ ContentField.java 7 Sep 2005 13:50:23 -0000       1.26
  @@ -1765,7 +1765,7 @@
   
       public ContentObject getParent (EntryLoadRequest loadRequest)
               throws JahiaException {
  -        if(parent==null) {
  +//        if(parent==null) {
           if ( this.getPageID() == 0 ){
               // this is the case for field used as Metadata
               return null;
  @@ -1774,7 +1774,7 @@
           } else {
               parent = ContentPage.getPage (getPageID ());
           }
  -        }
  +//        }
           return parent;
       }
   
  
  
  
  Index: ContentPageField.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/fields/ContentPageField.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ContentPageField.java     12 Jul 2005 13:52:59 -0000      1.15
  +++ ContentPageField.java     7 Sep 2005 13:50:23 -0000       1.16
  @@ -428,7 +428,7 @@
   //                        } else if (!contentPage.hasStagingEntries()) {
   //                            // this page is either active or deleted
   //                            
activationTestResults.setStatus(ActivationTestResults.COMPLETED_OPERATION_STATUS);
  -//                        } else if 
(WorkflowService.getInstance().getWorkflowMode(contentPage) == 
WorkflowService.LINKED) {
  +//                        } else if 
(ServicesRegistry.getInstance().getWorkflowService().getWorkflowMode(contentPage)
 == WorkflowService.LINKED) {
   //                            // page is linked and will be activated with 
the field
   //                            
activationTestResults.setStatus(ActivationTestResults.COMPLETED_OPERATION_STATUS);
   //                        } else {
  
  
  
  Index: ContentPickerListener.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ContentPickerListener.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ContentPickerListener.java        29 Aug 2005 09:20:17 -0000      1.6
  +++ ContentPickerListener.java        7 Sep 2005 13:50:24 -0000       1.7
  @@ -1,25 +1,16 @@
   package org.jahia.services.importexport;
   
   import org.jahia.data.events.JahiaEventListener;
  -import org.jahia.data.events.JahiaEvent;
  -import org.jahia.services.workflow.WorkflowEvent;
   import org.jahia.services.workflow.WorkflowService;
  +import org.jahia.services.workflow.WorkflowEvent;
   import org.jahia.services.version.EntryLoadRequest;
  +import org.jahia.services.version.ContentObjectEntryState;
   import org.jahia.content.ContentObject;
  -import org.jahia.content.ObjectLinkDB;
  -import org.jahia.content.StructuralRelationship;
  -import org.jahia.content.ObjectKey;
   import org.jahia.content.events.ContentActivationEvent;
   import org.jahia.registries.ServicesRegistry;
  -import org.jahia.exceptions.JahiaException;
   import org.jahia.params.ProcessingContext;
  -import org.xml.sax.SAXException;
   
   import java.util.*;
  -import java.io.Writer;
  -import java.io.OutputStreamWriter;
  -
  -import com.megginson.sax.XMLWriter;
   
   /**
    * Created by IntelliJ IDEA.
  @@ -32,6 +23,7 @@
       private static org.apache.log4j.Logger logger =
               org.apache.log4j.Logger.getLogger(ContentPickerListener.class);
   
  +
       public void beforeGroupActivation(ContentActivationEvent event) {
           ContentObject object = event.getContentObject();
           Set languages = event.getLanguageCodes();
  @@ -39,33 +31,54 @@
           ImportExportService ie = 
ServicesRegistry.getInstance().getImportExportService();
           try {
               ContentObject current = object;
  -            Set done = new HashSet();
  -            while (current != null) {
  -                if (!done.contains(current.getObjectKey())) {
  -                    List objects = 
WorkflowService.getInstance().getLinkedContentObjects(current, false);
  -
  -                    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();
  -
  -                                Iterator iterator1 = languages.iterator();
  -                                // copy first lang
  -                                String lang = (String) iterator1.next();
  -                                ImportHandler handler = new 
ImportHandler(picker,jParams, lang);
  -                                ie.export(contentObject, lang, handler, 
files, jParams, null ,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT);       
                             
  -                            }
  +            ContentObject currentNotMetadata = object;
  +            List objects = 
ServicesRegistry.getInstance().getWorkflowService().getLinkedContentObjects(object,
 false);
  +            Set included = new HashSet();
  +            for (Iterator iterator3 = objects.iterator(); 
iterator3.hasNext();) {
  +                ContentObject contentObject1 = (ContentObject) 
iterator3.next();
  +                included.add(contentObject1.getObjectKey());
  +            }
  +            for (Iterator iterator = objects.iterator(); 
iterator.hasNext();) {
  +                current = (ContentObject) iterator.next();
  +                if 
(ContentObject.getContentObjectFromMetadata(current.getObjectKey()) == null) {
  +                    currentNotMetadata = current;
  +                    Set pickers = current.getPickerObjects();
  +                    Set files = new HashSet();
  +                    for (Iterator iterator2 = pickers.iterator(); 
iterator2.hasNext();) {
  +                        ContentObject picker = (ContentObject) 
iterator2.next();
  +                        if (picker.getParent(null) != null && 
ie.isPicker(picker.getParent(null)) && iterator.hasNext()) {
  +                            continue;
                           }
  +
  +                        Iterator iterator1 = languages.iterator();
  +                        // copy first lang
  +                        String lang = (String) iterator1.next();
  +                        ImportHandler handler = new 
ImportHandler(picker,jParams, lang);
  +                        ie.export(current, lang, handler, files, jParams, 
included ,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT, true);
                       }
                   }
  -                current = current.getParent(null);
               }
  +            if (currentNotMetadata.getParent(null) != null) {
  +                if (!currentNotMetadata.hasActiveEntries() && 
!currentNotMetadata.getParent(null).getPickerObjects().isEmpty()) {
  +                    Set pickers = 
currentNotMetadata.getParent(null).getPickerObjects();
  +                    Set files = new HashSet();
  +                    for (Iterator iterator = pickers.iterator(); 
iterator.hasNext();) {
  +                        ContentObject picker = (ContentObject) 
iterator.next();
  +
  +                        Iterator iterator1 = languages.iterator();
  +                        // copy first lang
  +                        String lang = (String) iterator1.next();
  +                        ImportHandler handler = new 
ImportHandler(picker,jParams, lang);
  +                        ie.export(currentNotMetadata.getParent(null), lang, 
handler, files, jParams, included ,EntryLoadRequest.STAGED, 
EntryLoadRequest.CURRENT, true);
  +                    }
  +                }
  +            }
  +
           } catch (Exception e) {
               e.printStackTrace();  //To change body of catch statement use 
File | Settings | File Templates.
           }
       }
  +
  +    public void objectChanged(WorkflowEvent we) {
  +    }
   }
  
  
  
  Index: ImportExportBaseService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ImportExportBaseService.java      2 Sep 2005 13:02:20 -0000       1.19
  +++ ImportExportBaseService.java      7 Sep 2005 13:50:24 -0000       1.20
  @@ -7,11 +7,9 @@
   import org.apache.xerces.dom.DocumentImpl;
   import org.apache.xerces.jaxp.SAXParserFactoryImpl;
   import org.apache.xml.utils.DOMBuilder;
  +import org.jahia.content.*;
   import org.apache.webdav.lib.WebdavResource;
   import org.apache.axis.encoding.Base64;
  -import org.jahia.content.ContainerDefinitionKey;
  -import org.jahia.content.ContentObject;
  -import org.jahia.content.FieldDefinitionKey;
   import org.jahia.data.containers.JahiaContainerDefinition;
   import org.jahia.data.fields.JahiaFieldDefinition;
   import org.jahia.exceptions.JahiaException;
  @@ -101,7 +99,7 @@
       public Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, Set included, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException {
           DocumentImpl doc = new DocumentImpl();
           DOMBuilder db = new DOMBuilder(doc,doc);
  -        export(object, languageCodes, db, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest);
  +        export(object, languageCodes, db, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest, false);
           return doc;
       }
   
  @@ -111,7 +109,7 @@
   
       public void export(ContentObject object, String languageCode, 
OutputStream out, ProcessingContext jParams, Set included, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest) throws JahiaException, 
SAXException, IOException {
           DataWriter dw = new DataWriter(new OutputStreamWriter(out, "UTF-8"));
  -        export(object, languageCode, dw, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest);
  +        export(object, languageCode, dw, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest, false);
       }
   
       public void export(ContentObject object, Set languageCodes, OutputStream 
out, ProcessingContext jParams, Set included, boolean zipWithFiles) throws 
JahiaException, SAXException, IOException {
  @@ -133,7 +131,7 @@
               zout.putNextEntry(anEntry);
   
               DataWriter dw = new DataWriter(new OutputStreamWriter(zout, 
"UTF-8"));
  -            export(object, l, dw, null, jParams, included, toLoadRequest, 
fromLoadRequest);
  +            export(object, l, dw, files, jParams, included, toLoadRequest, 
fromLoadRequest, false);
           }
   
           if (zipWithFiles) {
  @@ -161,10 +159,10 @@
       }
   
       public void export(ContentObject object, String languageCode, 
ContentHandler h, Set files, ProcessingContext jParams, Set included) throws 
JahiaException, SAXException {
  -        export(object, languageCode, h, files, jParams, included, 
EntryLoadRequest.CURRENT, null);
  +        export(object, languageCode, h, files, jParams, included, 
EntryLoadRequest.CURRENT, null, false);
       }
   
  -    public void export(ContentObject object, String language, ContentHandler 
h, Set files, ProcessingContext jParams, Set included, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest) throws JahiaException, 
SAXException {
  +    public void export(ContentObject object, String language, ContentHandler 
h, Set files, ProcessingContext jParams, Set included, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest, boolean link) throws 
JahiaException, SAXException {
           toLoadRequest = new EntryLoadRequest(toLoadRequest);
           toLoadRequest.setFirstLocale(language);
           if (fromLoadRequest != null) {
  @@ -183,13 +181,13 @@
           h.startPrefixMapping(jParams.getSiteKey()+"nt", 
JAHIA_URI+jParams.getSiteKey()+ "/nt");
           h.endPrefixMapping(jParams.getSiteKey()+"nt");
   
  -        export(object, language, h, files, jParams, included, true, 
toLoadRequest, fromLoadRequest);
  +        export(object, language, h, files, jParams, included, true, 
toLoadRequest, fromLoadRequest, link);
   
           h.endDocument();
           System.out.println("-->"+files);
       }
   
  -    private void export(ContentObject object, String language, 
ContentHandler h, Set files, ProcessingContext jParams, Set included, boolean 
top, EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest) throws 
JahiaException, SAXException {
  +    private void export(ContentObject object, String language, 
ContentHandler h, Set files, ProcessingContext jParams, Set included, boolean 
top, EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest, boolean 
link) throws JahiaException, SAXException {
           try {
               AttributesImpl attr = new AttributesImpl();
               if (top) {
  @@ -366,7 +364,9 @@
                       perms = perms.substring(1);
                       attr.addAttribute(JAHIA_URI, "acl", "jahia:acl", 
"CDATA", perms);
                   }
  -
  +                if (link) {
  +                    attr.addAttribute(JAHIA_URI, "linkkey", "jahia:linkkey", 
"CDATA", object.getObjectKey().toString());
  +                }
                   h.startElement(uri, elementName, prefix+":"+elementName, 
attr);
               }
   
  @@ -382,8 +382,8 @@
   
                   for (Iterator iterator = l.iterator(); iterator.hasNext();) {
                       ContentObject child = (ContentObject) iterator.next();
  -                    if (included == null || included.contains(child)) {
  -                        export(child, language, h, files, jParams, included, 
false, toLoadRequest, fromLoadRequest);
  +                    if (included == null || 
included.contains(child.getObjectKey())) {
  +                        export(child, language, h, files, jParams, included, 
false, toLoadRequest, fromLoadRequest, link);
                       }
                   }
               }
  @@ -402,7 +402,7 @@
   
       private String getFieldValue(ContentField contentField, Set files, 
ProcessingContext jParams, ContentObjectEntryState entryState, AttributesImpl 
attr) throws JahiaException {
           String value = contentField.getValue(jParams, entryState);
  -        if ("<empty>".equals(value) || value == null || "".equals(value)) { 
  +        if ("<empty>".equals(value) || value == null || "".equals(value)) {
               return null;
           }
           switch (contentField.getType()) {
  @@ -688,11 +688,11 @@
           }
       }
   
  -    public ContentObject copy(ContentObject source, ContentObject 
parentDest, ProcessingContext jParams, EntryLoadRequest loadRequest) {
  -        return copy(source,parentDest, getSiteLanguages(jParams), jParams, 
loadRequest);
  +    public ContentObject copy(ContentObject source, ContentObject 
parentDest, ProcessingContext jParams, EntryLoadRequest loadRequest, boolean 
link) {
  +        return copy(source,parentDest, getSiteLanguages(jParams), jParams, 
loadRequest, link);
       }
   
  -    public ContentObject copy(ContentObject source, ContentObject 
parentDest, Set languages, ProcessingContext jParams, EntryLoadRequest 
loadRequest) {
  +    public ContentObject copy(ContentObject source, ContentObject 
parentDest, Set languages, ProcessingContext jParams, EntryLoadRequest 
loadRequest, boolean link) {
           try {
               Iterator iterator = languages.iterator();
               String lang = (String) iterator.next();
  @@ -700,14 +700,14 @@
               // Copy first lang only
               ImportHandler handler = new ImportHandler(parentDest,jParams, 
lang);
               Set files = new HashSet();
  -            export(source, lang, handler, files, jParams, null, loadRequest, 
null);
  +            export(source, lang, handler, files, jParams, null, loadRequest, 
null, link);
               ContentObject main = handler.getLastObject();
   
               while (iterator.hasNext()) {
                   String nextLang = (String) iterator.next();
                   handler = new ImportHandler(main, jParams, nextLang);
                   handler.setUpdateOnly(true);
  -                export(source, nextLang, handler, files, jParams, null, 
loadRequest, null);
  +                export(source, nextLang, handler, files, jParams, null, 
loadRequest, null, link);
               }
   
               return main;
  @@ -717,14 +717,6 @@
           return null;
       }
   
  -    public ContentObject linkedCopy(ContentObject source, ContentObject 
parentDest, ProcessingContext jParams) {
  -        Set languages = getSiteLanguages(jParams);
  -        ContentObject dest = copy (source, parentDest, languages, jParams, 
EntryLoadRequest.CURRENT);
  -        if(dest!=null)
  -        source.addPickerObject(jParams, dest);
  -        return dest;
  -    }
  -
       private Set getSiteLanguages(ProcessingContext jParams) {
           Set languages = new HashSet();
           try {
  @@ -761,6 +753,17 @@
           return false;
       }
   
  +    public boolean isPicker(ContentObject object) throws JahiaException {
  +        if (object.getPickedObject() != null) {
  +            return true;
  +        }
  +        object = object.getParent(null);
  +        if (object != null) {
  +            return isPicker(object);
  +        }
  +        return false;
  +    }
  +
       public void startProductionJob(JahiaSite site) throws ParseException {
           Properties siteSettings = site.getSettings();
           String[] targetSites = 
siteSettings.getProperty(PRODUCTION_TARGET_LIST_PROPERTY, "").split(",");
  
  
  
  Index: ImportExportService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportExportService.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ImportExportService.java  2 Sep 2005 10:26:21 -0000       1.9
  +++ ImportExportService.java  7 Sep 2005 13:50:24 -0000       1.10
  @@ -55,7 +55,7 @@
   
       void export(ContentObject object, String languageCodes, ContentHandler 
h, Set files, ProcessingContext jParams, Set included) throws JahiaException, 
SAXException;
   
  -    void export(ContentObject object, String languageCodes, ContentHandler 
h, Set files, ProcessingContext jParams, Set included, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest) throws JahiaException, 
SAXException;
  +    void export(ContentObject object, String languageCodes, ContentHandler 
h, Set files, ProcessingContext jParams, Set included, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest, boolean link) throws 
JahiaException, SAXException;
   
       void importFile(ContentObject parent, ProcessingContext jParams, 
InputStream inputStream);
   
  @@ -64,19 +64,19 @@
       ContentObject importDocument(ContentObject parent, String lang, 
ProcessingContext jParams, InputStream inputStream, boolean updateOnly);
   
       ContentObject importDocument(ContentObject parent, String lang, 
ProcessingContext jParams, InputSource is, boolean updateOnly);
  -
  +                      
       void exportFilesAcl(ContentHandler ch, Set files) throws SAXException;
   
       void importFilesAcl(ProcessingContext jParams, InputStream is);
   
  -    ContentObject copy(ContentObject source, ContentObject parentDest, 
ProcessingContext jParams, EntryLoadRequest loadRequest);
  -
  -    ContentObject copy(ContentObject source, ContentObject parentDest, Set 
languages, ProcessingContext jParams, EntryLoadRequest loadRequest);
  +    ContentObject copy(ContentObject source, ContentObject parentDest, 
ProcessingContext jParams, EntryLoadRequest loadRequest, boolean link);
   
  -    ContentObject linkedCopy(ContentObject source, ContentObject parentDest, 
ProcessingContext jParams);
  +    ContentObject copy(ContentObject source, ContentObject parentDest, Set 
languages, ProcessingContext jParams, EntryLoadRequest loadRequest, boolean 
link);
   
       boolean isCompatible(JahiaContainerDefinition dest, 
JahiaContainerDefinition source);
   
  +    boolean isPicker(ContentObject object) throws JahiaException;
  +
       WebdavResource exportToSite(JahiaSite site, String targetName, Date 
exportTime, String username, String password, Date previousCall, JahiaUser 
member) throws IOException, JahiaException, SAXException;
   
       public void startProductionJob(JahiaSite site) throws ParseException;
  
  
  
  Index: ImportHandler.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ImportHandler.java        30 Aug 2005 16:52:54 -0000      1.13
  +++ ImportHandler.java        7 Sep 2005 13:50:24 -0000       1.14
  @@ -3,6 +3,7 @@
   import org.apache.log4j.Logger;
   import org.jahia.content.ContentObject;
   import org.jahia.content.FieldDefinitionKey;
  +import org.jahia.content.ContentObjectKey;
   import org.jahia.data.containers.JahiaContainer;
   import org.jahia.data.containers.JahiaContainerDefinition;
   import org.jahia.data.containers.JahiaContainerList;
  @@ -203,8 +204,14 @@
                           // Container inside a list
                               // Warning - find the container from its 
position within the list - might be dangerous if container list has been updated
                           List l = parent.getChilds(jParams.getUser(), elr, 
jParams.getOperationMode());
  -                        ImportExportUtils.orderContainerList(l, jParams);
  +                        System.out.println("-------->"+uuid);
   
  +                        ImportExportUtils.orderContainerList(l, jParams);
  +                        for (Iterator iterator = l.iterator(); 
iterator.hasNext();) {
  +                            ContentContainer contentContainer = 
(ContentContainer) iterator.next();
  +                            Map p = 
ServicesRegistry.getInstance().getJahiaContainersService().getContainerProperties(contentContainer.getID());
  +                            System.out.println("-------- 
"+contentContainer.getObjectKey() + "---->" + p.get("uuid"));
  +                        }
                           Integer iIndex = (Integer) 
containerIndex.get(parent);
                           if (iIndex == null) {
                               iIndex = new Integer(0);
  @@ -494,6 +501,17 @@
               }
           }
   
  +
  +        String linkkey = atts.getValue(ImportExportBaseService.JAHIA_URI, 
"linkkey");
  +        if (linkkey != null) {
  +            try {
  +                ContentObject source = 
ContentObject.getContentObjectInstance(ContentObjectKey.getInstance(linkkey));
  +                source.addPickerObject(jParams, object);
  +            } catch (ClassNotFoundException e) {
  +                //...
  +            }
  +        }
  +
           return object;
       }
   
  @@ -512,8 +530,8 @@
                       JahiaFileField fField = objectDav.getJahiaFileField();
                       jahiaField.setObject(fField);
                   }
  +                ServicesRegistry.getInstance ().getJahiaFieldService 
().saveField (jahiaField, object.getParent(null).getAclID (), jParams);
               }
  -            ServicesRegistry.getInstance ().getJahiaFieldService 
().saveField (jahiaField, object.getParent(null).getAclID (), jParams);
           } else if (object instanceof ContentPage) {
               ContentPage cp = (ContentPage) object;
               String title = atts.getValue(ImportExportBaseService.JAHIA_URI, 
"title");
  
  
  
  Index: ContentPage.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/pages/ContentPage.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- ContentPage.java  25 Aug 2005 11:51:13 -0000      1.29
  +++ ContentPage.java  7 Sep 2005 13:50:25 -0000       1.30
  @@ -1817,14 +1817,15 @@
   
       public ContentObject getParent (EntryLoadRequest loadRequest)
               throws JahiaException {
  -        if(parent ==null) {
  +//        if(parent ==null) {
           int pageFieldID = pageManager.getPageFieldID (getID (), loadRequest);
   
           if (pageFieldID != -1) {
               parent = ContentField.getField (pageFieldID);
           } else {
               return null;
  -        }}
  +        }
  +//    }
           return parent;
       }
   
  @@ -4066,7 +4067,7 @@
       public Map getLanguagesStates (boolean withContent) {
           if (withContent) {
               try {
  -                return 
WorkflowService.getInstance().getLanguagesStates(this);
  +                return 
ServicesRegistry.getInstance().getWorkflowService().getLanguagesStates(this);
               } catch (JahiaException e) {
                   e.printStackTrace(); 
                   return new HashMap();
  
  
  
  Index: WorkflowService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- WorkflowService.java      19 Aug 2005 15:53:56 -0000      1.22
  +++ WorkflowService.java      7 Sep 2005 13:50:26 -0000       1.23
  @@ -514,7 +514,9 @@
               final Iterator iter = metadatas.iterator();
               while ( iter.hasNext() ) {
                   final JahiaObject o = (JahiaObject) iter.next();
  -                
linked.add(ContentObject.getContentObjectInstance(o.getObjectKey()));
  +                if (o != null) {
  +                    
linked.add(ContentObject.getContentObjectInstance(o.getObjectKey()));
  +                }
               }
           } catch (ClassNotFoundException e) {
               // ?
  @@ -568,9 +570,10 @@
   
       public Map getLanguagesStates(ContentObject contentObject) throws 
JahiaException {
           Map results = null;
  -        results = (Map) cache.get(CacheAdvice.toGroupCacheKey(
  -                new 
Object[]{WORKFLOWSERVICE_KEYPREFIX+contentObject.getObjectKey().toString(),
  -                WORKFLOWSERVICESITE_KEYPREFIX+contentObject.getSiteID()}));
  +//        results = (Map) cache.get(CacheAdvice.toGroupCacheKey(
  +//                new 
Object[]{WORKFLOWSERVICE_KEYPREFIX+contentObject.getObjectKey().toString(),
  +//                WORKFLOWSERVICESITE_KEYPREFIX+contentObject.getSiteID()}));
  +//        System.out.println("------------------------>>>>>>>>>>> 
"+contentObject);
           if (results == null) {
               Collection c = getLinkedContentObjects(contentObject, false);
               results = new HashMap();
  @@ -578,11 +581,12 @@
               for (Iterator iterator = c.iterator(); iterator.hasNext();) {
                   ContentObject o = (ContentObject) iterator.next();
                   Map languagesStates = o.getLanguagesStates();
  +//                System.out.println("--------" + o.getObjectKey() +" #"+ 
System.identityHashCode(o) + " =  " + languagesStates);
                   mergeLanguageStates(results, languagesStates);
               }
  -            cache.put(CacheAdvice.toGroupCacheKey(
  -                new 
Object[]{WORKFLOWSERVICE_KEYPREFIX+contentObject.getObjectKey().toString(),
  -                
WORKFLOWSERVICESITE_KEYPREFIX+contentObject.getSiteID()}),results);
  +//            cache.put(CacheAdvice.toGroupCacheKey(
  +//                new 
Object[]{WORKFLOWSERVICE_KEYPREFIX+contentObject.getObjectKey().toString(),
  +//                
WORKFLOWSERVICESITE_KEYPREFIX+contentObject.getSiteID()}),results);
           }
           return results;
       }
  
  
  
  Index: adv_workflow.jsp
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/webapp/jsp/jahia/engines/workflow/adv_workflow.jsp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- adv_workflow.jsp  8 Aug 2005 11:50:33 -0000       1.10
  +++ adv_workflow.jsp  7 Sep 2005 13:50:26 -0000       1.11
  @@ -483,7 +483,7 @@
               <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
               <%
               languageEnum = languageSettings.elements();
  -            final Map languagesStates = 
WorkflowService.getInstance().getLanguagesStates(contentObject);
  +            final Map languagesStates = 
ServicesRegistry.getInstance().getWorkflowService().getLanguagesStates(contentObject);
               final Map pageOnlyLanguagesStates = 
contentObject.getLanguagesStates();
   //            String parameters = null;
               while (languageEnum.hasMoreElements()) {
  @@ -507,7 +507,7 @@
                           %><td colspan="<%=languageSettings.size() * (2 + 
additionalOptions.size()) %>"><i>Page moved</i></td><%
                           break;
                       }
  -                    if 
(WorkflowService.getInstance().getWorkflowMode(contentObject)==WorkflowService.LINKED)
 {
  +                    if 
(ServicesRegistry.getInstance().getWorkflowService().getWorkflowMode(contentObject)==WorkflowService.LINKED)
 {
                           %><td colspan="<%=languageSettings.size() * (2 + 
additionalOptions.size()) %>">&nbsp;</td><%
                           break;
                       }
  

Reply via email to