You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by bw...@apache.org on 2003/04/26 18:53:44 UTC

cvs commit: maven-new/server/src/java/org/apache/maven/server XMLThing.xml XMLThing.java Server.java

bwalding    2003/04/26 09:53:44

  Added:       server   project.xml
               server/src/java/org/apache/maven/server XMLThing.xml
                        XMLThing.java Server.java
  Log:
  server module
  
  Revision  Changes    Path
  1.1                  maven-new/server/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project>
    <extend>${basedir}/../common/base-project.xml</extend>
    <pomVersion>3</pomVersion>
    <name>Maven Server</name>
    <artifactId>server</artifactId>
    <currentVersion>1.0-beta-9</currentVersion>
  
    <package>org.apache.maven.server</package>
  
    <dependencies>
    
      <dependency>
        <groupId>xmlrpc</groupId>
        <artifactId>xmlrpc</artifactId>
        <version>1.2-a3-dev</version>
      </dependency>
  
    </dependencies>
  
  </project>
  
  
  
  1.1                  maven-new/server/src/java/org/apache/maven/server/XMLThing.xml
  
  Index: XMLThing.xml
  ===================================================================
  <plexus>
  
    <!--
  
    When running the container in embedded mode we need to get the logging configuration
    information from the host.
  
    <logging>
  
      <logger-manager-type>log4j</logger-manager-type>
  
      <logger>
        <id>root</id>
        <appender-id>default</appender-id>
        <priority>INFO</priority>
      </logger>
  
      <appender>
        <id>default</id>
        <type>file</type>
        <type-configuration>
          <file>${plexus.logs}/plexus.log</file>
          <append>true</append>
        </type-configuration>
        <threshold>INFO</threshold>
        <layout>pattern-layout</layout>
        <conversion-pattern>%-4r [%t] %-5p %c %x - %m%n</conversion-pattern>
      </appender>
    </logging>
    -->
  
    <components>
   <!--
       |
       | Maven component.
       |
       -->
      <component>
        <role>org.apache.maven.Maven</role>
        <implementation>org.apache.maven.DefaultMaven</implementation>
        <configuration>
        </configuration>
      </component>
  
      <!--
       |
       | ProjectBuilder component.
       |
       -->
      <component>
        <role>org.apache.maven.project.builder.ProjectBuilder</role>
        <implementation>org.apache.maven.project.builder.DefaultProjectBuilder</implementation>
        <configuration>
        </configuration>
      </component>
  
      <!--
       |
       | ProjectUnmarshaller component.
       |
       -->
      <component>
        <role>org.apache.maven.project.builder.ProjectUnmarshaller</role>
        <implementation>org.apache.maven.project.builder.DefaultProjectUnmarshaller</implementation>
        <configuration>
        </configuration>
      </component>
  
      <!--
       |
       | DependencyVerifier component.
       |
       -->
       <component>
        <role>org.apache.maven.verifier.DependencyVerifier</role>
        <implementation>org.apache.maven.verifier.DefaultDependencyVerifier</implementation>
        <configuration>
        </configuration>
      </component>
  
      <!--
       |
       | LocalSettingsVerifier component.
       |
       -->
      <component>
       <role>org.apache.maven.verifier.LocalSettingsVerifier</role>
       <implementation>org.apache.maven.verifier.DefaultLocalSettingsVerifier</implementation>
       <configuration>
       </configuration>
     </component>
  
      <!--
       |
       | PluginManager component.
       |
       -->
  
      <component>
       <role>org.apache.maven.plugin.PluginManager</role>
       <implementation>org.apache.maven.plugin.DefaultPluginManager</implementation>
       <configuration>
       </configuration>
     </component>
  
  
    </components>
  
  </plexus>
  
  
  
  1.1                  maven-new/server/src/java/org/apache/maven/server/XMLThing.java
  
  Index: XMLThing.java
  ===================================================================
  /*
   * Created on 27/04/2003
   *
   * To change this generated comment go to 
   * Window>Preferences>Java>Code Generation>Code Template
   */
  package org.apache.maven.server;
  
  import java.io.File;
  import java.util.Vector;
  
  import org.apache.maven.Maven;
  import org.apache.plexus.DefaultPlexusContainer;
  import org.apache.plexus.configuration.ConfigurationResourceException;
  import org.apache.xmlrpc.AuthenticatedXmlRpcHandler;
  
  /**
   * @author <a href="bwalding@jakarta.org">Ben Walding</a>
   * @version $Id: XMLThing.java,v 1.1 2003/04/26 16:53:44 bwalding Exp $
   */
  public class XMLThing implements AuthenticatedXmlRpcHandler
  {
      /** Plexus container to run test in. */
      private DefaultPlexusContainer container;
      private String user;
      private String password;
      public XMLThing(String user, String password) throws Exception
      {
          container = new DefaultPlexusContainer();
          container.setConfigurationResource(getClass().getResourceAsStream("XMLThing.xml"));
          container.initialize();
          this.user = user;
          this.password = password;
  
      }
      /* (non-Javadoc)
       * @see org.apache.xmlrpc.AuthenticatedXmlRpcHandler#execute(java.lang.String, java.util.Vector, java.lang.String, java.lang.String)
       */
      public Object execute(String method, Vector params, String user, String password) throws Exception
      {
          if (!this.user.equals(user))
              return "401";
  
          if (!this.password.equals(password))
              return "401";
  
          if ("server.attainGoals".equals(method))
          {
              container.start();
              String goal = (String) params.get(0);
  
              Maven maven = (Maven) container.getServiceRepository().lookup(Maven.ROLE);
              maven.setProjectFile(new File("project.xml"));
              maven.addGoal(goal);
              maven.attainGoals();
  
          }
  
          return null;
      }
  
  }
  
  
  
  1.1                  maven-new/server/src/java/org/apache/maven/server/Server.java
  
  Index: Server.java
  ===================================================================
  /*
   * Created on 27/04/2003
   *
   * To change this generated comment go to 
   * Window>Preferences>Java>Code Generation>Code Template
   */
  package org.apache.maven.server;
  
  import java.net.InetAddress;
  import java.net.UnknownHostException;
  
  import org.apache.xmlrpc.WebServer;
  
  /**
   * @author <a href="bwalding@jakarta.org">Ben Walding</a>
   * @version $Id: Server.java,v 1.1 2003/04/26 16:53:44 bwalding Exp $
   */
  public class Server
  {
      private static final byte[] loopback = { 127, 0, 0, 1 };
  
      public static void main(String args[]) throws Exception
      {
          Server s = new Server();
          s.doMain(args);
      }
  
      public void doMain(String args[]) throws Exception
      {
          launch("", "");
      }
  
      public void launch(String user, String password) throws Exception
      {
          InetAddress ia = InetAddress.getByAddress(loopback);
          WebServer ws = new WebServer(9090);
          ws.acceptClient("127.0.0.1"); //Will need to be loosened for distributed version
          ws.setParanoid(true); 
          ws.addHandler("server", new XMLThing(user, password));
          ws.start();
      }
  
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org