tdraier     2005/08/29 11:20:17 CEST

  Modified files:
    core/src/java/org/jahia/engines/importexport 
                                                 ManageContentPicker.java 
                                                 ManageImportExport.java 
    core/src/java/org/jahia/services/importexport 
                                                  ContentPickerListener.java 
                                                  ImportExportBaseService.java 
                                                  ImportExportService.java 
                                                  ImportHandler.java 
  Log:
  moved methods from engine to service, fixed copy/import methods
  
  Revision  Changes    Path
  1.11      +7 -79     
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.10&r2=1.11&f=h
  1.12      +3 -3      
jahia/core/src/java/org/jahia/engines/importexport/ManageImportExport.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/importexport/ManageImportExport.java.diff?r1=1.11&r2=1.12&f=h
  1.6       +1 -1      
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.5&r2=1.6&f=h
  1.16      +99 -20    
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.15&r2=1.16&f=h
  1.8       +17 -8     
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.7&r2=1.8&f=h
  1.12      +26 -17    
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.11&r2=1.12&f=h
  
  
  
  Index: ManageContentPicker.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ManageContentPicker.java  21 Aug 2005 16:13:42 -0000      1.10
  +++ ManageContentPicker.java  29 Aug 2005 09:20:16 -0000      1.11
  @@ -17,7 +17,6 @@
   import org.jahia.registries.ServicesRegistry;
   import org.jahia.services.containers.ContentContainer;
   import org.jahia.services.containers.ContentContainerList;
  -import org.jahia.services.importexport.ImportExportBaseService;
   import org.jahia.services.importexport.ImportExportService;
   import org.jahia.services.importexport.ImportHandler;
   import org.jahia.services.search.*;
  @@ -115,6 +114,9 @@
           engineMap.put( "searchResults", subMap.get("searchResults"));
           engineMap.put( "searchString", subMap.get("searchString"));
           SearchViewHandlerImpl searchViewHandler = (SearchViewHandlerImpl) 
subMap.get(Search_Engine.SEARCH_HANDLER);
  +
  +        ImportExportService ie = 
ServicesRegistry.getInstance().getImportExportService();
  +
           if (searchViewHandler!=null) {
               searchViewHandler.setScreen("execute");
               engineMap.put( Search_Engine.SEARCH_HANDLER, searchViewHandler);
  @@ -257,7 +259,6 @@
                       JahiaSearchHit jahiaSearchHit = (JahiaSearchHit) 
iterator.next();
                       ContentObject current = 
ContentContainer.getContainer(Integer.parseInt(jahiaSearchHit.getId()));
                       int score = jahiaSearchHit.getScore();
  -
                       while (current != null && current.hasActiveEntries()) {
                           if (current.getPickedObject() != null) {
                               break;
  @@ -265,7 +266,7 @@
                           if (current instanceof ContentContainer) {
                               ContainerDefinitionKey currentCdk = 
(ContainerDefinitionKey) ((ContentContainer)current).getDefinitionKey(null);
                               JahiaContainerDefinition currentJcd = 
(JahiaContainerDefinition) ContentObject.getInstance(currentCdk);
  -                            if (isCompatible(thisJcd, currentJcd)) {
  +                            if (ie.isCompatible(thisJcd, currentJcd)) {
                                   ContentObject current2 = current;
                                   while (current2 != null && 
current2.getPickedObject() == null) {
                                       current2 = current2.getParent(null);
  @@ -346,9 +347,9 @@
               try {
                   ContentObject source = 
ContentContainer.getContainer(Integer.parseInt(jParams.getParameter("containerId")));
                   if ("linked".equals(jParams.getParameter("copytype"))) {
  -                    linkedCopy(source, object, jParams);
  +                    ie.linkedCopy(source, object, jParams);
                   } else {
  -                    copy(source, object, jParams);
  +                    ie.copy(source, object, jParams, 
EntryLoadRequest.CURRENT);
                   }
                   engineMap.put("contentpick_engine.fieldForm", "<script 
language=\"javascript\">window.opener.location.href = 
defineMatrixParam(window.opener.location.href);window.close();</script>");
               } catch (JahiaException e) {
  @@ -361,89 +362,16 @@
           return true;
       }
   
  -    private boolean isCompatible(JahiaContainerDefinition picker, 
JahiaContainerDefinition picked) {
  -        if (picker.getID() == picked.getID()) {
  -            return true;
  -        }
  -
  -        String[] pickerAliases = picker.getAliasName();
  -        String[] pickedAliases = picked.getAliasName();
  -        for (int i = 0; i < pickedAliases.length; i++) {
  -            String pickedAlias = pickedAliases[i];
  -            for (int j = 0; j < pickerAliases.length; j++) {
  -                String pickerAlias = pickerAliases[j];
  -                if (pickerAlias.equals(pickedAlias)) {
  -                    return true;
  -                }
  -            }
  -        }
  -
  -        return false;
  -    }
  -
       public boolean update (ProcessingContext jParams, HashMap engineMap, 
ContentObject object)
               throws  JahiaException, JahiaSessionExpirationException {
           return true;
       }
   
  +
       private boolean save( ProcessingContext jParams, HashMap engineMap, 
ContentObject object)
       throws JahiaException {
           return true;
       }
   
  -    public ContentObject copy(ContentObject source, ContentObject 
parentDest, ProcessingContext jParams) {
  -        return copy(source,parentDest, getSiteLanguages(jParams), jParams);
  -    }
  -
  -    public ContentObject copy(ContentObject source, ContentObject 
parentDest, Set languages, ProcessingContext jParams) {
  -        try {
  -            ImportExportService ie = 
ServicesRegistry.getInstance().getImportExportService();
  -
  -            Iterator iterator = languages.iterator();
  -            String lang = (String) iterator.next();
  -
  -            // Copy first lang only
  -            ImportHandler handler = new ImportHandler(parentDest,jParams, 
lang);
  -            Set files = new HashSet();
  -            ie.export(source, lang, handler, files, jParams, true);
  -            ContentObject main = handler.getLastObject();
  -
  -            while (iterator.hasNext()) {
  -                String nextLang = (String) iterator.next();
  -                ImportHandler h = new ImportHandler(main, jParams, nextLang);
  -                h.setUpdateOnly(true);
  -                ie.export(source, lang, handler, files, jParams, true);
  -            }
  -
  -            return main;
  -        } catch (Exception e) {
  -            logger.error("Error during copying",e);
  -        }
  -        return null;
  -    }
  -
  -    public ContentObject linkedCopy(ContentObject source, ContentObject 
parentDest, ProcessingContext jParams) {
  -        Set languages = getSiteLanguages(jParams);
  -        ContentObject dest = copy (source, parentDest, languages, jParams);
  -        if(dest!=null)
  -        source.addPickerObject(jParams, dest);
  -        return dest;
  -    }
  -
  -    private Set getSiteLanguages(ProcessingContext jParams) {
  -        Set languages = new HashSet();
  -        try {
  -            Vector v = jParams.getSite().getLanguageSettings();
  -            for (Iterator iterator = v.iterator(); iterator.hasNext();) {
  -                SiteLanguageSettings sls = (SiteLanguageSettings) 
iterator.next();
  -                languages.add(sls.getCode());
  -            }
  -        } catch (JahiaException e) {
  -            logger.error("Jahia exception",e);
  -            // ????
  -        }
  -        return languages;
  -    }
  -
   
   }
  
  
  
  Index: ManageImportExport.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageImportExport.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ManageImportExport.java   19 Aug 2005 15:11:26 -0000      1.11
  +++ ManageImportExport.java   29 Aug 2005 09:20:16 -0000      1.12
  @@ -132,13 +132,13 @@
                       ServletOutputStream outputStream = 
resp.getOutputStream();
                       if 
("zipfiles".equals(jParams.getParameter("exportformat"))) {
                           resp.setContentType("application/zip");
  -                        ie.export(object, languageCodes, outputStream, 
jParams, true, true, to, from);
  +                        ie.export(object, languageCodes, outputStream, 
jParams, null, true, to, from);
                       } else if 
("zipnofiles".equals(jParams.getParameter("exportformat"))) {
                           resp.setContentType("application/zip");
  -                        ie.export(object, languageCodes, outputStream, 
jParams, true, false, to, from);
  +                        ie.export(object, languageCodes, outputStream, 
jParams, null, false, to, from);
                       } else {
                           resp.setContentType("text/xml");
  -                        ie.export(object, jParams.getLocale().toString(), 
outputStream, jParams, true, to, from);
  +                        ie.export(object, jParams.getLocale().toString(), 
outputStream, jParams, null, to, from);
                       }
                       outputStream.close();
                       engineMap.put (JahiaEngine.RENDER_TYPE_PARAM, new 
Integer(-1));
  
  
  
  Index: ContentPickerListener.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ContentPickerListener.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ContentPickerListener.java        19 Aug 2005 15:11:27 -0000      1.5
  +++ ContentPickerListener.java        29 Aug 2005 09:20:17 -0000      1.6
  @@ -57,7 +57,7 @@
                                   // copy first lang
                                   String lang = (String) iterator1.next();
                                   ImportHandler handler = new 
ImportHandler(picker,jParams, lang);
  -                                ie.export(contentObject, lang, handler, 
files, jParams, true,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT);        
                            
  +                                ie.export(contentObject, lang, handler, 
files, jParams, null ,EntryLoadRequest.STAGED, EntryLoadRequest.CURRENT);       
                             
                               }
                           }
                       }
  
  
  
  Index: ImportExportBaseService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ImportExportBaseService.java      22 Aug 2005 14:09:17 -0000      1.15
  +++ ImportExportBaseService.java      29 Aug 2005 09:20:17 -0000      1.16
  @@ -35,6 +35,7 @@
   import org.jahia.services.webdav.DAVFileAccess;
   import org.jahia.services.webdav.JahiaWebdavBaseService;
   import org.jahia.services.JahiaService;
  +import org.jahia.services.sites.SiteLanguageSettings;
   import org.jahia.hibernate.model.JahiaAclEntry;
   import org.w3c.dom.Document;
   import org.xml.sax.ContentHandler;
  @@ -61,6 +62,9 @@
    */
   public class ImportExportBaseService extends JahiaService implements 
ImportExportService {
   
  +    private static org.apache.log4j.Logger logger =
  +        org.apache.log4j.Logger.getLogger(ImportExportBaseService.class);
  +
       private static ImportExportBaseService instance;
   
       private static IdentifierGenerator idGen;
  @@ -80,31 +84,31 @@
   
       public void stop() {}
   
  -    public Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, boolean recursive) throws JahiaException, 
SAXException {
  -        return export(object, languageCodes, jParams, recursive, 
EntryLoadRequest.CURRENT, null);
  +    public Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, Set included) throws JahiaException, SAXException {
  +        return export(object, languageCodes, jParams, included, 
EntryLoadRequest.CURRENT, null);
       }
   
  -    public Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, boolean recursive, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException {
  +    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, recursive, 
toLoadRequest, fromLoadRequest);
  +        export(object, languageCodes, db, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest);
           return doc;
       }
   
  -    public void export(ContentObject object, String languageCode, 
OutputStream out, ProcessingContext jParams, boolean recursive) throws 
JahiaException, SAXException, IOException {
  -        export(object, languageCode, out, jParams, recursive, 
EntryLoadRequest.CURRENT, null);
  +    public void export(ContentObject object, String languageCode, 
OutputStream out, ProcessingContext jParams, Set included) throws 
JahiaException, SAXException, IOException {
  +        export(object, languageCode, out, jParams, included, 
EntryLoadRequest.CURRENT, null);
       }
   
  -    public void export(ContentObject object, String languageCode, 
OutputStream out, ProcessingContext jParams, boolean recursive, 
EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest) throws 
JahiaException, SAXException, IOException {
  +    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, recursive, 
toLoadRequest, fromLoadRequest);
  +        export(object, languageCode, dw, new HashSet(), jParams, included, 
toLoadRequest, fromLoadRequest);
       }
   
  -    public void export(ContentObject object, Set languageCodes, OutputStream 
out, ProcessingContext jParams, boolean recursive, boolean zipWithFiles) throws 
JahiaException, SAXException, IOException {
  -        export(object, languageCodes, out, jParams, recursive, zipWithFiles, 
EntryLoadRequest.CURRENT, null);
  +    public void export(ContentObject object, Set languageCodes, OutputStream 
out, ProcessingContext jParams, Set included, boolean zipWithFiles) throws 
JahiaException, SAXException, IOException {
  +        export(object, languageCodes, out, jParams, included, zipWithFiles, 
EntryLoadRequest.CURRENT, null);
       }
   
  -    public void export(ContentObject object, Set languageCodes, OutputStream 
out, ProcessingContext jParams, boolean recursive, boolean zipWithFiles, 
EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest) throws 
JahiaException, SAXException, IOException {
  +    public void export(ContentObject object, Set languageCodes, OutputStream 
out, ProcessingContext jParams, Set included, boolean zipWithFiles, 
EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest) throws 
JahiaException, SAXException, IOException {
           Set files = new HashSet();
   
           byte[] buffer = new byte[4096];
  @@ -119,7 +123,7 @@
               zout.putNextEntry(anEntry);
   
               DataWriter dw = new DataWriter(new OutputStreamWriter(zout, 
"UTF-8"));
  -            export(object, l, dw, files, jParams, recursive, toLoadRequest, 
fromLoadRequest);
  +            export(object, l, dw, files, jParams, included, toLoadRequest, 
fromLoadRequest);
           }
   
           if (zipWithFiles) {
  @@ -146,11 +150,11 @@
           zout.close();
       }
   
  -    public void export(ContentObject object, String languageCode, 
ContentHandler h, Set files, ProcessingContext jParams, boolean recursive) 
throws JahiaException, SAXException {
  -        export(object, languageCode, h, files, jParams, recursive, 
EntryLoadRequest.CURRENT, null);
  +    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);
       }
   
  -    public void export(ContentObject object, String language, ContentHandler 
h, Set files, ProcessingContext jParams, boolean recursive, 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) throws JahiaException, 
SAXException {
           toLoadRequest = new EntryLoadRequest(toLoadRequest);
           toLoadRequest.setFirstLocale(language);
           if (fromLoadRequest != null) {
  @@ -169,13 +173,13 @@
           h.startPrefixMapping(jParams.getSiteKey()+"nt", 
JAHIA_URI+jParams.getSiteKey()+ "/nt");
           h.endPrefixMapping(jParams.getSiteKey()+"nt");
   
  -        export(object, language, h, files, jParams, recursive, true, 
toLoadRequest, fromLoadRequest);
  +        export(object, language, h, files, jParams, included, true, 
toLoadRequest, fromLoadRequest);
   
           h.endDocument();
           System.out.println("-->"+files);
       }
   
  -    private void export(ContentObject object, String language, 
ContentHandler h, Set files, ProcessingContext jParams, boolean recursive, 
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) throws 
JahiaException, SAXException {
           try {
               AttributesImpl attr = new AttributesImpl();
               if (top) {
  @@ -357,7 +361,7 @@
               }
   
               // Recurse on children
  -            if ((recursive || elementName == null) && 
!"removed".equals(changedStatus)) {
  +            if (!"removed".equals(changedStatus)) {
                   EntryLoadRequest withDeleted = new 
EntryLoadRequest(toLoadRequest);
                   withDeleted.setWithMarkedForDeletion(true);
                   List l = object.getChilds(jParams.getUser(), withDeleted, 
jParams.getOperationMode());
  @@ -368,8 +372,9 @@
   
                   for (Iterator iterator = l.iterator(); iterator.hasNext();) {
                       ContentObject child = (ContentObject) iterator.next();
  -                    export(child, language, h, files, jParams, true, false, 
toLoadRequest, fromLoadRequest);
  -
  +                    if (included == null || included.contains(child)) {
  +                        export(child, language, h, files, jParams, included, 
false, toLoadRequest, fromLoadRequest);
  +                    }
                   }
               }
   
  @@ -671,4 +676,78 @@
           }
       }
   
  +    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, Set languages, ProcessingContext jParams, EntryLoadRequest 
loadRequest) {
  +        try {
  +            Iterator iterator = languages.iterator();
  +            String lang = (String) iterator.next();
  +
  +            // Copy first lang only
  +            ImportHandler handler = new ImportHandler(parentDest,jParams, 
lang);
  +            Set files = new HashSet();
  +            export(source, lang, handler, files, jParams, null, loadRequest, 
null);
  +            ContentObject main = handler.getLastObject();
  +
  +            while (iterator.hasNext()) {
  +                String nextLang = (String) iterator.next();
  +                ImportHandler h = new ImportHandler(main, jParams, nextLang);
  +                h.setUpdateOnly(true);
  +                export(source, lang, handler, files, jParams, null, 
loadRequest, null);
  +            }
  +
  +            return main;
  +        } catch (Exception e) {
  +            logger.error("Error during copying",e);
  +        }
  +        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 {
  +            Vector v = jParams.getSite().getLanguageSettings();
  +            for (Iterator iterator = v.iterator(); iterator.hasNext();) {
  +                SiteLanguageSettings sls = (SiteLanguageSettings) 
iterator.next();
  +                languages.add(sls.getCode());
  +            }
  +        } catch (JahiaException e) {
  +            logger.error("Jahia exception",e);
  +            // ????
  +        }
  +        return languages;
  +    }
  +
  +
  +    public boolean isCompatible(JahiaContainerDefinition dest, 
JahiaContainerDefinition source) {
  +        if (dest.getID() == source.getID()) {
  +            return true;
  +        }
  +
  +        String[] pickerAliases = dest.getAliasName();
  +        String[] pickedAliases = source.getAliasName();
  +        for (int i = 0; i < pickedAliases.length; i++) {
  +            String pickedAlias = pickedAliases[i];
  +            for (int j = 0; j < pickerAliases.length; j++) {
  +                String pickerAlias = pickerAliases[j];
  +                if (pickerAlias.equals(pickedAlias)) {
  +                    return true;
  +                }
  +            }
  +        }
  +
  +        return false;
  +    }
  +
  +
   }
  
  
  
  Index: ImportExportService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportExportService.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ImportExportService.java  19 Aug 2005 15:11:27 -0000      1.7
  +++ ImportExportService.java  29 Aug 2005 09:20:17 -0000      1.8
  @@ -5,6 +5,7 @@
   import org.jahia.params.ProcessingContext;
   import org.jahia.exceptions.JahiaException;
   import org.jahia.services.version.EntryLoadRequest;
  +import org.jahia.data.containers.JahiaContainerDefinition;
   import org.apache.xerces.dom.DocumentImpl;
   import org.xml.sax.SAXException;
   import org.xml.sax.ContentHandler;
  @@ -31,21 +32,21 @@
       String JAHIA_URI="http://www.jahia.org/";;
       String NS_URI = "http://www.w3.org/2000/xmlns/";;
   
  -    Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, boolean recursive) throws JahiaException, 
SAXException;
  +    Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, Set included) throws JahiaException, SAXException;
   
  -    Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, boolean recursive, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException;
  +    Document export(ContentObject object, String languageCodes, 
ProcessingContext jParams, Set included, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException;
   
  -    void export(ContentObject object, Set languageCodes, OutputStream out, 
ProcessingContext jParams, boolean recursive, boolean zipWithFiles) throws 
JahiaException, SAXException, IOException;
  +    void export(ContentObject object, Set languageCodes, OutputStream out, 
ProcessingContext jParams, Set included, boolean zipWithFiles) throws 
JahiaException, SAXException, IOException;
   
  -    void export(ContentObject object, Set languageCodes, OutputStream out, 
ProcessingContext jParams, boolean recursive, boolean zipWithFiles, 
EntryLoadRequest toLoadRequest, EntryLoadRequest fromLoadRequest) throws 
JahiaException, SAXException, IOException;
  +    void export(ContentObject object, Set languageCodes, OutputStream out, 
ProcessingContext jParams, Set included, boolean zipWithFiles, EntryLoadRequest 
toLoadRequest, EntryLoadRequest fromLoadRequest) throws JahiaException, 
SAXException, IOException;
   
  -    void export(ContentObject object, String languageCode, OutputStream out, 
ProcessingContext jParams, boolean recursive) throws JahiaException, 
SAXException, IOException;
  +    void export(ContentObject object, String languageCode, OutputStream out, 
ProcessingContext jParams, Set included) throws JahiaException, SAXException, 
IOException;
   
  -    void export(ContentObject object, String languageCode, OutputStream out, 
ProcessingContext jParams, boolean recursive, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException, 
IOException;
  +    void export(ContentObject object, String languageCode, OutputStream out, 
ProcessingContext jParams, Set included, EntryLoadRequest toLoadRequest, 
EntryLoadRequest fromLoadRequest) throws JahiaException, SAXException, 
IOException;
   
  -    void export(ContentObject object, String languageCodes, ContentHandler 
h, Set files, ProcessingContext jParams, boolean recursive) throws 
JahiaException, SAXException;
  +    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, boolean recursive, 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) throws JahiaException, 
SAXException;
   
       void importFile(ContentObject parent, ProcessingContext jParams, 
InputStream inputStream);
   
  @@ -58,4 +59,12 @@
       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 linkedCopy(ContentObject source, ContentObject parentDest, 
ProcessingContext jParams);
  +
  +    boolean isCompatible(JahiaContainerDefinition dest, 
JahiaContainerDefinition source);
   }
  
  
  
  Index: ImportHandler.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ImportHandler.java        25 Aug 2005 10:15:53 -0000      1.11
  +++ ImportHandler.java        29 Aug 2005 09:20:17 -0000      1.12
  @@ -72,6 +72,7 @@
       protected boolean updateOnly = false;
       protected EntryLoadRequest elr;
       protected Locale oldLocale;
  +    protected EntryLoadRequest oldElr;
   
       public ImportHandler(ContentObject root, ProcessingContext jParams, 
String language) {
           this.jParams = jParams;
  @@ -88,6 +89,8 @@
       public void startDocument() throws SAXException {
           oldLocale = jParams.getCurrentLocale();
           
jParams.setCurrentLocale(LanguageCodeConverters.languageCodeToLocale(language));
  +        oldElr = jParams.getEntryLoadRequest();
  +        jParams.setEntryLoadRequest(oldElr);
       }
   
       public void endDocument() throws SAXException {
  @@ -118,9 +121,10 @@
                                   cpf.getAclID(), jParams);
                   cpf.setValue(jahiaPage.getID(), jParams);
                   ServicesRegistry.getInstance ().getJahiaFieldService ().
  -                        saveField (((ContentPageField) 
cpf).getJahiaField(jParams.getEntryLoadRequest()), cpf.getACL().getParentID(), 
jParams);
  +                        saveField (((ContentPageField) 
cpf).getJahiaField(elr), cpf.getACL().getParentID(), jParams);
               }
               jParams.setCurrentLocale(oldLocale);
  +            jParams.setEntryLoadRequest(oldElr);
           } catch (JahiaException e) {
               throw new SAXException(e);
           }
  @@ -128,6 +132,7 @@
   
       public void startElement(String namespaceURI, String localName, String 
qName, Attributes atts) throws SAXException {
           try {
  +            logger.info("Importing {" + namespaceURI + "}" +localName + " " 
+ atts);
               String uuid = atts.getValue(ImportExportBaseService.JCR_URI, 
"uuid");
   
               String diff = atts.getValue(ImportExportBaseService.JAHIA_URI, 
"diff");
  @@ -172,7 +177,7 @@
                               String containerName = localName.substring(0, 
localName.length() - 4);
                               ContentContainerList cc;
                               if (parent instanceof ContentContainer) {
  -                                cc = ((ContentContainer) 
parent).getJahiaContainer(jParams, 
EntryLoadRequest.STAGED).getContainerList(containerName).getContentContainerList();
  +                                cc = ((ContentContainer) 
parent).getJahiaContainer(jParams, 
elr).getContainerList(containerName).getContentContainerList();
                               } else {
                                   int id = 
ServicesRegistry.getInstance().getJahiaContainersService().getContainerListID(containerName,
 pageID);
                                   cc = 
ServicesRegistry.getInstance().getJahiaContainersService().loadContainerList(id,
 LoadFlags.ALL, jParams).getContentContainerList();
  @@ -181,7 +186,7 @@
                           } else {
                               ContentField cf;
                               if (parent instanceof ContentContainer) {
  -                                JahiaContainer jahiaContainer = 
((ContentContainer) parent).getJahiaContainer(jParams, EntryLoadRequest.STAGED);
  +                                JahiaContainer jahiaContainer = 
((ContentContainer) parent).getJahiaContainer(jParams, elr);
                                   JahiaField f = 
jahiaContainer.getField(localName);
                                   if (f == null) {
                                       cf = (ContentField) createObject(parent, 
namespaceURI, localName, atts);
  @@ -190,14 +195,14 @@
                                   }
                               } else {
                                   int id = 
ServicesRegistry.getInstance().getJahiaFieldService().getFieldID(localName, 
pageID);
  -                                cf = 
ServicesRegistry.getInstance().getJahiaFieldService().loadField(id, 
LoadFlags.ALL, jParams, EntryLoadRequest.STAGED).getContentField();
  +                                cf = 
ServicesRegistry.getInstance().getJahiaFieldService().loadField(id, 
LoadFlags.ALL, jParams, elr).getContentField();
                               }
                               currentObject = cf;
                           }
                       } else if (parent instanceof ContentContainerList) {
                           // 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(), 
EntryLoadRequest.STAGED, jParams.getOperationMode());
  +                        List l = parent.getChilds(jParams.getUser(), elr, 
jParams.getOperationMode());
                           ImportExportUtils.orderContainerList(l, jParams);
   
                           Integer iIndex = (Integer) 
containerIndex.get(parent);
  @@ -224,7 +229,7 @@
                       } else if (parent instanceof ContentPageField) {
                           // Page
                           ContentPageField theField = (ContentPageField) 
parent;
  -                        currentObject = 
theField.getContentPage(EntryLoadRequest.STAGED);
  +                        currentObject = theField.getContentPage(elr);
                       }
                   }
   
  @@ -269,6 +274,7 @@
   
       public void endElement(String namespaceURI, String localName, String 
qName) throws SAXException {
           lastObject = (ContentObject) objects.pop();
  +        logger.info("End element {" + namespaceURI + "}" +localName + " = 
"+lastObject);
       }
   
   
  @@ -291,6 +297,7 @@
   //    }
   
       protected ContentObject createObject(ContentObject parent, String 
namespaceURI, String localName, Attributes atts) throws JahiaException {
  +        logger.info("Create {" + namespaceURI + "}" +localName);
           ContentObject object = null;
           int pageID = 0;
           if (parent instanceof ContentPage || parent instanceof 
ContentContainer) {
  @@ -377,12 +384,12 @@
                               0,
                               jParams,
                               jParams.getSite().getLanguageSettingsAsLocales 
(false));
  -            int parentAclID = 
parent.getParent(jParams.getEntryLoadRequest()).getAclID();
  +            int parentAclID = parent.getParent(elr).getAclID();
               int parentId = 0;
  -            if (parent.getParent(jParams.getEntryLoadRequest()) instanceof 
ContentContainer) {
  -                parentId = 
parent.getParent(jParams.getEntryLoadRequest()).getID();
  +            if (parent.getParent(elr) instanceof ContentContainer) {
  +                parentId = parent.getParent(elr).getID();
               }
  -            JahiaContainer container = 
contentContainerFacade.getContainer(jParams.getEntryLoadRequest(),true);
  +            JahiaContainer container = 
contentContainerFacade.getContainer(elr,true);
               if (atts.getValue(ImportExportBaseService.JAHIA_URI, 
"diff")!=null) {
                   Integer iIndex = (Integer) containerIndex.get(parent);
                   if (iIndex == null) {
  @@ -390,13 +397,13 @@
                       containerIndex.put(parent, iIndex);
                   }
                   // SET
  -                List l = parent.getChilds(jParams.getUser(), 
EntryLoadRequest.STAGED, jParams.getOperationMode());
  +                List l = parent.getChilds(jParams.getUser(), elr, 
jParams.getOperationMode());
                   ImportExportUtils.orderContainerList(l, jParams);
                   int i = -l.size();
                   int rank = i + iIndex.intValue();
                   for (Iterator iterator = l.iterator(); iterator.hasNext();) {
                       ContentContainer contentObject = (ContentContainer) 
iterator.next();
  -                    JahiaContainer jc = 
contentObject.getJahiaContainer(jParams, EntryLoadRequest.STAGED);
  +                    JahiaContainer jc = 
contentObject.getJahiaContainer(jParams, elr);
                       if (i == rank) {
                           i++;
                       }
  @@ -455,10 +462,12 @@
                   }
               }
               if (jahiaPage != null) {
  -                object = jahiaPage.getContentPage();
  -                ((ContentPageField)parent).setValue(jahiaPage.getID(), 
jParams);
  +                JahiaField jahiaField = ((ContentPageField) 
parent).getJahiaField(elr);
  +                jahiaField.setValue(Integer.toString(jahiaPage.getID()));
  +                jahiaField.setObject(jahiaPage);
                   ServicesRegistry.getInstance ().getJahiaFieldService ().
  -                        saveField (((ContentPageField) 
parent).getJahiaField(jParams.getEntryLoadRequest()), 
parent.getACL().getParentID(), jParams);
  +                        saveField (jahiaField, 
parent.getACL().getParentID(), jParams);
  +                object = jahiaPage.getContentPage();
               }
           }
   
  @@ -562,7 +571,7 @@
               List md = object.getMetadatas();
               for (Iterator iterator = md.iterator(); iterator.hasNext();) {
                   ContentField metadataContentField = (ContentField) 
iterator.next();
  -                FieldDefinitionKey fdk = (FieldDefinitionKey) 
metadataContentField.getDefinitionKey(EntryLoadRequest.STAGED);
  +                FieldDefinitionKey fdk = (FieldDefinitionKey) 
metadataContentField.getDefinitionKey(elr);
                   JahiaFieldDefinition jcd = (JahiaFieldDefinition) 
ContentObject.getInstance(fdk);
                   String metadataName = jcd.getName();
                   String value;
  @@ -574,7 +583,7 @@
                       value = attr.getValue(ImportExportService.JAHIA_URI, 
metadataName);
                   }
                   if (value != null) {
  -                    JahiaField jf = 
metadataContentField.getJahiaField(EntryLoadRequest.STAGED);
  +                    JahiaField jf = metadataContentField.getJahiaField(elr);
                       jf.setValue(parseValue(metadataContentField,value));
                       jf.save(jParams);
                   }
  

Reply via email to