misc
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / model / xml / ModelToXMLConverter.java
index fc282e6..5251fdc 100644 (file)
@@ -1,10 +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;
 
@@ -34,6 +36,7 @@ public class ModelToXMLConverter {
         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);
@@ -50,18 +53,20 @@ public class ModelToXMLConverter {
                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.getJDBCDriver().getClassName()); //$NON-NLS-1$
-        MetaDataXMLInterface.createElementText(bookmark,"type", b.getType()); //$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(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$
-            }
+        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;
@@ -85,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);
     }