Author: lukaszlenart
Date: Tue May 15 11:42:38 2012
New Revision: 1338660
URL: http://svn.apache.org/viewvc?rev=1338660&view=rev
Log:
WW-3820 changes implementation of getInstanceNames(Class<?> type) to return
empty set instead of null
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/Container.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
Tue May 15 11:42:38 2012
@@ -741,11 +741,9 @@ public class Dispatcher {
MultiPartRequest mpr = null;
//check for alternate implementations of MultiPartRequest
Set<String> multiNames =
getContainer().getInstanceNames(MultiPartRequest.class);
- if (multiNames != null) {
- for (String multiName : multiNames) {
- if (multiName.equals(multipartHandlerName)) {
- mpr =
getContainer().getInstance(MultiPartRequest.class, multiName);
- }
+ for (String multiName : multiNames) {
+ if (multiName.equals(multipartHandlerName)) {
+ mpr = getContainer().getInstance(MultiPartRequest.class,
multiName);
}
}
if (mpr == null ) {
Modified:
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
(original)
+++
struts/struts2/trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowBeansAction.java
Tue May 15 11:42:38 2012
@@ -35,7 +35,6 @@ import org.apache.struts2.dispatcher.mul
import org.apache.struts2.views.freemarker.FreemarkerManager;
import org.apache.struts2.views.velocity.VelocityManager;
-import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
@@ -75,9 +74,6 @@ public class ShowBeansAction extends Act
chosenName = "struts";
}
Set<String> names = container.getInstanceNames(type);
- if (names == null) {
- names = Collections.emptySet();
- }
if (!names.contains(chosenName)) {
bindings.add(new Binding(getInstanceClassName(container, type,
"default"), chosenName, constName, true));
}
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java
Tue May 15 11:42:38 2012
@@ -15,20 +15,16 @@
*/
package com.opensymphony.xwork2;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.Result;
-import com.opensymphony.xwork2.UnknownHandler;
-import com.opensymphony.xwork2.UnknownHandlerManager;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.UnknownHandlerConfig;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
/**
* Default implementation of UnknownHandlerManager
*
@@ -69,11 +65,9 @@ public class DefaultUnknownHandlerManage
} else {
//add all available UnknownHandlers
Set<String> unknowHandlerNames =
container.getInstanceNames(UnknownHandler.class);
- if (unknowHandlerNames != null) {
- for (String unknowHandlerName : unknowHandlerNames) {
- UnknownHandler uh =
container.getInstance(UnknownHandler.class, unknowHandlerName);
- unknownHandlers.add(uh);
- }
+ for (String unknowHandlerName : unknowHandlerNames) {
+ UnknownHandler uh =
container.getInstance(UnknownHandler.class, unknowHandlerName);
+ unknownHandlers.add(uh);
}
}
}
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
Tue May 15 11:42:38 2012
@@ -17,7 +17,6 @@ package com.opensymphony.xwork2.config.i
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.DefaultTextProvider;
-import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.TextProvider;
@@ -57,7 +56,6 @@ import com.opensymphony.xwork2.util.Comp
import com.opensymphony.xwork2.util.PatternMatcher;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
-import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import com.opensymphony.xwork2.util.logging.Logger;
@@ -240,13 +238,11 @@ public class DefaultConfiguration implem
// Then process any package providers from the plugins
Set<String> packageProviderNames =
container.getInstanceNames(PackageProvider.class);
- if (packageProviderNames != null) {
- for (String name : packageProviderNames) {
- PackageProvider provider =
container.getInstance(PackageProvider.class, name);
- provider.init(this);
- provider.loadPackages();
- packageProviders.add(provider);
- }
+ for (String name : packageProviderNames) {
+ PackageProvider provider =
container.getInstance(PackageProvider.class, name);
+ provider.init(this);
+ provider.loadPackages();
+ packageProviders.add(provider);
}
rebuildRuntimeConfiguration();
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/Container.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/Container.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/Container.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/Container.java
Tue May 15 11:42:38 2012
@@ -97,7 +97,7 @@ public interface Container extends Seria
/**
* Gets a set of all registered names for the given type
* @param type The instance type
- * @return A set of registered names
+ * @return A set of registered names or empty set if no instances are
registered for that type
*/
Set<String> getInstanceNames(Class<?> type);
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
Tue May 15 11:42:38 2012
@@ -558,7 +558,11 @@ class ContainerImpl implements Container
}
public Set<String> getInstanceNames( final Class<?> type ) {
- return factoryNamesByType.get(type);
+ Set<String> names = factoryNamesByType.get(type);
+ if (names == null) {
+ names = Collections.emptySet();
+ }
+ return names;
}
ThreadLocal<Object[]> localContext =
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java
Tue May 15 11:42:38 2012
@@ -75,38 +75,32 @@ public class OgnlValueStackFactory imple
@Inject
public void setContainer(Container container) throws
ClassNotFoundException {
Set<String> names = container.getInstanceNames(PropertyAccessor.class);
- if (names != null) {
- for (String name : names) {
- Class cls = Class.forName(name);
- if (cls != null) {
- if (Map.class.isAssignableFrom(cls)) {
- PropertyAccessor acc =
container.getInstance(PropertyAccessor.class, name);
- }
- OgnlRuntime.setPropertyAccessor(cls,
container.getInstance(PropertyAccessor.class, name));
- if (compoundRootAccessor == null &&
CompoundRoot.class.isAssignableFrom(cls)) {
- compoundRootAccessor = (CompoundRootAccessor)
container.getInstance(PropertyAccessor.class, name);
- }
+ for (String name : names) {
+ Class cls = Class.forName(name);
+ if (cls != null) {
+ if (Map.class.isAssignableFrom(cls)) {
+ PropertyAccessor acc =
container.getInstance(PropertyAccessor.class, name);
+ }
+ OgnlRuntime.setPropertyAccessor(cls,
container.getInstance(PropertyAccessor.class, name));
+ if (compoundRootAccessor == null &&
CompoundRoot.class.isAssignableFrom(cls)) {
+ compoundRootAccessor = (CompoundRootAccessor)
container.getInstance(PropertyAccessor.class, name);
}
}
}
-
+
names = container.getInstanceNames(MethodAccessor.class);
- if (names != null) {
- for (String name : names) {
- Class cls = Class.forName(name);
- if (cls != null) {
- OgnlRuntime.setMethodAccessor(cls,
container.getInstance(MethodAccessor.class, name));
- }
+ for (String name : names) {
+ Class cls = Class.forName(name);
+ if (cls != null) {
+ OgnlRuntime.setMethodAccessor(cls,
container.getInstance(MethodAccessor.class, name));
}
}
-
+
names = container.getInstanceNames(NullHandler.class);
- if (names != null) {
- for (String name : names) {
- Class cls = Class.forName(name);
- if (cls != null) {
- OgnlRuntime.setNullHandler(cls, new
OgnlNullHandlerWrapper(container.getInstance(NullHandler.class, name)));
- }
+ for (String name : names) {
+ Class cls = Class.forName(name);
+ if (cls != null) {
+ OgnlRuntime.setNullHandler(cls, new
OgnlNullHandlerWrapper(container.getInstance(NullHandler.class, name)));
}
}
if (compoundRootAccessor == null) {
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
(original)
+++
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
Tue May 15 11:42:38 2012
@@ -21,17 +21,15 @@ public class DefaultFileManagerFactory i
@Inject
public DefaultFileManagerFactory(Container container) {
Set<String> names = container.getInstanceNames(FileManager.class);
- if (names != null) {
- for (String fmName : names) {
- FileManager fm = container.getInstance(FileManager.class,
fmName);
- if (fm.support()) {
- if (fileManager != null) {
- LOG.error("More than one FileManager supports current
file system, [#0] and [#1]! "
- + "Remove one of them from the config! Using
implementation [#2]",
- fm.toString(), fileManager.toString(),
fm.toString());
- }
- fileManager = fm;
+ for (String fmName : names) {
+ FileManager fm = container.getInstance(FileManager.class, fmName);
+ if (fm.support()) {
+ if (fileManager != null) {
+ LOG.error("More than one FileManager supports current file
system, [#0] and [#1]! "
+ + "Remove one of them from the config! Using
implementation [#2]",
+ fm.toString(), fileManager.toString(),
fm.toString());
}
+ fileManager = fm;
}
}
if (fileManager == null) {
Modified:
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java?rev=1338660&r1=1338659&r2=1338660&view=diff
==============================================================================
---
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
(original)
+++
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
Tue May 15 11:42:38 2012
@@ -10,6 +10,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -80,7 +81,7 @@ class DummyContainer implements Containe
}
};
}
- return null;
+ return Collections.emptySet();
}
public void setScopeStrategy(Scope.Strategy scopeStrategy) {