Author: scabanovich
Date: 2010-02-24 07:56:33 -0500 (Wed, 24 Feb 2010)
New Revision: 20466
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5835
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java 2010-02-24
12:36:41 UTC (rev 20465)
+++
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java 2010-02-24
12:56:33 UTC (rev 20466)
@@ -226,7 +226,12 @@
String resolveValue(String value, String dirtyvalue) {
if(dirtyvalue == null) return value;
if(dirtyvalue.trim().equals(value)) return dirtyvalue;
- if(dirtyvalue.indexOf(INTERNAL_SEPARATOR) < 0) return value;
+ if(dirtyvalue.indexOf(INTERNAL_SEPARATOR) < 0) {
+ if(value.equals(convertDirtyValue(dirtyvalue))) {
+ return dirtyvalue;
+ }
+ return value;
+ }
StringTokenizer st = new StringTokenizer(dirtyvalue, INTERNAL_SEPARATOR, true);
StringBuffer cv = new StringBuffer();
StringBuffer dv = new StringBuffer();
@@ -248,8 +253,25 @@
dv.append(t);
}
}
- return value.equals(cv.toString()) ? dv.toString() : value;
+ if(value.equals(cv.toString())) {
+ return dv.toString();
+ }
+ if(value.equals(convertDirtyValue(cv.toString()))) {
+ return dv.toString();
+ }
+ return value;
}
+
+ String convertDirtyValue(String dirtyvalue) {
+ ByteArrayInputStream sr = new ByteArrayInputStream(("a=" +
dirtyvalue).getBytes());
+ Properties p = new Properties();
+ try {
+ p.load(sr);
+ } catch (IOException e) {
+ //ignore
+ }
+ return p.getProperty("a");
+ }
public void edit(XModelObject object, String body) {
XModelObject c = object.copy(0);