Backport: #131603 Invalid data source name generated when dragging table from FireBird database
authorJinB <jinb@netbeans.org>
Sat, 03 May 2008 16:24:28 +0200
changeset 3031c4759ed9d302
parent 3030 573a85c67fe4
child 3032 fb488ae39d82
Backport: #131603 Invalid data source name generated when dragging table from FireBird database
visualweb.dataconnectivity/src/org/netbeans/modules/visualweb/dataconnectivity/model/DatasourceTransferManager.java
     1.1 --- a/visualweb.dataconnectivity/src/org/netbeans/modules/visualweb/dataconnectivity/model/DatasourceTransferManager.java	Sat May 03 15:32:19 2008 +0200
     1.2 +++ b/visualweb.dataconnectivity/src/org/netbeans/modules/visualweb/dataconnectivity/model/DatasourceTransferManager.java	Sat May 03 16:24:28 2008 +0200
     1.3 @@ -93,7 +93,9 @@
     1.4      public static String rowSetClassName = "com.sun.sql.rowset.CachedRowSetXImpl";
     1.5      private static final Logger LOGGER = 
     1.6              Logger.getLogger(DatasourceTransferManager.class.getName());
     1.7 -
     1.8 +    
     1.9 +    private static final String UNDERSCORE = "_";  // NOI18N
    1.10 +    private static final String SLASH = "/";  // NOI18N
    1.11      
    1.12      public DisplayItem getDisplayItem(Transferable transferable) {
    1.13          Object transferData = null;
    1.14 @@ -156,6 +158,7 @@
    1.15              dbConnection = connection;
    1.16              jdbcDriver = driver;
    1.17          }
    1.18 +        @Override
    1.19          public Result beansCreatedSetup(DesignBean[] designBeans) {
    1.20              DesignBean designBean = designBeans[0];
    1.21              
    1.22 @@ -178,25 +181,28 @@
    1.23              String password = dbConnection.getPassword();
    1.24              String schema = dbConnection.getSchema();
    1.25              
    1.26 -            if (schema.equals("")) {
    1.27 -                if (databaseProductName.equals("MySQL") && url.lastIndexOf("?") == -1)
    1.28 -                    dsName = url.substring(url.lastIndexOf("/") + 1, url.length()) + "_" + databaseProductName;
    1.29 -                else if (databaseProductName.contains("/")) {
    1.30 -                    int slashLoc = databaseProductName.indexOf("/");
    1.31 +            if (schema.equals("")) { // NOI18N
    1.32 +                if (databaseProductName.equals("MySQL") && url.lastIndexOf("?") == -1) // NOI18N
    1.33 +                    dsName = url.substring(url.lastIndexOf(SLASH) + 1, url.length()) + UNDERSCORE + databaseProductName; 
    1.34 +                else if (databaseProductName.contains("Firebird")) { // NOI18N
    1.35 +                    dsName = getTableName() + UNDERSCORE + "Firebird"; // NOI18N
    1.36 +                }
    1.37 +                else if (databaseProductName.contains(SLASH)) { 
    1.38 +                    int slashLoc = databaseProductName.indexOf(SLASH); 
    1.39                      String prefix = databaseProductName.substring(0, slashLoc);
    1.40                      String suffix = databaseProductName.substring(slashLoc+1);                   
    1.41 -                    dsName = prefix + "_" + suffix;
    1.42 -                } else if (databaseProductName.equals("MySQL")) {
    1.43 -                    dsName = url.substring(url.lastIndexOf("/") + 1, url.lastIndexOf("?")) + "_" + databaseProductName;
    1.44 +                    dsName = prefix + UNDERSCORE + suffix;
    1.45 +                } else if (databaseProductName.equals("MySQL")) { // NOI18N
    1.46 +                    dsName = url.substring(url.lastIndexOf(SLASH) + 1, url.lastIndexOf("?")) + UNDERSCORE + databaseProductName; // NOI18N
    1.47                  } else
    1.48 -                    dsName = getTableName() + "_" + databaseProductName;
    1.49 -            } else if (databaseProductName.contains("/")) {
    1.50 -                int slashLoc = databaseProductName.indexOf("/");
    1.51 +                    dsName = getTableName() + UNDERSCORE + databaseProductName; 
    1.52 +            } else if (databaseProductName.contains(SLASH)) { 
    1.53 +                int slashLoc = databaseProductName.indexOf(SLASH); 
    1.54                  String prefix = databaseProductName.substring(0, slashLoc);
    1.55                  String suffix = databaseProductName.substring(slashLoc+1);
    1.56 -                dsName = prefix + "_" + suffix;
    1.57 +                dsName = prefix + UNDERSCORE + suffix; 
    1.58              } else {
    1.59 -                dsName = dbConnection.getSchema() + "_" + databaseProductName;
    1.60 +                dsName = dbConnection.getSchema() + UNDERSCORE + databaseProductName;
    1.61              }
    1.62              
    1.63              // Check if target server supports data source creation.  If not then cancel drop