You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2007/04/11 20:39:54 UTC
svn commit: r527655 -
/incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java
Author: clombart
Date: Wed Apr 11 13:39:53 2007
New Revision: 527655
URL: http://svn.apache.org/viewvc?view=rev&rev=527655
Log:
Apply patch provided by Felix Meschberger for GRFT-129
Modified:
incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java
Modified: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java
URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java?view=diff&rev=527655&r1=527654&r2=527655
==============================================================================
--- incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java (original)
+++ incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/ResidualPropertiesCollectionConverterImpl.java Wed Apr 11 13:39:53 2007
@@ -165,7 +165,10 @@
// Delete existing values - before checking for collection !
if (removeExisting) {
for (PropertyIterator pi = parentNode.getProperties(jcrName); pi.hasNext();) {
- pi.nextProperty().remove();
+ Property prop = pi.nextProperty();
+ if (!prop.getDefinition().isProtected()) {
+ prop.remove();
+ }
}
}
@@ -175,6 +178,13 @@
for (Iterator ei = map.entrySet().iterator(); ei.hasNext();) {
Map.Entry entry = (Map.Entry) ei.next();
String name = String.valueOf(entry.getKey());
+
+ // verify the property is not an existing protected property
+ if (parentNode.hasProperty(name)
+ && parentNode.getProperty(name).getDefinition().isProtected()) {
+ continue;
+ }
+
Object value = entry.getValue();
if (value instanceof List) {
// multi value