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