Revision 685

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/persistence/xml/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