Revision 685 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/persistence/xml/XMLPersistentStateWriter.java
XMLPersistentStateWriter.java | ||
---|---|---|
70 | 70 |
|
71 | 71 |
private final static Pattern DOT_PATTERN = Pattern.compile("[.]"); |
72 | 72 |
|
73 |
/** |
|
74 |
* The Unix separator character. |
|
75 |
*/ |
|
76 |
private static final char UNIX_SEPARATOR = '/'; |
|
77 |
|
|
78 |
/** |
|
79 |
* Is it a Unix-like system? |
|
80 |
*/ |
|
81 |
private final static boolean UNIX_SYSTEM = |
|
82 |
File.separatorChar == UNIX_SEPARATOR; |
|
83 |
|
|
84 |
/** |
|
85 |
* The Windows separator character. |
|
86 |
*/ |
|
87 |
private static final char WINDOWS_SEPARATOR = '\\'; |
|
88 |
|
|
73 | 89 |
public XMLPersistentStateWriter(XMLPersistenceManager persistenceManager) { |
74 | 90 |
this.manager = persistenceManager; |
75 | 91 |
} |
... | ... | |
290 | 306 |
private String transformValue(File value, StringBuffer strb) { |
291 | 307 |
String data; |
292 | 308 |
data = value.getPath(); |
309 |
if (!UNIX_SYSTEM) { |
|
310 |
// Always use UNIX separator as it's allowed in both system |
|
311 |
data = data.replace(WINDOWS_SEPARATOR, UNIX_SEPARATOR); |
|
312 |
} |
|
293 | 313 |
if (!VALID_VALUE_PATTERN.matcher(data).matches()) { |
294 | 314 |
strb.append(CDATA_START); |
295 | 315 |
strb.append(data); |
Also available in: Unified diff