Author: jverhaeg(a)redhat.com
Date: 2008-04-23 21:42:52 -0400 (Wed, 23 Apr 2008)
New Revision: 106
Added:
trunk/dna-common/src/test/java/org/jboss/dna/common/AbstractI18nTest.java
trunk/dna-common/src/test/java/org/jboss/dna/common/CommonI18nTest.java
trunk/dna-maven-classloader/src/test/java/org/jboss/dna/maven/MavenI18nTest.java
trunk/dna-repository/src/test/java/org/jboss/dna/repository/RepositoryI18nTest.java
Removed:
trunk/dna-common/src/test/java/org/jboss/dna/common/i18n/CommonI18nTest.java
trunk/dna-repository/src/test/java/org/jboss/dna/services/
Modified:
trunk/dna-maven-classloader/src/main/java/org/jboss/dna/maven/MavenI18n.java
trunk/dna-repository/src/main/java/org/jboss/dna/repository/RepositoryI18n.java
Log:
DNA-27: Added convenience methods to project I18n classes, and tests for each (that extend
an abstract test class) to ensure they have no localization problems. Also moved
CommonI18nTest to correct package.
Added: trunk/dna-common/src/test/java/org/jboss/dna/common/AbstractI18nTest.java
===================================================================
--- trunk/dna-common/src/test/java/org/jboss/dna/common/AbstractI18nTest.java
(rev 0)
+++ trunk/dna-common/src/test/java/org/jboss/dna/common/AbstractI18nTest.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -0,0 +1,52 @@
+/*
+ *
+ */
+package org.jboss.dna.common;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Locale;
+import java.util.Set;
+import org.jboss.dna.common.i18n.I18n;
+import org.junit.Test;
+
+/**
+ * @author John Verhaeg
+ */
+public class AbstractI18nTest {
+
+ private Class i18nClass;
+
+ protected AbstractI18nTest( Class i18nClass ) {
+ this.i18nClass = i18nClass;
+ }
+
+ @Test
+ @SuppressWarnings( "unchecked" )
+ public void shouldNotHaveLocalizationProblems() throws Exception {
+ Method method = i18nClass.getDeclaredMethod("getLocalizationProblemLocales",
(Class[])null);
+ Set<Locale> locales = (Set<Locale>)method.invoke(null, (Object[])null);
+ method = i18nClass.getDeclaredMethod("getLocalizationProblems",
Locale.class);
+ for (Locale locale : locales) {
+ assertThat(((Set<String>)method.invoke(null, locale)).isEmpty(), is(true));
+ }
+ }
+
+ @Test
+ public void shouldNotHaveProblems() throws IllegalAccessException {
+ for (Field fld : i18nClass.getDeclaredFields()) {
+ if (fld.getType() == I18n.class && (fld.getModifiers() & Modifier.PUBLIC)
== Modifier.PUBLIC
+ && (fld.getModifiers() & Modifier.STATIC) == Modifier.STATIC
+ && (fld.getModifiers() & Modifier.FINAL) != Modifier.FINAL) {
+ I18n i18n = (I18n)fld.get(null);
+ if (i18n.hasProblem()) {
+ fail();
+ }
+ }
+ }
+ }
+}
Property changes on:
trunk/dna-common/src/test/java/org/jboss/dna/common/AbstractI18nTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/dna-common/src/test/java/org/jboss/dna/common/CommonI18nTest.java (from rev
105, trunk/dna-common/src/test/java/org/jboss/dna/common/i18n/CommonI18nTest.java)
===================================================================
--- trunk/dna-common/src/test/java/org/jboss/dna/common/CommonI18nTest.java
(rev 0)
+++ trunk/dna-common/src/test/java/org/jboss/dna/common/CommonI18nTest.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -0,0 +1,14 @@
+/*
+ *
+ */
+package org.jboss.dna.common;
+
+/**
+ * @author John Verhaeg
+ */
+public class CommonI18nTest extends AbstractI18nTest {
+
+ public CommonI18nTest() {
+ super(CommonI18n.class);
+ }
+}
Property changes on:
trunk/dna-common/src/test/java/org/jboss/dna/common/CommonI18nTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/dna-common/src/test/java/org/jboss/dna/common/i18n/CommonI18nTest.java
===================================================================
---
trunk/dna-common/src/test/java/org/jboss/dna/common/i18n/CommonI18nTest.java 2008-04-24
00:45:28 UTC (rev 105)
+++
trunk/dna-common/src/test/java/org/jboss/dna/common/i18n/CommonI18nTest.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -1,23 +0,0 @@
-/*
- *
- */
-package org.jboss.dna.common.i18n;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import java.util.Locale;
-import org.jboss.dna.common.CommonI18n;
-import org.junit.Test;
-
-/**
- * @author John Verhaeg
- */
-public class CommonI18nTest {
-
- @Test
- public void shouldNotHaveLocalizationProblems() {
- for (Locale locale : CommonI18n.getLocalizationProblemLocales()) {
- assertThat(CommonI18n.getLocalizationProblems(locale).isEmpty(), is(true));
- }
- }
-}
Modified: trunk/dna-maven-classloader/src/main/java/org/jboss/dna/maven/MavenI18n.java
===================================================================
---
trunk/dna-maven-classloader/src/main/java/org/jboss/dna/maven/MavenI18n.java 2008-04-24
00:45:28 UTC (rev 105)
+++
trunk/dna-maven-classloader/src/main/java/org/jboss/dna/maven/MavenI18n.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -2,7 +2,7 @@
* JBoss, Home of Professional Open Source.
* Copyright 2008, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
@@ -21,6 +21,8 @@
*/
package org.jboss.dna.maven;
+import java.util.Locale;
+import java.util.Set;
import org.jboss.dna.common.i18n.I18n;
/**
@@ -28,36 +30,48 @@
*/
public final class MavenI18n {
- static {
- try {
- I18n.initialize(MavenI18n.class);
- } catch (final Exception err) {
- System.err.println(err);
- }
- }
+ public static I18n errorGettingUrlForMavenProject;
+ public static I18n unsupportedMavenCoordinateFormat;
+ public static I18n errorCreatingUrlForMavenId;
+ public static I18n errorGettingPomFileForMavenIdAtUrl;
+ public static I18n pomFileIsInvalid;
+ public static I18n pomFileContainsUnexpectedId;
+ public static I18n errorCreatingXpathStatementsToEvaluatePom;
+ public static I18n errorCreatingXpathParserToEvaluatePom;
+ public static I18n errorReadingXmlDocumentToEvaluatePom;
+ public static I18n errorClosingUrlStreamToPom;
- public static I18n errorGettingUrlForMavenProject;
- public static I18n unsupportedMavenCoordinateFormat;
- public static I18n errorCreatingUrlForMavenId;
- public static I18n errorGettingPomFileForMavenIdAtUrl;
- public static I18n pomFileIsInvalid;
- public static I18n pomFileContainsUnexpectedId;
- public static I18n errorCreatingXpathStatementsToEvaluatePom;
- public static I18n errorCreatingXpathParserToEvaluatePom;
- public static I18n errorReadingXmlDocumentToEvaluatePom;
- public static I18n errorClosingUrlStreamToPom;
+ public static I18n unableToOpenSessiontoRepositoryWhenCreatingNode;
+ public static I18n unableToFindWorkspaceWhenCreatingNode;
+ public static I18n errorCreatingNode;
+ public static I18n unableToOpenSessiontoRepositoryWhenReadingNode;
+ public static I18n unableToFindWorkspaceWhenReadingNode;
+ public static I18n errorReadingNode;
+ public static I18n unableToOpenSessiontoRepositoryWhenWritingNode;
+ public static I18n unableToFindWorkspaceWhenWritingNode;
+ public static I18n errorWritingNode;
- public static I18n unableToOpenSessiontoRepositoryWhenCreatingNode;
- public static I18n unableToFindWorkspaceWhenCreatingNode;
- public static I18n errorCreatingNode;
- public static I18n unableToOpenSessiontoRepositoryWhenReadingNode;
- public static I18n unableToFindWorkspaceWhenReadingNode;
- public static I18n errorReadingNode;
- public static I18n unableToOpenSessiontoRepositoryWhenWritingNode;
- public static I18n unableToFindWorkspaceWhenWritingNode;
- public static I18n errorWritingNode;
+ public static I18n unableToWriteToClosedStream;
+ public static I18n errorClosingTempFileStreamAfterWritingContent;
+ public static I18n errorDeletingTempFileStreamAfterWritingContent;
- public static I18n unableToWriteToClosedStream;
- public static I18n errorClosingTempFileStreamAfterWritingContent;
- public static I18n errorDeletingTempFileStreamAfterWritingContent;
+ static {
+ try {
+ I18n.initialize(MavenI18n.class);
+ } catch (final Exception err) {
+ System.err.println(err);
+ }
+ }
+
+ public static Set<Locale> getLocalizationProblemLocales() {
+ return I18n.getLocalizationProblemLocales(MavenI18n.class);
+ }
+
+ public static Set<String> getLocalizationProblems() {
+ return I18n.getLocalizationProblems(MavenI18n.class);
+ }
+
+ public static Set<String> getLocalizationProblems( Locale locale ) {
+ return I18n.getLocalizationProblems(MavenI18n.class, locale);
+ }
}
Added: trunk/dna-maven-classloader/src/test/java/org/jboss/dna/maven/MavenI18nTest.java
===================================================================
--- trunk/dna-maven-classloader/src/test/java/org/jboss/dna/maven/MavenI18nTest.java
(rev 0)
+++
trunk/dna-maven-classloader/src/test/java/org/jboss/dna/maven/MavenI18nTest.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -0,0 +1,16 @@
+/*
+ *
+ */
+package org.jboss.dna.maven;
+
+import org.jboss.dna.common.AbstractI18nTest;
+
+/**
+ * @author John Verhaeg
+ */
+public class MavenI18nTest extends AbstractI18nTest {
+
+ public MavenI18nTest() {
+ super(MavenI18n.class);
+ }
+}
Property changes on:
trunk/dna-maven-classloader/src/test/java/org/jboss/dna/maven/MavenI18nTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/dna-repository/src/main/java/org/jboss/dna/repository/RepositoryI18n.java
===================================================================
---
trunk/dna-repository/src/main/java/org/jboss/dna/repository/RepositoryI18n.java 2008-04-24
00:45:28 UTC (rev 105)
+++
trunk/dna-repository/src/main/java/org/jboss/dna/repository/RepositoryI18n.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -2,7 +2,7 @@
* JBoss, Home of Professional Open Source.
* Copyright 2008, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
@@ -21,6 +21,8 @@
*/
package org.jboss.dna.repository;
+import java.util.Locale;
+import java.util.Set;
import org.jboss.dna.common.i18n.I18n;
/**
@@ -28,74 +30,85 @@
*/
public final class RepositoryI18n {
- static {
- try {
- I18n.initialize(RepositoryI18n.class);
- } catch (final Exception err) {
- System.err.println(err);
- }
- }
+ public static I18n invalidStateString;
+ public static I18n serviceShutdowAndMayNotBeStarted;
+ public static I18n serviceShutdowAndMayNotBePaused;
+ public static I18n unableToFindRepositoryInJndi;
+ public static I18n errorProcessingEvents;
+ public static I18n errorFindingPropertyNameInPropertyAddedEvent;
+ public static I18n errorFindingPropertyNameInPropertyChangedEvent;
+ public static I18n errorFindingPropertyNameInPropertyRemovedEvent;
- public static I18n invalidStateString;
- public static I18n serviceShutdowAndMayNotBeStarted;
- public static I18n serviceShutdowAndMayNotBePaused;
- public static I18n unableToFindRepositoryInJndi;
- public static I18n errorProcessingEvents;
- public static I18n errorFindingPropertyNameInPropertyAddedEvent;
- public static I18n errorFindingPropertyNameInPropertyChangedEvent;
- public static I18n errorFindingPropertyNameInPropertyRemovedEvent;
+ public static I18n unableToObtainJsr94RuleAdministrator;
+ public static I18n errorUsingJsr94RuleAdministrator;
+ public static I18n unableToObtainJsr94ServiceProvider;
+ public static I18n errorAddingOrUpdatingRuleSet;
+ public static I18n errorRollingBackRuleSetAfterUpdateFailed;
+ public static I18n errorReadingRulesAndProperties;
+ public static I18n errorDeregisteringRuleSetBeforeUpdatingIt;
+ public static I18n errorRecreatingRuleSet;
+ public static I18n errorRemovingRuleSet;
+ public static I18n errorRemovingRuleSetUponShutdown;
+ public static I18n unableToFindRuleSet;
+ public static I18n errorExecutingRuleSetWithGlobalsAndFacts;
+ public static I18n unableToBuildRuleSetRegularExpressionPattern;
- public static I18n unableToObtainJsr94RuleAdministrator;
- public static I18n errorUsingJsr94RuleAdministrator;
- public static I18n unableToObtainJsr94ServiceProvider;
- public static I18n errorAddingOrUpdatingRuleSet;
- public static I18n errorRollingBackRuleSetAfterUpdateFailed;
- public static I18n errorReadingRulesAndProperties;
- public static I18n errorDeregisteringRuleSetBeforeUpdatingIt;
- public static I18n errorRecreatingRuleSet;
- public static I18n errorRemovingRuleSet;
- public static I18n errorRemovingRuleSetUponShutdown;
- public static I18n unableToFindRuleSet;
- public static I18n errorExecutingRuleSetWithGlobalsAndFacts;
- public static I18n unableToBuildRuleSetRegularExpressionPattern;
+ public static I18n errorObtainingSessionToRepositoryWorkspace;
+ public static I18n errorWritingProblemsOnRuleSet;
- public static I18n errorObtainingSessionToRepositoryWorkspace;
- public static I18n errorWritingProblemsOnRuleSet;
+ public static I18n sequencingServiceName;
+ public static I18n unableToChangeExecutionContextWhileRunning;
+ public static I18n unableToStartSequencingServiceWithoutExecutionContext;
+ public static I18n errorWhileSequencingNode;
+ public static I18n errorInRepositoryWhileSequencingNode;
+ public static I18n errorFindingSequencersToRunAgainstNode;
+ public static I18n errorInRepositoryWhileFindingSequencersToRunAgainstNode;
+ public static I18n executionContextHasBeenClosed;
+ public static I18n sequencerTask;
+ public static I18n sequencerSubtask;
+ public static I18n unableToFindPropertyForSequencing;
+ public static I18n sequencingPropertyOnNode;
+ public static I18n writingOutputSequencedFromPropertyOnNodes;
- public static I18n sequencingServiceName;
- public static I18n unableToChangeExecutionContextWhileRunning;
- public static I18n unableToStartSequencingServiceWithoutExecutionContext;
- public static I18n errorWhileSequencingNode;
- public static I18n errorInRepositoryWhileSequencingNode;
- public static I18n errorFindingSequencersToRunAgainstNode;
- public static I18n errorInRepositoryWhileFindingSequencersToRunAgainstNode;
- public static I18n executionContextHasBeenClosed;
- public static I18n sequencerTask;
- public static I18n sequencerSubtask;
- public static I18n unableToFindPropertyForSequencing;
- public static I18n sequencingPropertyOnNode;
- public static I18n writingOutputSequencedFromPropertyOnNodes;
+ public static I18n errorReadingPropertiesFromContainerNode;
+ public static I18n requiredPropertyOnNodeWasExpectedToBeStringValue;
+ public static I18n optionalPropertyOnNodeWasExpectedToBeStringValue;
+ public static I18n requiredPropertyOnNodeWasExpectedToBeStringArrayValue;
+ public static I18n optionalPropertyOnNodeWasExpectedToBeStringArrayValue;
+ public static I18n requiredPropertyOnNodeCouldNotBeRead;
+ public static I18n optionalPropertyOnNodeCouldNotBeRead;
+ public static I18n requiredPropertyIsMissingFromNode;
+ public static I18n errorGettingRequiredPropertyFromNode;
+ public static I18n errorGettingOptionalPropertyFromNode;
+ public static I18n errorClosingBinaryStreamForPropertyFromNode;
+ public static I18n requiredNodeDoesNotExistRelativeToNode;
+ public static I18n errorGettingNodeRelativeToNode;
+ public static I18n unknownPropertyValueType;
- public static I18n errorReadingPropertiesFromContainerNode;
- public static I18n requiredPropertyOnNodeWasExpectedToBeStringValue;
- public static I18n optionalPropertyOnNodeWasExpectedToBeStringValue;
- public static I18n requiredPropertyOnNodeWasExpectedToBeStringArrayValue;
- public static I18n optionalPropertyOnNodeWasExpectedToBeStringArrayValue;
- public static I18n requiredPropertyOnNodeCouldNotBeRead;
- public static I18n optionalPropertyOnNodeCouldNotBeRead;
- public static I18n requiredPropertyIsMissingFromNode;
- public static I18n errorGettingRequiredPropertyFromNode;
- public static I18n errorGettingOptionalPropertyFromNode;
- public static I18n errorClosingBinaryStreamForPropertyFromNode;
- public static I18n requiredNodeDoesNotExistRelativeToNode;
- public static I18n errorGettingNodeRelativeToNode;
- public static I18n unknownPropertyValueType;
+ public static I18n pathExpressionIsInvalid;
+ public static I18n pathExpressionMayNotBeBlank;
+ public static I18n pathExpressionHasInvalidSelect;
+ public static I18n pathExpressionHasInvalidMatch;
- public static I18n pathExpressionIsInvalid;
- public static I18n pathExpressionMayNotBeBlank;
- public static I18n pathExpressionHasInvalidSelect;
- public static I18n pathExpressionHasInvalidMatch;
+ public static I18n invalidRepositoryNodePath;
- public static I18n invalidRepositoryNodePath;
+ static {
+ try {
+ I18n.initialize(RepositoryI18n.class);
+ } catch (final Exception err) {
+ System.err.println(err);
+ }
+ }
+ public static Set<Locale> getLocalizationProblemLocales() {
+ return I18n.getLocalizationProblemLocales(RepositoryI18n.class);
+ }
+
+ public static Set<String> getLocalizationProblems() {
+ return I18n.getLocalizationProblems(RepositoryI18n.class);
+ }
+
+ public static Set<String> getLocalizationProblems( Locale locale ) {
+ return I18n.getLocalizationProblems(RepositoryI18n.class, locale);
+ }
}
Added:
trunk/dna-repository/src/test/java/org/jboss/dna/repository/RepositoryI18nTest.java
===================================================================
--- trunk/dna-repository/src/test/java/org/jboss/dna/repository/RepositoryI18nTest.java
(rev 0)
+++
trunk/dna-repository/src/test/java/org/jboss/dna/repository/RepositoryI18nTest.java 2008-04-24
01:42:52 UTC (rev 106)
@@ -0,0 +1,13 @@
+package org.jboss.dna.repository;
+
+import org.jboss.dna.common.AbstractI18nTest;
+
+/**
+ * @author John Verhaeg
+ */
+public class RepositoryI18nTest extends AbstractI18nTest {
+
+ public RepositoryI18nTest() {
+ super(RepositoryI18n.class);
+ }
+}
Property changes on:
trunk/dna-repository/src/test/java/org/jboss/dna/repository/RepositoryI18nTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Show replies by date