Author: scabanovich
Date: 2010-09-09 08:20:03 -0400 (Thu, 09 Sep 2010)
New Revision: 24828
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java
Log:
https://jira.jboss.org/browse/JBIDE-7029
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-09-09
12:17:31 UTC (rev 24827)
+++
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/PropertiesLoader.java 2010-09-09
12:20:03 UTC (rev 24828)
@@ -89,7 +89,7 @@
}
lineEnd.setLength(0);
if(state == 3) {
- if(!s.endsWith("\\")) { //$NON-NLS-1$
+ if(!endsWithBackslash(s)) {
sb.append(s);
state = 2;
} else {
@@ -128,7 +128,7 @@
object.addChild(c);
String dirtyvalue = (i < s.length()) ? s.substring(i + 1) : "";
//$NON-NLS-1$
- if(s.endsWith("\\")) { //$NON-NLS-1$
+ if(endsWithBackslash(s)) {
state = 3;
sb.append(dirtyvalue.substring(0, dirtyvalue.length() -
1)).append(INTERNAL_SEPARATOR);
} else {
@@ -144,6 +144,15 @@
c.setAttributeValue("line-end", lineEnd.toString()); //$NON-NLS-1$
}
}
+
+ boolean endsWithBackslash(String s) {
+ boolean result = false;
+ for (int i = s.length() - 1; i >= 0; i--) {
+ if(s.charAt(i) != '\\') return result;
+ result = !result;
+ }
+ return result;
+ }
public boolean update(XModelObject object) throws XModelException {
String encoding = getEncoding(object);