You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@onami.apache.org by si...@apache.org on 2013/07/17 14:34:54 UTC
svn commit: r1504099 - in /onami/sandbox/console/src/main:
java/org/apache/onami/console/commands/
java/org/apache/onami/console/modules/config/
java/org/apache/onami/console/modules/descriptor/ mdo/
resources/META-INF/services/
Author: simonetripodi
Date: Wed Jul 17 12:34:53 2013
New Revision: 1504099
URL: http://svn.apache.org/r1504099
Log:
there's no need for a textual configuration
Removed:
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/descriptor/
onami/sandbox/console/src/main/mdo/
Modified:
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/ConsoleRunner.java
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/config/DefaultConfigurationModule.java
onami/sandbox/console/src/main/resources/META-INF/services/com.google.inject.Module
Modified: onami/sandbox/console/src/main/java/org/apache/onami/console/commands/ConsoleRunner.java
URL: http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/commands/ConsoleRunner.java?rev=1504099&r1=1504098&r2=1504099&view=diff
==============================================================================
--- onami/sandbox/console/src/main/java/org/apache/onami/console/commands/ConsoleRunner.java (original)
+++ onami/sandbox/console/src/main/java/org/apache/onami/console/commands/ConsoleRunner.java Wed Jul 17 12:34:53 2013
@@ -19,10 +19,9 @@ package org.apache.onami.console.command
* under the License.
*/
+import static java.lang.Integer.MAX_VALUE;
import static com.google.inject.Guice.createInjector;
-import static java.lang.String.format;
import static java.lang.System.err;
-import static java.lang.System.getProperty;
import static java.lang.System.setProperty;
import static org.apache.onami.configuration.OnamiVariablesExpander.expandVariables;
import static org.apache.onami.spi.modules.GuiceServiceLoader.loadModules;
@@ -34,23 +33,14 @@ import io.airlift.command.Help;
import io.airlift.command.Option;
import io.airlift.command.ParseArgumentsUnexpectedException;
-import java.io.Closeable;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.LinkedList;
+import java.util.List;
import jline.console.ConsoleReader;
-import org.apache.onami.console.descriptor.ConsoleConfiguration;
-import org.apache.onami.console.descriptor.io.jackson.OnamiConsoleConfigurationJacksonReader;
-import org.apache.onami.console.descriptor.io.snakeyaml.OnamiConsoleConfigurationSnakeYamlReader;
-import org.apache.onami.console.descriptor.io.xpp3.OnamiConsoleConfigurationXpp3Reader;
-import org.apache.onami.console.modules.config.DefaultConfigurationModule;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.slf4j.Logger;
import ch.qos.logback.classic.LoggerContext;
@@ -77,6 +67,9 @@ public final class ConsoleRunner
@Option( name = { "-v", "--verbose" }, description = "Produce execution debug output." )
private boolean verbose;
+ @Option( name = { "-a", "--artifacts" }, description = "Additional artifacts to customize the console.", arity = MAX_VALUE )
+ private List<String> artifacts = new LinkedList<String>();
+
@Inject
private ConsoleReader consoleReader;
@@ -89,27 +82,28 @@ public final class ConsoleRunner
// read the console configuration
- ConsoleConfiguration consoleConfiguration = readConsoleConfiguration();
-
- // build the console classloader
-
ClassLoader artifactsClassLoader;
- if ( !consoleConfiguration.getArtifacts().isEmpty() )
+ if ( !artifacts.isEmpty() )
{
- URL[] urls = new URL[consoleConfiguration.getArtifacts().size()];
+ URL[] urls = new URL[artifacts.size()];
for ( int i = 0; i < urls.length; i++ )
{
- String artifactUrl = consoleConfiguration.getArtifacts().get( i );
+ String artifact = artifacts.get( i );
+
+ logger.debug( "Adding artifact {}...", artifact );
+
try
{
- urls[i] = new URL( artifactUrl );
+ urls[i] = new URL( artifact );
+
+ logger.debug( "Artifact {} added for class loading building.", artifact );
}
catch ( MalformedURLException e )
{
logger.warn( "Artifact {} can not be loaded: {} - It will be ignored",
- artifactUrl, e.getMessage() );
+ artifact, e.getMessage() );
}
}
@@ -122,8 +116,7 @@ public final class ConsoleRunner
// setup the injector by discovering modules automatically
- Injector injector = createInjector( expandVariables( loadModules( artifactsClassLoader ) ),
- new DefaultConfigurationModule( consoleConfiguration.getProperties() ) );
+ Injector injector = createInjector( expandVariables( loadModules( artifactsClassLoader ) ) );
// retrieve components needed to run the console
@@ -226,125 +219,4 @@ public final class ConsoleRunner
}
}
- private ConsoleConfiguration readConsoleConfiguration()
- {
- File userDir = new File( getProperty( "user.dir" ) );
- File ocrXmlDescriptor = new File( userDir, "ocr.xml" );
- File ocrJsonDescriptor = new File( userDir, "ocr.json" );
- File ocrYamlDescriptor = new File( userDir, "ocr.yaml" );
-
- ConsoleConfiguration console = null;
- FileInputStream fis = null;
-
- if (ocrXmlDescriptor.exists())
- {
- logger.info( "Reading XML configuration {}...", ocrXmlDescriptor );
-
- try
- {
- fis = new FileInputStream( ocrXmlDescriptor );
- console = new OnamiConsoleConfigurationXpp3Reader().read( fis );
-
- logger.info( "XML configuration {} read", ocrXmlDescriptor );
- }
- catch ( FileNotFoundException e )
- {
- // cannot happen
- }
- catch ( IOException e )
- {
- throw newRuntimeException( "An error occurred while reading %s file: %s",
- ocrXmlDescriptor, e.getMessage() );
- }
- catch ( XmlPullParserException e )
- {
- throw newRuntimeException( "Configuration file %s does not match the expected input: %s",
- ocrXmlDescriptor, e.getMessage() );
- }
- finally
- {
- closeQuietly( fis );
- }
- }
- else if ( ocrJsonDescriptor.exists() )
- {
- logger.info( "Reading JSON configuration {}...", ocrJsonDescriptor );
-
- try
- {
- fis = new FileInputStream( ocrJsonDescriptor );
- console = new OnamiConsoleConfigurationJacksonReader().read( fis );
-
- logger.info( "JSON configuration {} read", ocrJsonDescriptor );
- }
- catch ( FileNotFoundException e )
- {
- // cannot happen
- }
- catch ( IOException e )
- {
- throw newRuntimeException( "An error occurred while reading %s file: %s",
- ocrJsonDescriptor, e.getMessage() );
- }
- finally
- {
- closeQuietly( fis );
- }
- }
- else if ( ocrYamlDescriptor.exists() )
- {
- logger.info( "Reading YAML configuration {}...", ocrYamlDescriptor );
-
- try
- {
- fis = new FileInputStream( ocrYamlDescriptor );
- console = new OnamiConsoleConfigurationSnakeYamlReader().read( fis );
-
- logger.info( "YAML configuration {} read", ocrYamlDescriptor );
- }
- catch ( FileNotFoundException e )
- {
- // cannot happen
- }
- catch ( IOException e )
- {
- throw newRuntimeException( "An error occurred while reading %s file: %s",
- ocrYamlDescriptor, e.getMessage() );
- }
- finally
- {
- closeQuietly( fis );
- }
- }
- else
- {
- logger.info( "No ocr.xml/ocr.json/ocr.yaml configuration file found in {}, creating default console.",
- userDir);
-
- console = new ConsoleConfiguration();
- }
-
- return console;
- }
-
- private static RuntimeException newRuntimeException( String messageFormat, Object...args )
- {
- return new RuntimeException( format( messageFormat, args ) );
- }
-
- private static void closeQuietly( Closeable closeable )
- {
- if ( closeable != null )
- {
- try
- {
- closeable.close();
- }
- catch ( IOException e )
- {
- // swallow it
- }
- }
- }
-
}
Modified: onami/sandbox/console/src/main/java/org/apache/onami/console/modules/config/DefaultConfigurationModule.java
URL: http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/modules/config/DefaultConfigurationModule.java?rev=1504099&r1=1504098&r2=1504099&view=diff
==============================================================================
--- onami/sandbox/console/src/main/java/org/apache/onami/console/modules/config/DefaultConfigurationModule.java (original)
+++ onami/sandbox/console/src/main/java/org/apache/onami/console/modules/config/DefaultConfigurationModule.java Wed Jul 17 12:34:53 2013
@@ -23,7 +23,6 @@ import static com.google.inject.Scopes.S
import static com.google.inject.name.Names.named;
import java.io.File;
-import java.util.Properties;
import org.apache.onami.configuration.ConfigurationModule;
@@ -31,14 +30,6 @@ public final class DefaultConfigurationM
extends ConfigurationModule
{
- private final Properties consoleConfiguration;
-
- public DefaultConfigurationModule( Properties consoleConfiguration )
- {
- this.consoleConfiguration = consoleConfiguration;
- }
-
-
@Override
protected void bindConfigurations()
{
@@ -54,9 +45,6 @@ public final class DefaultConfigurationM
// OCR directories
bind( File.class ).annotatedWith( named( "ocr.dir" ) ).toProvider( OnamiConsoleRunnerDirProvider.class ).in( SINGLETON );
bind( File.class ).annotatedWith( named( "ocr.repo.dir" ) ).toProvider( OnamiConsoleRepoDirProvider.class ).in( SINGLETON );
-
- // configuration
- bindProperties( consoleConfiguration );
}
}
Modified: onami/sandbox/console/src/main/resources/META-INF/services/com.google.inject.Module
URL: http://svn.apache.org/viewvc/onami/sandbox/console/src/main/resources/META-INF/services/com.google.inject.Module?rev=1504099&r1=1504098&r2=1504099&view=diff
==============================================================================
--- onami/sandbox/console/src/main/resources/META-INF/services/com.google.inject.Module (original)
+++ onami/sandbox/console/src/main/resources/META-INF/services/com.google.inject.Module Wed Jul 17 12:34:53 2013
@@ -18,8 +18,8 @@
# required startup modules
org.apache.onami.console.modules.cli.CliParserModule
+org.apache.onami.console.modules.config.DefaultConfigurationModule
org.apache.onami.console.modules.console.ConsoleReaderModule
-org.apache.onami.console.modules.descriptor.IoDescriptorsModule
# 3rd parts modules