sorry, just got to read this now... will change it now. Thanks.



Emmanuel Venisse wrote:
I think it will be better to use a logger instead of System.out.println in DiscoverJob.

Emmanuel

[EMAIL PROTECTED] a écrit :
Author: epunzalan
Date: Thu Mar  2 01:53:40 2006
New Revision: 382337

URL: http://svn.apache.org/viewcvs?rev=382337&view=rev
Log:
PR: MRM-36
Submitted by: Maria Odea Ching

Applied patch for discovery and indexing schedule

Added:
maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/BaseAction.java maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererScheduler.java
Modified:
    maven/repository-manager/trunk/maven-repository-webapp/pom.xml
maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java maven/repository-manager/trunk/maven-repository-webapp/src/main/resources/xwork.xml maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/form.jspf maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/generalresults.jsp maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/results.jsp maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/plexus.xml

Modified: maven/repository-manager/trunk/maven-repository-webapp/pom.xml
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/pom.xml?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/pom.xml (original) +++ maven/repository-manager/trunk/maven-repository-webapp/pom.xml Thu Mar 2 01:53:40 2006
@@ -42,7 +42,7 @@
         <groupId>org.mortbay.jetty</groupId>
         <artifactId>maven-jetty6-plugin</artifactId>
         <configuration>
- <webAppSourceDirectory>${basedir}/target/${artifactId}</webAppSourceDirectory > + <webAppSourceDirectory>${basedir}/target/${artifactId}</webAppSourceDirectory>
           <scanIntervalSeconds>10</scanIntervalSeconds>
         </configuration>
       </plugin>

Added: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/BaseAction.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/BaseAction.java?rev=382337&view=auto ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/BaseAction.java (added) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/BaseAction.java Thu Mar 2 01:53:40 2006
@@ -0,0 +1,57 @@
+package org.apache.maven.repository.manager.web.action;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import com.opensymphony.xwork.Action;
+import org.apache.maven.repository.manager.web.job.DiscovererScheduler;
+
+/**
+ * This is the Action class of index.jsp, which is the initial page of the web application. + * It invokes the DiscovererScheduler to set the DiscoverJob in the scheduler.
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="org.apache.maven.repository.manager.web.action.BaseAction"
+ */
+public class BaseAction
+    implements Action
+{
+
+    /**
+     * @plexus.requirement
+     */
+    private DiscovererScheduler discovererScheduler;
+
+    /**
+     * Method that executes the action
+     *
+ * @return a String that specifies if the action executed was a success or a failure
+     */
+    public String execute()
+    {
+        try
+        {
+            discovererScheduler.setSchedule();
+        }
+        catch ( Exception e )
+        {
+            e.printStackTrace();
+            return ERROR;
+        }
+
+        return SUCCESS;
+    }
+
+}

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/Configuration.java Thu Mar 2 01:53:40 2006
@@ -24,7 +24,7 @@
  */
/**
- *
+ * This class contains the configuration values to be used by the scheduler
  */
 public class Configuration
     implements Initializable
@@ -32,17 +32,29 @@
private Properties props; + /**
+     * @throws InitializationException
+     */
     public void initialize()
         throws InitializationException
     {
-        System.out.println( "Configuration initialized" );
     }
+ /**
+     * Set the properties object
+     *
+     * @param properties
+     */
     public void setProperties( Properties properties )
     {
         this.props = properties;
     }
+ /**
+     * Returns the properties object
+     *
+ * @return a Properties object that contains the configuration values
+     */
     public Properties getProperties()
     {
         return props;

Added: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java?rev=382337&view=auto ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java (added) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererJob.java Thu Mar 2 01:53:40 2006
@@ -0,0 +1,260 @@
+package org.apache.maven.repository.manager.web.job;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; +import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+import org.apache.maven.model.Model;
+import org.apache.maven.repository.discovery.ArtifactDiscoverer;
+import org.apache.maven.repository.discovery.DefaultArtifactDiscoverer;
+import org.apache.maven.repository.discovery.DefaultMetadataDiscoverer;
+import org.apache.maven.repository.discovery.LegacyArtifactDiscoverer;
+import org.apache.maven.repository.discovery.MetadataDiscoverer;
+import org.apache.maven.repository.indexing.ArtifactRepositoryIndex;
+import org.apache.maven.repository.indexing.MetadataRepositoryIndex;
+import org.apache.maven.repository.indexing.PomRepositoryIndex;
+import org.apache.maven.repository.indexing.RepositoryIndexException;
+import org.apache.maven.repository.indexing.RepositoryIndexingFactory;
+import org.codehaus.plexus.scheduler.AbstractJob;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * This class executes the discoverer and the indexer.
+ *
+ * @plexus.component role="org.apache.maven.repository.manager.web.job.DiscovererJob"
+ */
+public class DiscovererJob
+    extends AbstractJob
+{
+    public static final String ROLE = DiscovererJob.class.getName();
+
+    private ArtifactDiscoverer defaultArtifactDiscoverer;
+
+    private ArtifactDiscoverer legacyArtifactDiscoverer;
+
+    private MetadataDiscoverer defaultMetadataDiscoverer;
+
+    private RepositoryIndexingFactory indexFactory;
+
+    private ArtifactRepositoryLayout layout;
+
+    private ArtifactRepositoryFactory repoFactory;
+
+    public static String MAP_INDEXPATH = "INDEXPATH";
+
+    public static String MAP_LAYOUT = "LAYOUT";
+
+    public static String MAP_DEFAULT_REPOSITORY = "DEFAULT_REPOSITORY";
+
+    public static String MAP_BLACKLIST = "BLACKLISTED_PATTERNS";
+
+    public static String MAP_SNAPSHOTS = "INCLUDE_SNAPSHOTS";
+
+    public static String MAP_CONVERT = "CONVERT_SNAPSHOTS";
+
+ public static String MAP_DEF_ARTIFACT_DISCOVERER = "DEFAULT_ARTIFACT_DISCOVERER";
+
+ public static String MAP_LEG_ARTIFACT_DISCOVERER = "LEGACY_ARTIFACT_DISCOVERER";
+
+ public static String MAP_DEF_METADATA_DISCOVERER = "DEFAULT_METADATA_DISCOVERER";
+
+    public static String MAP_IDX_FACTORY = "INDEX_FACTORY";
+
+    public static String MAP_REPO_LAYOUT = "REPOSITORY_LAYOUT";
+
+    public static String MAP_REPO_FACTORY = "REPOSITORY_FACTORY";
+
+    /**
+     * Execute the discoverer and the indexer.
+     *
+     * @param context
+     * @throws org.quartz.JobExecutionException
+     *
+     */
+    public void execute( JobExecutionContext context )
+        throws JobExecutionException
+    {
+        System.out.println( "Start execution of DiscovererJob.." );
+        JobDataMap dataMap = context.getJobDetail().getJobDataMap();
+
+        //configuration values specified in properties file
+        String indexPath = (String) dataMap.get( MAP_INDEXPATH );
+ ArtifactRepository defaultRepository = (ArtifactRepository) dataMap.get( MAP_DEFAULT_REPOSITORY ); + String blacklistedPatterns = (String) dataMap.get( MAP_BLACKLIST ); + boolean includeSnapshots = ( (Boolean) dataMap.get( MAP_SNAPSHOTS ) ).booleanValue(); + boolean convertSnapshots = ( (Boolean) dataMap.get( MAP_CONVERT ) ).booleanValue();
+
+        //plexus components created in BaseAction
+ defaultArtifactDiscoverer = (DefaultArtifactDiscoverer) dataMap.get( MAP_DEF_ARTIFACT_DISCOVERER ); + legacyArtifactDiscoverer = (LegacyArtifactDiscoverer) dataMap.get( MAP_LEG_ARTIFACT_DISCOVERER ); + defaultMetadataDiscoverer = (DefaultMetadataDiscoverer) dataMap.get( MAP_DEF_METADATA_DISCOVERER ); + indexFactory = (RepositoryIndexingFactory) dataMap.get( MAP_IDX_FACTORY ); + layout = (ArtifactRepositoryLayout) dataMap.get( MAP_REPO_LAYOUT ); + repoFactory = (ArtifactRepositoryFactory) dataMap.get( MAP_REPO_FACTORY );
+
+        try
+        {
+            List artifacts;
+            if ( dataMap.get( MAP_LAYOUT ).equals( "default" ) )
+            {
+ artifacts = defaultArtifactDiscoverer.discoverArtifacts( defaultRepository, blacklistedPatterns, + includeSnapshots ); + indexArtifact( artifacts, indexPath, defaultRepository );
+
+ List models = defaultArtifactDiscoverer.discoverStandalonePoms( defaultRepository, blacklistedPatterns, + convertSnapshots );
+                indexPom( models, indexPath, defaultRepository );
+
+ List metadataList = defaultMetadataDiscoverer.discoverMetadata( + new File( defaultRepository.getBasedir() ), blacklistedPatterns ); + indexMetadata( metadataList, indexPath, new File( defaultRepository.getBasedir() ) );
+            }
+            else if ( dataMap.get( MAP_LAYOUT ).equals( "legacy" ) )
+            {
+ artifacts = legacyArtifactDiscoverer.discoverArtifacts( defaultRepository, blacklistedPatterns, + includeSnapshots ); + indexArtifact( artifacts, indexPath, defaultRepository );
+            }
+        }
+        catch ( RepositoryIndexException e )
+        {
+            e.printStackTrace();
+        }
+        catch ( MalformedURLException me )
+        {
+            me.printStackTrace();
+        }
+
+ System.out.println( "[DiscovererJob] DiscovererJob has finished executing." );
+    }
+
+    /**
+     * Index the artifacts in the list
+     *
+     * @param artifacts  the artifacts to be indexed
+     * @param indexPath  the path to the index file
+     * @param repository the repository where the artifacts are located
+     */
+ private void indexArtifact( List artifacts, String indexPath, ArtifactRepository repository )
+        throws RepositoryIndexException
+    {
+ ArtifactRepositoryIndex artifactIndex = indexFactory.createArtifactRepositoryIndex( indexPath, repository );
+        for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
+        {
+            Artifact artifact = (Artifact) iter.next();
+            try
+            {
+                artifactIndex.indexArtifact( artifact );
+            }
+            catch ( Exception e )
+            {
+                if ( e instanceof RepositoryIndexException )
+                {
+                    throw (RepositoryIndexException) e;
+                }
+            }
+
+            if ( artifactIndex.isOpen() )
+            {
+                artifactIndex.optimize();
+                artifactIndex.close();
+            }
+        }
+    }
+
+    /**
+     * Index the metadata in the list
+     *
+     * @param metadataList   the metadata to be indexed
+     * @param indexPath      the path to the index file
+ * @param repositoryBase the repository where the metadata are located
+     */
+ private void indexMetadata( List metadataList, String indexPath, File repositoryBase )
+        throws RepositoryIndexException, MalformedURLException
+    {
+        String repoDir = repositoryBase.toURL().toString();
+        ArtifactRepository repository =
+ repoFactory.createArtifactRepository( "repository", repoDir, layout, null, null );
+
+ MetadataRepositoryIndex metadataIndex = indexFactory.createMetadataRepositoryIndex( indexPath, repository ); + for ( Iterator iter = metadataList.iterator(); iter.hasNext(); )
+        {
+ RepositoryMetadata repoMetadata = (RepositoryMetadata) iter.next();
+            try
+            {
+                metadataIndex.index( repoMetadata );
+            }
+            catch ( Exception e )
+            {
+                if ( e instanceof RepositoryIndexException )
+                {
+                    throw (RepositoryIndexException) e;
+                }
+            }
+            if ( metadataIndex.isOpen() )
+            {
+                metadataIndex.optimize();
+                metadataIndex.close();
+            }
+        }
+    }
+
+    /**
+     * Index the poms in the list
+     *
+     * @param models     list of poms that will be indexed
+     * @param indexPath  the path to the index
+ * @param repository the artifact repository where the poms were discovered
+     */
+ private void indexPom( List models, String indexPath, ArtifactRepository repository )
+        throws RepositoryIndexException
+    {
+ PomRepositoryIndex pomIndex = indexFactory.createPomRepositoryIndex( indexPath, repository );
+        for ( Iterator iter = models.iterator(); iter.hasNext(); )
+        {
+            Model model = (Model) iter.next();
+            try
+            {
+                pomIndex.indexPom( model );
+            }
+            catch ( Exception e )
+            {
+                if ( e instanceof RepositoryIndexException )
+                {
+                    throw (RepositoryIndexException) e;
+                }
+            }
+
+            if ( pomIndex.isOpen() )
+            {
+                pomIndex.optimize();
+                pomIndex.close();
+            }
+        }
+    }
+
+}

Added: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererScheduler.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererScheduler.java?rev=382337&view=auto ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererScheduler.java (added) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/job/DiscovererScheduler.java Thu Mar 2 01:53:40 2006
@@ -0,0 +1,149 @@
+package org.apache.maven.repository.manager.web.job;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.DefaultArtifactRepositoryFactory;
+import org.apache.maven.repository.discovery.ArtifactDiscoverer;
+import org.apache.maven.repository.discovery.MetadataDiscoverer;
+import org.apache.maven.repository.indexing.RepositoryIndexingFactory;
+import org.codehaus.plexus.scheduler.Scheduler;
+import org.quartz.CronTrigger;
+import org.quartz.JobDataMap;
+import org.quartz.JobDetail;
+import org.quartz.SchedulerException;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.text.ParseException;
+import java.util.Properties;
+
+/**
+ * This class sets the job to be executed in the plexus-quartz scheduler
+ *
+ * @plexus.component role="org.apache.maven.repository.manager.web.job.DiscovererScheduler"
+ */
+public class DiscovererScheduler
+{
+    /**
+     * @plexus.requirement
+     */
+    private Configuration config;
+
+    /**
+     * @plexus.requirement
+     */
+    private Scheduler scheduler;
+
+    /**
+ * @plexus.requirement role="org.apache.maven.repository.discovery.ArtifactDiscoverer" role-hint="org.apache.maven.repository.discovery.DefaultArtifactDiscoverer"
+     */
+    private ArtifactDiscoverer defaultArtifactDiscoverer;
+
+    /**
+ * @plexus.requirement role="org.apache.maven.repository.discovery.ArtifactDiscoverer" role-hint="org.apache.maven.repository.discovery.LegacyArtifactDiscoverer"
+     */
+    private ArtifactDiscoverer legacyArtifactDiscoverer;
+
+    /**
+ * @plexus.requirement role="org.apache.maven.repository.discovery.MetadataDiscoverer" role-hint="org.apache.maven.repository.discovery.DefaultMetadataDiscoverer"
+     */
+    private MetadataDiscoverer defaultMetadataDiscoverer;
+
+    /**
+     * @plexus.requirement
+     */
+    private RepositoryIndexingFactory indexFactory;
+
+    /**
+     * @plexus.requirement
+     */
+    private ArtifactRepositoryFactory repoFactory;
+
+    private Properties props;
+
+    /**
+     * Method that sets the schedule in the plexus-quartz scheduler
+     *
+     * @throws IOException
+     * @throws ParseException
+     * @throws SchedulerException
+     */
+    public void setSchedule()
+        throws IOException, ParseException, SchedulerException
+    {
+        props = config.getProperties();
+ JobDetail jobDetail = new JobDetail( "discovererJob", "DISCOVERER", DiscovererJob.class );
+        JobDataMap dataMap = new JobDataMap();
+ dataMap.put( DiscovererJob.MAP_INDEXPATH, props.getProperty( "index.path" ) ); + dataMap.put( DiscovererJob.MAP_BLACKLIST, props.getProperty( "blacklist.patterns" ) ); + dataMap.put( DiscovererJob.MAP_DEFAULT_REPOSITORY, getDefaultRepository() ); + dataMap.put( DiscovererJob.MAP_LAYOUT, props.getProperty( "layout" ) ); + dataMap.put( DiscovererJob.MAP_SNAPSHOTS, new Boolean( props.getProperty( "include.snapshots" ) ) ); + dataMap.put( DiscovererJob.MAP_CONVERT, new Boolean( props.getProperty( "convert.snapshots" ) ) ); + dataMap.put( DiscovererJob.MAP_DEF_ARTIFACT_DISCOVERER, defaultArtifactDiscoverer ); + dataMap.put( DiscovererJob.MAP_LEG_ARTIFACT_DISCOVERER, legacyArtifactDiscoverer ); + dataMap.put( DiscovererJob.MAP_DEF_METADATA_DISCOVERER, defaultMetadataDiscoverer );
+        dataMap.put( DiscovererJob.MAP_IDX_FACTORY, indexFactory );
+ dataMap.put( DiscovererJob.MAP_REPO_LAYOUT, config.getLayout() );
+        dataMap.put( DiscovererJob.MAP_REPO_FACTORY, repoFactory );
+        jobDetail.setJobDataMap( dataMap );
+
+        CronTrigger trigger =
+ new CronTrigger( "DiscovererTrigger", "DISCOVERER", props.getProperty( "cron.expression" ) );
+        scheduler.scheduleJob( jobDetail, trigger );
+    }
+
+    /**
+     * Method that creates the artifact repository
+     *
+     * @return an ArtifactRepository instance
+     * @throws java.net.MalformedURLException
+     */
+    private ArtifactRepository getDefaultRepository()
+        throws MalformedURLException
+    {
+ File repositoryDirectory = new File( config.getRepositoryDirectory() );
+        String repoDir = repositoryDirectory.toURL().toString();
+ ArtifactRepositoryFactory repoFactory = new DefaultArtifactRepositoryFactory();
+
+ return repoFactory.createArtifactRepository( "test", repoDir, config.getLayout(), null, null );
+    }
+
+    /**
+     * Method that sets the configuration object
+     *
+     * @param config
+     */
+    public void setConfiguration( Configuration config )
+    {
+        this.config = config;
+    }
+
+    /**
+     * Returns the cofiguration
+     *
+ * @return a Configuration object that contains the configuration values
+     */
+    public Configuration getConfiguration()
+    {
+        return config;
+    }
+
+}

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/resources/xwork.xml URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/resources/xwork.xml?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/resources/xwork.xml (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/resources/xwork.xml Thu Mar 2 01:53:40 2006
@@ -27,8 +27,9 @@
     <default-interceptor-ref name="defaultStack"/>
<!-- Action: Front page -->
-    <action name="index" class="com.opensymphony.xwork.ActionSupport">
+ <action name="index" class="org.apache.maven.repository.manager.web.action.BaseAction"> <result name="success" type="dispatcher">/WEB-INF/jsp/index.jsp</result> + <result name="error" type="dispatcher">/WEB-INF/jsp/index.jsp</result>
     </action>
<action name="searchg" class="org.apache.maven.repository.manager.web.action.GeneralSearchAction">

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp Thu Mar 2 01:53:40 2006
@@ -1,26 +1,28 @@
 <%@ taglib uri="webwork" prefix="ww" %>
-<[EMAIL PROTECTED] import="java.util.*"%>
+
 <html>
 <head>
-<title>Repository Browser</title>
+  <title>Repository Browser</title>
 </head>
+
 <body>
<h3><a href="<ww:url value="browse!edit.action"><ww:param name="idx" value="0"/></ww:url>">basedir</a> /
-<ww:set name="previousFolder" value="''"/>
-<ww:set name="counter" value="0"/>
-<ww:if test="folder != ''">
-  <ww:set name="folderHeader" value="folder.split('/')"/>
-  <ww:iterator value="#folderHeader">
-    <ww:set name="counter" value="#counter + 1"/>
-    <ww:if test="#previousFolder == ''">
-      <ww:set name="previousFolder" value="top"/>
-    </ww:if>
-    <ww:else>
- <ww:set name="previousFolder" value="#previousFolder + '/' + top"/>
-    </ww:else>
- <ww:if test="idx > (#counter + 1)"><a href="<ww:url value="browse!edit.action"><ww:param name="idx"><ww:property value="#counter"/></ww:param><ww:param name="folder"></ww:param></ww:url>"></ww:if><ww:property/></a> /
-  </ww:iterator>
-</ww:if>
+  <ww:set name="previousFolder" value="''"/>
+  <ww:set name="counter" value="0"/>
+  <ww:if test="folder != ''">
+    <ww:set name="folderHeader" value="folder.split('/')"/>
+    <ww:iterator value="#folderHeader">
+      <ww:set name="counter" value="#counter + 1"/>
+      <ww:if test="#previousFolder == ''">
+        <ww:set name="previousFolder" value="top"/>
+      </ww:if>
+      <ww:else>
+ <ww:set name="previousFolder" value="#previousFolder + '/' + top"/>
+      </ww:else>
+ <ww:if test="idx > (#counter + 1)"><a href="<ww:url value="browse!edit.action"><ww:param name="idx"><ww:property + value="#counter"/></ww:param><ww:param name="folder"></ww:param></ww:url>"></ww:if><ww:property/></a> /
+    </ww:iterator>
+  </ww:if>
 </h3>
 <br/>
@@ -29,54 +31,59 @@
 <ww:iterator value="artifactMap.keySet().iterator()">
   <ww:set name="groupName" value="top"/>
<ww:if test="idx == 1 || (folder != '' and #groupName.startsWith(folder))">
-<%
-int ctr = 1;
-%>
+  <%
+
+  int ctr = 1;
+
+  %>
   <ww:set name="groupFolder" value="#groupName.split('/')"/>
-    <ww:iterator value="#groupFolder">
-<%
-if (ctr == ((Integer)pageContext.getAttribute("in")).intValue()) {%>
-      <ww:if test="top != #previousFolder">
-        <ww:set name="previousFolder" value="top"/>
- <a href="<ww:url value="browse!edit.action"><ww:param name="folder"><ww:property value="folder"/><ww:if test="folder != ''">/</ww:if><ww:property/></ww:param><ww:param name="idx" value="idx"/></ww:url>"">
-        <ww:property/>/
-        </a><br>
-      </ww:if>
-<%
-}
-ctr++;
-%>
-    </ww:iterator>
-</ww:if>
-</ww:iterator>
+<ww:iterator value="#groupFolder">
+  <%
-<ww:if test="folder != ''">
-  <ww:set name="previousFolder" value="''"/>
-  <ww:set name="artifactList" value="artifactMap.get(folder)"/>
-  <ww:iterator value="#artifactList">
-<table border="1">
-          <tr align="left">
-            <th>Group ID</th>
-            <td><ww:property value="groupId"/></td>
-          </tr>
-          <tr align="left">
-            <th>Artifact ID</th>
-            <td><ww:property value="artifactId"/></td>
-          </tr>
-          <tr align="left">
-            <th>Version</th>
-            <td><ww:property value="version"/></td>
-          </tr>
-          <tr align="left">
-            <th>Derivatives</th>
-            <td><ww:property value="groupId"/></td>
-          </tr>
-          <tr align="left">
-            <th>Parent</th>
-            <td><ww:property value="folder"/></td>
-          </tr>
-</table><br/>
+if (ctr == ((Integer)pageContext.getAttribute("in")).intValue()) {
+  %>
+<ww:if test="top != #previousFolder">
+  <ww:set name="previousFolder" value="top"/>
+<a href="<ww:url value="browse!edit.action"><ww:param name="folder"><ww:property value="folder"/><ww:if test="folder != ''">/</ww:if><ww:property/></ww:param><ww:param name="idx" value="idx"/></ww:url>"">
+  <ww:property/>/
+    </ a><br>
+  </ww:if>
+  <%
+    }
+    ctr++;
+  %>
+  </ww:iterator>
+  </ww:if>
   </ww:iterator>
-</ww:if>
+
+  <ww:if test="folder != ''">
+    <ww:set name="previousFolder" value="''"/>
+    <ww:set name="artifactList" value="artifactMap.get(folder)"/>
+    <ww:iterator value="#artifactList">
+      <table border="1">
+        <tr align="left">
+          <th>Group ID</th>
+          <td><ww:property value="groupId"/></td>
+        </tr>
+        <tr align="left">
+          <th>Artifact ID</th>
+          <td><ww:property value="artifactId"/></td>
+        </tr>
+        <tr align="left">
+          <th>Version</th>
+          <td><ww:property value="version"/></td>
+        </tr>
+        <tr align="left">
+          <th>Derivatives</th>
+          <td><ww:property value="groupId"/></td>
+        </tr>
+        <tr align="left">
+          <th>Parent</th>
+          <td><ww:property value="folder"/></td>
+        </tr>
+      </table>
+      <br/>
+    </ww:iterator>
+  </ww:if>
 </body>
 </html>

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/form.jspf URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/form.jspf?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/form.jspf (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/form.jspf Thu Mar 2 01:53:40 2006
@@ -34,30 +34,33 @@
 <!--"CONVERTED_APPLET"-->
 <!-- HTML CONVERTER -->
 <script language="JavaScript" type="text/javascript"><!--
-    var _info = navigator.userAgent;
-    var _ns = false;
-    var _ns6 = false;
- var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
+var _info = navigator.userAgent;
+var _ns = false;
+var _ns6 = false;
+var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
 //--></script>
<comment>
   <script language="JavaScript" type="text/javascript"><!--
- var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0))); - var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></script>
+ var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && + java.lang.System.getProperty("os.version").indexOf("3.5") < + 0) || (_info.indexOf("Sun") > 0) || + (_info.indexOf("Linux") > 0) || + (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || + (_info.indexOf("IRIX") > 0)));
+  var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
+  //--></script>
 </comment>
<script language="JavaScript" type="text/javascript"><!-- - if (_ie == true) document.writeln('<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "400" HEIGHT = "20" NAME = "ChecksumApplet" codebase="http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,5";><noembed><xmp>');
-    else if (_ns == true && _ns6 == false) document.writeln('<embed ' +
-        'type="application/x-java-applet;version=1.5" \
+if ( _ie ==
+ true ) document.writeln('<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "400" HEIGHT = "20" NAME = "ChecksumApplet" codebase="http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,5";><noembed><xmp>'); +else if ( _ns == true && _ns6 == false ) document.writeln('<embed ' + 'type="application/x-java-applet;version=1.5" \ CODE = "org/apache/maven/repository/applet/ChecksumApplet.class" \
             ARCHIVE = "maven-repository-artifact-applet.jar" \
             NAME = "ChecksumApplet" \
             WIDTH = "400" \
-            HEIGHT = "20" ' +
-        'scriptable=false ' +
- 'pluginspage="http://java.sun.com/products/plugin/index.html#download";><noembed><xmp>'); + HEIGHT = "20" ' + 'scriptable=false ' + 'pluginspage="http://java.sun.com/products/plugin/index.html#download";><noembed><xmp>');
 //--></script>
<applet CODE="org/apache/maven/repository/applet/ChecksumApplet.class" ARCHIVE="maven-repository-artifact-applet.jar"
         WIDTH="400" HEIGHT="20" NAME="ChecksumApplet"></xmp>

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/generalresults.jsp URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/generalresults.jsp?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/generalresults.jsp (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/generalresults.jsp Thu Mar 2 01:53:40 2006
@@ -24,7 +24,7 @@
<h1>Maven Repository Manager</h1> -<[EMAIL PROTECTED] file="form.jspf"%>
+<%@ include file="form.jspf" %>
<table border="1px" cellspacing="0">
   <tr>
@@ -50,8 +50,8 @@
             <tr>
<td valign="top" width="15%" align="right"><ww:property value="Key"/></td>
               <td valign="top">
-                <ww:iterator value="Value" id="test" status="" >
-                  <ww:property />
+                <ww:iterator value="Value" id="test" status="">
+                  <ww:property/>
                 </ww:iterator>
                 <br/>
               </td>

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/results.jsp URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/results.jsp?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/results.jsp (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/jsp/results.jsp Thu Mar 2 01:53:40 2006
@@ -24,7 +24,7 @@
<h1>Maven Repository Manager</h1> -<[EMAIL PROTECTED] file="form.jspf"%>
+<%@ include file="form.jspf" %>
<table>
   <tr>

Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/plexus.xml URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/plexus.xml?rev=382337&r1=382336&r2=382337&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/plexus.xml (original) +++ maven/repository-manager/trunk/maven-repository-webapp/src/main/webapp/WEB-INF/plexus.xml Thu Mar 2 01:53:40 2006
@@ -40,7 +40,7 @@
       <role>com.opensymphony.xwork.ObjectFactory</role>
<implementation>org.codehaus.plexus.xwork.PlexusObjectFactory</implementation>
     </component>
-                             +
     <component>
<role>org.apache.maven.repository.manager.web.job.Configuration</role> <implementation>org.apache.maven.repository.manager.web.job.Configuration</implementation>
@@ -52,7 +52,7 @@
           </property>
           <property>
             <name>default.repository.dir</name>
-            <value>C:/TEST_REPOS/repository</value>
+            <value>C:/TEST_REPOS/.m2/repository/</value>
           </property>
           <property>
             <name>legacy.repository.dir</name>
@@ -81,14 +81,6 @@
         </properties>
       </configuration>
     </component>
-
-
-    <!--
-    <component>
- <role>org.apache.maven.repository.manager.web.job.DiscovererJob</role>
-    </component>
-
-     -->
<!--
      | Logger manager







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to