tdraier     2005/10/28 12:47:35 CEST

  Modified files:
    core/src/java/org/jahia/data/beans ContainerListBean.java 
  Log:
  avoid paste loops
  
  Revision  Changes    Path
  1.18      +14 -2     
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.17&r2=1.18&f=h
  
  
  
  Index: ContainerListBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/beans/ContainerListBean.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ContainerListBean.java    27 Sep 2005 10:57:59 -0000      1.17
  +++ ContainerListBean.java    28 Oct 2005 10:47:35 -0000      1.18
  @@ -3,6 +3,7 @@
   import org.jahia.content.ContentObject;
   import org.jahia.content.ContentObjectKey;
   import org.jahia.content.JahiaObject;
  +import org.jahia.content.ObjectKey;
   import org.jahia.data.containers.JahiaContainer;
   import org.jahia.data.containers.JahiaContainerDefinition;
   import org.jahia.data.containers.JahiaContainerList;
  @@ -24,6 +25,7 @@
   import org.jahia.services.pages.JahiaPage;
   import org.jahia.services.usermanager.JahiaUser;
   import org.jahia.services.workflow.WorkflowService;
  +import org.jahia.services.version.EntryLoadRequest;
   import org.jahia.utils.InsertionSortedMap;
   
   import java.util.*;
  @@ -410,8 +412,18 @@
                       JahiaContainerDefinition sDef = 
((ContentContainer)clipSource).getJahiaContainer(processingContext, 
processingContext.getEntryLoadRequest()).getDefinition();
                       JahiaContainerDefinition dDef = 
jahiaContainerList.getDefinition();
                       if 
(ServicesRegistry.getInstance().getImportExportService().isCompatible(dDef, 
sDef)) {
  -                        curActionURIBean = new ActionURIBean("paste", "", 
"clipboard('"+((ParamBean)processingContext).getRequest().getContextPath()+"','"+jahiaContainerList.getContentContainerList().getObjectKey()+"','paste',"
 + processingContext.getPageID()+")");
  -                        
actionURIs.put(curActionURIBean.getName(),curActionURIBean);
  +                        ContentObject current = 
jahiaContainerList.getContentContainerList();
  +                        ObjectKey objectKey = current.getObjectKey();
  +                        while (current != null) {
  +                            if 
(current.getObjectKey().equals(clipSource.getObjectKey())) {
  +                                break;
  +                            }
  +                            current = 
current.getParent(EntryLoadRequest.STAGED);
  +                        }
  +                        if (current == null) {
  +                            curActionURIBean = new ActionURIBean("paste", 
"", 
"clipboard('"+((ParamBean)processingContext).getRequest().getContextPath()+"','"+objectKey
 +"','paste'," + processingContext.getPageID()+")");
  +                            
actionURIs.put(curActionURIBean.getName(),curActionURIBean);
  +                        }
                       }
                   } catch (ClassNotFoundException e) {
                   }
  

Reply via email to