diff --git a/src/helma/objectmodel/TransientNode.java b/src/helma/objectmodel/TransientNode.java index f50c250b..67f99e6b 100644 --- a/src/helma/objectmodel/TransientNode.java +++ b/src/helma/objectmodel/TransientNode.java @@ -610,8 +610,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public IProperty get(String propname) { - propname = propname.toLowerCase(); - return getProperty(propname); } @@ -637,8 +635,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public String getString(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -657,8 +653,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public long getInteger(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -677,8 +671,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public double getFloat(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -697,8 +689,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public Date getDate(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -717,8 +707,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public boolean getBoolean(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -737,8 +725,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public INode getNode(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -757,8 +743,6 @@ public class TransientNode implements INode, Serializable { * @return ... */ public Object getJavaObject(String propname) { - propname = propname.toLowerCase(); - Property prop = getProperty(propname); try { @@ -776,13 +760,11 @@ public class TransientNode implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop == null) { prop = new Property(propname, this); - propMap.put(p2, prop); + propMap.put(propname, prop); } return prop; @@ -917,21 +899,12 @@ public class TransientNode implements INode, Serializable { * @param propname ... */ public void unset(String propname) { - if (propMap == null) { - return; - } - - try { - propMap.remove(propname.toLowerCase()); - + if (propMap != null && propname != null) { + propMap.remove(propname); lastmodified = System.currentTimeMillis(); - } catch (Exception ignore) { } } - /* public String getUrl (INode root, INode users, String tmpname, String rootproto) { - throw new RuntimeException ("HREFs on transient (non-db based) Nodes not supported"); - } */ public long lastModified() { return lastmodified; } diff --git a/src/helma/objectmodel/db/DbMapping.java b/src/helma/objectmodel/db/DbMapping.java index be2f199a..85028e64 100644 --- a/src/helma/objectmodel/db/DbMapping.java +++ b/src/helma/objectmodel/db/DbMapping.java @@ -307,7 +307,7 @@ public final class DbMapping { String dbField = props.getProperty(propName); // check if a relation for this propery already exists. If so, reuse it - Relation rel = (Relation) prop2db.get(propName.toLowerCase()); + Relation rel = (Relation) prop2db.get(propName); if (rel == null) { rel = new Relation(propName, this); @@ -317,7 +317,7 @@ public final class DbMapping { // store relation with lower case property name // (ResourceProperties now preserve key capitalization!) - p2d.put(propName.toLowerCase(), rel); + p2d.put(propName, rel); if ((rel.columnName != null) && rel.isPrimitiveOrReference()) { Relation old = (Relation) d2p.put(rel.columnName.toLowerCase(), rel); @@ -631,8 +631,7 @@ public final class DbMapping { return null; } - // prop2db stores keys in lower case - return _propertyToColumnName(propName.toLowerCase()); + return _propertyToColumnName(propName); } private String _propertyToColumnName(final String propName) { @@ -678,9 +677,7 @@ public final class DbMapping { return null; } - // FIXME: prop2db stores keys in lower case, because it gets them - // from a SystemProperties object which converts keys to lower case. - return _propertyToRelation(propName.toLowerCase()); + return _propertyToRelation(propName); } private Relation _propertyToRelation(String propName) { @@ -866,7 +863,7 @@ public final class DbMapping { return null; } - Relation rel = (Relation) prop2db.get(propname.toLowerCase()); + Relation rel = (Relation) prop2db.get(propname); if ((rel == null) && (parentMapping != null)) { rel = parentMapping.getExactPropertyRelation(propname); diff --git a/src/helma/objectmodel/db/Node.java b/src/helma/objectmodel/db/Node.java index b08f784c..37a6d492 100644 --- a/src/helma/objectmodel/db/Node.java +++ b/src/helma/objectmodel/db/Node.java @@ -1776,12 +1776,10 @@ public final class Node implements INode, Serializable { } Relation rel = dbmap == null ? - null : - dbmap.getExactPropertyRelation(propname); + null : dbmap.getExactPropertyRelation(propname); // 1) check if the property is contained in the propMap - Property prop = propMap == null ? null : - (Property) propMap.get(propname.toLowerCase()); + Property prop = propMap == null ? null : (Property) propMap.get(propname); if (prop != null) { if (rel != null) { @@ -1813,7 +1811,7 @@ public final class Node implements INode, Serializable { n.setDbMapping(rel.getVirtualMapping()); n.setParent(this); setNode(propname, n); - return (Property) propMap.get(propname.toLowerCase()); + return (Property) propMap.get(propname); } // 2) check if this is a create-on-demand node property @@ -1845,7 +1843,6 @@ public final class Node implements INode, Serializable { * @return ... */ public String getString(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1864,7 +1861,6 @@ public final class Node implements INode, Serializable { * @return ... */ public long getInteger(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1883,7 +1879,6 @@ public final class Node implements INode, Serializable { * @return ... */ public double getFloat(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1902,7 +1897,6 @@ public final class Node implements INode, Serializable { * @return ... */ public Date getDate(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1921,7 +1915,6 @@ public final class Node implements INode, Serializable { * @return ... */ public boolean getBoolean(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1940,7 +1933,6 @@ public final class Node implements INode, Serializable { * @return ... */ public INode getNode(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1959,7 +1951,6 @@ public final class Node implements INode, Serializable { * @return ... */ public Object getJavaObject(String propname) { - // propname = propname.toLowerCase (); Property prop = getProperty(propname); try { @@ -1984,17 +1975,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setValue(value, type); } else { prop = new Property(propname, this); prop.setValue(value, type); - propMap.put(p2, prop); + propMap.put(propname, prop); } lastmodified = System.currentTimeMillis(); @@ -2019,10 +2007,7 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); String oldvalue = null; if (prop != null) { @@ -2037,7 +2022,7 @@ public final class Node implements INode, Serializable { } else { prop = new Property(propname, this); prop.setStringValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } if (dbmap != null) { @@ -2130,17 +2115,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setIntegerValue(value); } else { prop = new Property(propname, this); prop.setIntegerValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } notifyPropertyChange(propname); @@ -2167,17 +2149,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setFloatValue(value); } else { prop = new Property(propname, this); prop.setFloatValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } notifyPropertyChange(propname); @@ -2204,17 +2183,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setBooleanValue(value); } else { prop = new Property(propname, this); prop.setBooleanValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } notifyPropertyChange(propname); @@ -2241,17 +2217,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setDateValue(value); } else { prop = new Property(propname, this); prop.setDateValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } notifyPropertyChange(propname); @@ -2278,17 +2251,14 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - - Property prop = (Property) propMap.get(p2); + Property prop = (Property) propMap.get(propname); if (prop != null) { prop.setJavaObjectValue(value); } else { prop = new Property(propname, this); prop.setJavaObjectValue(value); - propMap.put(p2, prop); + propMap.put(propname, prop); } notifyPropertyChange(propname); @@ -2366,9 +2336,6 @@ public final class Node implements INode, Serializable { } propname = propname.trim(); - - String p2 = propname.toLowerCase(); - if (rel == null && dbmap != null) { // widen relation to non-exact (collection) mapping rel = dbmap.getPropertyRelation(propname); @@ -2383,7 +2350,7 @@ public final class Node implements INode, Serializable { } } - Property prop = (propMap == null) ? null : (Property) propMap.get(p2); + Property prop = (propMap == null) ? null : (Property) propMap.get(propname); if (prop != null) { if ((prop.getType() == IProperty.NODE) && @@ -2415,7 +2382,7 @@ public final class Node implements INode, Serializable { propMap = new Hashtable(); } - propMap.put(p2, prop); + propMap.put(propname, prop); if (state == CLEAN && isPersistable) { markAs(MODIFIED); @@ -2465,9 +2432,9 @@ public final class Node implements INode, Serializable { if (propMap != null) { if (relational) { - p = (Property) propMap.get(propname.toLowerCase()); + p = (Property) propMap.get(propname); } else { - p = (Property) propMap.remove(propname.toLowerCase()); + p = (Property) propMap.remove(propname); } } diff --git a/src/helma/objectmodel/db/NodeManager.java b/src/helma/objectmodel/db/NodeManager.java index c2eec685..654adc56 100644 --- a/src/helma/objectmodel/db/NodeManager.java +++ b/src/helma/objectmodel/db/NodeManager.java @@ -1896,7 +1896,7 @@ public final class NodeManager { // FIXME: References to anything other than the primary key are not supported prop.convertToNodeReference(rel); } - propMap.put(rel.propName.toLowerCase(), prop); + propMap.put(rel.propName, prop); } } diff --git a/src/helma/objectmodel/dom/XmlDatabaseReader.java b/src/helma/objectmodel/dom/XmlDatabaseReader.java index 5bd6991a..b25bef91 100644 --- a/src/helma/objectmodel/dom/XmlDatabaseReader.java +++ b/src/helma/objectmodel/dom/XmlDatabaseReader.java @@ -144,7 +144,7 @@ public final class XmlDatabaseReader extends DefaultHandler implements XmlConsta currentNode.setPropMap(propMap); } - propMap.put(propName.toLowerCase(), prop); + propMap.put(propName, prop); } } else { // a primitive property @@ -233,7 +233,7 @@ public final class XmlDatabaseReader extends DefaultHandler implements XmlConsta currentNode.setPropMap(propMap); } - propMap.put(elementName.toLowerCase(), prop); + propMap.put(elementName, prop); elementName = null; elementType = null; charValue = null;