Revision: 3730
Author: [email protected]
Date: Wed Jul 14 08:51:55 2010
Log: Factored SQLObjectUUIDComparator out of Architect into the library.
http://code.google.com/p/power-architect/source/detail?r=3730
Deleted:
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLObjectUUIDComparator.java
Modified:
/trunk/src/main/java/ca/sqlpower/architect/diff/CompareSQL.java
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLIndexComparator.java
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLRelationshipComparator.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLObjectUUIDComparator.java
Wed Feb 24 14:00:05 2010
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2008, SQL Power Group Inc.
- *
- * This file is part of Power*Architect.
- *
- * Power*Architect is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Power*Architect is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package ca.sqlpower.architect.diff;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-import ca.sqlpower.sqlobject.SQLObject;
-
-public class SQLObjectUUIDComparator implements Comparator<SQLObject>,
Serializable {
-
- /**
- * Compares two SQLObjects case-insensitively by name only. Case
comparison
- * is performed with respect to the current default locale. No subtype
- * checking is performed, so (wlog) a table and a relationship with
the same
- * name will compare equal to each other.
- * <p>
- * Null values are allowed for either side of the comparison, and are
- * considered to come before non-null values. Nulls are taken as equal
to
- * each other.
- */
- @edu.umd.cs.findbugs.annotations.SuppressWarnings(
- value={"ES_COMPARING_PARAMETER_STRING_WITH_EQ"},
- justification="It's just a pre-check for null==null or
reference equality by luck. " +
- "Falls back to String.compareTo() at the end of
the method.")
- public int compare(SQLObject t1, SQLObject t2) {
- // if t1 and t2 refer to the same object, or are both null, then they're
equal
- if (t1 == t2) return 0;
- else if (t1 == null) return -1;
- else if (t2 == null) return 1;
- else {
- return t1.getUUID().compareTo(t2.getUUID());
- }
- }
-}
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/diff/CompareSQL.java Thu May
20 14:46:10 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/diff/CompareSQL.java Wed Jul
14 08:51:55 2010
@@ -36,6 +36,7 @@
import ca.sqlpower.diff.DiffChunk;
import ca.sqlpower.diff.DiffType;
import ca.sqlpower.diff.PropertyChange;
+import ca.sqlpower.object.SPObjectUUIDComparator;
import ca.sqlpower.sqlobject.SQLColumn;
import ca.sqlpower.sqlobject.SQLIndex;
import ca.sqlpower.sqlobject.SQLObject;
@@ -60,7 +61,7 @@
/**
* A comparator that detects equality by comparing the UUID
*/
- final static Comparator<SQLObject> uuidComparator = new
SQLObjectUUIDComparator();
+ final static Comparator<SQLObject> uuidComparator = new
SPObjectUUIDComparator<SQLObject>();
/**
* The source tables that this compare object will use when asked
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/diff/SQLIndexComparator.java
Wed Feb 24 14:00:05 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/diff/SQLIndexComparator.java
Wed Jul 14 08:51:55 2010
@@ -26,6 +26,7 @@
import org.apache.log4j.Logger;
+import ca.sqlpower.object.SPObjectUUIDComparator;
import ca.sqlpower.sqlobject.SQLIndex;
import ca.sqlpower.sqlobject.SQLIndex.AscendDescend;
import ca.sqlpower.sqlobject.SQLIndex.Column;
@@ -50,7 +51,7 @@
public SQLIndexComparator(boolean useUUID) {
if (useUUID) {
- comparator = new SQLObjectUUIDComparator();
+ comparator = new SPObjectUUIDComparator<SQLObject>();
} else {
comparator = new SQLObjectComparator();
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLRelationshipComparator.java
Wed Feb 24 14:00:05 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/diff/SQLRelationshipComparator.java
Wed Jul 14 08:51:55 2010
@@ -25,6 +25,7 @@
import org.apache.log4j.Logger;
+import ca.sqlpower.object.SPObjectUUIDComparator;
import ca.sqlpower.sqlobject.SQLColumn;
import ca.sqlpower.sqlobject.SQLObject;
import ca.sqlpower.sqlobject.SQLRelationship;
@@ -35,7 +36,8 @@
private static Logger logger =
Logger.getLogger(SQLRelationshipComparator.class);
private SQLObjectComparator nameComparator = new SQLObjectComparator();
- private SQLObjectUUIDComparator uuidComparator = new
SQLObjectUUIDComparator();
+ private SPObjectUUIDComparator<SQLObject> uuidComparator =
+ new SPObjectUUIDComparator<SQLObject>();
private boolean useUUID;
public SQLRelationshipComparator() {