bookmark.setUsername(props.getProperty(i + ".username")); //$NON-NLS-1$
bookmark.setPassword(props.getProperty(i + ".password")); //$NON-NLS-1$
bookmark.setConnect(props.getProperty(i + ".connect")); //$NON-NLS-1$
- bookmark.setDriver(props.getProperty(i + ".driver")); //$NON-NLS-1$
String schema = props.getProperty(i + ".schema"); //$NON-NLS-1$
if (schema != null) {
bookmark.addSchema(schema);
}
- String type = props.getProperty(i + ".type"); //$NON-NLS-1$
- if (type != null) {
- bookmark.setType(type);
- } else {
- bookmark.setType(""); //$NON-NLS-1$
- }
- String driverFile = props.getProperty(i + ".driverLocation"); //$NON-NLS-1$
- if (driverFile != null) {
- bookmark.setDriverFile(driverFile);
- } else {
- bookmark.setDriverFile(""); //$NON-NLS-1$
- }
- System.out.println(bookmark.toString());
if (!bookmark.isEmpty()) {
newBookmarks.add(bookmark);
}
i++;
- this.drivers.add(new JDBCDriver(bookmark.getDriver(), driverFile));
+ String driver = props.getProperty(i + ".driver"); //$NON-NLS-1$
+ String driverFile = props.getProperty(i + ".driverLocation"); //$NON-NLS-1$
+ String type = props.getProperty(i + ".type"); //$NON-NLS-1$
+ this.drivers.add(new JDBCDriver(driver, driverFile, type));
}
if (overwrite) {
this.bookmarks = newBookmarks;
NodeList nodes = root.getElementsByTagName("jdbcDriver"); //$NON-NLS-1$
for (int i = 0; i < nodes.getLength(); i++) {
Element driver = (Element) nodes.item(i);
- addDriver(new JDBCDriver(
- driver.getAttribute("className"),
- driver.getAttribute("jarFileName"),
- driver.getAttribute("name"),
- driver.getAttribute("version")));
+
+ if (!"".equals(driver.getAttribute("type"))) {
+ addDriver(new JDBCDriver(
+ driver.getAttribute("className"),
+ driver.getAttribute("jarFileName"),
+ driver.getAttribute("type"),
+ driver.getAttribute("name"),
+ driver.getAttribute("version")));
+ }
+
}
}
bookmark.setAutoCommit(Boolean.TRUE.toString().equalsIgnoreCase(
MetaDataXMLInterface.getElementText(column,"autoCommit", "True"))); //$NON-NLS-1$
bookmark.setAutoCommitPreference(MetaDataXMLInterface.getElementText(column,"autoCommitPreference", IQuantumConstants.autoCommitTrue)); //$NON-NLS-1$
- bookmark.addSchema(MetaDataXMLInterface.getElementText(column,"schema")); //$NON-NLS-1$
- bookmark.setType(MetaDataXMLInterface.getElementText(column,"type")); //$NON-NLS-1$
- NodeList children = column.getElementsByTagName(Messages.getString("ExportXMLAction.OtherSchemas"));
+
+ backwardCompatibility(bookmark, column);
String driverClassName = MetaDataXMLInterface.getElementText(column,"driver"); //$NON-NLS-1$
String driverFile = MetaDataXMLInterface.getElementText(column,"driverLocation"); //$NON-NLS-1$
+ String type = MetaDataXMLInterface.getElementText(column,"type"); //$NON-NLS-1$
- bookmark.setJDBCDriver(new JDBCDriver(driverClassName, driverFile));
+ bookmark.setJDBCDriver(new JDBCDriver(driverClassName, driverFile, type));
+ NodeList children = column.getElementsByTagName("Other_Schemas");
if (children.getLength() > 0) {
importSchemas((Element) children.item(0), bookmark);
}
+
+
System.out.println(bookmark.toString());
if (!bookmark.isEmpty()) {
newBookmarks.addElement(bookmark);
return newBookmarks;
}
+ /**
+ * Earlier versions of the xml file expected one schema element under the
+ * bookmark element. This method sees if it exists.
+ *
+ * @param bookmark
+ * @param element
+ */
+ private void backwardCompatibility(Bookmark bookmark, Element element) {
+ NodeList children = element.getChildNodes();
+ for (int i = 0, length = children.getLength(); i < length; i++) {
+ Node node = children.item(i);
+ if (node.getNodeType() == Node.ELEMENT_NODE &&
+ "schema".equals(((Element) node).getTagName())) {
+ String schema = MetaDataXMLInterface.extractText(element,"");
+ if (schema != null && schema.trim().length() > 0) {
+ bookmark.addSchema(schema);
+ }
+ }
+ }
+ }
+
private void importSchemas(Element otherSchemas, Bookmark bookmark) {
- Vector vector = MetaDataXMLInterface.getVectorText(otherSchemas, Messages.getString("ExportXMLAction.SchemaName"));
List list = new ArrayList();
- for (Iterator i = vector.iterator(); i.hasNext();) {
- String schemaName = (String) i.next();
- list.add(new Schema(schemaName));
+ NodeList children = otherSchemas.getChildNodes();
+ for (int i = 0, length = children.getLength(); i < length; i++) {
+ Node node = children.item(i);
+ if (node.getNodeType() == Node.ELEMENT_NODE
+ && "schema".equalsIgnoreCase(((Element) node).getTagName())) {
+ list.add(new Schema(
+ MetaDataXMLInterface.extractText((Element) node, "")));
+ }
+ }
+
+ String schemaRule = otherSchemas.getAttribute("schemaRule");
+ if ("useAll".equals(schemaRule)) {
+ bookmark.setSchemaRule(Bookmark.SCHEMA_RULE_USE_ALL);
+ } else if ("useDefault".equals(schemaRule)) {
+ bookmark.setSchemaRule(Bookmark.SCHEMA_RULE_USE_DEFAULT);
+ } else {
+ bookmark.setSchemaRule(Bookmark.SCHEMA_RULE_USE_SELECTED);
}
- bookmark.setSchemas((Schema[]) list.toArray(new Schema[list.size()]));
+ bookmark.setSchemaSelections((Schema[]) list.toArray(new Schema[list.size()]));
}
- private void importQuickList(Bookmark bookmark, Element bookmarkElement) {
+ private void importQuickList(Bookmark bookmark, Element bookmarkElement) {
NodeList quickList = bookmarkElement.getElementsByTagName("quickList");
for (int j = 0,
length = (quickList == null) ? 0 : quickList.getLength();
* @param driver
* @param driverFile
*/
- public JDBCDriver findDriver(String driverClassName, String driverFile) {
- JDBCDriver temp = new JDBCDriver(driverClassName, driverFile);
+ public JDBCDriver findDriver(String driverClassName, String driverFile, String type) {
+ JDBCDriver temp = new JDBCDriver(driverClassName, driverFile, type);
return findDriver(temp);
}