You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(45) |
Apr
(150) |
May
(145) |
Jun
(150) |
Jul
(79) |
Aug
(313) |
Sep
(160) |
Oct
(309) |
Nov
(115) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(160) |
Feb
(144) |
Mar
(127) |
Apr
(48) |
May
(102) |
Jun
(54) |
Jul
(245) |
Aug
(94) |
Sep
(152) |
Oct
(162) |
Nov
(166) |
Dec
(740) |
2007 |
Jan
(752) |
Feb
(437) |
Mar
(328) |
Apr
(373) |
May
(569) |
Jun
(399) |
Jul
(369) |
Aug
(627) |
Sep
(100) |
Oct
(306) |
Nov
(166) |
Dec
(282) |
2008 |
Jan
(68) |
Feb
(145) |
Mar
(180) |
Apr
(160) |
May
(277) |
Jun
(229) |
Jul
(1188) |
Aug
(51) |
Sep
(97) |
Oct
(99) |
Nov
(95) |
Dec
(170) |
2009 |
Jan
(39) |
Feb
(73) |
Mar
(120) |
Apr
(121) |
May
(104) |
Jun
(262) |
Jul
(57) |
Aug
(171) |
Sep
(131) |
Oct
(88) |
Nov
(64) |
Dec
(83) |
2010 |
Jan
(55) |
Feb
(67) |
Mar
(124) |
Apr
(64) |
May
(130) |
Jun
(75) |
Jul
(164) |
Aug
(64) |
Sep
(44) |
Oct
(17) |
Nov
(43) |
Dec
(31) |
2011 |
Jan
(21) |
Feb
(10) |
Mar
(43) |
Apr
(46) |
May
(52) |
Jun
(71) |
Jul
(7) |
Aug
(16) |
Sep
(51) |
Oct
(14) |
Nov
(33) |
Dec
(15) |
2012 |
Jan
(12) |
Feb
(61) |
Mar
(129) |
Apr
(76) |
May
(70) |
Jun
(52) |
Jul
(29) |
Aug
(41) |
Sep
(32) |
Oct
(23) |
Nov
(38) |
Dec
(26) |
2013 |
Jan
(35) |
Feb
(37) |
Mar
(51) |
Apr
(15) |
May
(52) |
Jun
(15) |
Jul
(23) |
Aug
(21) |
Sep
(46) |
Oct
(69) |
Nov
(57) |
Dec
(26) |
2014 |
Jan
(5) |
Feb
(13) |
Mar
(17) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(16) |
Nov
(8) |
Dec
(4) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Dave B. <bla...@us...> - 2011-09-08 13:03:55
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv24251/src/javax/cim Modified Files: CIMValuedElement.java CIMArgument.java CIMTypedElement.java CIMQualifier.java CIMDateTimeAbsolute.java CIMQualifierType.java CIMClass.java CIMMethod.java CIMProperty.java CIMClassProperty.java CIMParameter.java CIMDateTimeInterval.java Log Message: 3400209 - Highlighted Static Analysis (PMD) issues Index: CIMDateTimeInterval.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeInterval.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- CIMDateTimeInterval.java 29 Jul 2010 13:10:28 -0000 1.22 +++ CIMDateTimeInterval.java 8 Sep 2011 13:03:52 -0000 1.23 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -29,6 +29,7 @@ * 2994249 2010-04-30 blaschke-oss CIMDateTimeInterval(long) calculates milliseconds * 3018178 2010-06-18 blaschke-oss CIMDateTimeInterval clean up * 3026302 2010-07-07 blaschke-oss CIMDateTimeInterval uses # constructor instead of valueOf + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -249,6 +250,23 @@ } /** + * Determines whether the <code>CIMDateTimeInterval</code> that is passed in + * is equal to the current <code>CIMDateTimeInterval</code> object. + * + * @param pObj + * The <code>CIMDateTimeInterval</code> object to compare to. + * @return <code>true</code> if this <code>CIMDateTimeInterval</code> object + * is equal to the one that was passed in, otherwise + * <code>false</code>. + */ + @Override + public boolean equals(Object pObj) { + if (!(pObj instanceof CIMDateTimeInterval)) return false; + CIMDateTimeInterval that = (CIMDateTimeInterval) pObj; + return getDateTimeString().equals(that.getDateTimeString()); + } + + /** * Gets the internal string representation of this object. * * @return The internal representation of the Index: CIMClassProperty.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMClassProperty.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- CIMClassProperty.java 25 Feb 2010 18:03:34 -0000 1.19 +++ CIMClassProperty.java 8 Sep 2011 13:03:52 -0000 1.20 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,6 +25,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944839 2010-02-08 blaschke-oss Remove redundant toString() methods * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -188,6 +189,18 @@ } /** + * Returns a hash code value for the CIM class property. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM class property. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers defined * for this property. * Index: CIMProperty.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMProperty.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- CIMProperty.java 18 Feb 2010 21:50:01 -0000 1.16 +++ CIMProperty.java 8 Sep 2011 13:03:52 -0000 1.17 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -124,6 +125,18 @@ } /** + * Returns a hash code value for the CIM property. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM property. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Convenience method for determining if this property is a Key. * * @return <code>true</code> if this property is a key. Index: CIMTypedElement.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMTypedElement.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- CIMTypedElement.java 18 Feb 2010 21:50:01 -0000 1.12 +++ CIMTypedElement.java 8 Sep 2011 13:03:52 -0000 1.13 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 2227442 2008-11-05 blaschke-oss Add missing serialVersionUID * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -78,6 +79,18 @@ } /** + * Returns a hash code value for the CIM typed element. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM typed element. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the CIM Element. This * method is intended to be used only for debugging purposes, and the format * of the returned string may vary between implementations. The returned Index: CIMClass.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMClass.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- CIMClass.java 23 Apr 2010 12:35:58 -0000 1.24 +++ CIMClass.java 8 Sep 2011 13:03:52 -0000 1.25 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -26,6 +26,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException * 2975917 2010-03-24 blaschke-oss TCK: CIMClass.getProperty() does not handle null property + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -419,6 +420,18 @@ } /** + * Returns a hash code value for the CIM class. This method is supported for + * the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM class. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM class. * Index: CIMValuedElement.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMValuedElement.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- CIMValuedElement.java 18 Feb 2010 21:50:01 -0000 1.12 +++ CIMValuedElement.java 8 Sep 2011 13:03:52 -0000 1.13 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -87,6 +88,18 @@ } /** + * Returns a hash code value for the CIM valued element. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM valued element. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the CIM Element. This * method is intended to be used only for debugging purposes, and the format * of the returned string may vary between implementations. The returned Index: CIMArgument.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMArgument.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- CIMArgument.java 25 Feb 2010 17:54:32 -0000 1.10 +++ CIMArgument.java 8 Sep 2011 13:03:52 -0000 1.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944839 2010-02-08 blaschke-oss Remove redundant toString() methods + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -76,4 +77,15 @@ return super.equals(pObj); } + /** + * Returns a hash code value for the CIM argument. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM argument. + */ + @Override + public int hashCode() { + return super.hashCode(); + } } Index: CIMDateTimeAbsolute.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeAbsolute.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- CIMDateTimeAbsolute.java 28 Jul 2010 18:56:13 -0000 1.20 +++ CIMDateTimeAbsolute.java 8 Sep 2011 13:03:52 -0000 1.21 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,6 +25,7 @@ * 2944826 2010-02-08 blaschke-oss getUTCOffset() incorrect if not significant field * 2973300 2010-03-19 blaschke-oss TCK: CIMDateTimeXXX.compareTo() does not handle null * 3022501 2010-06-30 blaschke-oss Possible integer overflow in getTotalUSec + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -160,6 +161,23 @@ } /** + * Determines whether the <code>CIMDateTimeAbsolute</code> that is passed in + * is equal to the current <code>CIMDateTimeAbsolute</code> object. + * + * @param pObj + * The <code>CIMDateTimeAbsolute</code> object to compare to. + * @return <code>true</code> if this <code>CIMDateTimeAbsolute</code> object + * is equal to the one that was passed in, otherwise + * <code>false</code>. + */ + @Override + public boolean equals(Object pObj) { + if (!(pObj instanceof CIMDateTimeAbsolute)) return false; + CIMDateTimeAbsolute that = (CIMDateTimeAbsolute) pObj; + return getDateTimeString().equals(that.getDateTimeString()); + } + + /** * Gets the internal string representation of the date/time object. * * @return The internal representation of the date/time object. Index: CIMQualifierType.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMQualifierType.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- CIMQualifierType.java 23 Apr 2010 12:45:34 -0000 1.12 +++ CIMQualifierType.java 8 Sep 2011 13:03:52 -0000 1.13 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2975989 2010-03-24 blaschke-oss TCK: CIMQualifierType constructor does not handle null + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -134,6 +135,18 @@ } /** + * Returns a hash code value for the CIM qualifier type. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM qualifier type. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the * <code>CIMQualifierType</code> This method is intended to be used only for * debugging purposes, and the format of the returned string may vary Index: CIMParameter.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMParameter.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- CIMParameter.java 25 Feb 2010 18:03:34 -0000 1.16 +++ CIMParameter.java 8 Sep 2011 13:03:52 -0000 1.17 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -21,6 +21,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -161,6 +162,18 @@ } /** + * Returns a hash code value for the CIM parameter. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM parameter. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM element. * Index: CIMQualifier.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMQualifier.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- CIMQualifier.java 18 Feb 2010 21:50:01 -0000 1.14 +++ CIMQualifier.java 8 Sep 2011 13:03:52 -0000 1.15 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -129,6 +130,18 @@ } /** + * Returns a hash code value for the CIM qualifier. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM qualifier. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Determines if this qualifier is propagated. If the qualifier was * inherited, this value will be <code>true</code>. If the qualifier was * applied to the element directly, this value will be <code>false</code>. Index: CIMMethod.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMMethod.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- CIMMethod.java 14 Jun 2010 20:00:46 -0000 1.18 +++ CIMMethod.java 8 Sep 2011 13:03:52 -0000 1.19 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -23,6 +23,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException * 3001333 2010-05-19 blaschke-oss CIMMethod class ignores propagated parameter + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -226,6 +227,18 @@ } /** + * Returns a hash code value for the CIM method. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM method. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM method. * |
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv20410/src/javax/cim Modified Files: Tag: Experimental CIMValuedElement.java CIMProperty.java CIMParameter.java CIMQualifierType.java CIMClass.java CIMDateTimeAbsolute.java CIMClassProperty.java CIMMethod.java CIMQualifier.java CIMDateTimeInterval.java CIMArgument.java CIMTypedElement.java Log Message: 3400209 - Highlighted Static Analysis (PMD) issues Index: CIMDateTimeInterval.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeInterval.java,v retrieving revision 1.5.2.17 retrieving revision 1.5.2.18 diff -u -d -r1.5.2.17 -r1.5.2.18 --- CIMDateTimeInterval.java 7 Jul 2010 11:47:22 -0000 1.5.2.17 +++ CIMDateTimeInterval.java 8 Sep 2011 12:26:10 -0000 1.5.2.18 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -29,6 +29,7 @@ * 2994249 2010-04-30 blaschke-oss CIMDateTimeInterval(long) calculates milliseconds * 3018178 2010-06-18 blaschke-oss CIMDateTimeInterval clean up * 3026302 2010-07-07 blaschke-oss CIMDateTimeInterval uses # constructor instead of valueOf + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -249,6 +250,23 @@ } /** + * Determines whether the <code>CIMDateTimeInterval</code> that is passed in + * is equal to the current <code>CIMDateTimeInterval</code> object. + * + * @param pObj + * The <code>CIMDateTimeInterval</code> object to compare to. + * @return <code>true</code> if this <code>CIMDateTimeInterval</code> object + * is equal to the one that was passed in, otherwise + * <code>false</code>. + */ + @Override + public boolean equals(Object pObj) { + if (!(pObj instanceof CIMDateTimeInterval)) return false; + CIMDateTimeInterval that = (CIMDateTimeInterval) pObj; + return getDateTimeString().equals(that.getDateTimeString()); + } + + /** * Gets the internal string representation of this object. * * @return The internal representation of the Index: CIMClassProperty.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMClassProperty.java,v retrieving revision 1.5.2.17 retrieving revision 1.5.2.18 diff -u -d -r1.5.2.17 -r1.5.2.18 --- CIMClassProperty.java 29 Jul 2010 18:44:27 -0000 1.5.2.17 +++ CIMClassProperty.java 8 Sep 2011 12:26:10 -0000 1.5.2.18 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,6 +25,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944839 2010-02-08 blaschke-oss Remove redundant toString() methods * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -188,6 +189,18 @@ } /** + * Returns a hash code value for the CIM class property. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM class property. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers defined * for this property. * Index: CIMProperty.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMProperty.java,v retrieving revision 1.7.2.9 retrieving revision 1.7.2.10 diff -u -d -r1.7.2.9 -r1.7.2.10 --- CIMProperty.java 22 Jan 2010 18:39:48 -0000 1.7.2.9 +++ CIMProperty.java 8 Sep 2011 12:26:09 -0000 1.7.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -124,6 +125,18 @@ } /** + * Returns a hash code value for the CIM property. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM property. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Convenience method for determining if this property is a Key. * * @return <code>true</code> if this property is a key. Index: CIMTypedElement.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMTypedElement.java,v retrieving revision 1.6.2.8 retrieving revision 1.6.2.9 diff -u -d -r1.6.2.8 -r1.6.2.9 --- CIMTypedElement.java 5 Feb 2010 20:41:53 -0000 1.6.2.8 +++ CIMTypedElement.java 8 Sep 2011 12:26:10 -0000 1.6.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 2227442 2008-11-05 blaschke-oss Add missing serialVersionUID * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -78,6 +79,18 @@ } /** + * Returns a hash code value for the CIM typed element. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM typed element. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the CIM Element. This * method is intended to be used only for debugging purposes, and the format * of the returned string may vary between implementations. The returned Index: CIMClass.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMClass.java,v retrieving revision 1.9.2.15 retrieving revision 1.9.2.16 diff -u -d -r1.9.2.15 -r1.9.2.16 --- CIMClass.java 24 Mar 2010 14:17:41 -0000 1.9.2.15 +++ CIMClass.java 8 Sep 2011 12:26:10 -0000 1.9.2.16 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -26,6 +26,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException * 2975917 2010-03-24 blaschke-oss TCK: CIMClass.getProperty() does not handle null property + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -419,6 +420,18 @@ } /** + * Returns a hash code value for the CIM class. This method is supported for + * the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM class. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM class. * Index: CIMValuedElement.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMValuedElement.java,v retrieving revision 1.6.2.8 retrieving revision 1.6.2.9 diff -u -d -r1.6.2.8 -r1.6.2.9 --- CIMValuedElement.java 5 Feb 2010 20:41:53 -0000 1.6.2.8 +++ CIMValuedElement.java 8 Sep 2011 12:26:09 -0000 1.6.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -87,6 +88,18 @@ } /** + * Returns a hash code value for the CIM valued element. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM valued element. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the CIM Element. This * method is intended to be used only for debugging purposes, and the format * of the returned string may vary between implementations. The returned Index: CIMArgument.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMArgument.java,v retrieving revision 1.3.2.8 retrieving revision 1.3.2.9 diff -u -d -r1.3.2.8 -r1.3.2.9 --- CIMArgument.java 8 Feb 2010 20:56:03 -0000 1.3.2.8 +++ CIMArgument.java 8 Sep 2011 12:26:10 -0000 1.3.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944839 2010-02-08 blaschke-oss Remove redundant toString() methods + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -76,4 +77,15 @@ return super.equals(pObj); } + /** + * Returns a hash code value for the CIM argument. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM argument. + */ + @Override + public int hashCode() { + return super.hashCode(); + } } Index: CIMDateTimeAbsolute.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTimeAbsolute.java,v retrieving revision 1.7.2.16 retrieving revision 1.7.2.17 diff -u -d -r1.7.2.16 -r1.7.2.17 --- CIMDateTimeAbsolute.java 30 Jun 2010 14:00:29 -0000 1.7.2.16 +++ CIMDateTimeAbsolute.java 8 Sep 2011 12:26:10 -0000 1.7.2.17 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,6 +25,7 @@ * 2944826 2010-02-08 blaschke-oss getUTCOffset() incorrect if not significant field * 2973300 2010-03-19 blaschke-oss TCK: CIMDateTimeXXX.compareTo() does not handle null * 3022501 2010-06-30 blaschke-oss Possible integer overflow in getTotalUSec + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -160,6 +161,23 @@ } /** + * Determines whether the <code>CIMDateTimeAbsolute</code> that is passed in + * is equal to the current <code>CIMDateTimeAbsolute</code> object. + * + * @param pObj + * The <code>CIMDateTimeAbsolute</code> object to compare to. + * @return <code>true</code> if this <code>CIMDateTimeAbsolute</code> object + * is equal to the one that was passed in, otherwise + * <code>false</code>. + */ + @Override + public boolean equals(Object pObj) { + if (!(pObj instanceof CIMDateTimeAbsolute)) return false; + CIMDateTimeAbsolute that = (CIMDateTimeAbsolute) pObj; + return getDateTimeString().equals(that.getDateTimeString()); + } + + /** * Gets the internal string representation of the date/time object. * * @return The internal representation of the date/time object. Index: CIMQualifierType.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMQualifierType.java,v retrieving revision 1.5.2.9 retrieving revision 1.5.2.10 diff -u -d -r1.5.2.9 -r1.5.2.10 --- CIMQualifierType.java 24 Mar 2010 16:52:12 -0000 1.5.2.9 +++ CIMQualifierType.java 8 Sep 2011 12:26:10 -0000 1.5.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2975989 2010-03-24 blaschke-oss TCK: CIMQualifierType constructor does not handle null + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -134,6 +135,18 @@ } /** + * Returns a hash code value for the CIM qualifier type. This method is + * supported for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM qualifier type. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Returns a <code>String</code> representation of the * <code>CIMQualifierType</code> This method is intended to be used only for * debugging purposes, and the format of the returned string may vary Index: CIMParameter.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMParameter.java,v retrieving revision 1.6.2.10 retrieving revision 1.6.2.11 diff -u -d -r1.6.2.10 -r1.6.2.11 --- CIMParameter.java 8 Feb 2010 21:16:03 -0000 1.6.2.10 +++ CIMParameter.java 8 Sep 2011 12:26:10 -0000 1.6.2.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -21,6 +21,7 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -161,6 +162,18 @@ } /** + * Returns a hash code value for the CIM parameter. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM parameter. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM element. * Index: CIMQualifier.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMQualifier.java,v retrieving revision 1.5.2.9 retrieving revision 1.5.2.10 diff -u -d -r1.5.2.9 -r1.5.2.10 --- CIMQualifier.java 22 Jan 2010 18:39:48 -0000 1.5.2.9 +++ CIMQualifier.java 8 Sep 2011 12:26:10 -0000 1.5.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -129,6 +130,18 @@ } /** + * Returns a hash code value for the CIM qualifier. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM qualifier. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Determines if this qualifier is propagated. If the qualifier was * inherited, this value will be <code>true</code>. If the qualifier was * applied to the element directly, this value will be <code>false</code>. Index: CIMMethod.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMMethod.java,v retrieving revision 1.7.2.11 retrieving revision 1.7.2.12 diff -u -d -r1.7.2.11 -r1.7.2.12 --- CIMMethod.java 19 May 2010 16:59:01 -0000 1.7.2.11 +++ CIMMethod.java 8 Sep 2011 12:26:10 -0000 1.7.2.12 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -23,6 +23,7 @@ * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException * 3001333 2010-05-19 blaschke-oss CIMMethod class ignores propagated parameter + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package javax.cim; @@ -226,6 +227,18 @@ } /** + * Returns a hash code value for the CIM method. This method is supported + * for the benefit of hashtables such as those provided by + * <code>java.util.Hashtable</code>. + * + * @return A hash code value for this CIM method. + */ + @Override + public int hashCode() { + return toString().hashCode(); + } + + /** * Checks whether the specified qualifier is one of the qualifiers in this * CIM method. * |
From: Dave B. <bla...@us...> - 2011-09-08 12:26:11
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http In directory vz-cvs-3.sog:/tmp/cvs-serv20410/src/org/sblim/cimclient/internal/http Modified Files: Tag: Experimental HttpClientPool.java HttpClient.java Log Message: 3400209 - Highlighted Static Analysis (PMD) issues Index: HttpClientPool.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http/HttpClientPool.java,v retrieving revision 1.5.2.6 retrieving revision 1.5.2.7 diff -u -d -r1.5.2.6 -r1.5.2.7 --- HttpClientPool.java 23 Feb 2009 18:25:57 -0000 1.5.2.6 +++ HttpClientPool.java 8 Sep 2011 12:26:08 -0000 1.5.2.7 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2005, 2009 + * (C) Copyright IBM Corp. 2005, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,7 +25,8 @@ * 1714902 2007-05-08 lupusalex Threading related weak spots * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package org.sblim.cimclient.internal.http; @@ -254,8 +255,9 @@ } @Override - protected void finalize() { + protected void finalize() throws Throwable { closePool(); + super.finalize(); } /** Index: HttpClient.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http/HttpClient.java,v retrieving revision 1.12.2.25 retrieving revision 1.12.2.26 diff -u -d -r1.12.2.25 -r1.12.2.26 --- HttpClient.java 20 Jun 2011 23:28:56 -0000 1.12.2.25 +++ HttpClient.java 8 Sep 2011 12:26:08 -0000 1.12.2.26 @@ -59,6 +59,7 @@ * 3195069 2011-02-28 blaschke-oss Need support to disable SSL Handshake * 3235440 2011-03-22 blaschke-oss NullPointerException when socket factory returns null * 3323310 2011-06-20 blaschke-oss Need the ability to override certain Global Properties + * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues */ package org.sblim.cimclient.internal.http; @@ -410,11 +411,13 @@ } @Override - public void finalize() { + protected void finalize() throws Throwable { try { this.iSocket.close(); } catch (IOException e) { // bad luck + } finally { + super.finalize(); } } |
From: Dave B. <bla...@us...> - 2011-09-08 11:32:27
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/doc-files In directory vz-cvs-3.sog:/tmp/cvs-serv13736/src/org/sblim/cimclient/doc-files Modified Files: unittest.html Log Message: 3397922 - support OctetString Index: unittest.html =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/doc-files/unittest.html,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- unittest.html 31 May 2011 14:06:48 -0000 1.12 +++ unittest.html 8 Sep 2011 11:32:24 -0000 1.13 @@ -24,13 +24,14 @@ * 2990370 2010-04-22 blaschke-oss Development/unittest HTML out of date * 2994252 2010-04-30 blaschke-oss CIMDateTimeInterval.getTotalMilliseconds() not unit tested * 3293248 2011-05-03 blaschke-oss Support for CIM_ERROR instances within ERROR + * 3397922 2011-08-30 blaschke-oss support OctetString --> </head> <body style="background-color: white;"> <h1>Unit Test Coverage</h1> - <p>The SBLIM CIM Client for Java ships with a large collection of around 150 + <p>The SBLIM CIM Client for Java ships with a large collection of around 160 unit tests. Whenever you the "all" target is build with ant the complete unit test suite will be executed. This document describes what is covered by these tests.</p> @@ -414,7 +415,33 @@ codes and description are correctly set in the exception.</td></tr> </table> - +<h3>cim.CIMOctetStringTest</h3> + <table border="1" cellpadding="5" cellspacing="0" width="100%"> + <tr><td>testByteConstructorGood</td> + <td>Tests valid invocations of the CIMOctetString(UnsignedInteger8[]) + constructor by examining return values from getASCIIString() and + getHexString().</td></tr> + <tr><td>testHexConstructorGood</td> + <td>Tests valid invocations of the CIMOctetString(String, true) + constructor by examining return values from getASCIIString() and + getBytes().</td></tr> + <tr><td>testAsciiConstructorGood</td> + <td>Tests valid invocations of the CIMOctetString(String, false) + constructor by examining return values from getHexString() and + getBytes().</td></tr> + <tr><td>testByteConstructorBad</td> + <td>Tests invalid invocations of the CIMOctetString(UnsignedInteger8[]) + constructor by expecting IllegalArgumentExceptions.</td></tr> + <tr><td>testHexConstructorBad</td> + <td>Tests invalid invocations of the CIMOctetString(String, true) + constructor by expecting IllegalArgumentExceptions.</td></tr> + <tr><td>testAsciiConstructorBad</td> + <td>Tests invalid invocations of the CIMOctetString(String, false) + constructor by expecting IllegalArgumentExceptions.</td></tr> + <tr><td>testEquals</td> + <td>Tests valid and invalid invocations of the equals() and hashCode() + methods.</td></tr> + </table> </body> </html> |
From: Michael Chase-S. <mc...@us...> - 2011-09-07 00:11:16
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 6d2b8dd1f7a0c4856feac9593cae24b491dd73da (commit) from dc564e899d7c6c574be09e2d6b5c9565261c2d00 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6d2b8dd1f7a0c4856feac9593cae24b491dd73da Author: Michael Chase-Salerno <br...@li...> Date: Tue Sep 6 20:10:39 2011 -0400 [ 3400114 ] sfcb fails to start with ipv6 disabled ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index e200d59..033aff1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-09-06 Michael Chase-Salerno <br...@li...> + + * httpAdapter.c: + [ 3400114 ] sfcb fails to start with ipv6 disabled + Patch from kkaempf + 2011-08-26 Chris Buccella <buc...@li...> * interopProvider.c: diff --git a/NEWS b/NEWS index 194ddda..3e33140 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ Bugs fixed: - 3199899 sfcb uninstall process should remove test mof's - 3300167 Memory leaks caused by cimRequest changes - 3101157 Failed to enable provider timing analysis with SfcbLocal +- 3400114 sfcb fails to start with ipv6 disabled Changes in 1.4.1 ================ diff --git a/httpAdapter.c b/httpAdapter.c index 8e2fa35..b308c7f 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -170,6 +170,10 @@ typedef struct _buffer { #define USE_INET6 #endif +#ifdef USE_INET6 +static int fallback_ipv4; +#endif + #define SET_HDR_CP(member, val) member = val + strspn(val, " \t"); \ void @@ -1432,6 +1436,7 @@ getSocket() if (fd < 0) { mlogf(M_INFO, M_SHOW, "--- Using IPv4 address\n"); fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + fallback_ipv4 = 1; } #else fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); @@ -1442,53 +1447,76 @@ getSocket() return fd; } -static int -bindToPort(int sock, int port, void *ssin, socklen_t * sin_len) -{ - #ifdef USE_INET6 +static struct sockaddr * +prepSockAddr6(int port, void *ssin, socklen_t * sin_len) +{ struct sockaddr_in6 *sin = ssin; -#else - struct sockaddr_in *sin = ssin; -#endif *sin_len = sizeof(*sin); - memset(sin, 0, *sin_len); - if (sock >= 0) { + sin->sin6_family = AF_INET6; + if (httpLocalOnly) + sin->sin6_addr = in6addr_loopback; + else + sin->sin6_addr = in6addr_any; + sin->sin6_port = htons(port); -#ifdef USE_INET6 - sin->sin6_family = AF_INET6; - if (httpLocalOnly) - sin->sin6_addr = in6addr_loopback; - else - sin->sin6_addr = in6addr_any; - sin->sin6_port = htons(port); -#else - sin->sin_family = AF_INET; - if (httpLocalOnly) { - const char *loopback_int = "127.0.0.1"; - inet_aton(loopback_int, &(sin->sin_addr)); - } else - sin->sin_addr.s_addr = INADDR_ANY; - sin->sin_port = htons(port); + return (struct sockaddr *) sin; +} #endif - if (bind(sock, (struct sockaddr *) sin, *sin_len) || listen(sock, 10)) { - mlogf(M_ERROR, M_SHOW, "--- Cannot listen on port %ld (%s)\n", port, - strerror(errno)); - sleep(1); - return 1; - } - return 0; +static struct sockaddr * +prepSockAddr4(int port, void *ssin, socklen_t * sin_len) +{ + struct sockaddr_in *sin = ssin; + + *sin_len = sizeof(*sin); + memset(sin, 0, *sin_len); + + sin->sin_family = AF_INET; + if (httpLocalOnly) { + const char *loopback_int = "127.0.0.1"; + inet_aton(loopback_int, &(sin->sin_addr)); + } else + sin->sin_addr.s_addr = INADDR_ANY; + sin->sin_port = htons(port); + return (struct sockaddr *) sin; +} + + +static int +bindToPort(int sock, int port, void *ssin, socklen_t * sin_len) +{ + struct sockaddr *sin; + + if (sock < 0) + return 1; + + if (getControlBool("httpLocalOnly", &httpLocalOnly)) + httpLocalOnly = 0; + +#ifdef USE_INET6 + if (!fallback_ipv4) + sin = prepSockAddr6(port, ssin, sin_len); + else +#endif + sin = prepSockAddr4(port, ssin, sin_len); + + if (bind(sock, sin, *sin_len) || listen(sock, 10)) { + mlogf(M_ERROR, M_SHOW, "--- Cannot listen on port %ld (%s)\n", port, + strerror(errno)); + sleep(1); + return 1; } - return 1; + return 0; } + #ifdef HAVE_UDS static int bindUDS(int fd, char *path, struct sockaddr_un *sun, socklen_t sun_len) hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Michael Chase-S. <mc...@us...> - 2011-09-06 23:35:59
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv13676 Modified Files: ChangeLog NEWS httpAdapter.c Log Message: 3400114 sfcb fails to start with ipv6 disabled Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.606 retrieving revision 1.607 diff -u -d -r1.606 -r1.607 --- NEWS 26 Aug 2011 02:02:18 -0000 1.606 +++ NEWS 6 Sep 2011 23:35:56 -0000 1.607 @@ -6,6 +6,7 @@ - 3386391 HOST_NAME_MAX undefined - 3393324 sfcb process abort in IndCIMXMLHandlerInvokeMethod - 3398337 Namespaces of filter and handler for IndSub not checked +- 3400114 sfcb fails to start with ipv6 disabled Changes in 1.3.12 ================= Index: httpAdapter.c =================================================================== RCS file: /cvsroot/sblim/sfcb/httpAdapter.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- httpAdapter.c 21 Jun 2011 16:14:13 -0000 1.90 +++ httpAdapter.c 6 Sep 2011 23:35:56 -0000 1.91 @@ -148,6 +148,10 @@ #define USE_INET6 #endif +#ifdef USE_INET6 +static int fallback_ipv4; +#endif + void initHttpProcCtl(int p) { httpProcSemKey=ftok(SFCB_BINARY,'H'); @@ -1256,6 +1260,7 @@ if (fd < 0) { mlogf(M_INFO, M_SHOW, "--- Using IPv4 address\n"); fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + fallback_ipv4 = 1; } #else fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); @@ -1264,53 +1269,74 @@ return fd; } -static int -bindToPort(int sock, int port, void *ssin, socklen_t * sin_len) -{ #ifdef USE_INET6 +static struct sockaddr * +prepSockAddr6(int port, void *ssin, socklen_t * sin_len) +{ struct sockaddr_in6 *sin = ssin; -#else - struct sockaddr_in *sin = ssin; -#endif *sin_len = sizeof(*sin); - memset(sin, 0, *sin_len); - if (sock >= 0) { - if (getControlBool("httpLocalOnly", &httpLocalOnly)) - httpLocalOnly = 0; + sin->sin6_family = AF_INET6; + if (httpLocalOnly) + sin->sin6_addr = in6addr_loopback; + else + sin->sin6_addr = in6addr_any; + sin->sin6_port = htons(port); -#ifdef USE_INET6 - sin->sin6_family = AF_INET6; - if (httpLocalOnly) - sin->sin6_addr = in6addr_loopback; - else - sin->sin6_addr = in6addr_any; - sin->sin6_port = htons(port); -#else - sin->sin_family = AF_INET; - if (httpLocalOnly) { - const char *loopback_int = "127.0.0.1"; - inet_aton(loopback_int, &(sin->sin_addr)); - } else - sin->sin_addr.s_addr = INADDR_ANY; - sin->sin_port = htons(port); + return (struct sockaddr *) sin; +} #endif - if (bind(sock, (struct sockaddr *) sin, *sin_len) || listen(sock, 10)) { - mlogf(M_ERROR, M_SHOW, "--- Cannot listen on port %ld (%s)\n", port, - strerror(errno)); - sleep(1); - return 1; - } - return 0; +static struct sockaddr * +prepSockAddr4(int port, void *ssin, socklen_t * sin_len) +{ + struct sockaddr_in *sin = ssin; + + *sin_len = sizeof(*sin); + memset(sin, 0, *sin_len); + + sin->sin_family = AF_INET; + if (httpLocalOnly) { + const char *loopback_int = "127.0.0.1"; + inet_aton(loopback_int, &(sin->sin_addr)); + } else + sin->sin_addr.s_addr = INADDR_ANY; + sin->sin_port = htons(port); + + return (struct sockaddr *) sin; +} + + +static int +bindToPort(int sock, int port, void *ssin, socklen_t * sin_len) +{ + struct sockaddr *sin; + + if (sock < 0) + return 1; + if (getControlBool("httpLocalOnly", &httpLocalOnly)) + httpLocalOnly = 0; + +#ifdef USE_INET6 + if (!fallback_ipv4) + sin = prepSockAddr6(port, ssin, sin_len); + else +#endif + sin = prepSockAddr4(port, ssin, sin_len); + + if (bind(sock, sin, *sin_len) || listen(sock, 10)) { + mlogf(M_ERROR, M_SHOW, "--- Cannot listen on port %ld (%s)\n", port, + strerror(errno)); + sleep(1); + return 1; } - return 1; + return 0; } #ifdef HAVE_UDS Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.682 retrieving revision 1.683 diff -u -d -r1.682 -r1.683 --- ChangeLog 26 Aug 2011 02:02:18 -0000 1.682 +++ ChangeLog 6 Sep 2011 23:35:56 -0000 1.683 @@ -1,3 +1,9 @@ +2011-09-06 Michael Chase-Salerno <br...@li...> + + * httpAdapter.c: + [ 3400114 ] sfcb fails to start with ipv6 disabled + Patch from kkaempf + 2011-08-25 Chris Buccella <buc...@li...> * interopProvider.c: |
From: Dave B. <bla...@us...> - 2011-09-06 11:20:57
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications In directory vz-cvs-3.sog:/tmp/cvs-serv16022/src/org/sblim/cimclient/internal/wbem/indications Modified Files: CIMIndicationHandler.java Log Message: 3390724 - Problem with Reliable Indication support in the Listener Index: CIMIndicationHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications/CIMIndicationHandler.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- CIMIndicationHandler.java 10 Aug 2011 12:03:30 -0000 1.24 +++ CIMIndicationHandler.java 6 Sep 2011 11:20:54 -0000 1.25 @@ -35,6 +35,7 @@ * 3304953 2011-05-20 blaschke-oss Indication URL mapped to lower case * 3374206 2011-07-22 blaschke-oss NullPointerException caused by Indication * 3376657 2011-07-24 blaschke-oss Get reliable indication properties once + * 3390724 2011-08-12 blaschke-oss Problem with Reliable Indication support in the Listener */ package org.sblim.cimclient.internal.wbem.indications; @@ -44,6 +45,7 @@ import java.io.InputStreamReader; import java.net.InetAddress; import java.util.Iterator; +import java.util.LinkedList; import java.util.Vector; import java.util.Map.Entry; import java.util.logging.Level; @@ -80,6 +82,67 @@ */ public class CIMIndicationHandler extends HttpContentHandler { + /** + * <code>IndicationServer</code> represents an entry in the linked list of + * servers handled by this <code>CIMIndicationHandler</code> instance. Each + * entry in the list will have a unique serverIP/destinationURL pair along + * with its own <code>ReliableIndicationHandler</code>. This is done to + * handle multiple contexts from the same server. + * + * NOTE: Multiple contexts from the same server will not be handled + * correctly if the user creates multiple + * <code>CIM_ListenerDestination</code> instances with the same + * <code>Destination</code> property. While this is poor programming + * practice (two different instances with same pertinent information), the + * real issue is that there is no way for the Client to differentiate + * between a context switch and two different contexts if the + * serverIP/destinationURL are the same. This issue it is not covered by + * DSP1054 1.2. + */ + private class IndicationServer { + + private boolean iRIInitialized = false; + + private boolean iRISupported = false; + + private InetAddress iInetAddress; + + private String iDestinationUrl; + + private ReliableIndicationHandler iRIHandler; + + public IndicationServer(InetAddress pInetAddress, String pDestinationUrl) { + this.iInetAddress = pInetAddress; + this.iDestinationUrl = pDestinationUrl; + } + + public void initialize(boolean pRISupported, ReliableIndicationHandler pRIHandler) { + this.iRIInitialized = true; + this.iRISupported = pRISupported; + this.iRIHandler = pRIHandler; + } + + public boolean isInitialized() { + return this.iRIInitialized; + } + + public boolean isRISupported() { + return this.iRISupported; + } + + public InetAddress getInetAddress() { + return this.iInetAddress; + } + + public String getDestinationUrl() { + return this.iDestinationUrl; + } + + public ReliableIndicationHandler getRIHandler() { + return this.iRIHandler; + } + } + private CIMEventDispatcher iDispatcher = null; private int iMessageId = 0; @@ -90,11 +153,7 @@ private boolean iReliableIndicationsDisabled = true; - private boolean iRIInitialized = false; - - private boolean iRISupported = false; - - private ReliableIndicationHandler iRIHandler; + private LinkedList<IndicationServer> iServerList = new LinkedList<IndicationServer>(); /** * Ctor. @@ -223,36 +282,67 @@ } /** + * Returns the corresponding indication server if the server is already + * present in the linked list, otherwise appends the server to the linked + * list and returns the new entry. + * + * @param pInetAddress + * Address of indication server. + * @param pDestinationUrl + * Destination URL of indication. + * @return <code>IndicationServer</code> with given address. + */ + private IndicationServer getIndicationServer(InetAddress pInetAddress, String pDestinationUrl) { + IndicationServer server; + Iterator<IndicationServer> iterator = this.iServerList.iterator(); + while (iterator.hasNext()) { + server = iterator.next(); + if (server.getInetAddress().equals(pInetAddress) + && server.getDestinationUrl().equalsIgnoreCase(pDestinationUrl)) return server; + } + server = new IndicationServer(pInetAddress, pDestinationUrl); + this.iServerList.add(server); + this.iLogger.trace(Level.FINE, "Creating reliable indication handler for server IP " + + server.getInetAddress().toString() + ", destination URL " + + server.getDestinationUrl()); + + return server; + } + + /** * deliverIndication handles reliable indications and returns a boolean * indicating whether the indication should be delivered or not * * @param pIndication * Indication. * @param pId - * Path portion of indication URL. + * Indication destination URL. * @param pInetAddress - * Host portion of indication URL. + * Indication server IP. * @return <code>true</code> if indication should be delivered, * <code>false</code> if <code>ReliableIndicationHandler</code> will * deliver indication */ - private boolean deliverIndication(CIMInstance pIndication, String pId, InetAddress pInetAddress) { + private synchronized boolean deliverIndication(CIMInstance pIndication, String pId, + InetAddress pInetAddress) { + // Each serverIP/destinationURL pair needs its own + // ReliableIndicationHandler in order to handle multiple contexts + IndicationServer server = getIndicationServer(pInetAddress, pId); + // Nothing to do if reliable indications initialized but not supported, // go ahead and deliver - if (this.iRIInitialized && !this.iRISupported) return true; + if (server.isInitialized() && !server.isRISupported()) return true; // Get reliable indication properties from indication CIMProperty<?> seqCtxProp = pIndication.getProperty("SequenceContext"); CIMProperty<?> seqNumProp = pIndication.getProperty("SequenceNumber"); // Initialize (if not yet done so) to check if indication is reliable - if (!this.iRIInitialized) { - this.iRIInitialized = true; - + if (!server.isInitialized()) { // Initial indication does not contain reliable indication // properties, disable support and go ahead and deliver if (seqCtxProp == null || seqNumProp == null) { - this.iRISupported = false; + server.initialize(false, null); this.iLogger .trace( @@ -263,10 +353,10 @@ } // Initial indication does not contain reliable indication - // properties with non-null values, disable support and go ahead and - // deliver + // properties with non-null values, disable support and go ahead + // and deliver if (seqCtxProp.getValue() == null || seqNumProp.getValue() == null) { - this.iRISupported = false; + server.initialize(false, null); this.iLogger .trace( @@ -276,9 +366,6 @@ return true; } - // Reliable indication found, enable support - this.iRISupported = true; - // Validate DeliveryRetryAttempts property long attempts = this.iSessionProperties.getListenerDeliveryRetryAttempts(); if (attempts <= 0 || attempts > 1000) { @@ -302,18 +389,17 @@ // Create new ReliableIndicationHandler for this // CIMIndicationHandler - this.iRIHandler = new ReliableIndicationHandler(this.iDispatcher, attempts * interval - * 10 * 1000); + server.initialize(true, new ReliableIndicationHandler(this.iDispatcher, attempts + * interval * 10 * 1000)); this.iLogger.trace(Level.FINE, "Reliable indication support enabled, DeliveryRetryAttempts=" + attempts + ", DeliveryRetryInterval=" + interval); // Let ReliableIndicationHandler deliver it - this.iRIHandler - .handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); + server.getRIHandler().handleIndication(pIndication, seqCtxProp, seqNumProp, pId, + pInetAddress); return false; - } // Reliable indication support is enabled but indication does not @@ -337,7 +423,8 @@ } // Let ReliableIndicationHandler deliver it - this.iRIHandler.handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); + server.getRIHandler().handleIndication(pIndication, seqCtxProp, seqNumProp, pId, + pInetAddress); return false; } |
From: Dave B. <bla...@us...> - 2011-08-30 16:28:10
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim In directory vz-cvs-3.sog:/tmp/cvs-serv16138/utst/org/sblim/cimclient/unittest/cim Added Files: Tag: Experimental CIMOctetStringTest.java Log Message: 3397922 - support OctetString --- NEW FILE: CIMOctetStringTest.java --- /** * (C) Copyright IBM Corp. 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Eclipse Public License from * http://www.opensource.org/licenses/eclipse-1.0.php * * @author : Dave Blaschke, IBM, bla...@us... * * Change History * Flag Date Prog Description * ------------------------------------------------------------------------ * 3397922 2011-08-30 blaschke-oss support OctetString */ package org.sblim.cimclient.unittest.cim; import javax.cim.UnsignedInteger8; import org.sblim.cimclient.internal.cim.CIMOctetString; import org.sblim.cimclient.unittest.TestCase; /** * * Class CIMOctetStringTest is responsible for testing CIMOctetString * */ public class CIMOctetStringTest extends TestCase { // Make sure the entries in goodByte, goodHex and goodAscii match up!!! UnsignedInteger8 goodByte[][] = { { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("4") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("5"), new UnsignedInteger8("32") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("17"), new UnsignedInteger8("72"), new UnsignedInteger8("101"), new UnsignedInteger8("108"), new UnsignedInteger8("108"), new UnsignedInteger8("111"), new UnsignedInteger8("44"), new UnsignedInteger8("32"), new UnsignedInteger8("119"), new UnsignedInteger8("111"), new UnsignedInteger8("114"), new UnsignedInteger8("108"), new UnsignedInteger8("100"), new UnsignedInteger8("33") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("12"), new UnsignedInteger8("32"), new UnsignedInteger8("33"), new UnsignedInteger8("34"), new UnsignedInteger8("35"), new UnsignedInteger8("36"), new UnsignedInteger8("37"), new UnsignedInteger8("38"), new UnsignedInteger8("39") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("40"), new UnsignedInteger8("41"), new UnsignedInteger8("42"), new UnsignedInteger8("43"), new UnsignedInteger8("44"), new UnsignedInteger8("45"), new UnsignedInteger8("46"), new UnsignedInteger8("47"), new UnsignedInteger8("48"), new UnsignedInteger8("49") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("58"), new UnsignedInteger8("59") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("60"), new UnsignedInteger8("61"), new UnsignedInteger8("62"), new UnsignedInteger8("63"), new UnsignedInteger8("64"), new UnsignedInteger8("65"), new UnsignedInteger8("66"), new UnsignedInteger8("67"), new UnsignedInteger8("68"), new UnsignedInteger8("69") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("70"), new UnsignedInteger8("71"), new UnsignedInteger8("72"), new UnsignedInteger8("73"), new UnsignedInteger8("74"), new UnsignedInteger8("75"), new UnsignedInteger8("76"), new UnsignedInteger8("77"), new UnsignedInteger8("78"), new UnsignedInteger8("79") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("80"), new UnsignedInteger8("81"), new UnsignedInteger8("82"), new UnsignedInteger8("83"), new UnsignedInteger8("84"), new UnsignedInteger8("85"), new UnsignedInteger8("86"), new UnsignedInteger8("87"), new UnsignedInteger8("88"), new UnsignedInteger8("89") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("90"), new UnsignedInteger8("91"), new UnsignedInteger8("92"), new UnsignedInteger8("93"), new UnsignedInteger8("94"), new UnsignedInteger8("95"), new UnsignedInteger8("96"), new UnsignedInteger8("97"), new UnsignedInteger8("98"), new UnsignedInteger8("99") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("100"), new UnsignedInteger8("101"), new UnsignedInteger8("102"), new UnsignedInteger8("103"), new UnsignedInteger8("104"), new UnsignedInteger8("105"), new UnsignedInteger8("106"), new UnsignedInteger8("107"), new UnsignedInteger8("108"), new UnsignedInteger8("109") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("14"), new UnsignedInteger8("110"), new UnsignedInteger8("111"), new UnsignedInteger8("112"), new UnsignedInteger8("113"), new UnsignedInteger8("114"), new UnsignedInteger8("115"), new UnsignedInteger8("116"), new UnsignedInteger8("117"), new UnsignedInteger8("118"), new UnsignedInteger8("119") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("11"), new UnsignedInteger8("120"), new UnsignedInteger8("121"), new UnsignedInteger8("122"), new UnsignedInteger8("123"), new UnsignedInteger8("124"), new UnsignedInteger8("125"), new UnsignedInteger8("126") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("1"), new UnsignedInteger8("8"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48"), new UnsignedInteger8("49"), new UnsignedInteger8("50"), new UnsignedInteger8("51"), new UnsignedInteger8("52"), new UnsignedInteger8("53"), new UnsignedInteger8("54"), new UnsignedInteger8("55"), new UnsignedInteger8("56"), new UnsignedInteger8("57"), new UnsignedInteger8("48") } }; String goodHex[] = { "0x00000004", "0x0000000520", "0x0000001148656C6C6F2C20776F726C6421", "0x0000000C2021222324252627", "0x0000000E28292A2B2C2D2E2F3031", "0x0000000E32333435363738393A3B", "0x0000000E3C3D3E3F404142434445", "0x0000000E464748494A4B4C4D4E4F", "0x0000000E50515253545556575859", "0x0000000E5A5B5C5D5E5F60616263", "0x0000000E6465666768696A6B6C6D", "0x0000000E6E6F7071727374757677", "0x0000000B78797A7B7C7D7E", "0x000001083132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930" }; String goodAscii[] = { "", " ", "Hello, world!", " !\"#$%&\'", "()*+,-./01", "23456789:;", "<=>?@ABCDE", "FGHIJKLMNO", "PQRSTUVWXY", "Z[\\]^_`abc", "defghijklm", "nopqrstuvw", "xyz{|}~", "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }; UnsignedInteger8 goodByteUnprint[][] = { { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("9"), new UnsignedInteger8("127"), new UnsignedInteger8("128"), new UnsignedInteger8("129"), new UnsignedInteger8("130"), new UnsignedInteger8("131") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("9"), new UnsignedInteger8("27"), new UnsignedInteger8("28"), new UnsignedInteger8("29"), new UnsignedInteger8("30"), new UnsignedInteger8("31") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("9"), new UnsignedInteger8("48"), new UnsignedInteger8("0"), new UnsignedInteger8("48"), new UnsignedInteger8("0"), new UnsignedInteger8("48") } }; String goodHexUnprint[] = { "0x000000097F80818283", "0x000000091B1C1D1E1F", "0x000000093000300030" }; String goodAsciiUnprint[] = { ".....", ".....", "0.0.0" }; UnsignedInteger8 badByte[][] = { null, { new UnsignedInteger8("0") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), null, new UnsignedInteger8("4") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("5"), null }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("2") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("4"), new UnsignedInteger8("32") }, { new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("0"), new UnsignedInteger8("50"), new UnsignedInteger8("72"), new UnsignedInteger8("101"), new UnsignedInteger8("108"), new UnsignedInteger8("108"), new UnsignedInteger8("111"), new UnsignedInteger8("44"), new UnsignedInteger8("32"), new UnsignedInteger8("119"), new UnsignedInteger8("111"), new UnsignedInteger8("114"), new UnsignedInteger8("108"), new UnsignedInteger8("100"), new UnsignedInteger8("33") } }; String badHex[] = { null, "", "00000004", "x00000004", "0x00000005", "0x0000000623", "0x00000005C", "0x000000050S", "0xLENGTH04" }; String badAscii[] = { null }; private boolean equalByteArrays(UnsignedInteger8 a[], UnsignedInteger8 b[]) { if (a == null) return (b == null); if (b == null) return false; if (a.length != b.length) return false; for (int i = 0; i < a.length; i++) if (a[i].byteValue() != b[i].byteValue()) return false; return true; } /** * Tests CIMOctetString(UnsignedInteger8[]) constructor with valid input */ public void testByteConstructorGood() { for (int i = 0; i < this.goodByte.length; i++) { CIMOctetString os = new CIMOctetString(this.goodByte[i]); verify( "Byte array constructor, ascii string " + this.goodAscii[i] + " does not match!", this.goodAscii[i].equalsIgnoreCase(os .getASCIIString('.'))); verify("Byte array constructor, hex string " + this.goodHex[i] + " does not match!", this.goodHex[i].equalsIgnoreCase(os.getHexString())); } for (int i = 0; i < this.goodByteUnprint.length; i++) { CIMOctetString os = new CIMOctetString(this.goodByteUnprint[i]); verify("Byte array constructor, ascii string " + this.goodAsciiUnprint[i] + " does not match!", this.goodAsciiUnprint[i].equalsIgnoreCase(os .getASCIIString('.'))); verify("Byte array constructor, hex string " + this.goodHexUnprint[i] + " does not match!", this.goodHexUnprint[i] .equalsIgnoreCase(os.getHexString())); } } /** * Tests CIMOctetString(String, true) constructor with valid input */ public void testHexConstructorGood() { for (int i = 0; i < this.goodHex.length; i++) { CIMOctetString os = new CIMOctetString(this.goodHex[i], true); verify( "Hex string constructor for " + this.goodHex[i] + ", byte array does not match!", equalByteArrays(this.goodByte[i], os .getBytes())); verify("Hex string constructor for " + this.goodHex[i] + ", ascii string does not match!", this.goodAscii[i].equalsIgnoreCase(os .getASCIIString('.'))); } for (int i = 0; i < this.goodHexUnprint.length; i++) { CIMOctetString os = new CIMOctetString(this.goodHexUnprint[i], true); verify("Hex string constructor for " + this.goodHexUnprint[i] + ", byte array does not match!", equalByteArrays(this.goodByteUnprint[i], os .getBytes())); verify("Hex string constructor for " + this.goodHexUnprint[i] + ", ascii string does not match!", this.goodAsciiUnprint[i] .equalsIgnoreCase(os.getASCIIString('.'))); } } /** * Tests CIMOctetString(String, false) constructor with valid input */ public void testAsciiConstructorGood() { for (int i = 0; i < this.goodAscii.length; i++) { CIMOctetString os = new CIMOctetString(this.goodAscii[i], false); verify("Ascii string constructor for " + this.goodAscii[i] + ", byte array does not match!", equalByteArrays(this.goodByte[i], os .getBytes())); verify("Ascii string constructor for " + this.goodAscii[i] + ", hex string does not match!", this.goodHex[i].equalsIgnoreCase(os .getHexString())); } } /** * Tests CIMOctetString(UnsignedInteger8[]) constructor with invalid input */ public void testByteConstructorBad() { for (int i = 0; i < this.badByte.length; i++) { try { new CIMOctetString(this.badByte[i]); verify( "IllegalArgumentException was not thrown for invalid byte array constructor #" + i, false); } catch (IllegalArgumentException e) { // System.out.println("Invalid byte array constructor threw " + // e.toString()); } } } /** * Tests CIMOctetString(String, true) constructor with invalid input */ public void testHexConstructorBad() { for (int i = 0; i < this.badHex.length; i++) { try { new CIMOctetString(this.badHex[i], true); verify( "IllegalArgumentException was not thrown for invalid hex string constructor #" + i, false); } catch (IllegalArgumentException e) { // System.out.println("Invalid hex string constructor" + // e.toString()); } } } /** * Tests CIMOctetString(String, false) constructor with invalid input */ public void testAsciiConstructorBad() { for (int i = 0; i < this.badAscii.length; i++) { try { new CIMOctetString(this.badAscii[i], false); verify( "IllegalArgumentException was not thrown for invalid ascii string constructor #" + i, false); } catch (IllegalArgumentException e) { // System.out.println("Invalid ascii string constructor" + // e.toString()); } } } /** * Tests equals() */ public void testEquals() { CIMOctetString osUpper = new CIMOctetString("0x000000075A5B58", true); CIMOctetString osLower = new CIMOctetString("0x000000075a5b58", true); verify("Different case hex strings not equal!", osUpper.equals(osLower)); verify("Hashcodes for different case hex strings not equal!", osUpper.hashCode() == osLower .hashCode()); for (int i = 0; i < this.goodByte.length; i++) { CIMOctetString os1 = new CIMOctetString(this.goodByte[i]); CIMOctetString os2 = new CIMOctetString(this.goodByte[i]); CIMOctetString os3 = new CIMOctetString(this.goodHex[i], true); CIMOctetString os4 = new CIMOctetString(this.goodHex[i], true); CIMOctetString os5 = new CIMOctetString(this.goodAscii[i], false); CIMOctetString os6 = new CIMOctetString(this.goodAscii[i], false); verify("Byte array does not equal byte array for index " + i + "!", os1.equals(os2)); verify("Byte array does not equal hex string for index " + i + "!", os1.equals(os3)); verify("Byte array does not equal ascii string for index " + i + "!", os1.equals(os5)); verify("Hex string does not equal byte array for index " + i + "!", os3.equals(os1)); verify("Hex string does not equal hex string for index " + i + "!", os3.equals(os4)); verify("Hex string does not equal ascii string for index " + i + "!", os3.equals(os5)); verify("Ascii string does not equal byte array for index " + i + "!", os5.equals(os1)); verify("Ascii string does not equal hex string for index " + i + "!", os5.equals(os3)); verify("Ascii string does not equal ascii string for index " + i + "!", os5.equals(os6)); verify("Byte array hashcode does not equal byte array hashcode for index " + i + "!", os1.hashCode() == os2.hashCode()); verify("Byte array hashcode does not equal hex string hashcode for index " + i + "!", os1.hashCode() == os3.hashCode()); verify("Byte array hashcode does not equal ascii string hashcode for index " + i + "!", os1.hashCode() == os5.hashCode()); verify("Hex string hashcode does not equal byte array hashcode for index " + i + "!", os3.hashCode() == os1.hashCode()); verify("Hex string hashcode does not equal hex string hashcode for index " + i + "!", os3.hashCode() == os4.hashCode()); verify("Hex string hashcode does not equal ascii string hashcode for index " + i + "!", os3.hashCode() == os5.hashCode()); verify("Ascii string hashcode does not equal byte array hashcode for index " + i + "!", os5.hashCode() == os1.hashCode()); verify("Ascii string hashcode does not equal hex string hashcode for index " + i + "!", os5.hashCode() == os3.hashCode()); verify("Ascii string hashcode does not equal ascii string hashcode for index " + i + "!", os5.hashCode() == os6.hashCode()); } for (int i = 0; i < this.goodByte.length; i++) { CIMOctetString osArrayi[] = { new CIMOctetString(this.goodByte[i]), new CIMOctetString(this.goodHex[i], true), new CIMOctetString(this.goodAscii[i], false) }; for (int j = 0; j < this.goodByte.length; j++) { CIMOctetString osArrayj[] = { new CIMOctetString(this.goodByte[j]), new CIMOctetString(this.goodHex[j], true), new CIMOctetString(this.goodAscii[j], false) }; // Byte array = 0, hex string = 1, ascii string = 2 if (i != j) { verify("Byte array #" + i + " equals hex string #" + j + "!", !osArrayi[0] .equals(osArrayj[1])); verify("Byte array #" + i + " equals ascii string #" + j + "!", !osArrayi[0] .equals(osArrayj[2])); verify("Hex string #" + i + " equals ascii string #" + j + "!", !osArrayi[1] .equals(osArrayj[2])); verify("Byte array #" + i + " hashcode equals hex string #" + j + " hashcode!", osArrayi[0].hashCode() != osArrayj[1].hashCode()); verify( "Byte array #" + i + " hashcode equals ascii string #" + j + "hashcode!", osArrayi[0].hashCode() != osArrayj[2].hashCode()); verify( "Hex string #" + i + " hashcode equals ascii string #" + j + "hashcode!", osArrayi[1].hashCode() != osArrayj[2].hashCode()); } } } } } |
From: Dave B. <bla...@us...> - 2011-08-30 16:28:09
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cim In directory vz-cvs-3.sog:/tmp/cvs-serv16138/src/org/sblim/cimclient/internal/cim Added Files: Tag: Experimental CIMOctetString.java Log Message: 3397922 - support OctetString --- NEW FILE: CIMOctetString.java --- /** * (C) Copyright IBM Corp. 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Eclipse Public License from * http://www.opensource.org/licenses/eclipse-1.0.php * * @author : Dave Blaschke, IBM, bla...@us... * * Change History * Flag Date Prog Description *------------------------------------------------------------------------------- * 3397922 2011-08-30 blaschke-oss support OctetString */ package org.sblim.cimclient.internal.cim; import javax.cim.UnsignedInteger8; /** * This class represents a CIM octet string, or length-prefixed string, where * the length is four octets (32 bits) AND includes the four octets it occupies. * In other words, the length of the octet string is the number of characters in * the string plus four. There are three possible representations: <br> * <br> * 1) Byte array - This is an array of UnsignedInteger8 (unit8) objects. The * first four bytes contain the length, so the ASCII string "DEB" would be * represented as { 0x00, 0x00, 0x00, 0x07, 0x44, 0x45, 0x42 }<br> * <br> * 2) Hexadecimal string - This is a string of hexadecimal digits. The four * bytes after the initial "0x" contain the length, so the ASCII string "DEB" * would be represented as "0x00000007444542".<br> * <br> * 3) ASCII string<br> * <br> * One of these representations is passed into a constructor. The other * representations are created on demand when a get() method is invoked or when * the equals() method is invoked and the two octet strings have no * representations in common. */ public class CIMOctetString { private UnsignedInteger8 iBytes[]; private String iASCIIString; private char iReplacementChar; // 0xFF indicates ASCII constructor used private String iHexString; private int iLength; /** * Constructs a <code>CIMOctetString</code> from the given byte array. * * @param pBytes * Byte array representation of octet string. * @throws IllegalArgumentException */ public CIMOctetString(UnsignedInteger8 pBytes[]) throws IllegalArgumentException { // Minimum (empty) byte array is { 0x00 0x00 0x00 0x04 } if (pBytes == null || pBytes.length < 4) throw new IllegalArgumentException( "Array of bytes must contain at least four bytes"); // Verify there are no null entries in byte array for (int i = pBytes.length - 1; i >= 0; i--) if (pBytes[i] == null) throw new IllegalArgumentException( "Array of bytes must not contain any null bytes"); // Calculate length this.iLength = pBytes[3].byteValue() + (pBytes[2].byteValue() * 0x100) + (pBytes[1].byteValue() * 0x10000) + (pBytes[0].byteValue() * 0x1000000); // Verify calculated length matches actual length if (this.iLength != pBytes.length) throw new IllegalArgumentException( "Array of bytes contains invalid length: found " + this.iLength + ", expected " + pBytes.length); // Save byte array in new object this.iBytes = new UnsignedInteger8[this.iLength]; for (int i = this.iLength - 1; i >= 0; i--) this.iBytes[i] = pBytes[i]; } /** * Constructs a <code>CIMOctetString</code> from the given string. * * @param pString * String representation of octet string. * @param pIsHex * <code>true</code> if string is hexadecimal string, * <code>false</code> if string is ASCII string. * * @throws IllegalArgumentException */ public CIMOctetString(String pString, boolean pIsHex) throws IllegalArgumentException { if (pString == null) throw new IllegalArgumentException("String cannot be null"); if (pIsHex) { // Minimum (empty) hexadecimal string is "0x00000004" if (pString.length() < 10) throw new IllegalArgumentException( "Hexadecimal string must contain \"0x\" and at least four pairs of hex digits"); // Verify hexadecimal string starts with "0x" if (pString.charAt(0) != '0' || pString.charAt(1) != 'x') throw new IllegalArgumentException( "Hexadecimal string must begin with \"0x\""); // Calculate length try { this.iLength = Integer.parseInt(pString.substring(2, 10), 16); } catch (NumberFormatException e) { throw new IllegalArgumentException( "Hexadecimal string length could not be parsed: " + e.toString()); } // Verify calculated length matches actual length if ((this.iLength * 2) + 2 != pString.length()) throw new IllegalArgumentException( "Hexadecimal string contains invalid length: found " + this.iLength + ", expected " + ((pString.length() - 2 / 2))); // Verify remainder of hexadecimal string contains only hexadecimal // digits for (int i = pString.length() - 1; i >= 10; i--) { char ch = pString.charAt(i); if (!((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F'))) throw new IllegalArgumentException( "Hexadecimal string could not be parsed, invalid character \'" + ch + "\' at index " + i); } // Save hexadecimal string in new object this.iHexString = new String(pString); } else { // Calculate length this.iLength = pString.length() + 4; // Save ASCII string in new object and indicate constructor used this.iASCIIString = new String(pString); this.iReplacementChar = 0xFF; } } /** * Takes a CIM octet string and returns <code>true</code> if it is equal to * this CIM octet string. Otherwise, it returns <code>false</code>. Two * octet strings are considered equal if all of their common representations * are equal. If the octet strings have no representations in common, this * method will build the missing one, starting with byte array and then * hexadecmial string. * * NOTE: The ASCII string representation is only considered if both octet * strings were constructed with an ASCII string. * * @param pObj * The object to be compared a CIM element. * @return <code>true</code> if the specified CIM octet string equals this * CIM octet string, <code>false</code> otherwise. */ @Override public synchronized boolean equals(Object pObj) { // Verify parameter is CIMOctetString instance if (!(pObj instanceof CIMOctetString)) return false; CIMOctetString that = (CIMOctetString) pObj; int numCompares = 0; // Verify lengths are same if (this.iLength != that.iLength) return false; // Verify byte arrays match if both non-null if (this.iBytes != null && that.iBytes != null) { for (int i = this.iLength - 1; i >= 0; i--) if (this.iBytes[i].byteValue() != that.iBytes[i].byteValue()) return false; numCompares++; } // Verify hexadecimal strings match if both non-null if (this.iHexString != null && that.iHexString != null) { if (!this.iHexString.equalsIgnoreCase(that.iHexString)) return false; numCompares++; } // Verify ASCII strings match if both non-null if (this.iASCIIString != null && that.iASCIIString != null && this.iReplacementChar == that.iReplacementChar) { if (!this.iASCIIString.equalsIgnoreCase(that.iASCIIString)) return false; numCompares++; } // Octet strings equal if at least one representation equal if (numCompares > 0) return true; // At this point, the two CIMOctetString instances have no // representations in common - time to make one if (this.iBytes != null && that.iBytes == null) { that.getBytes(); if (this.iBytes != null && that.iBytes != null) { for (int i = this.iLength - 1; i >= 0; i--) if (this.iBytes[i].byteValue() != that.iBytes[i].byteValue()) return false; numCompares++; } } // Octet strings equal if byte arrays equal if (numCompares > 0) return true; if (this.iBytes == null && that.iBytes != null) { getBytes(); if (this.iBytes != null && that.iBytes != null) { for (int i = this.iLength - 1; i >= 0; i--) if (this.iBytes[i].byteValue() != that.iBytes[i].byteValue()) return false; numCompares++; } } // Octet strings equal if byte arrays equal if (numCompares > 0) return true; if (this.iHexString != null && that.iHexString == null) { that.getHexString(); if (this.iHexString != null && that.iHexString != null) { if (!this.iHexString.equalsIgnoreCase(that.iHexString)) return false; numCompares++; } } // Octet strings equal if byte arrays equal if (numCompares > 0) return true; if (this.iHexString == null && that.iHexString != null) { getHexString(); if (this.iHexString != null && that.iHexString != null) { if (!this.iHexString.equalsIgnoreCase(that.iHexString)) return false; numCompares++; } } // Octet strings equal if byte arrays equal if (numCompares > 0) return true; return false; } /** * Returns ASCII string representation of octet string with non-printable * characters replaced by <code>pReplacementChar</code>. If the ASCII string * has not yet been created, it is created from the byte array or * hexadecimal string. * * @param pReplacementChar * Replacement character for non-printable characters which must * be between 0x20 and 0x7E, inclusive. * @return ASCII string representation of octet string. */ public synchronized String getASCIIString(char pReplacementChar) { // If ASCII string constructor used, return original string if (this.iASCIIString != null && this.iReplacementChar == 0xFF) return this.iASCIIString; // Verify replacement character is printable if (pReplacementChar <= 0x1F || pReplacementChar >= 0x7F) throw new IllegalArgumentException( "Replacement character not printable"); // If we already did this once, return previous string if (this.iASCIIString != null && this.iReplacementChar == pReplacementChar) return this.iASCIIString; // Construct new ASCII string StringBuilder str = new StringBuilder(""); if (this.iBytes != null) { for (int i = 4; i < this.iBytes.length; i++) { char ch = (char) this.iBytes[i].byteValue(); if (ch <= 0x1F || ch >= 0x7F) str.append(pReplacementChar); else str.append(ch); } } else /* (this.iHexString != null) */{ for (int i = 10; i < this.iHexString.length(); i += 2) { char ch = (char) Integer.parseInt(this.iHexString.substring(i, i + 2), 16); if (ch <= 0x1F || ch >= 0x7F) str.append(pReplacementChar); else str.append(ch); } } // Save ASCII string in new object and indicate which replacement // character used this.iASCIIString = new String(str); this.iReplacementChar = pReplacementChar; return this.iASCIIString; } /** * Returns byte array representation of octet string. If the byte array has * not yet been created, it is created from the hexadecimal string or ASCII * string. * * @return Byte array representation of octet string. */ public synchronized UnsignedInteger8[] getBytes() { if (this.iBytes != null) return this.iBytes; if (this.iHexString != null) { convertHexStringToBytes(); } else /* if (this.iASCIIString != null) */{ convertASCIIStringToBytes(); } return this.iBytes; } /** * Returns hexadecimal string representation of octet string. If the * hexadecimal string has not yet been created, it is created from the byte * array or ASCII string. * * @return Hexadecimal string representation of octet string. */ public synchronized String getHexString() { if (this.iHexString != null) return this.iHexString; if (this.iBytes != null) { convertBytesToHexString(); } else /* if (this.iASCIIString != null) */{ convertASCIIStringToHexString(); } return this.iHexString; } /** * Returns hash code value for octet string. * * @return Hash code value for octet string. */ @Override public int hashCode() { return toString().toLowerCase().hashCode(); } /** * Returns length of octet string, where length is number of octets plus * four. * * @return Length of octet string. */ public int length() { return this.iLength; } /** * Returns string representation of octet string. * * @return String representation of octet string. */ @Override public String toString() { return getHexString(); } private void convertBytesToHexString() { // Start with "0x" StringBuilder str = new StringBuilder("0x"); // Append length String len = Integer.toHexString(this.iLength); for (int i = 8 - len.length(); i > 0; i--) str.append('0'); str.append(len); // Append string for (int i = 4; i < this.iLength; i++) { String octet = Integer.toHexString(this.iBytes[i].intValue()); if (octet.length() == 1) str.append('0'); str.append(octet); } // Save hexadecimal string in new object this.iHexString = new String(str); // debug("convertBytesToHexString: from {" + toBytesString() + "} to \"" // + this.iHexString + "\""); } private void convertHexStringToBytes() { // Save byte array in new object this.iBytes = new UnsignedInteger8[this.iLength]; // Convert each octet in hexadecimal string to byte for (int idxByte = 0, idxStr = 2, len = this.iHexString.length(); idxStr < len; idxByte++, idxStr += 2) { short s; try { s = Short.parseShort(this.iHexString.substring(idxStr, idxStr + 2), 16); } catch (NumberFormatException e) { throw new IllegalArgumentException("Hex string length could not be parsed: " + e.toString()); } this.iBytes[idxByte] = new UnsignedInteger8(s); } // debug("convertHexStringToBytes: from \"" + this.iHexString + // "\" to {" + toBytesString() + "}"); } private void convertASCIIStringToBytes() { // Save byte array in new object this.iBytes = new UnsignedInteger8[this.iLength]; // Convert length this.iBytes[0] = new UnsignedInteger8((short) ((this.iLength >> 24) & 0xFF)); this.iBytes[1] = new UnsignedInteger8((short) ((this.iLength >> 16) & 0xFF)); this.iBytes[2] = new UnsignedInteger8((short) ((this.iLength >> 8) & 0xFF)); this.iBytes[3] = new UnsignedInteger8((short) (this.iLength & 0xFF)); // Convert each character in ASCII string to byte for (int idxStr = 0, idxByte = 4; idxStr < this.iASCIIString.length(); idxStr++, idxByte++) this.iBytes[idxByte] = new UnsignedInteger8((short) (this.iASCIIString.charAt(idxStr))); // debug("convertASCIIStringToBytes: from \"" + this.iASCIIString + // "\" to {" + toBytesString() + "}"); } private void convertASCIIStringToHexString() { // Start with "0x" StringBuilder str = new StringBuilder("0x"); // Append length String len = Integer.toHexString(this.iLength); for (int i = 8 - len.length(); i > 0; i--) str.append('0'); str.append(len); // Append string for (int idxAsc = 0, idxHex = 10; idxAsc < this.iASCIIString.length(); idxAsc++, idxHex++) { String octet = Integer.toHexString((this.iASCIIString.charAt(idxAsc))); if (octet.length() == 1) str.append('0'); str.append(octet); } // Save hexadecimal string in new object this.iHexString = new String(str); // debug("convertASCIIStringToHexString: from \"" + this.iASCIIString + // "\" to \"" + this.iHexString + "\""); } // private String toBytesString() { // StringBuilder str = new StringBuilder(); // // for (int i = 0; i < this.iLength; i++) { // String octet = Integer.toHexString((this.iBytes[i].intValue())); // if (i > 0) str.append(' '); // if (octet.length() == 1) str.append('0'); // str.append(octet); // } // return new String(str); // } // private void debug(String str) { // System.out.println(str); // } } |
From: Chris B. <buc...@us...> - 2011-08-26 19:42:21
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via dc564e899d7c6c574be09e2d6b5c9565261c2d00 (commit) from 1bb97334baac7da10fcea7d3667aea9d6df9b257 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit dc564e899d7c6c574be09e2d6b5c9565261c2d00 Author: buccella <buc...@li...> Date: Fri Aug 26 15:42:05 2011 -0400 [ 3398337 ] Namespaces of filter and handler for IndSub not checked ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 175779f..e200d59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-26 Chris Buccella <buc...@li...> + + * interopProvider.c: + [ 3398337 ] Namespaces of filter and handler for IndSub not checked + 2011-08-22 Chris Buccella <buc...@li...> * indCIMXMLHandler.c: diff --git a/NEWS b/NEWS index 36ffda4..194ddda 100644 --- a/NEWS +++ b/NEWS @@ -80,6 +80,7 @@ Bugs Fixed: - [ 3386391 ] HOST_NAME_MAX undefined - [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod +- [ 3398337 ] Namespaces of filter and handler for IndSub not checked Changes in 1.3.12 ================= diff --git a/interopProvider.c b/interopProvider.c index c71bdb4..1b2b0c9 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -613,6 +613,9 @@ processSubscription(const CMPIBroker * broker, _SFCB_TRACE(1, ("--- getting new subscription filter")); op = CMGetProperty(ci, "filter", &st).value.ref; + /* ht key does not contain ns; need to check for it again here */ + if (interOpNameSpace(op,&st) != 1) _SFCB_RETURN(st); + if (op) { key = normalizeObjectPathCharsDup(op); if (key) { @@ -629,6 +632,9 @@ processSubscription(const CMPIBroker * broker, _SFCB_TRACE(1, ("--- getting new subscription handle")); op = CMGetProperty(ci, "handler", &st).value.ref; + /* ht key does not contain ns; need to check for it again here */ + if (interOpNameSpace(op,&st) != 1) _SFCB_RETURN(st); + if (op) { key = normalizeObjectPathCharsDup(op); if (key) { hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2011-08-26 02:02:20
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv16158 Modified Files: interopProvider.c ChangeLog NEWS Log Message: [ 3398337 ] Namespaces of filter and handler for IndSub not checked Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.605 retrieving revision 1.606 diff -u -d -r1.605 -r1.606 --- NEWS 23 Aug 2011 00:08:21 -0000 1.605 +++ NEWS 26 Aug 2011 02:02:18 -0000 1.606 @@ -5,6 +5,7 @@ - 3386391 HOST_NAME_MAX undefined - 3393324 sfcb process abort in IndCIMXMLHandlerInvokeMethod +- 3398337 Namespaces of filter and handler for IndSub not checked Changes in 1.3.12 ================= Index: interopProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- interopProvider.c 30 Mar 2011 19:32:41 -0000 1.46 +++ interopProvider.c 26 Aug 2011 02:02:18 -0000 1.47 @@ -549,6 +549,9 @@ _SFCB_TRACE(1,("--- getting new subscription filter")); op = CMGetProperty(ci, "filter", &st).value.ref; + /* ht key does not contain ns; need to check for it again here */ + if (interOpNameSpace(op,&st) != 1) _SFCB_RETURN(st); + if (op) { key = normalizeObjectPathCharsDup(op); if (key) { @@ -565,6 +568,9 @@ _SFCB_TRACE(1,("--- getting new subscription handle")); op = CMGetProperty(ci, "handler", &st).value.ref; + /* ht key does not contain ns; need to check for it again here */ + if (interOpNameSpace(op,&st) != 1) _SFCB_RETURN(st); + if (op) { key = normalizeObjectPathCharsDup(op); if (key) { Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.681 retrieving revision 1.682 diff -u -d -r1.681 -r1.682 --- ChangeLog 23 Aug 2011 00:08:21 -0000 1.681 +++ ChangeLog 26 Aug 2011 02:02:18 -0000 1.682 @@ -1,3 +1,8 @@ +2011-08-25 Chris Buccella <buc...@li...> + + * interopProvider.c: + [ 3398337 ] Namespaces of filter and handler for IndSub not checked + 2011-08-22 Chris Buccella <buc...@li...> * indCIMXMLHandler.c: |
From: Tyrel D. <ty...@us...> - 2011-08-24 01:47:17
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv24074 Modified Files: NEWS Log Message: Fixed 3397109: gcc extensions not available on new distros Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.104 retrieving revision 1.105 diff -u -d -r1.104 -r1.105 --- NEWS 19 Aug 2011 00:17:54 -0000 1.104 +++ NEWS 24 Aug 2011 01:47:15 -0000 1.105 @@ -3,6 +3,7 @@ Bugs fixed: - 3394202 large network counters overflow raw metric buffer +- 3397109 gcc extensions not available on new distros Changes in Version 2.2.3 ======================== |
From: Chris B. <buc...@us...> - 2011-08-23 00:11:34
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 1bb97334baac7da10fcea7d3667aea9d6df9b257 (commit) from 3146c89ef17df96cd3e4938a23216334cef7811b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1bb97334baac7da10fcea7d3667aea9d6df9b257 Author: buccella <buc...@li...> Date: Mon Aug 22 20:11:04 2011 -0400 [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 429e3f9..175779f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-22 Chris Buccella <buc...@li...> + + * indCIMXMLHandler.c: + [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod + 2011-08-04 Chris Buccella <buc...@li...> * cimXmlGen.c: diff --git a/NEWS b/NEWS index c4f3be4..36ffda4 100644 --- a/NEWS +++ b/NEWS @@ -79,6 +79,7 @@ Changes in 1.3.13 Bugs Fixed: - [ 3386391 ] HOST_NAME_MAX undefined +- [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod Changes in 1.3.12 ================= diff --git a/indCIMXMLHandler.c b/indCIMXMLHandler.c index f25366f..8a06833 100644 --- a/indCIMXMLHandler.c +++ b/indCIMXMLHandler.c @@ -983,7 +983,7 @@ IndCIMXMLHandlerInvokeMethod(CMPIMethodMI * mi, // Get the stub from the handler CMPIString *context = CMGetProperty(hdlr, "SequenceContext", &st).value.string; // and add the sfcb start time - char *cstr=malloc( (strlen(context->ft->getCharPtr(context,NULL)) + strlen(sfcBrokerStart)) * sizeof(char)); + char *cstr=malloc( (strlen(context->ft->getCharPtr(context,NULL)) + strlen(sfcBrokerStart) + 1) * sizeof(char)); sprintf(cstr,"%s%s",context->ft->getCharPtr(context,NULL),sfcBrokerStart); context = sfcb_native_new_CMPIString(cstr, NULL, 0); // and put it in the indication hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2011-08-23 00:08:23
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv18166 Modified Files: indCIMXMLHandler.c ChangeLog NEWS Log Message: [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.604 retrieving revision 1.605 diff -u -d -r1.604 -r1.605 --- NEWS 4 Aug 2011 21:40:35 -0000 1.604 +++ NEWS 23 Aug 2011 00:08:21 -0000 1.605 @@ -4,6 +4,7 @@ Bugs fixed: - 3386391 HOST_NAME_MAX undefined +- 3393324 sfcb process abort in IndCIMXMLHandlerInvokeMethod Changes in 1.3.12 ================= Index: indCIMXMLHandler.c =================================================================== RCS file: /cvsroot/sblim/sfcb/indCIMXMLHandler.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- indCIMXMLHandler.c 27 Jun 2011 19:06:28 -0000 1.38 +++ indCIMXMLHandler.c 23 Aug 2011 00:08:21 -0000 1.39 @@ -877,7 +877,7 @@ // Get the stub from the handler CMPIString *context = CMGetProperty(hdlr, "SequenceContext", &st).value.string; // and add the sfcb start time - char *cstr=malloc( (strlen(context->ft->getCharPtr(context,NULL)) + strlen(sfcBrokerStart)) * sizeof(char)); + char *cstr=malloc( (strlen(context->ft->getCharPtr(context,NULL)) + strlen(sfcBrokerStart) + 1) * sizeof(char)); sprintf(cstr,"%s%s",context->ft->getCharPtr(context,NULL),sfcBrokerStart); context = sfcb_native_new_CMPIString(cstr, NULL, 0); // and put it in the indication Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.680 retrieving revision 1.681 diff -u -d -r1.680 -r1.681 --- ChangeLog 4 Aug 2011 21:40:35 -0000 1.680 +++ ChangeLog 23 Aug 2011 00:08:21 -0000 1.681 @@ -1,3 +1,8 @@ +2011-08-22 Chris Buccella <buc...@li...> + + * indCIMXMLHandler.c: + [ 3393324 ] sfcb process abort in IndCIMXMLHandlerInvokeMethod + 2011-08-04 Chris Buccella <buc...@li...> * cimXmlGen.c: |
From: Tyrel D. <ty...@us...> - 2011-08-19 00:17:57
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv29765 Modified Files: Makefile.am NEWS Log Message: Fixed 3394202: large network counters overflow raw metric buffer Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- NEWS 18 May 2011 04:04:42 -0000 1.103 +++ NEWS 19 Aug 2011 00:17:54 -0000 1.104 @@ -1,3 +1,9 @@ +Changes in Version 2.2.4 +======================== + +Bugs fixed: +- 3394202 large network counters overflow raw metric buffer + Changes in Version 2.2.3 ======================== Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/gather/Makefile.am,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Makefile.am 16 May 2011 07:00:50 -0000 1.22 +++ Makefile.am 19 Aug 2011 00:17:54 -0000 1.23 @@ -238,10 +238,10 @@ libmetricKvm_la_LDFLAGS=$(PLUG_FLAGS) libmetricNetworkPort_la_SOURCES=plugin/metricNetworkPort.c -libmetricNetworkPort_la_LDFLAGS=$(PLUG_FLAGS) +libmetricNetworkPort_la_LDFLAGS=$(PLUG_FLAGS) -lm libmetricIPProtocolEndpoint_la_SOURCES=plugin/metricIPProtocolEndpoint.c -libmetricIPProtocolEndpoint_la_LDFLAGS=$(PLUG_FLAGS) +libmetricIPProtocolEndpoint_la_LDFLAGS=$(PLUG_FLAGS) -lm libmetriczECKD_la_SOURCES=plugin/metriczECKD.c libmetriczECKD_la_LIBADD=$(srcdir)/libsysfswrapper.la $(srcdir)/libgatherutil.la |
From: Dave B. <bla...@us...> - 2011-08-12 20:43:17
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications In directory vz-cvs-3.sog:/tmp/cvs-serv11722/src/org/sblim/cimclient/internal/wbem/indications Modified Files: Tag: Experimental CIMIndicationHandler.java Log Message: 3390724 - Problem with Reliable Indication support in the Listener Index: CIMIndicationHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications/CIMIndicationHandler.java,v retrieving revision 1.10.2.16 retrieving revision 1.10.2.17 diff -u -d -r1.10.2.16 -r1.10.2.17 --- CIMIndicationHandler.java 24 Jul 2011 16:47:15 -0000 1.10.2.16 +++ CIMIndicationHandler.java 12 Aug 2011 20:43:15 -0000 1.10.2.17 @@ -35,6 +35,7 @@ * 3304953 2011-05-20 blaschke-oss Indication URL mapped to lower case * 3374206 2011-07-22 blaschke-oss NullPointerException caused by Indication * 3376657 2011-07-24 blaschke-oss Get reliable indication properties once + * 3390724 2011-08-12 blaschke-oss Problem with Reliable Indication support in the Listener */ package org.sblim.cimclient.internal.wbem.indications; @@ -44,6 +45,7 @@ import java.io.InputStreamReader; import java.net.InetAddress; import java.util.Iterator; +import java.util.LinkedList; import java.util.Vector; import java.util.Map.Entry; import java.util.logging.Level; @@ -80,6 +82,67 @@ */ public class CIMIndicationHandler extends HttpContentHandler { + /** + * <code>IndicationServer</code> represents an entry in the linked list of + * servers handled by this <code>CIMIndicationHandler</code> instance. Each + * entry in the list will have a unique serverIP/destinationURL pair along + * with its own <code>ReliableIndicationHandler</code>. This is done to + * handle multiple contexts from the same server. + * + * NOTE: Multiple contexts from the same server will not be handled + * correctly if the user creates multiple + * <code>CIM_ListenerDestination</code> instances with the same + * <code>Destination</code> property. While this is poor programming + * practice (two different instances with same pertinent information), the + * real issue is that there is no way for the Client to differentiate + * between a context switch and two different contexts if the + * serverIP/destinationURL are the same. This issue it is not covered by + * DSP1054 1.2. + */ + private class IndicationServer { + + private boolean iRIInitialized = false; + + private boolean iRISupported = false; + + private InetAddress iInetAddress; + + private String iDestinationUrl; + + private ReliableIndicationHandler iRIHandler; + + public IndicationServer(InetAddress pInetAddress, String pDestinationUrl) { + this.iInetAddress = pInetAddress; + this.iDestinationUrl = pDestinationUrl; + } + + public void initialize(boolean pRISupported, ReliableIndicationHandler pRIHandler) { + this.iRIInitialized = true; + this.iRISupported = pRISupported; + this.iRIHandler = pRIHandler; + } + + public boolean isInitialized() { + return this.iRIInitialized; + } + + public boolean isRISupported() { + return this.iRISupported; + } + + public InetAddress getInetAddress() { + return this.iInetAddress; + } + + public String getDestinationUrl() { + return this.iDestinationUrl; + } + + public ReliableIndicationHandler getRIHandler() { + return this.iRIHandler; + } + } + private CIMEventDispatcher iDispatcher = null; private int iMessageId = 0; @@ -90,11 +153,7 @@ private boolean iReliableIndicationsDisabled = true; - private boolean iRIInitialized = false; - - private boolean iRISupported = false; - - private ReliableIndicationHandler iRIHandler; + private LinkedList<IndicationServer> iServerList = new LinkedList<IndicationServer>(); /** * Ctor. @@ -223,36 +282,67 @@ } /** + * Returns the corresponding indication server if the server is already + * present in the linked list, otherwise appends the server to the linked + * list and returns the new entry. + * + * @param pInetAddress + * Address of indication server. + * @param pDestinationUrl + * Destination URL of indication. + * @return <code>IndicationServer</code> with given address. + */ + private IndicationServer getIndicationServer(InetAddress pInetAddress, String pDestinationUrl) { + IndicationServer server; + Iterator<IndicationServer> iterator = this.iServerList.iterator(); + while (iterator.hasNext()) { + server = iterator.next(); + if (server.getInetAddress().equals(pInetAddress) + && server.getDestinationUrl().equalsIgnoreCase(pDestinationUrl)) return server; + } + server = new IndicationServer(pInetAddress, pDestinationUrl); + this.iServerList.add(server); + this.iLogger.trace(Level.FINE, "Creating reliable indication handler for server IP " + + server.getInetAddress().toString() + ", destination URL " + + server.getDestinationUrl()); + + return server; + } + + /** * deliverIndication handles reliable indications and returns a boolean * indicating whether the indication should be delivered or not * * @param pIndication * Indication. * @param pId - * Path portion of indication URL. + * Indication destination URL. * @param pInetAddress - * Host portion of indication URL. + * Indication server IP. * @return <code>true</code> if indication should be delivered, * <code>false</code> if <code>ReliableIndicationHandler</code> will * deliver indication */ - private boolean deliverIndication(CIMInstance pIndication, String pId, InetAddress pInetAddress) { + private synchronized boolean deliverIndication(CIMInstance pIndication, String pId, + InetAddress pInetAddress) { + // Each serverIP/destinationURL pair needs its own + // ReliableIndicationHandler in order to handle multiple contexts + IndicationServer server = getIndicationServer(pInetAddress, pId); + // Nothing to do if reliable indications initialized but not supported, // go ahead and deliver - if (this.iRIInitialized && !this.iRISupported) return true; + if (server.isInitialized() && !server.isRISupported()) return true; // Get reliable indication properties from indication CIMProperty<?> seqCtxProp = pIndication.getProperty("SequenceContext"); CIMProperty<?> seqNumProp = pIndication.getProperty("SequenceNumber"); // Initialize (if not yet done so) to check if indication is reliable - if (!this.iRIInitialized) { - this.iRIInitialized = true; - + if (!server.isInitialized()) { // Initial indication does not contain reliable indication // properties, disable support and go ahead and deliver if (seqCtxProp == null || seqNumProp == null) { - this.iRISupported = false; + server.initialize(false, null); this.iLogger .trace( @@ -263,10 +353,10 @@ } // Initial indication does not contain reliable indication - // properties with non-null values, disable support and go ahead and - // deliver + // properties with non-null values, disable support and go ahead + // and deliver if (seqCtxProp.getValue() == null || seqNumProp.getValue() == null) { - this.iRISupported = false; + server.initialize(false, null); this.iLogger .trace( @@ -276,9 +366,6 @@ return true; } - // Reliable indication found, enable support - this.iRISupported = true; - // Validate DeliveryRetryAttempts property long attempts = this.iSessionProperties.getListenerDeliveryRetryAttempts(); if (attempts <= 0 || attempts > 1000) { @@ -302,18 +389,17 @@ // Create new ReliableIndicationHandler for this // CIMIndicationHandler - this.iRIHandler = new ReliableIndicationHandler(this.iDispatcher, attempts * interval - * 10 * 1000); + server.initialize(true, new ReliableIndicationHandler(this.iDispatcher, attempts + * interval * 10 * 1000)); this.iLogger.trace(Level.FINE, "Reliable indication support enabled, DeliveryRetryAttempts=" + attempts + ", DeliveryRetryInterval=" + interval); // Let ReliableIndicationHandler deliver it - this.iRIHandler - .handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); + server.getRIHandler().handleIndication(pIndication, seqCtxProp, seqNumProp, pId, + pInetAddress); return false; - } // Reliable indication support is enabled but indication does not @@ -337,7 +423,8 @@ } // Let ReliableIndicationHandler deliver it - this.iRIHandler.handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); + server.getRIHandler().handleIndication(pIndication, seqCtxProp, seqNumProp, pId, + pInetAddress); return false; } |
From: Dave B. <bla...@us...> - 2011-08-10 12:14:19
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim In directory vz-cvs-3.sog:/tmp/cvs-serv17419/utst/org/sblim/cimclient/unittest/cim Modified Files: CIMObjectPathTest.java Log Message: 3374012 - Sblim client CIMObjectPath class defect for LLA format URL Index: CIMObjectPathTest.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim/CIMObjectPathTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- CIMObjectPathTest.java 25 Feb 2010 17:33:09 -0000 1.13 +++ CIMObjectPathTest.java 10 Aug 2011 12:14:17 -0000 1.14 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2007, 2010 + * (C) Copyright IBM Corp. 2007, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,9 +20,10 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2204488 2008-10-28 raman_arora Fix code to remove compiler warnings * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2944824 2010-02-08 blaschke-oss Missing getXmlSchemaName() in CIMObjectPath + * 3374012 2011-07-24 blaschke-oss Sblim client CIMObjectPath class defect for LLA format URL */ package org.sblim.cimclient.unittest.cim; @@ -221,7 +222,9 @@ "[23a:1::f5a3:031c:de2a:1e5f:55aa]", "[23a:1::031c:de2a:129.42.60.212]", "[23a:1::031c:de2a:1e5f:55aa]", "[23a:1::de2a:129.42.60.212]", "[23a:1::de2a:1e5f:55aa]", "[23a:1::129.42.60.212]", "[23a:1::1e5f:55aa]", - "[23a:1::55aa]", "[23a:1::]" }; + "[23a:1::55aa]", "[23a:1::]", "[23a:1:0B:f5a3:031c:de2a:1e5f:55aa%eth0]", + "[23a:1:0B:f5a3:031c::1e5f:55aa%eth1]", "[23a::1e5f:55aa%2]", + "[23a:1::1e5f:55aa%pvc1.3]", "[23a:1::55aa%interface4]" }; private static final String[] PORT_A = { null, "5898" }; |
From: Dave B. <bla...@us...> - 2011-08-10 12:03:34
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications In directory vz-cvs-3.sog:/tmp/cvs-serv13439/src/org/sblim/cimclient/internal/wbem/indications Modified Files: CIMIndicationHandler.java ReliableIndicationHandler.java Log Message: 3376657 - Get reliable indication properties once Index: CIMIndicationHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications/CIMIndicationHandler.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- CIMIndicationHandler.java 10 Aug 2011 11:52:13 -0000 1.23 +++ CIMIndicationHandler.java 10 Aug 2011 12:03:30 -0000 1.24 @@ -34,6 +34,7 @@ * 3304058 2011-05-20 blaschke-oss Use same date format in change history * 3304953 2011-05-20 blaschke-oss Indication URL mapped to lower case * 3374206 2011-07-22 blaschke-oss NullPointerException caused by Indication + * 3376657 2011-07-24 blaschke-oss Get reliable indication properties once */ package org.sblim.cimclient.internal.wbem.indications; @@ -309,7 +310,8 @@ + ", DeliveryRetryInterval=" + interval); // Let ReliableIndicationHandler deliver it - this.iRIHandler.handleIndication(pIndication, pId, pInetAddress); + this.iRIHandler + .handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); return false; } @@ -335,7 +337,7 @@ } // Let ReliableIndicationHandler deliver it - this.iRIHandler.handleIndication(pIndication, pId, pInetAddress); + this.iRIHandler.handleIndication(pIndication, seqCtxProp, seqNumProp, pId, pInetAddress); return false; } Index: ReliableIndicationHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications/ReliableIndicationHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ReliableIndicationHandler.java 4 Jun 2011 09:53:05 -0000 1.2 +++ ReliableIndicationHandler.java 10 Aug 2011 12:03:30 -0000 1.3 @@ -15,6 +15,7 @@ * Flag Date Prog Description *------------------------------------------------------------------------------- * 3288721 2011-05-20 blaschke-oss Need the function of indication reordering + * 3376657 2011-07-24 blaschke-oss Get reliable indication properties once */ package org.sblim.cimclient.internal.wbem.indications; @@ -485,26 +486,26 @@ * * @param pIndication * Reliable indication. + * @param pSeqCtxProp + * SequenceContext property. + * @param pSeqNumProp + * SequenceNumber property. * @param pId * Path portion of reliable indication URL. * @param pInetAddress * Host portion of reliable indication URL. */ - public synchronized void handleIndication(CIMInstance pIndication, String pId, - InetAddress pInetAddress) { + public synchronized void handleIndication(CIMInstance pIndication, CIMProperty<?> pSeqCtxProp, + CIMProperty<?> pSeqNumProp, String pId, InetAddress pInetAddress) { // Get current time long arrivalTime = System.currentTimeMillis(); - // Get reliable indication properties from indication - CIMProperty<?> seqCtxProp = pIndication.getProperty("SequenceContext"); - CIMProperty<?> seqNumProp = pIndication.getProperty("SequenceNumber"); - // Initial indication arrived, save knowledge about sequence identifier // and deliver if (this.iLastSequenceNumber == null) { // Remember sequence context/number and arrival time - this.iLastSequenceContext = (String) seqCtxProp.getValue(); - this.iLastSequenceNumber = (Long) seqNumProp.getValue(); + this.iLastSequenceContext = (String) pSeqCtxProp.getValue(); + this.iLastSequenceNumber = (Long) pSeqNumProp.getValue(); this.iExpectedSequenceNumber = this.iLastSequenceNumber.longValue() + 1; // this.iLastArrivalTime = arrivalTime; @@ -517,8 +518,8 @@ return; } - String seqCtx = (String) seqCtxProp.getValue(); - Long seqNum = (Long) seqNumProp.getValue(); + String seqCtx = (String) pSeqCtxProp.getValue(); + Long seqNum = (Long) pSeqNumProp.getValue(); long seqNumVal = seqNum.longValue(); // Indication arrived after sequence identifier lifetime of previous |
From: Dave B. <bla...@us...> - 2011-08-10 12:03:32
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv13439 Modified Files: NEWS Log Message: 3376657 - Get reliable indication properties once Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.231 retrieving revision 1.232 diff -u -d -r1.231 -r1.232 --- NEWS 10 Aug 2011 11:52:14 -0000 1.231 +++ NEWS 10 Aug 2011 12:03:30 -0000 1.232 @@ -2,6 +2,7 @@ ================ 3323310 Need the ability to override certain Global Properties 3374206 NullPointerException caused by Indication +3376657 Get reliable indication properties once Version 2.1.9 ================ |
From: Dave B. <bla...@us...> - 2011-08-10 11:52:18
|
Update of /cvsroot/sblim/jsr48-client/smpl/org/sblim/cimclient/samples In directory vz-cvs-3.sog:/tmp/cvs-serv9337/smpl/org/sblim/cimclient/samples Modified Files: Jsr48PegasusIndicationSample.java Log Message: 3374206 - NullPointerException caused by Indication Index: Jsr48PegasusIndicationSample.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/smpl/org/sblim/cimclient/samples/Jsr48PegasusIndicationSample.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Jsr48PegasusIndicationSample.java 10 May 2011 19:25:24 -0000 1.4 +++ Jsr48PegasusIndicationSample.java 10 Aug 2011 11:52:14 -0000 1.5 @@ -15,6 +15,7 @@ * 3182121 2011-02-15 blaschke-oss Add Jsr48PegasusIndicationSample * 3185818 2011-02-18 blaschke-oss indicationOccured URL incorrect * 3267429 2011-04-01 blaschke-oss Samples should close client + * 3374206 2011-07-22 blaschke-oss NullPointerException caused by Indication */ package org.sblim.cimclient.samples; @@ -141,11 +142,12 @@ System.out.println("The URL could NOT be parsed: " + e); } System.out.println(Jsr48CimSample.toMof(pIndication)); - System.out - .println("Based on content of indication, CIMOM DOES" - + ((pIndication.getProperty("SequenceContext") == null) - || (pIndication.getProperty("SequenceNumber") == null) ? " NOT " - : " ") + "support reliable indications."); + CIMProperty<?> context = pIndication.getProperty("SequenceContext"); + CIMProperty<?> number = pIndication.getProperty("SequenceNumber"); + System.out.println("Based on content of indication, CIMOM DOES" + + (context == null || number == null || context.getValue() == null + || number.getValue() == null ? " NOT " : " ") + + "support reliable indications."); } }, Integer.parseInt(LISTENER_PORT), PROTOCOL); |
From: Dave B. <bla...@us...> - 2011-08-10 11:52:16
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications In directory vz-cvs-3.sog:/tmp/cvs-serv9337/src/org/sblim/cimclient/internal/wbem/indications Modified Files: CIMIndicationHandler.java Log Message: 3374206 - NullPointerException caused by Indication Index: CIMIndicationHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/indications/CIMIndicationHandler.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- CIMIndicationHandler.java 4 Jun 2011 10:33:10 -0000 1.22 +++ CIMIndicationHandler.java 10 Aug 2011 11:52:13 -0000 1.23 @@ -33,6 +33,7 @@ * 3288721 2011-05-20 blaschke-oss Need the function of indication reordering * 3304058 2011-05-20 blaschke-oss Use same date format in change history * 3304953 2011-05-20 blaschke-oss Indication URL mapped to lower case + * 3374206 2011-07-22 blaschke-oss NullPointerException caused by Indication */ package org.sblim.cimclient.internal.wbem.indications; @@ -247,8 +248,8 @@ if (!this.iRIInitialized) { this.iRIInitialized = true; - // Reliable indication not found, disable support and go ahead and - // deliver + // Initial indication does not contain reliable indication + // properties, disable support and go ahead and deliver if (seqCtxProp == null || seqNumProp == null) { this.iRISupported = false; @@ -260,6 +261,20 @@ return true; } + // Initial indication does not contain reliable indication + // properties with non-null values, disable support and go ahead and + // deliver + if (seqCtxProp.getValue() == null || seqNumProp.getValue() == null) { + this.iRISupported = false; + + this.iLogger + .trace( + Level.FINE, + "Reliable indication support disabled, initial indication does not contain SequenceContext and SequenceNumber properties with non-null values"); + + return true; + } + // Reliable indication found, enable support this.iRISupported = true; @@ -303,7 +318,17 @@ // contain both properties, go ahead and deliver if (seqCtxProp == null || seqNumProp == null) { this.iLogger.trace(Level.FINE, - "Reliable indication support enabled but sequence property(s) missing:\n" + "Reliable indication support enabled but sequence property missing:\n" + + pIndication.toString()); + + return true; + } + + // Reliable indication support is enabled but indication does not + // contain both properties with non-null values, go ahead and deliver + if (seqCtxProp.getValue() == null || seqNumProp.getValue() == null) { + this.iLogger.trace(Level.FINE, + "Reliable indication support enabled but sequence property has null value:\n" + pIndication.toString()); return true; |
From: Chris B. <buc...@us...> - 2011-08-04 21:43:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 3146c89ef17df96cd3e4938a23216334cef7811b (commit) from 9dd74e2e9a9e94ac555ee8223c96889a0a068a3e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3146c89ef17df96cd3e4938a23216334cef7811b Author: buccella <buc...@li...> Date: Thu Aug 4 17:43:18 2011 -0400 [ 3386391 ] HOST_NAME_MAX undefined ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index acea2ce..429e3f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-04 Chris Buccella <buc...@li...> + + * cimXmlGen.c: + [ 3386391 ] HOST_NAME_MAX undefined + 2011-07-25 Narasimha Sharoff <nsh...@us...> * providerDrv.c: [ 3101157 ] Failed to enable provider timing analysis with SfcbLocal diff --git a/NEWS b/NEWS index b8fca9c..c4f3be4 100644 --- a/NEWS +++ b/NEWS @@ -73,6 +73,13 @@ Everything in 1.3.10, plus: - 3104761 cimRsRequest.h missing from make-dist tarball - 3107553 Remove Large Volume Support +Changes in 1.3.13 +================= + +Bugs Fixed: + +- [ 3386391 ] HOST_NAME_MAX undefined + Changes in 1.3.12 ================= diff --git a/cimXmlGen.c b/cimXmlGen.c index 7259973..428b368 100644 --- a/cimXmlGen.c +++ b/cimXmlGen.c @@ -41,6 +41,10 @@ #define SFCB_ASM(x) #endif +#ifndef HOST_NAME_MAX +#define HOST_NAME_MAX 256 +#endif + extern const char *instGetClassName(CMPIInstance *ci); extern CMPIData opGetKeyCharsAt(CMPIObjectPath * cop, unsigned int index, const char **name, CMPIStatus *rc); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2011-08-04 21:40:37
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv19968 Modified Files: cimXmlGen.c ChangeLog NEWS Log Message: [ 3386391 ] HOST_NAME_MAX undefined Index: cimXmlGen.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlGen.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- cimXmlGen.c 9 Mar 2011 00:40:20 -0000 1.73 +++ cimXmlGen.c 4 Aug 2011 21:40:35 -0000 1.74 @@ -45,6 +45,10 @@ #define SFCB_ASM(x) #endif +#ifndef HOST_NAME_MAX +#define HOST_NAME_MAX 256 +#endif + extern const char *instGetClassName(CMPIInstance * ci); extern CMPIData opGetKeyCharsAt(CMPIObjectPath * cop, unsigned int index, const char **name, CMPIStatus * rc); Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.603 retrieving revision 1.604 diff -u -d -r1.603 -r1.604 --- NEWS 24 Jun 2011 23:52:33 -0000 1.603 +++ NEWS 4 Aug 2011 21:40:35 -0000 1.604 @@ -1,3 +1,10 @@ +Changes in 1.3.13 +================= + +Bugs fixed: + +- 3386391 HOST_NAME_MAX undefined + Changes in 1.3.12 ================= Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.679 retrieving revision 1.680 diff -u -d -r1.679 -r1.680 --- ChangeLog 27 Jun 2011 19:06:28 -0000 1.679 +++ ChangeLog 4 Aug 2011 21:40:35 -0000 1.680 @@ -1,3 +1,8 @@ +2011-08-04 Chris Buccella <buc...@li...> + + * cimXmlGen.c: + [ 3386391 ] HOST_NAME_MAX undefined + 2011-06-27 Michael Chase-Salerno <br...@li...> * indCIMXMLHandler.c: |
From: Narasimha S. <nsh...@us...> - 2011-07-25 16:53:34
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 9dd74e2e9a9e94ac555ee8223c96889a0a068a3e (commit) from 5c5ddb07198a668ed85629376d9cb690191bffab (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9dd74e2e9a9e94ac555ee8223c96889a0a068a3e Author: Narasimha Sharoff <nsh...@us...> Date: Mon Jul 25 09:18:55 2011 -0700 [ 3101157 ] Failed to enable provider timing analysis with SfcbLocal ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index a0a7edf..acea2ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-07-25 Narasimha Sharoff <nsh...@us...> + * providerDrv.c: + [ 3101157 ] Failed to enable provider timing analysis with SfcbLocal + ( Patch by Chris Poblete ) + Added uset reset in TIMING_STOP + 2011-06-27 Michael Chase-Salerno <br...@li...> * indCIMXMLHandler.c: diff --git a/NEWS b/NEWS index 6412b58..b8fca9c 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,7 @@ New features: Bugs fixed: - 3199899 sfcb uninstall process should remove test mof's - 3300167 Memory leaks caused by cimRequest changes +- 3101157 Failed to enable provider timing analysis with SfcbLocal Changes in 1.4.1 ================ diff --git a/providerDrv.c b/providerDrv.c index 9edd507..04099da 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -63,7 +63,7 @@ char *opsName[]; struct timeval sv,ev; #define TIMING_START(req,pInfo) \ - if (pInfo && req->sessionId && (_sfcb_trace_mask & TRACE_RESPONSETIMING) ) {\ + if (pInfo && req && (_sfcb_trace_mask & TRACE_RESPONSETIMING) ) {\ gettimeofday(&sv,NULL);\ getrusage(RUSAGE_SELF,&us);\ getrusage(RUSAGE_CHILDREN,&cs);\ @@ -71,7 +71,7 @@ char *opsName[]; } #define TIMING_STOP(req,pInfo) \ - if (uset && (_sfcb_trace_mask & TRACE_RESPONSETIMING) ) { \ + if (uset) { \ gettimeofday(&ev,NULL); \ getrusage(RUSAGE_SELF,&ue); \ getrusage(RUSAGE_CHILDREN,&ce); \ @@ -86,6 +86,7 @@ char *opsName[]; timevalDiff(&cs.ru_utime,&ce.ru_utime), \ timevalDiff(&cs.ru_stime,&ce.ru_stime) \ )); \ + uset=0;\ } #else hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2011-07-24 20:41:54
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/uri In directory vz-cvs-3.sog:/tmp/cvs-serv3111/src/org/sblim/cimclient/internal/uri Modified Files: Tag: Experimental Authority.java Log Message: 3374012 - Sblim client CIMObjectPath class defect for LLA format URL Index: Authority.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/uri/Authority.java,v retrieving revision 1.6.2.4 retrieving revision 1.6.2.5 diff -u -d -r1.6.2.4 -r1.6.2.5 --- Authority.java 23 Feb 2009 18:25:58 -0000 1.6.2.4 +++ Authority.java 24 Jul 2011 20:41:51 -0000 1.6.2.5 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2011 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -16,6 +16,7 @@ * 1723607 2007-05-22 ebak IPv6 support in WBEM-URI strings * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3374012 2011-07-24 blaschke-oss Sblim client CIMObjectPath class defect for LLA format URL */ package org.sblim.cimclient.internal.uri; @@ -32,13 +33,14 @@ * / "*" / "+" / "," / ";" / "="<br> * ALPHA = regex([A-Za-z])<br> * DIGIT = regex([0-9])<br><br> + * Zone-index = ["%" ( 1*unreserved )] * host = IP-literal / IPv4address / reg-name<br> * IP-literal = "[" ( IPv6address / IPvFuture ) "]"<br> * IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )<br> * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet<br> * reg-name = *( unreserved / pct-encoded / sub-delims )<br><br> * - * IPv6address = 6( h16 ":" ) ls32<br> + * IPv6address = ( 6( h16 ":" ) ls32<br> * / "::" 5( h16 ":" ) ls32<br> * / [ h16 ] "::" 4( h16 ":" ) ls32<br> * / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32<br> @@ -46,7 +48,7 @@ * / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32<br> * / [ *4( h16 ":" ) h16 ] "::" ls32<br> * / [ *5( h16 ":" ) h16 ] "::" h16<br> - * / [ *6( h16 ":" ) h16 ] "::"<br><br> + * / [ *6( h16 ":" ) h16 ] "::" ) Zone-index<br><br> * * ls32 = ( h16 ":" h16 ) / IPv4address<br> * ; least-significant 32 bits of address<br><br> @@ -66,6 +68,8 @@ private static final String REGNAMEREG = "([" + UNRESERVED + SUBDELIMS + "]|" + PCTENCODED + ")+"; + private static final String ZONEINDEX = "(%[" + UNRESERVED + "]+)?"; + private static final String IPV4 = "([0-9]{1,3}\\.){3}[0-9]{1,3}"; private static final String H16 = "[0-9A-Fa-f]{1,4}"; @@ -74,7 +78,7 @@ private static final String IPV6 = // 6( h16 ":" ) ls32 - "((" + H16 + ":){6}" + LS32 + ")|" + + "(((" + H16 + ":){6}" + LS32 + ")|" + // "::" 5( h16 ":" ) "(::(" + H16 + ":){5}" + LS32 + ")|" + // [ h16 ] "::" 4( h16 ":" ) ls32 @@ -90,7 +94,7 @@ // [ *5( h16 ":" ) h16 ] "::" h16 "(((" + H16 + ":){0,5}" + H16 + ")?::" + H16 + ")|" + // [ *6( h16 ":" ) h16 ] "::" - "(((" + H16 + ":){0,6}" + H16 + ")?::)"; + "(((" + H16 + ":){0,6}" + H16 + ")?::))" + ZONEINDEX; // IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) private static final String IPVFUTURE = "v[0-9A-Fa-f]+\\.([" + UNRESERVED + SUBDELIMS + "]|:)+"; |