X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/xml/ModelToXMLConverter.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/xml/ModelToXMLConverter.java index 908b239..5251fdc 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/xml/ModelToXMLConverter.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/xml/ModelToXMLConverter.java @@ -1,9 +1,12 @@ package com.quantum.model.xml; -import com.quantum.Messages; +import java.sql.SQLException; + import com.quantum.model.Bookmark; import com.quantum.model.Column; import com.quantum.model.Entity; +import com.quantum.model.JDBCDriver; +import com.quantum.model.NotConnectedException; import com.quantum.model.Schema; import com.quantum.sql.metadata.MetaDataXMLInterface; @@ -28,6 +31,16 @@ public class ModelToXMLConverter { public void createRoot(Document document) { document.appendChild(document.createElement("SAVED_DATA")); } + public void convert(Element bookmarkRoot, JDBCDriver jdbcDriver) { + Document document = bookmarkRoot.getOwnerDocument(); + Element driverNode = document.createElement("jdbcDriver"); + driverNode.setAttribute("name", jdbcDriver.getName()); + driverNode.setAttribute("version", jdbcDriver.getVersion()); + driverNode.setAttribute("type", jdbcDriver.getType()); + driverNode.setAttribute("jarFileName", jdbcDriver.getJarFileName()); + driverNode.setAttribute("className", jdbcDriver.getClassName()); + bookmarkRoot.appendChild(driverNode); + } public void convert(Element bookmarkRoot, Bookmark b) { Document document = bookmarkRoot.getOwnerDocument(); @@ -39,19 +52,21 @@ public class ModelToXMLConverter { MetaDataXMLInterface.createElementText(bookmark,"connect", b.getConnect()); //$NON-NLS-1$ MetaDataXMLInterface.createElementText(bookmark,"autoCommit", b.isAutoCommit() ? "true" : "false"); //$NON-NLS-1$ MetaDataXMLInterface.createElementText(bookmark,"autoCommitPreference", b.getAutoCommitPreference()); //$NON-NLS-1$ - MetaDataXMLInterface.createElementText(bookmark,"driver", b.getDriver()); //$NON-NLS-1$ - MetaDataXMLInterface.createElementText(bookmark,"type", b.getType()); //$NON-NLS-1$ - MetaDataXMLInterface.createElementText(bookmark,"driverLocation", b.getDriverFile()); //$NON-NLS-1$ - Element otherSchemas = (Element) bookmark.appendChild(document.createElement(Messages.getString("ExportXMLAction.OtherSchemas"))); //$NON-NLS-1$ - Schema[] schemas = b.getSchemas(); - for (int i = 0, length = (schemas == null) ? 0 : schemas.length; - i < length; - i++) { - if (!schemas[i].isDefault()) { - MetaDataXMLInterface.createElementText( - otherSchemas,Messages.getString("ExportXMLAction.SchemaName"), schemas[i].getName()); //$NON-NLS-1$ - } + MetaDataXMLInterface.createElementText(bookmark,"driver", b.getJDBCDriver().getClassName()); //$NON-NLS-1$ + MetaDataXMLInterface.createElementText(bookmark,"type", b.getJDBCDriver().getType()); //$NON-NLS-1$ + MetaDataXMLInterface.createElementText(bookmark,"driverLocation", b.getJDBCDriver().getJarFileName()); //$NON-NLS-1$ + Element otherSchemas = (Element) bookmark.appendChild(document.createElement("Other_Schemas")); //$NON-NLS-1$ + otherSchemas.setAttribute("schemaRule", + b.useAllSchemas() + ? "useAll" + : b.useUsernameAsSchema() ? "useDefault" : "useSelected"); + + Schema[] schemas = b.getSchemaSelections(); + for (int i = 0, length = (schemas == null) ? 0 : schemas.length; i < length; i++) { + MetaDataXMLInterface.createElementText( + otherSchemas,"schema", schemas[i].getName()); //$NON-NLS-1$ } + Entity[] quickList = b.getQuickListEntries(); Element quickListEntity = document.createElement("quickList"); for (int j = 0, length = (quickList == null) ? 0 : quickList.length; @@ -75,7 +90,11 @@ public class ModelToXMLConverter { element.setAttribute("schema", entity.getSchema()); } if (recurse) { - convert(element, entity.getColumns()); + try { + convert(element, entity.getColumns()); + } catch (NotConnectedException e) { + } catch (SQLException e) { + } } parent.appendChild(element); }