Author: cmailleux
Date: Tue Jun 19 12:22:30 2007
New Revision: 17635

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17635&repname=
=3Djahia
Log:
Resolve issue JAHIA-2036

When trying to activate metadata only search for staged metadata and not ac=
tive one
Do not check for hasActiveEntries any more, this test was introduce by myse=
lf one year ago but is not needed anymore as PORTAL-67 is not reproducible =
on last built without this test.

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
igTextField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
ooleanField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaC=
ategoryField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaD=
ateField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaI=
ntegerField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaP=
ageField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaS=
mallTextSharedLangField.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fields/Co=
ntentFieldTools.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/Cont=
entObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/content/ContentObject.java&rev=3D17635&repn=
ame=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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentObj=
ect.java Tue Jun 19 12:22:30 2007
@@ -41,6 +41,7 @@
 import org.jahia.services.workflow.WorkflowService;
 import org.jahia.services.workflow.ExternalWorkflow;
 import org.apache.commons.lang.StringUtils;
+import org.apache.jetspeed.search.SearchResults;
 =

 import java.util.*;
 import java.text.DateFormat;
@@ -1367,27 +1368,28 @@
      * @throws JahiaException
      * @return ActivationTestResults
      */
-    public synchronized ActivationTestResults activateMetadatas (
-            Set languageCodes,
-            boolean versioningActive, JahiaSaveVersion saveVersion,
-            JahiaUser user,
-            ProcessingContext jParams,
-            StateModificationContext stateModifContext) throws JahiaExcept=
ion {
+    public synchronized ActivationTestResults activateMetadatas(Set langua=
geCodes,
+                                                                boolean ve=
rsioningActive,
+                                                                JahiaSaveV=
ersion saveVersion,
+                                                                JahiaUser =
user,
+                                                                Processing=
Context jParams,
+                                                                StateModif=
icationContext stateModifContext) throws JahiaException {
 =

         ActivationTestResults result =3D new ActivationTestResults();
         try {
-            Iterator iterator =3D getMetadatas(true).iterator();
+            Iterator iterator =3D getStagedMetadatas().iterator();
             ContentField contentField =3D null;
             while (iterator.hasNext()) {
                 contentField =3D (ContentField) iterator.next();
-                if ( contentField.hasStagingEntries() ){
-                    try {
-                        contentField.activate(languageCodes,
-                                              versioningActive, saveVersio=
n,
-                                              user, jParams, stateModifCon=
text);
-                    } catch (Throwable t) {
-                        logger.debug("Exception activating content object'=
s metadata",t);
-                    }
+                try {
+                    contentField.activate(languageCodes,
+                                          versioningActive,
+                                          saveVersion,
+                                          user,
+                                          jParams,
+                                          stateModifContext);
+                } catch (Throwable t) {
+                    logger.debug("Exception activating content object's me=
tadata", t);
                 }
             }
         } catch (Throwable t) {
@@ -1396,6 +1398,14 @@
         return result;
     }
 =

+    private List getStagedMetadatas() throws JahiaException {
+        List stagedMetadata =3D jahiaFieldsDataManager.findStagedFieldsByM=
etadataOwner(getObjectKey());
+        if(stagedMetadata!=3D null && stagedMetadata.size()>0){
+            return getMetadatas(true);
+        }
+        return new ArrayList();
+    }
+
     /**
      * Must be called by Subclasses activate method.
      *

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaBigTextField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaBigTextField.java&rev=3D17=
635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
igTextField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
igTextField.java Tue Jun 19 12:22:30 2007
@@ -124,7 +124,7 @@
         final ContentBigTextField contentBigTextField =3D (ContentBigTextF=
ield)
                 ContentBigTextField.getField(getID());
 =

-        if (contentBigTextField.hasActiveEntries() && getValue() !=3D null=
 &&
+        if (getValue() !=3D null &&
                 getValue().equals(contentBigTextField.getValue(jParams))) {
             return true;
         }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaBooleanField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaBooleanField.java&rev=3D17=
635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
ooleanField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaB=
ooleanField.java Tue Jun 19 12:22:30 2007
@@ -111,7 +111,7 @@
         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
 =

-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             return true;
         }
         if (!((value =3D=3D null && savedValue =3D=3D null) || (value !=3D=
 null && getValue().equals(savedValue)))) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaCategoryField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaCategoryField.java&rev=3D1=
7635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaC=
ategoryField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaC=
ategoryField.java Tue Jun 19 12:22:30 2007
@@ -107,7 +107,7 @@
 =

         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             return true;
         }
         if (!((value =3D=3D null && savedValue =3D=3D null) || (value !=3D=
 null && getValue().equals(savedValue)))) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaDateField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaDateField.java&rev=3D17635=
&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaD=
ateField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaD=
ateField.java Tue Jun 19 12:22:30 2007
@@ -146,7 +146,7 @@
         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
 =

-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             return true;
         }
 =


Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaIntegerField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaIntegerField.java&rev=3D17=
635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaI=
ntegerField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaI=
ntegerField.java Tue Jun 19 12:22:30 2007
@@ -116,7 +116,7 @@
         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
 =

-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             return true;
         }
         if (!((value =3D=3D null && savedValue =3D=3D null) || (value !=3D=
 null && getValue().equals(savedValue)))) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaPageField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaPageField.java&rev=3D17635=
&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaP=
ageField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaP=
ageField.java Tue Jun 19 12:22:30 2007
@@ -289,7 +289,7 @@
         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
 =

-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             return true;
         }
         if (!((value =3D=3D null && savedValue =3D=3D null) || (value !=3D=
 null && getValue().equals(savedValue)))) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
JahiaSmallTextSharedLangField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/JahiaSmallTextSharedLangField.j=
ava&rev=3D17635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaS=
mallTextSharedLangField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/JahiaS=
mallTextSharedLangField.java Tue Jun 19 12:22:30 2007
@@ -120,7 +120,7 @@
         final String value =3D getValue();
         final String savedValue =3D contentField.getValue(jParams);
 =

-        if (contentField.hasActiveEntries() && ((value =3D=3D null && save=
dValue =3D=3D null) || (value !=3D null && getValue().equals(savedValue))))=
 {
+        if (((value =3D=3D null && savedValue =3D=3D null) || (value !=3D =
null && getValue().equals(savedValue)))) {
             if ( !contentField.isMetadata() ||
                     (!this.getDefinition().getName().equals(CoreMetadataCo=
nstant.LAST_CONTRIBUTOR)
                     && !this.getDefinition().getName().equals(CoreMetadata=
Constant.LAST_MODIFICATION_DATE)) ){

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaFieldsDataManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.ja=
va&rev=3D17635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java Tue Jun 19 12:22:30 2007
@@ -775,6 +775,16 @@
         }
     }
 =

+    public List findStagedFieldsByMetadataOwner(ObjectKey metadataOwner) {
+        try {
+            return dao.findStagedFieldsByMetadataOwner(new JahiaObjectPK(m=
etadataOwner.getType(),
+                    new Integer(metadataOwner.getIdInType())));
+        } catch (RuntimeException e) {
+            log.warn("Exception during find of staged fields by metadata o=
wner " + metadataOwner, e);
+            return null;
+        }
+    }
+
     public void purgeField(ContentField id) {
         dao.purgeJahiaFields(new Integer(id.getID()));
         flushCache(id.getID(),id.getSiteID(), id.getContainerID());

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fie=
lds/ContentFieldTools.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/fields/ContentFieldTools.java&rev=
=3D17635&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fields/Co=
ntentFieldTools.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fields/Co=
ntentFieldTools.java Tue Jun 19 12:22:30 2007
@@ -155,6 +155,18 @@
     }
 =

     /**
+     * loads all the staged fields for a given metadata owner key into the
+     * field cache.
+     *
+     * @param metadataOwnerKey
+     * @throws JahiaException thrown if there was an error while loading t=
he fields from the database.
+     */
+    public void findStagedFieldsByMetadataOwner(ObjectKey metadataOwnerKey)
+            throws JahiaException {
+        fieldsDataManager.findStagedFieldsByMetadataOwner(metadataOwnerKey=
);
+    }
+
+    /**
      * Get a ContentField from its ID
      *
      * @param fieldID

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

Reply via email to