From: Dave B. <bla...@us...> - 2012-04-19 11:22:11
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem In directory vz-cvs-3.sog:/tmp/cvs-serv19810/src/org/sblim/cimclient/internal/wbem Modified Files: WBEMClientCIMXML.java Log Message: 3515180 - JSR48 log dir/file should handle UNIX/Win separators Index: WBEMClientCIMXML.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/WBEMClientCIMXML.java,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- WBEMClientCIMXML.java 19 Apr 2012 11:11:24 -0000 1.69 +++ WBEMClientCIMXML.java 19 Apr 2012 11:22:08 -0000 1.70 @@ -59,6 +59,7 @@ * 3496355 2012-03-02 blaschke-oss JSR48 1.0.0: add new WBEMClientConstants * 3514537 2012-04-03 blaschke-oss TCK: execQueryInstances requires boolean, not Boolean * 3514685 2012-04-03 blaschke-oss TCK: getProperty must return default values + * 3515180 2012-04-05 blaschke-oss JSR48 log dir/file should handle UNIX/Win separators */ package org.sblim.cimclient.internal.wbem; @@ -328,6 +329,23 @@ return this.iConfiguration.getDomainProperties(); } + private int getLastSeparator(String path) { + if (path == null) return -1; + + int last = -1; + int sepUnix = path.lastIndexOf('/'); + int sepWin = path.lastIndexOf('\\'); + + if (sepUnix != -1 && sepWin != -1) { + last = sepUnix > sepWin ? sepUnix : sepWin; + } else if (sepUnix != -1) { + last = sepUnix; + } else if (sepWin != -1) { + last = sepWin; + } + return last; + } + public String getProperty(String pKey) { if (pKey.startsWith("javax.wbem.")) { // Process JSR48 properties @@ -342,13 +360,13 @@ } else if (pKey.equals(WBEMClientConstants.PROP_LOG_DIR)) { String SblimKey = this.iConfiguration.getLogFileLocation(); if (SblimKey == null) return null; - int i = SblimKey.lastIndexOf(File.separatorChar); - return i != -1 ? SblimKey.substring(0, i) : null; + int lastSep = getLastSeparator(SblimKey); + return lastSep == -1 ? null : SblimKey.substring(0, lastSep); } else if (pKey.equals(WBEMClientConstants.PROP_LOG_FILENAME)) { String SblimKey = this.iConfiguration.getLogFileLocation(); if (SblimKey == null) return null; - int i = SblimKey.lastIndexOf(File.separatorChar); - return i != -1 ? SblimKey.substring(i + 1) : SblimKey; + int lastSep = getLastSeparator(SblimKey); + return lastSep == -1 ? SblimKey : SblimKey.substring(lastSep + 1); } else if (pKey.equals(WBEMClientConstants.PROP_LOG_NUM_FILES)) { return Integer.toString(this.iConfiguration.getLogFileCount()); } else if (pKey.equals(WBEMClientConstants.PROP_TIMEOUT)) { |