[teiid-commits] teiid SVN: r3862 - branches/7.7.x/engine/src/main/java/org/teiid/query/metadata.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Thu Feb 9 15:43:54 EST 2012
Author: shawkins
Date: 2012-02-09 15:43:54 -0500 (Thu, 09 Feb 2012)
New Revision: 3862
Modified:
branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
Log:
TEIID-1935 fix for windows
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-02-09 16:21:26 UTC (rev 3861)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-02-09 20:43:54 UTC (rev 3862)
@@ -23,7 +23,6 @@
package org.teiid.query.metadata;
import java.io.ByteArrayInputStream;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
@@ -49,16 +48,7 @@
import org.teiid.core.util.LRUCache;
import org.teiid.core.util.ObjectConverterUtil;
import org.teiid.core.util.StringUtil;
-import org.teiid.metadata.AbstractMetadataRecord;
-import org.teiid.metadata.Column;
-import org.teiid.metadata.ColumnSet;
-import org.teiid.metadata.Datatype;
-import org.teiid.metadata.ForeignKey;
-import org.teiid.metadata.KeyRecord;
-import org.teiid.metadata.Procedure;
-import org.teiid.metadata.ProcedureParameter;
-import org.teiid.metadata.Schema;
-import org.teiid.metadata.Table;
+import org.teiid.metadata.*;
import org.teiid.metadata.BaseColumn.NullType;
import org.teiid.metadata.Column.SearchType;
import org.teiid.metadata.ProcedureParameter.Type;
@@ -805,18 +795,14 @@
if (schemaPaths == null) {
return schemas;
}
- File f = new File(tableRecord.getResourcePath());
- String path = f.getParent();
- if (File.separatorChar != '/') {
- path = path.replace(File.separatorChar, '/');
- }
+ String path = getParentPath(tableRecord.getResourcePath());
for (String string : schemaPaths) {
String parentPath = path;
boolean relative = false;
while (string.startsWith("../")) { //$NON-NLS-1$
relative = true;
string = string.substring(3);
- parentPath = new File(parentPath).getParent();
+ parentPath = getParentPath(parentPath);
}
SQLXMLImpl schema = null;
if (!relative) {
@@ -838,6 +824,19 @@
return schemas;
}
+ private String getParentPath(String path) {
+ if (path == null) {
+ return ""; //$NON-NLS-1$
+ }
+ int index = path.lastIndexOf('/');
+ if (index > 0) {
+ path = path.substring(0, index);
+ } else {
+ path = ""; //$NON-NLS-1$
+ }
+ return path;
+ }
+
public String getNameInSource(final Object metadataID) throws TeiidComponentException, QueryMetadataException {
ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
return ((AbstractMetadataRecord) metadataID).getNameInSource();
More information about the teiid-commits
mailing list