Author: alexoree
Date: Wed Nov 27 00:56:55 2013
New Revision: 1545894
URL: http://svn.apache.org/r1545894
Log:
JUDDI-633 adding tmodel comparison class which supports numbers, dates, and
durations
Added:
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparator.java
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparatorTest.java
Added:
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparator.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparator.java?rev=1545894&view=auto
==============================================================================
---
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparator.java
(added)
+++
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparator.java
Wed Nov 27 00:56:55 2013
@@ -0,0 +1,175 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.v3.client.util;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeConstants;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import org.uddi.api_v3.InstanceDetails;
+import org.uddi.api_v3.TModelInstanceDetails;
+
+/**
+ * Compares two UDDI TModelInstanceDetails, searching for a specific tModel
key,
+ * then parsing to the selected data type, then comparing.
+ *
+ * @author Alex O'Ree
+ */
+public class TModelInstanceDetailsComparator {
+
+ /**
+ *
+ * @param TModelKey for TModelInstanceInfo to use for comparison
+ * @param number if true, the InstanceDetails.InstanceParms will be treated
+ * like a number
+ * @param XMLdate if true, the InstanceDetails.InstanceParms will be
treated
+ * like a XML Date
+ * @param XMLduration if true, the InstanceDetails.InstanceParms will be
+ * treated like a XML Gregorian Calendar
+ * @see Duration
+ * @see XMLGregorianCalendar
+ * @throws DatatypeConfigurationException
+ */
+ public TModelInstanceDetailsComparator(String TModelKey, boolean number,
boolean XMLdate, boolean XMLduration) throws DatatypeConfigurationException,
IllegalArgumentException {
+ if (TModelKey == null || TModelKey.length() == 0) {
+ throw new IllegalArgumentException();
+ }
+ compareField = TModelKey;
+ if (!number && !XMLdate && !XMLduration) {
+ throw new IllegalArgumentException("only one data type can be
selected");
+ }
+ if (number && XMLdate && !XMLduration) {
+ throw new IllegalArgumentException("only one data type can be
selected");
+ }
+ if (number && !XMLdate && XMLduration) {
+ throw new IllegalArgumentException("only one data type can be
selected");
+ }
+ if (!number && XMLdate && XMLduration) {
+ throw new IllegalArgumentException("only one data type can be
selected");
+ }
+ if (number && XMLdate && XMLduration) {
+ throw new IllegalArgumentException("only one data type can be
selected");
+ }
+ fac = DatatypeFactory.newInstance();
+ isNumber = number;
+ isDate = XMLdate;
+ isDuration = XMLduration;
+ }
+ DatatypeFactory fac = null;
+ String compareField = null;
+ boolean isNumber = false;
+ boolean isDate = false;
+ boolean isDuration = false;
+
+ /**
+ * Compares two non-null instances of TModelInstanceDetails by only
+ * comparing the field designated from the constructor. It will also cast
or
+ * parse TModelInstanceDetails[i].InstanceDetails[k].InstanceParms to the
+ * selected data type double, XMLGregorgian or Duration, using that as a
+ * basis for comparison. If a parsing error occurs, an exception will be
+ * thrown.
+ *
+ * @param lhs
+ * @param rhs
+ * @return less than 0 if lhs < rhs, greater than 0 if lhs > rhs.
+ * @throws IllegalArgumentException if the tModel key to search for is
+ * missing, if either sides are null
+ * @throws ArrayIndexOutOfBoundsException if the values were found but
could
+ * not be compared
+ */
+ public int compare(TModelInstanceDetails lhs, TModelInstanceDetails rhs)
throws IllegalArgumentException, NumberFormatException, NullPointerException,
ArrayIndexOutOfBoundsException {
+ if (lhs == null) {
+ throw new IllegalArgumentException("lhs");
+ }
+ if (rhs == null) {
+ throw new IllegalArgumentException("rhs");
+ }
+ if (lhs.getTModelInstanceInfo().isEmpty() ||
rhs.getTModelInstanceInfo().isEmpty()) {
+ throw new IllegalArgumentException("no data to compare");
+ }
+ InstanceDetails lhsc = null;
+ InstanceDetails rhsc = null;
+ for (int i = 0; i < lhs.getTModelInstanceInfo().size(); i++) {
+ if
(lhs.getTModelInstanceInfo().get(i).getTModelKey().equalsIgnoreCase(compareField))
{
+ lhsc = lhs.getTModelInstanceInfo().get(i).getInstanceDetails();
+ }
+ }
+ for (int i = 0; i < rhs.getTModelInstanceInfo().size(); i++) {
+ if
(rhs.getTModelInstanceInfo().get(i).getTModelKey().equalsIgnoreCase(compareField))
{
+ rhsc = rhs.getTModelInstanceInfo().get(i).getInstanceDetails();
+ }
+ }
+
+ if (lhsc == null) {
+ throw new IllegalArgumentException(compareField + " not found for
lhs");
+ }
+ if (rhsc == null) {
+ throw new IllegalArgumentException(compareField + " not found for
rhs");
+ }
+ if (lhsc.getInstanceParms() == null) {
+ throw new IllegalArgumentException(compareField + " found lhs, but
no data");
+ }
+ if (rhsc.getInstanceParms() == null) {
+ throw new IllegalArgumentException(compareField + " found rhs, but
no data");
+ }
+ if (isNumber) {
+ Double l = Double.parseDouble(lhsc.getInstanceParms());
+ Double r = Double.parseDouble(rhsc.getInstanceParms());
+ return l.compareTo(r);
+ }
+
+ if (isDate) {
+ XMLGregorianCalendar l =
fac.newXMLGregorianCalendar(lhsc.getInstanceParms());
+ XMLGregorianCalendar r =
fac.newXMLGregorianCalendar(rhsc.getInstanceParms());
+ //System.out.println(l.toXMLFormat() + " " + r.toXMLFormat());
+ int x = l.compare(r);
+
+ if (x == DatatypeConstants.LESSER) {
+ return -1;
+ }
+
+ if (x == DatatypeConstants.GREATER) {
+ return 1;
+ }
+ if (x == DatatypeConstants.EQUAL) {
+ return 0;
+ }
+ throw new ArrayIndexOutOfBoundsException("cannot compare, result
was " + x);
+ }
+
+ if (isDuration) {
+ Duration l = fac.newDuration(lhsc.getInstanceParms());
+ Duration r = fac.newDuration(rhsc.getInstanceParms());
+ // System.out.println(l.toString() + " " + r.toString());
+ int x = l.compare(r);
+
+ if (x == DatatypeConstants.LESSER) {
+ return -1;
+ }
+
+ if (x == DatatypeConstants.GREATER) {
+ return 1;
+ }
+ if (x == DatatypeConstants.EQUAL) {
+ return 0;
+ }
+ throw new ArrayIndexOutOfBoundsException("cannot compare, result
was " + x);
+ }
+
+ return 0;
+ }
+}
Added:
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparatorTest.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparatorTest.java?rev=1545894&view=auto
==============================================================================
---
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparatorTest.java
(added)
+++
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/util/TModelInstanceDetailsComparatorTest.java
Wed Nov 27 00:56:55 2013
@@ -0,0 +1,463 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.v3.client.util;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.uddi.api_v3.InstanceDetails;
+import org.uddi.api_v3.TModelInstanceDetails;
+import org.uddi.api_v3.TModelInstanceInfo;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class TModelInstanceDetailsComparatorTest {
+
+ public TModelInstanceDetailsComparatorTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() {
+ }
+
+ @AfterClass
+ public static void tearDownClass() {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of compare method, of class TModelInstanceDetailsComparator.
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls");
+ TModelInstanceDetails lhs = null;
+ TModelInstanceDetails rhs = null;
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator(null, true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls2() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls2");
+ TModelInstanceDetails lhs = null;
+ TModelInstanceDetails rhs = null;
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, true, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls3() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls3");
+ TModelInstanceDetails lhs = null;
+ TModelInstanceDetails rhs = null;
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, true);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls4() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls4");
+ TModelInstanceDetails lhs = null;
+ TModelInstanceDetails rhs = null;
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, true, true);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls5() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls5");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls6() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls6");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls7() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls7");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNulls8() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare nulls8");
+ TModelInstanceDetails lhs = null;
+ TModelInstanceDetails rhs = null;
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNotFound() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare notfound");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("asd");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("asd");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToNoData() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToNoData");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToLHSNull() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToLHSNull");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
//lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToRHSNull() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToRHSNull");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
//rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test(expected = NumberFormatException.class)
+ public void testCompareToNotNumberData() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToNotNumberData");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("xyz");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ }
+
+ @Test
+ public void testCompareToNumberDataEquals() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToNumberDataEquals");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.14");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.14");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+ int expResult = 0;
+ int result = instance.compare(lhs, rhs);
+ Assert.assertEquals("result " + result, expResult, result);
+ }
+
+ @Test
+ public void testCompareToNumberDataGT() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToNumberDataGT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.15");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.14");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " + result, result > 0);
+ }
+
+ @Test
+ public void testCompareToNumberDataLT() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToNumberDataLT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.10");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("3.14");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", true, false, false);
+
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " + result, result < 0);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToDate() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDate");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("asdasd");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("asdasdasd");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, true, false);
+
+ int result = instance.compare(lhs, rhs);
+ //Assert.assertTrue("result " + result,result < 0);
+
+ }
+
+ @Test
+ public void testCompareToDateGT() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDateGT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2006-05-30T09:30:10-06:00");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2004-05-30T09:30:10-06:00");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, true, false);
+
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result > 0);
+
+ }
+
+ @Test
+ public void testCompareToDateLT() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDateLT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2002-05-30T09:30:10-06:00");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2005-05-30T09:30:10-06:00");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, true, false);
+
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result < 0);
+
+ }
+
+ @Test
+ public void testCompareToDateEQ() throws DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDateEQ");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2002-05-30T09:30:10-06:00");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("2002-05-30T09:30:10-06:00");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, true, false);
+
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result == 0);
+
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testCompareToDurationInvalid() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDurationInvalid");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("asdasd");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("asdasd");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, false, true);
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " + result, result == 0);
+ }
+
+ @Test
+ public void testCompareToDurationLT() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDurationLT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P1Y");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P3Y");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, false, true);
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result < 0);
+ }
+
+ @Test
+ public void testCompareToDurationGT() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDurationGT");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P5Y");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P2Y");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, false, true);
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result > 0);
+ }
+
+ @Test
+ public void testCompareToDurationEQ() throws
DatatypeConfigurationException {
+ System.out.println("TModelInstanceDetailsComparator.compare
testCompareToDurationEQ");
+ TModelInstanceDetails lhs = new TModelInstanceDetails();
+ lhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ lhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ lhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P5Y");
+ TModelInstanceDetails rhs = new TModelInstanceDetails();
+
+ rhs.getTModelInstanceInfo().add(new TModelInstanceInfo());
+ rhs.getTModelInstanceInfo().get(0).setTModelKey("hi");
+ rhs.getTModelInstanceInfo().get(0).setInstanceDetails(new
InstanceDetails());
+
rhs.getTModelInstanceInfo().get(0).getInstanceDetails().setInstanceParms("P5Y");
+ TModelInstanceDetailsComparator instance = new
TModelInstanceDetailsComparator("hi", false, false, true);
+ int result = instance.compare(lhs, rhs);
+ Assert.assertTrue("result " +
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
compare to " +
+
lhs.getTModelInstanceInfo().get(0).getInstanceDetails().getInstanceParms() + "
" +
+ result, result == 0);
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]