You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2012/07/21 14:36:57 UTC
svn commit: r1364073 - in
/struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi:
BundlePackageLoader.java OsgiConfigurationProvider.java PackageLoader.java
Author: lukaszlenart
Date: Sat Jul 21 12:36:57 2012
New Revision: 1364073
URL: http://svn.apache.org/viewvc?rev=1364073&view=rev
Log:
WW-3851 adds FileManager dependency
Modified:
struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/PackageLoader.java
Modified: struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java?rev=1364073&r1=1364072&r2=1364073&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java (original)
+++ struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java Sat Jul 21 12:36:57 2012
@@ -21,33 +21,35 @@
package org.apache.struts2.osgi;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
+import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.ObjectFactory;
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
-import com.opensymphony.xwork2.config.PackageProvider;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
-import com.opensymphony.xwork2.util.location.Location;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
* Package loader implementation that loads resources from a bundle
*/
public class BundlePackageLoader implements PackageLoader {
+
private static final Logger LOG = LoggerFactory.getLogger(BundlePackageLoader.class);
- public List<PackageConfig> loadPackages(Bundle bundle, BundleContext bundleContext, ObjectFactory objectFactory, Map<String, PackageConfig> pkgConfigs) throws ConfigurationException {
+ public List<PackageConfig> loadPackages(Bundle bundle, BundleContext bundleContext, ObjectFactory objectFactory,
+ FileManager fileManager, Map<String, PackageConfig> pkgConfigs) throws ConfigurationException {
Configuration config = new DefaultConfiguration("struts.xml");
BundleConfigurationProvider prov = new BundleConfigurationProvider("struts.xml", bundle, bundleContext);
for (PackageConfig pkg : pkgConfigs.values()) {
Modified: struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java?rev=1364073&r1=1364072&r2=1364073&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java (original)
+++ struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java Sat Jul 21 12:36:57 2012
@@ -22,6 +22,8 @@
package org.apache.struts2.osgi;
import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.FileManager;
+import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
@@ -54,6 +56,7 @@ public class OsgiConfigurationProvider i
private Configuration configuration;
private ObjectFactory objectFactory;
+ private FileManager fileManager;
private OsgiHost osgiHost;
private BundleContext bundleContext;
@@ -130,7 +133,7 @@ public class OsgiConfigurationProvider i
//XML config
PackageLoader loader = new BundlePackageLoader();
- for (PackageConfig pkg : loader.loadPackages(bundle, bundleContext, objectFactory, configuration.getPackageConfigs())) {
+ for (PackageConfig pkg : loader.loadPackages(bundle, bundleContext, objectFactory, fileManager, configuration.getPackageConfigs())) {
configuration.addPackageConfig(pkg.getName(), pkg);
bundleAccessor.addPackageFromBundle(bundle, pkg.getName());
}
@@ -202,6 +205,10 @@ public class OsgiConfigurationProvider i
this.servletContext = servletContext;
}
+ public void setFileManagerFactory(FileManagerFactory fmFactory) {
+ this.fileManager = fmFactory.getFileManager();
+ }
+
public void destroy() {
try {
osgiHost.destroy();
Modified: struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/PackageLoader.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/PackageLoader.java?rev=1364073&r1=1364072&r2=1364073&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/PackageLoader.java (original)
+++ struts/struts2/trunk/plugins/osgi/src/main/java/org/apache/struts2/osgi/PackageLoader.java Sat Jul 21 12:36:57 2012
@@ -21,20 +21,22 @@
package org.apache.struts2.osgi;
-import java.util.List;
-import java.util.Map;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
+import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.ConfigurationException;
-import com.opensymphony.xwork2.config.PackageProvider;
import com.opensymphony.xwork2.config.entities.PackageConfig;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+
+import java.util.List;
+import java.util.Map;
/**
* Implementations of this interface can load packages from a Bundle
*/
public interface PackageLoader {
- List<PackageConfig> loadPackages(Bundle bundle, BundleContext bundleContext, ObjectFactory objectFactory, Map<String, PackageConfig> map) throws ConfigurationException;
+
+ List<PackageConfig> loadPackages(Bundle bundle, BundleContext bundleContext, ObjectFactory objectFactory, FileManager fileManager,
+ Map<String, PackageConfig> map) throws ConfigurationException;
+
}