You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by sv...@apache.org on 2004/07/02 22:11:40 UTC
cvs commit: ws-juddi/src/java/org/apache/juddi/datastore/jdbc TModelTable.java FindTModelByNameQuery.java
sviens 2004/07/02 13:11:40
Modified: src/java/org/apache/juddi/datastore/jdbc TModelTable.java
FindTModelByNameQuery.java
Log:
Fix for bug# JUDDI-27. The find_tModel and get_tModelDetail functions have been updated to ignore TModels that have been marked as deleted. A TModel is said to be deleted when the DELETED column of it's corresponding row in the TMODEL table is NOT NULL.
Revision Changes Path
1.4 +20 -5 ws-juddi/src/java/org/apache/juddi/datastore/jdbc/TModelTable.java
Index: TModelTable.java
===================================================================
RCS file: /home/cvs/ws-juddi/src/java/org/apache/juddi/datastore/jdbc/TModelTable.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TModelTable.java 1 May 2004 00:58:54 -0000 1.3
+++ TModelTable.java 2 Jul 2004 20:11:40 -0000 1.4
@@ -76,17 +76,21 @@
sql.append("AUTHORIZED_NAME,");
sql.append("OPERATOR,");
sql.append("NAME,");
- sql.append("OVERVIEW_URL ");
+ sql.append("OVERVIEW_URL,");
+ sql.append("DELETED ");
sql.append("FROM TMODEL ");
- sql.append("WHERE TMODEL_KEY=?");
+ sql.append("WHERE TMODEL_KEY=? ");
+ sql.append("AND DELETED IS NULL");
selectSQL = sql.toString();
// build selectByPublisherSQL
sql = new StringBuffer(200);
sql.append("SELECT ");
- sql.append("TMODEL_KEY ");
+ sql.append("TMODEL_KEY,");
+ sql.append("DELETED ");
sql.append("FROM TMODEL ");
- sql.append("WHERE PUBLISHER_ID=?");
+ sql.append("WHERE PUBLISHER_ID=? ");
+ sql.append("AND DELETED IS NULL");
selectByPublisherSQL = sql.toString();
// build verifyOwnershipSQL
@@ -94,7 +98,8 @@
sql.append("SELECT * ");
sql.append("FROM TMODEL ");
sql.append("WHERE TMODEL_KEY=? ");
- sql.append("AND PUBLISHER_ID=?");
+ sql.append("AND PUBLISHER_ID=? " );
+ sql.append("AND DELETED IS NULL");
verifyOwnershipSQL = sql.toString();
}
@@ -200,6 +205,9 @@
statement = connection.prepareStatement(selectSQL);
statement.setString(1,tModelKey.toString());
+ System.out.println(selectSQL +
+ "\n\t TMODEL_KEY=" + tModelKey.toString() + "\n");
+
log.debug(selectSQL +
"\n\t TMODEL_KEY=" + tModelKey.toString() + "\n");
@@ -250,6 +258,9 @@
statement = connection.prepareStatement(selectByPublisherSQL);
statement.setString(1,publisherID.toString());
+ System.out.println(selectByPublisherSQL +
+ "\n\t PUBLISHER_ID=" + publisherID + "\n");
+
log.debug(selectByPublisherSQL +
"\n\t PUBLISHER_ID=" + publisherID + "\n");
@@ -294,6 +305,10 @@
statement = connection.prepareStatement(verifyOwnershipSQL);
statement.setString(1,tModelKey);
statement.setString(2,publisherID);
+
+ System.out.println(verifyOwnershipSQL +
+ "\n\t TMODEL_KEY=" + tModelKey +
+ "\n\t PUBLISHER_ID=" + publisherID + "\n");
log.debug(verifyOwnershipSQL +
"\n\t TMODEL_KEY=" + tModelKey +
1.5 +26 -18 ws-juddi/src/java/org/apache/juddi/datastore/jdbc/FindTModelByNameQuery.java
Index: FindTModelByNameQuery.java
===================================================================
RCS file: /home/cvs/ws-juddi/src/java/org/apache/juddi/datastore/jdbc/FindTModelByNameQuery.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FindTModelByNameQuery.java 1 May 2004 00:55:12 -0000 1.4
+++ FindTModelByNameQuery.java 2 Jul 2004 20:11:40 -0000 1.5
@@ -41,7 +41,7 @@
{
// build selectSQL
StringBuffer sql = new StringBuffer(200);
- sql.append("SELECT M.TMODEL_KEY,M.LAST_UPDATE,M.NAME ");
+ sql.append("SELECT M.TMODEL_KEY,M.LAST_UPDATE,M.NAME,M.DELETED ");
sql.append("FROM TMODEL M ");
selectSQL = sql.toString();
}
@@ -77,7 +77,7 @@
try
{
log.debug(sql.toString());
-
+
statement = sql.buildPreparedStatement(connection);
resultSet = statement.executeQuery();
@@ -116,14 +116,19 @@
if ((name == null) || (name.length() == 0))
return;
+ // When TModels are deleted they are only marked as
+ // deleted they're not actually removed from the database.
+ //
+ sql.append("WHERE M.DELETED IS NULL ");
+
if ((qualifiers != null) && (qualifiers.exactNameMatch))
{
- sql.append("WHERE M.NAME = ? ");
+ sql.append("AND M.NAME = ? ");
sql.addValue(name);
}
else
{
- sql.append("WHERE M.NAME LIKE ? ");
+ sql.append("AND M.NAME LIKE ? ");
sql.addValue(name.endsWith("%") ? name : name+"%");
}
}
@@ -221,19 +226,22 @@
public static void test(Connection connection)
throws Exception
{
- String name = new String("St");
-
- Vector keysIn = null;
- keysIn = new Vector();
- keysIn.add("0e70128c-f7c6-4854-b292-d2f13b638acf");
- keysIn.add("b405450a-64f5-4f95-8131-450429d0ae8c");
- keysIn.add("3009f336-98c1-4193-a22f-fea73e79c909");
- keysIn.add("45994713-d3c3-40d6-87b5-6ce51f36001c");
- keysIn.add("901b15c5-799c-4387-8337-a1a35fceb791");
- keysIn.add("80fdae14-0e5d-4ea6-8eb8-50fde422056d");
- keysIn.add("e1996c33-c436-4004-9e3e-14de191bcc6b");
- keysIn.add("3ef4772f-e04b-46ed-8065-c5a4e167b5ba");
+ String name = new String("");
+ Vector keysIn = new Vector();
+ keysIn.add("uuid:327A56F0-3299-4461-BC23-5CD513E95C55");
+ keysIn.add("uuid:4064C064-6D14-4F35-8953-9652106476A9");
+ keysIn.add("uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88");
+ keysIn.add("uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03");
+ keysIn.add("uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823");
+ keysIn.add("uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4");
+ keysIn.add("uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039");
+ keysIn.add("uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2");
+ keysIn.add("uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4");
+ keysIn.add("uuid:CD153257-086A-4237-B336-6BDCBDCC6634");
+ keysIn.add("uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384");
+ keysIn.add("uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E");
+
Transaction txn = new Transaction();
if (connection != null)
@@ -243,8 +251,8 @@
// begin a new transaction
txn.begin(connection);
- select(name,keysIn,null,connection);
- select(name,null,null,connection);
+ select(name,keysIn,null,connection);
+ select(name,null,null,connection);
// commit the transaction
txn.commit();