Author: tdraier
Date: Fri Sep 21 10:08:53 2007
New Revision: 18583

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18583&repname=
=3Djahia
Log:
fixed page cration and import in no-workflow mode ( JAHIA-2149 ) ( port 183=
94 )

Modified:
    trunk/core/src/java/org/jahia/engines/shared/Page_Field.java
    trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java
    trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astContributorListener.java
    trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astModificationDateListener.java
    trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java
    trunk/core/src/java/org/jahia/services/pages/JahiaPageService.java
    trunk/core/src/java/org/jahia/services/workflow/WorkflowEventListener.j=
ava
    trunk/core/src/java/org/jahia/services/workflow/WorkflowService.java

Modified: trunk/core/src/java/org/jahia/engines/shared/Page_Field.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/engines/shared/Page_Field.java&rev=3D18583&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/engines/shared/Page_Field.java (original)
+++ trunk/core/src/java/org/jahia/engines/shared/Page_Field.java Fri Sep 21=
 10:08:53 2007
@@ -23,10 +23,7 @@
 import org.jahia.content.ContentObject;
 import org.jahia.data.containers.JahiaContainer;
 import org.jahia.data.events.JahiaEvent;
-import org.jahia.data.fields.FieldsEditHelper;
-import org.jahia.data.fields.FieldsEditHelperAbstract;
-import org.jahia.data.fields.JahiaField;
-import org.jahia.data.fields.JahiaFieldDefinitionProperties;
+import org.jahia.data.fields.*;
 import org.jahia.engines.EngineLanguageHelper;
 import org.jahia.engines.JahiaEngine;
 import org.jahia.engines.JahiaEngineTools;
@@ -539,7 +536,7 @@
                                 pageBean.getPageLinkID(),
                                 null,
                                 parentAclID,
-                                jParams);
+                                jParams, (JahiaPageField) theField);
 =

                 contentPage =3D ServicesRegistry.getInstance().getJahiaPag=
eService().
                         lookupContentPage(jahiaPage.getID(), false);

Modified: trunk/core/src/java/org/jahia/services/importexport/ImportHandler=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportHandler.java&rev=3D18583&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
(original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
Fri Sep 21 10:08:53 2007
@@ -377,7 +377,7 @@
                     currentObject =3D createObject(parent, namespaceURI, l=
ocalName, qName, atts);
                 } else {
                     if (currentObject =3D=3D null && site.getHomePageID() =
=3D=3D -1) {
-                        JahiaPage jahiaPage =3D createPage(localName, name=
spaceURI, qName, atts, 0, site.getAclID());
+                        JahiaPage jahiaPage =3D createPage(localName, name=
spaceURI, qName, atts, 0, site.getAclID(),null);
                         currentObject =3D jahiaPage.getContentPage();
 =

                         WorkflowEvent theEvent =3D new WorkflowEvent (this=
, currentObject, jParams.getUser(), language, false);
@@ -780,13 +780,13 @@
                 object =3D cp;
             } else {
                 int parentAclID =3D theField.getAclID();
-                jahiaPage =3D createPage(localName, namespaceURI, qName, a=
tts, pageID, parentAclID);
+                jahiaPage =3D createPage(localName, namespaceURI, qName, a=
tts, pageID, parentAclID,(JahiaPageField) ((ContentPageField) parent).getJa=
hiaField(elr));
 =

-                JahiaField jahiaField =3D ((ContentPageField) parent).getJ=
ahiaField(elr);
-                jahiaField.setValue(Integer.toString(jahiaPage.getID()));
-                jahiaField.setObject(jahiaPage);
-                ServicesRegistry.getInstance ().getJahiaFieldService ().
-                        saveField (jahiaField, parent.getACL().getID(), jP=
arams);
+//                JahiaField jahiaField =3D ;
+//                jahiaField.setValue(Integer.toString(jahiaPage.getID()));
+//                jahiaField.setObject(jahiaPage);
+//                ServicesRegistry.getInstance ().getJahiaFieldService ().
+//                        saveField (jahiaField, parent.getACL().getID(), =
jParams);
                 object =3D jahiaPage.getContentPage();
 =

                 WorkflowEvent theEvent =3D new WorkflowEvent (this, object=
, jParams.getUser(), language, false);
@@ -840,7 +840,7 @@
         return object;
     }
 =

-    private JahiaPage createPage(String localName, String namespaceURI, St=
ring qName, Attributes atts, int pageID, int parentAclID) throws JahiaExcep=
tion {
+    private JahiaPage createPage(String localName, String namespaceURI, St=
ring qName, Attributes atts, int pageID, int parentAclID, JahiaPageField pa=
rentField) throws JahiaException {
         JahiaPage jahiaPage;
         String title =3D atts.getValue(ImportExportBaseService.JAHIA_URI, =
"title");
         if (namespaceURI.equals(ImportExportBaseService.JAHIA_URI)) {
@@ -851,7 +851,7 @@
                                 JahiaPage.TYPE_URL, title ,
                                 site.getDefaultTemplateID(),
                                 "http://";, -1, jParams.getUser().getUserKe=
y(),
-                                parentAclID, jParams);
+                                parentAclID, jParams, parentField);
                 List ls =3D new ArrayList();
                 links.put(jahiaPage, ls);
                 ls.add(atts.getValue(ImportExportBaseService.JAHIA_URI, "r=
eference"));
@@ -863,7 +863,7 @@
                                 JahiaPage.TYPE_URL, title ,
                                 site.getDefaultTemplateID(),
                                 value, -1, jParams.getUser().getUserKey(),
-                                parentAclID, jParams);
+                                parentAclID, jParams, parentField);
             } else if (localName.equals("page")) {
                 // Direct page
                 String template =3D atts.getValue(ImportExportBaseService.=
JAHIA_URI, "template");
@@ -886,7 +886,8 @@
                                 -1, // Link ID undefined
                                 jParams.getUser().getUserKey(),
                                 parentAclID,
-                                jParams); // value should be < 0 if new fi=
eld.
+                                jParams,
+                                parentField); // value should be < 0 if ne=
w field.
 =

 =

                 String pageKey =3D atts.getValue(ImportExportBaseService.J=
AHIA_URI, "pageKey");

Modified: trunk/core/src/java/org/jahia/services/metadata/core/listeners/Co=
ntentLastContributorListener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/metadata/core/listeners/ContentLastContributorListener.ja=
va&rev=3D18583&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astContributorListener.java (original)
+++ trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astContributorListener.java Fri Sep 21 10:08:53 2007
@@ -184,7 +184,7 @@
 =

         if (Jahia.getThreadParamBean().getAttribute("importMode") !=3D nul=
l){
             try {
-                JahiaField jahiaField =3D contentObject.getMetadataAsJahia=
Field(this.getMetadataName(), theEvent.getProcessingContext());
+                JahiaField jahiaField =3D contentObject.getMetadataAsJahia=
Field(this.getMetadataName(), Jahia.getThreadParamBean());
                 if ( jahiaField =3D=3D null ){
                     return;
                 }

Modified: trunk/core/src/java/org/jahia/services/metadata/core/listeners/Co=
ntentLastModificationDateListener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/metadata/core/listeners/ContentLastModificationDateListen=
er.java&rev=3D18583&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astModificationDateListener.java (original)
+++ trunk/core/src/java/org/jahia/services/metadata/core/listeners/ContentL=
astModificationDateListener.java Fri Sep 21 10:08:53 2007
@@ -169,7 +169,7 @@
 =

         if (Jahia.getThreadParamBean().getAttribute("importMode") !=3D nul=
l){
             try {
-                JahiaField jahiaField =3D contentObject.getMetadataAsJahia=
Field(this.getMetadataName(), theEvent.getProcessingContext());
+                JahiaField jahiaField =3D contentObject.getMetadataAsJahia=
Field(this.getMetadataName(), Jahia.getThreadParamBean());
                 if ( jahiaField =3D=3D null ){
                     return;
                 }

Modified: trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/pages/JahiaPageBaseService.java&rev=3D18583&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java =
(original)
+++ trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java =
Fri Sep 21 10:08:53 2007
@@ -27,6 +27,7 @@
 import org.jahia.data.JahiaDOMObject;
 import org.jahia.data.events.JahiaEvent;
 import org.jahia.data.fields.JahiaField;
+import org.jahia.data.fields.JahiaPageField;
 import org.jahia.data.fields.LoadFlags;
 import org.jahia.exceptions.*;
 import org.jahia.hibernate.manager.JahiaObjectManager;
@@ -164,6 +165,21 @@
                                              int parentAclID,
                                              ProcessingContext jParam)
             throws JahiaException {
+       return createPage(siteID, parentID, pageType, title, pageTemplateID=
, remoteURL,pageLinkID,creator, parentAclID, jParam, null);
+    }
+
+    public JahiaPage createPage(int siteID,
+                                             int parentID,
+                                             int pageType,
+                                             String title,
+                                             int pageTemplateID,
+                                             String remoteURL,
+                                             int pageLinkID,
+                                             String creator,
+                                             int parentAclID,
+                                             ProcessingContext jParam,
+                                                JahiaPageField parentField)
+            throws JahiaException {
 =

         logger.debug("Creating Page " + title + " ...");
 =

@@ -319,6 +335,14 @@
             site.setHomePageID(page.getID());
             ServicesRegistry.getInstance().getJahiaSitesService().updateSi=
te(site);
         }
+
+        if (parentField !=3D null) {
+            parentField.setValue(Integer.toString(page.getID()));
+            parentField.setObject(page);
+            ServicesRegistry.getInstance ().getJahiaFieldService ().
+                    saveField (parentField, -1, jParam);
+        }
+
         if (pageType =3D=3D JahiaPage.TYPE_DIRECT) {
             loadPage(page.getID(), jParam);
         }

Modified: trunk/core/src/java/org/jahia/services/pages/JahiaPageService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/pages/JahiaPageService.java&rev=3D18583&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/pages/JahiaPageService.java (ori=
ginal)
+++ trunk/core/src/java/org/jahia/services/pages/JahiaPageService.java Fri =
Sep 21 10:08:53 2007
@@ -19,6 +19,7 @@
 =

 import org.jahia.content.TimeBasedPublishingState;
 import org.jahia.data.JahiaDOMObject;
+import org.jahia.data.fields.JahiaPageField;
 import org.jahia.exceptions.JahiaException;
 import org.jahia.exceptions.JahiaPageNotFoundException;
 import org.jahia.exceptions.JahiaTemplateNotFoundException;
@@ -74,6 +75,38 @@
 =

     //--------------------------------------------------------------------=
-----
     /**
+     * Create a new page.
+     *
+     * @param siteID      The Jahia ID (site ID).
+     * @param parentID    The parent page ID.
+     * @param pageType    The page type (see constants in JahiaPage).
+     * @param title       The page title.
+     * @param pageDefID   The page defiNition ID.
+     * @param creator     The creators nickname used by Jahia internally.
+     * @param parentAclID The parent ACL ID.
+     * @param jParam      The Jahia parameters.
+     *
+     * @return Return a new JahiaPage instanciated object.
+     *
+     * @throws JahiaException Throws this exception when any error occured=
 in the page
+     *                        creation process.
+     */
+    public abstract JahiaPage createPage (
+            int siteID,
+            int parentID,
+            int pageType,
+            String title,
+            int pageDefID,
+            String remoteURL,
+            int pageLinkID,
+            String creator,
+            int parentAclID,
+            ProcessingContext jParam,
+            JahiaPageField parentField)
+            throws JahiaException;
+
+    //--------------------------------------------------------------------=
-----
+    /**
      * Deletes a page information, and its contents (fields, containers, e=
tc.)
      *
      * @param pageID The page to be deleted.

Modified: trunk/core/src/java/org/jahia/services/workflow/WorkflowEventList=
ener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/workflow/WorkflowEventListener.java&rev=3D18583&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/workflow/WorkflowEventListener.j=
ava (original)
+++ trunk/core/src/java/org/jahia/services/workflow/WorkflowEventListener.j=
ava Fri Sep 21 10:08:53 2007
@@ -81,23 +81,34 @@
         }
 =

         WorkflowService service =3D ServicesRegistry.getInstance().getWork=
flowService();
-        Set allTops =3D new HashSet();
+        Map allTops =3D new HashMap();
         for (int i =3D allEvents.size()-1; i >=3D0 ; i--) {
             WorkflowEvent we =3D (WorkflowEvent) allEvents.get(i);
-            ContentObjectKey key =3D (ContentObjectKey) ((ContentObject) w=
e.getObject()).getObjectKey();
+            ContentObject contentObject =3D (ContentObject) we.getObject();
+            ContentObjectKey key =3D (ContentObjectKey) contentObject.getO=
bjectKey();
             try {
-                allTops.add(service.getTopLinkedObject(key));
+                allTops.put(service.getTopLinkedObject(key), new Integer(c=
ontentObject.getSiteID()));
             } catch (JahiaException e) {
-                e.printStackTrace();  //To change body of catch statement =
use File | Settings | File Templates.
+                logger.error("Cannot get main object", e);
             }
         }
-        for (Iterator iterator =3D allTops.iterator(); iterator.hasNext();=
) {
+        for (Iterator iterator =3D allTops.keySet().iterator(); iterator.h=
asNext();) {
             service.flushCacheForObjectChanged((ContentObjectKey) iterator=
.next());
         }
         for (int i =3D allEvents.size()-1; i >=3D0 ; i--) {
             WorkflowEvent we =3D (WorkflowEvent) allEvents.get(i);
             myObjectChanged(we);
         }
+        for (Iterator iterator =3D allTops.keySet().iterator(); iterator.h=
asNext();) {
+            ContentObjectKey contentObjectKey =3D (ContentObjectKey) itera=
tor.next();
+            try {
+                if (service.getInheritedMode(contentObjectKey) =3D=3D Work=
flowService.INACTIVE) {
+                    service.storeLanguageState(contentObjectKey, ((Integer=
)allTops.get(contentObjectKey)).intValue());
+                }
+            } catch (JahiaException e) {
+                logger.error("Cannot reset workflow states", e);
+            }
+        }
     }
 =

     public void myObjectChanged(WorkflowEvent we) {

Modified: trunk/core/src/java/org/jahia/services/workflow/WorkflowService.j=
ava
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/workflow/WorkflowService.java&rev=3D18583&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/workflow/WorkflowService.java (o=
riginal)
+++ trunk/core/src/java/org/jahia/services/workflow/WorkflowService.java Fr=
i Sep 21 10:08:53 2007
@@ -987,13 +987,13 @@
         if (contentObject =3D=3D null) {
             return new HashMap();
         }
-        return getLanguagesStates((ContentObjectKey) contentObject.getObje=
ctKey(), contentObject.getSiteID());
+        return getLanguagesStates(getMainLinkObject((ContentObjectKey) con=
tentObject.getObjectKey()), contentObject.getSiteID());
     }
 =

     private Map getLanguagesStates(final ContentObjectKey contentObject, f=
inal int siteID) throws JahiaException {
         Map r =3D languagesStatesManager.getLanguagesStates(contentObject.=
toString());
         if (r.isEmpty()) {
-            r =3D storeLanguageState(getMainLinkObject(contentObject), sit=
eID);
+            r =3D storeLanguageState(contentObject, siteID);
         }
         return r;
     }

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to