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