Author: ivol37 at gmail.com
Date: Wed Nov 10 16:46:04 2010
New Revision: 376
Log:
[AMDATU-129] Ongoing Refactoring/moving of SVN layout
Modified:
trunk/amdatu-core/cassandra-useradminstore/pom.xml
trunk/amdatu-core/config-templates/pom.xml
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/osgi/Activator.java
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/service/ConfigTemplateManagerImpl.java
trunk/src/main/resources/conf/felix-config.properties
Modified: trunk/amdatu-core/cassandra-useradminstore/pom.xml
==============================================================================
--- trunk/amdatu-core/cassandra-useradminstore/pom.xml (original)
+++ trunk/amdatu-core/cassandra-useradminstore/pom.xml Wed Nov 10 16:46:04 2010
@@ -51,7 +51,8 @@
</dependency>
<dependency>
<groupId>org.amdatu.web.rest</groupId>
- <artifactId>wink</artifactId>
+ <artifactId>jaxrs</artifactId>
+ <version>${platform.version}</version>
<scope>provided</scope>
<type>bundle</type>
</dependency>
Modified: trunk/amdatu-core/config-templates/pom.xml
==============================================================================
--- trunk/amdatu-core/config-templates/pom.xml (original)
+++ trunk/amdatu-core/config-templates/pom.xml Wed Nov 10 16:46:04 2010
@@ -13,15 +13,6 @@
<name>Amdatu Core - Configuration Templates</name>
<description>The template manager can be used to replace configurable
properties in any file with configuration properties provided by
ConfigAdmin</description>
- <dependencies>
- <dependency>
- <groupId>org.amdatu.web</groupId>
- <artifactId>httpcontext</artifactId>
- <scope>provided</scope>
- <type>bundle</type>
- </dependency>
- </dependencies>
-
<build>
<resources>
<resource>
Modified:
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/osgi/Activator.java
==============================================================================
---
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/osgi/Activator.java
(original)
+++
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/osgi/Activator.java
Wed Nov 10 16:46:04 2010
@@ -18,8 +18,6 @@
import org.amdatu.core.config.templates.ConfigTemplateManager;
import org.amdatu.core.config.templates.service.ConfigTemplateManagerImpl;
-import org.amdatu.web.httpcontext.HttpContextServiceFactory;
-import org.amdatu.web.httpcontext.ResourceProvider;
import org.apache.felix.dm.DependencyActivatorBase;
import org.apache.felix.dm.DependencyManager;
import org.osgi.framework.BundleContext;
@@ -40,10 +38,9 @@
// Create and register the Config Template Manager service
manager.add(
createComponent()
- .setInterface(new
String[]{ConfigTemplateManager.class.getName(),
ResourceProvider.class.getName()}, null)
+ .setInterface(ConfigTemplateManager.class.getName(), null)
.setImplementation(ConfigTemplateManagerImpl.class)
.add(createServiceDependency().setService(LogService.class).setRequired(true))
-
.add(createServiceDependency().setService(HttpContextServiceFactory.class).setRequired(true))
.add(createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true))
.add(createConfigurationDependency().setPid(ConfigTemplateManagerImpl.PID)));
}
Modified:
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/service/ConfigTemplateManagerImpl.java
==============================================================================
---
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/service/ConfigTemplateManagerImpl.java
(original)
+++
trunk/amdatu-core/config-templates/src/main/java/org/amdatu/core/config/templates/service/ConfigTemplateManagerImpl.java
Wed Nov 10 16:46:04 2010
@@ -16,7 +16,13 @@
*/
package org.amdatu.core.config.templates.service;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
@@ -27,11 +33,6 @@
import java.util.regex.Pattern;
import org.amdatu.core.config.templates.ConfigTemplateManager;
-import org.amdatu.core.config.templates.osgi.Activator;
-import org.amdatu.web.httpcontext.HttpContextServiceFactory;
-import org.amdatu.web.httpcontext.ResourceProvider;
-import org.apache.felix.dm.Component;
-import org.osgi.framework.BundleContext;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.cm.ConfigurationException;
@@ -42,25 +43,19 @@
* This class implements the Config Template Manager.
* @author ivol
*/
-public class ConfigTemplateManagerImpl implements ConfigTemplateManager,
ResourceProvider, ManagedService {
+public class ConfigTemplateManagerImpl implements ConfigTemplateManager,
ManagedService {
// Regular expression to match configuration entries. Syntax:
${[pid].[configentry]}
private static final Pattern CONFIG_ENTRY_REGEX =
Pattern.compile("\\$\\{([A-Za-z0-9\\.-])+/([A-Za-z0-9\\.-])+\\}");
// The PID of the configuration of this bundle
public final static String PID =
ConfigTemplateManager.class.getPackage().getName();
-
+
// Services injected by the Felix dependency manager
private volatile LogService m_logService;
private volatile ConfigurationAdmin m_configurationAdmin;
- private volatile HttpContextServiceFactory m_httpContextFactoryService;
-
- // Instances injected by the Felix dependency manager
- private volatile BundleContext m_bundleContext;
// Configured properties
private String m_workDirName;
- private String m_hostName;
- private int m_portNr;
// Our working directory
private File m_workDir;
@@ -73,18 +68,11 @@
// TODO Why is this 'string-string' in stead of 'string-url'?
private Map<String, String> m_urlCache = new ConcurrentHashMap<String,
String>();
- // Our private HTTP context service
- private Component m_httpContextComponent;
-
/**
* init() method invoked by the Felix dependency manager
*/
public void init() {
- // Create our own http context and register resources
- m_httpContextComponent =
m_httpContextFactoryService.create(m_bundleContext, this);
-
initializeWorkDir();
-
m_logService.log(LogService.LOG_INFO, getClass().getName() + " service
initialized");
}
@@ -98,7 +86,6 @@
* destroy() method invoked by the Felix dependency manager
*/
public void destroy() {
- m_httpContextComponent.stop();
// TODO do we need to cleanup our work dir? Or does it stick around
until the next session?
m_logService.log(LogService.LOG_INFO, getClass().getName() + " service
destroyed");
}
@@ -129,7 +116,7 @@
writeConfiguration(templateURL, configFile);
// Return the new file URL
- URL url = new URL("http", m_hostName, m_portNr, "/" +
Activator.RESOURCE_ID + "/" + filename);
+ URL url = configFile.toURI().toURL();
m_urlCache.put(templateURL.toString(), url.toExternalForm());
return url;
}
@@ -258,29 +245,13 @@
return newLine;
}
- public URL getResource(String name) {
- String configId = name.substring(name.lastIndexOf("/") + 1);
-
- try {
- return new File(m_workDir, configId).toURI().toURL();
- } catch (MalformedURLException e) {
- m_logService.log(LogService.LOG_WARNING, "Calculated resource URL
for '" + name + "' is invalid", e);
- }
-
- return null;
- }
-
- public String getResourceId() {
- return Activator.RESOURCE_ID;
- }
-
+ @SuppressWarnings("unchecked")
public void updated(Dictionary dictionary) throws ConfigurationException {
checkAvailability(dictionary, "workdir", "hostname", "port");
m_workDirName = dictionary.get("workdir").toString();
- m_hostName = dictionary.get("hostname").toString();
- m_portNr = Integer.parseInt(dictionary.get("port").toString());
}
+ @SuppressWarnings("unchecked")
private void checkAvailability(Dictionary dictionary, String...
mandatoryKeys) throws ConfigurationException {
for (String mandatoryKey : mandatoryKeys) {
if (dictionary.get(mandatoryKey) == null) {
Modified: trunk/src/main/resources/conf/felix-config.properties
==============================================================================
--- trunk/src/main/resources/conf/felix-config.properties (original)
+++ trunk/src/main/resources/conf/felix-config.properties Wed Nov 10
16:46:04 2010
@@ -77,7 +77,7 @@
# component is the target start level. Any number of these properties
# may be specified for different start levels.
felix.auto.start.1=reference:file:amdatu-system/org.apache.felix.configadmin-1.2.4.jar
reference:file:amdatu-system/org.apache.felix.dependencymanager-3.0.0-SNAPSHOT.jar
reference:file:amdatu-system/org.apache.felix.eventadmin-1.2.2.jar
reference:file:amdatu-system/org.apache.felix.fileinstall-3.0.0.jar
reference:file:amdatu-system/org.apache.felix.log-1.0.0.jar
reference:file:amdatu-system/org.apache.felix.main-2.0.5.jar
reference:file:amdatu-system/org.apache.felix.metatype-1.0.4.jar
reference:file:amdatu-system/org.apache.felix.shell.tui-1.4.1.jar
reference:file:amdatu-system/org.apache.felix.shell-1.4.2.jar
reference:file:amdatu-system/org.apache.felix.webconsole-3.1.2.jar
reference:file:amdatu-system/org.apache.sling.commons.mime-2.1.4.jar
reference:file:amdatu-system/org.apache.sling.commons.osgi-2.0.6.jar
reference:file:amdatu-system/org.osgi.compendium-1.0.0.jar
reference:file:amdatu-system/org.osgi.core-1.0.0.jar
reference:file:amdatu-system/pax-useradmin-service-0.0.1-SNAPSHOT.jar
reference:file:amdatu-system/org.apache.felix.http.bundle-${org.apache.felix.http.version}.jar
reference:file:amdatu-system/pax-swissbox-core-${pax.swissbox.version}.jar
reference:file:amdatu-system/ops4j-base-lang-1.2.2.jar
reference:file:amdatu-system/org.apache.felix.scr-1.6.0.jar
-felix.auto.start.2=reference:file:amdatu-core/org.amdatu.core.config.filebased-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra-application-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra-listener-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra-persistencemanager-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.loghandler-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.tenant-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.config.templates-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.useradmin-cassandra-store-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.rest.jaxrs-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.rest.wink-${platform.version}.jar
+felix.auto.start.2=reference:file:amdatu-core/org.amdatu.core.config.filebased-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra.application-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra.listener-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra.persistencemanager-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.loghandler-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.tenant-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.config.templates-${platform.version}.jar
reference:file:amdatu-core/org.amdatu.core.cassandra.useradminstore-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.rest.jaxrs-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.rest.wink-${platform.version}.jar
felix.auto.start.10=reference:file:amdatu-application/org.amdatu.opensocial.shindig-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.opensocial.profile-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.authorization.login.service-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.httpcontext-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.semanticweb.sesame-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.opensocial.dashboard-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.opensocial.gadgetmanagement-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.web.jsp-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.semanticweb.sparqlendpoint-${platform.version}.jar
reference:file:amdatu-application/org.amdatu.authorization.login.gadget-${platform.version}.jar
felix.auto.start.20=reference:file:amdatu-examples/org.amdatu.example.friendsgadget-${platform.version}.jar
reference:file:amdatu-examples/org.amdatu.example.coursegadget-${platform.version}.jar
reference:file:amdatu-examples/org.amdatu.example.courseservice-${platform.version}.jar