You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by an...@apache.org on 2012/03/13 20:40:27 UTC
svn commit: r1300301 - in /myfaces/trinidad/branches/andys-skin-pregen:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/
trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/
trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/...
Author: andys
Date: Tue Mar 13 19:40:26 2012
New Revision: 1300301
URL: http://svn.apache.org/viewvc?rev=1300301&view=rev
Log:
Checkpoint: more code cleanup. Plus got tired of hand-coding null arg checks so added new Args utility class with Args.notNull() API.
Added:
myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Args.java
Modified:
myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Version.java
myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Enums.java
myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Range.java
myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/resource/LoggerBundle.xrts
myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/ApplicationAndVersion.java
myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/FixedVariantExtractor.java
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Version.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Version.java?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Version.java (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/Version.java Tue Mar 13 19:40:26 2012
@@ -41,6 +41,11 @@ import org.apache.myfaces.trinidad.util.
* that is inconsistent with equals. For example,
* <code>Version("5", "*").compareTo(Version("5.0", "*") == 0</code>
* <code>Version("5", "*").equals(Version("5.0", "*") == false;</code>
+ *
+ * The concrete versions produced by toMinimumVersion() and toMaximumVersion()
+ * do have consistent compareTo()/equals() behavior, as these versions are
+ * guaranteed to not contain wildcards.
+ *
* @author Blake Sullivan
*/
public final class Version implements Comparable<Version>
Added: myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Args.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Args.java?rev=1300301&view=auto
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Args.java (added)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Args.java Tue Mar 13 19:40:26 2012
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.trinidad.util;
+
+import org.apache.myfaces.trinidad.logging.TrinidadLogger;
+
+/**
+ * Argument processing utilities.
+ */
+public final class Args
+{
+ /**
+ * Ensures that the specified argument is not null. If
+ * the value is null, an IllegalArgumentException is thrown.
+ * @param arg the value to test
+ * @param argName the name of the argument (for logging purposes)
+ * @return the argument value, if not null
+ */
+ public static <T> T notNull(T arg, String argName)
+ {
+ if (arg == null)
+ {
+ throw new IllegalArgumentException(_getNotNullMessage(argName));
+ }
+
+ return arg;
+ }
+
+ private static String _getNotNullMessage(String argName)
+ {
+ return _LOG.getMessage("ILLEGAL_NULL_ARGUMENT", argName);
+ }
+
+ private Args() { }
+
+ static private final TrinidadLogger _LOG =
+ TrinidadLogger.createTrinidadLogger(Args.class);
+}
\ No newline at end of file
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Enums.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Enums.java?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Enums.java (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Enums.java Tue Mar 13 19:40:26 2012
@@ -407,5 +407,4 @@ public final class Enums
static private final TrinidadLogger _LOG =
TrinidadLogger.createTrinidadLogger(Enums.class);
-
}
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Range.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Range.java?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Range.java (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/Range.java Tue Mar 13 19:40:26 2012
@@ -18,8 +18,6 @@
*/
package org.apache.myfaces.trinidad.util;
-import org.apache.myfaces.trinidad.logging.TrinidadLogger;
-
/**
* Represents a range of comparable values with a specific start and end.
*
@@ -38,8 +36,8 @@ public final class Range<C extends Compa
*/
public static <C extends Comparable> Range<C> of(C start, C end)
{
- _checkNull("start", start);
- _checkNull("end", end);
+ Args.notNull(start, "start");
+ Args.notNull(end, "end");
if (start.compareTo(end) > 0)
{
@@ -116,7 +114,7 @@ public final class Range<C extends Compa
*/
public Range<C> intersect(Range<C> otherRange)
{
- _checkNull("otherRange", otherRange);
+ Args.notNull(otherRange, "otherRange");
if (isEmpty() || (otherRange.isEmpty()))
{
@@ -198,17 +196,6 @@ public final class Range<C extends Compa
return result;
}
- // Throws an IllegalArgumentException if the specified param value is null
- private static <C extends Comparable> void _checkNull(String paramName, Object paramValue)
- throws IllegalArgumentException
- {
- if (paramValue == null)
- {
- String message = _LOG.getMessage("ILLEGAL_NULL_VALUE", paramName);
- throw new IllegalArgumentException(message);
- }
- }
-
private Range(C start, C end)
{
_start = start;
@@ -222,7 +209,4 @@ public final class Range<C extends Compa
// that we properly handle deserialization to this singleton instance.
private static final Range<? extends Comparable> _EMPTY_RANGE =
new Range<Comparable>(null, null);
-
- private static final TrinidadLogger _LOG =
- TrinidadLogger.createTrinidadLogger(Range.class);
}
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/resource/LoggerBundle.xrts
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/resource/LoggerBundle.xrts?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/resource/LoggerBundle.xrts (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-api/src/main/xrts/org/apache/myfaces/trinidad/resource/LoggerBundle.xrts Tue Mar 13 19:40:26 2012
@@ -525,7 +525,7 @@
<!-- ILLEGAL_ENUM_VALUE -->
<resource key="ILLEGAL_ENUM_VALUE">No {0} enum constant for value "{1}".</resource>
-<resource key="ILLEGAL_NULL_VALUE">Illegal null value for {0}</resource>
+<resource key="ILLEGAL_NULL_ARGUMENT">A non-null value must be specified for the {0} argument.</resource>
<resource key="UNEXPECTED_VERSION_VALUE">Unable to parse version segment {0} of version string {1}.</resource>
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/ApplicationAndVersion.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/ApplicationAndVersion.java?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/ApplicationAndVersion.java (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/ApplicationAndVersion.java Tue Mar 13 19:40:26 2012
@@ -19,6 +19,7 @@
package org.apache.myfaces.trinidadinternal.skin.pregen.variant;
import org.apache.myfaces.trinidad.context.Version;
+import org.apache.myfaces.trinidad.util.Args;
import org.apache.myfaces.trinidadinternal.agent.TrinidadAgent;
/**
@@ -26,7 +27,11 @@ import org.apache.myfaces.trinidadintern
* Version value.
*
* Only note of interest: the AppicationAndVersion.version is guaranteed to
- * be concrete (ie. no wildcards).
+ * be concrete (ie. no wildcards). As a result, although Version.equals()
+ * and Version.compareTo() are typically inconsistent, ApplicationAndVersion's
+ * equals() and compareTo() implementations are consistent - ie. if
+ * ApplicationAndVersion.compareTo() returns zero, equals() returns true
+ * (and vice versa).
*/
public final class ApplicationAndVersion implements Comparable<ApplicationAndVersion>
{
@@ -51,14 +56,16 @@ public final class ApplicationAndVersion
*
* @param application a non-null TrinidadAgent.Application instance.
* @param version a non-null Version instance.
+ *
+ * @throws IllegalArgumentException if either application or version are null.
*/
public ApplicationAndVersion(
TrinidadAgent.Application application,
Version version
- )
+ ) throws IllegalArgumentException
{
- assert(application != null);
- assert(version != null);
+ Args.notNull(application, "application");
+ Args.notNull(version, "version");
this.application = application;
Modified: myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/FixedVariantExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/FixedVariantExtractor.java?rev=1300301&r1=1300300&r2=1300301&view=diff
==============================================================================
--- myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/FixedVariantExtractor.java (original)
+++ myfaces/trinidad/branches/andys-skin-pregen/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/pregen/variant/FixedVariantExtractor.java Tue Mar 13 19:40:26 2012
@@ -21,6 +21,7 @@ package org.apache.myfaces.trinidadinter
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import org.apache.myfaces.trinidadinternal.style.xml.parse.StyleSheetNode;
@@ -73,7 +74,7 @@ final class FixedVariantExtractor <T> im
private FixedVariantExtractor(
List<T> values)
{
- _values = values;
+ _values = Collections.unmodifiableList(values);
}
private final List<T> _values;