Make HopObject properties case sensitive.
This commit is contained in:
parent
bff550c6d9
commit
0e7c4354c9
5 changed files with 33 additions and 96 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue