You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/04/10 01:14:22 UTC
svn commit: r1090705 - in /commons/proper/discovery/trunk: pom.xml
src/java/org/apache/commons/discovery/tools/Service.java
src/test/org/apache/commons/discovery/test/TestAll.java
Author: simonetripodi
Date: Sat Apr 9 23:14:21 2011
New Revision: 1090705
URL: http://svn.apache.org/viewvc?rev=1090705&view=rev
Log:
rollback for DISCOVERY-17, issue is invalid
Modified:
commons/proper/discovery/trunk/pom.xml
commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/tools/Service.java
commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java
Modified: commons/proper/discovery/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/pom.xml?rev=1090705&r1=1090704&r2=1090705&view=diff
==============================================================================
--- commons/proper/discovery/trunk/pom.xml (original)
+++ commons/proper/discovery/trunk/pom.xml Sat Apr 9 23:14:21 2011
@@ -108,12 +108,6 @@
<version>4.8.2</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>avalon-logkit</groupId>
- <artifactId>avalon-logkit</artifactId>
- <version>2.1</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<properties>
Modified: commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/tools/Service.java
URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/tools/Service.java?rev=1090705&r1=1090704&r2=1090705&view=diff
==============================================================================
--- commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/tools/Service.java (original)
+++ commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/tools/Service.java Sat Apr 9 23:14:21 2011
@@ -92,23 +92,32 @@ public class Service {
return new Enumeration<S>() {
+ private S object = getNextClassInstance();
+
public boolean hasMoreElements() {
- return services.hasNext();
+ return object != null;
}
public S nextElement() {
- ResourceClass<S> info = services.nextResourceClass();
-
- if (info == null) {
+ if (object == null) {
throw new NoSuchElementException();
}
- try {
- return spi.newInstance(info.loadClass());
- } catch (Exception e) {
- // ignore
- } catch (LinkageError le) {
- // ignore
+ S obj = object;
+ object = getNextClassInstance();
+ return obj;
+ }
+
+ private S getNextClassInstance() {
+ while (services.hasNext()) {
+ ResourceClass<S> info = services.nextResourceClass();
+ try {
+ return spi.newInstance(info.loadClass());
+ } catch (Exception e) {
+ // ignore
+ } catch (LinkageError le) {
+ // ignore
+ }
}
return null;
}
Modified: commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java
URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java?rev=1090705&r1=1090704&r2=1090705&view=diff
==============================================================================
--- commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java (original)
+++ commons/proper/discovery/trunk/src/test/org/apache/commons/discovery/test/TestAll.java Sat Apr 9 23:14:21 2011
@@ -294,7 +294,7 @@ public class TestAll {
@Test
public void findImplementationsViaService() {
- final int expectedLogImplementations = 3;
+ final int expectedLogImplementations = 2;
int actualLogImplementations = 0;
Enumeration<? extends Log> logImplementations = providers(newSPInterface(Log.class,