You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2006/10/27 00:04:47 UTC

svn commit: r468167 - in /maven/archiva/trunk: archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ archiva-configuration/src/main/mdo/ archiva-repository-layer/ archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/r...

Author: joakime
Date: Thu Oct 26 15:04:46 2006
New Revision: 468167

URL: http://svn.apache.org/viewvc?view=rev&rev=468167
Log:
* Adding distinction between repo.id and repo.urlName.
* Adding copy-paste block for repositories.
* Adding copy-paste block for dependency.
* Adding webdav url link in repository config.


Modified:
    maven/archiva/trunk/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultConfigurationStore.java
    maven/archiva/trunk/archiva-configuration/src/main/mdo/configuration.mdo
    maven/archiva/trunk/archiva-repository-layer/   (props changed)
    maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java
    maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf
    maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp
    maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/artifactInfo.jspf
    maven/archiva/trunk/archiva-webapp/src/main/webapp/css/maven-theme.css
    maven/archiva/trunk/archiva-webapp/src/test/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccessTest.java

Modified: maven/archiva/trunk/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultConfigurationStore.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultConfigurationStore.java?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultConfigurationStore.java (original)
+++ maven/archiva/trunk/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultConfigurationStore.java Thu Oct 26 15:04:46 2006
@@ -20,6 +20,7 @@
 import org.apache.maven.archiva.configuration.io.xpp3.ConfigurationXpp3Writer;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
@@ -99,6 +100,7 @@
             try
             {
                 configuration = reader.read( fileReader, false );
+                sanitizeConfiguration( configuration );
             }
             catch ( IOException e )
             {
@@ -114,6 +116,27 @@
             }
         }
         return configuration;
+    }
+
+    /**
+     * Perform any Upgrades and Adjustments needed to bring configuration up to the
+     * current configuration format.
+     * 
+     * @param config the configuration to upgrade and adjust.
+     */
+    private void sanitizeConfiguration( Configuration config )
+    {
+        Iterator it = config.getRepositories().iterator();
+        while ( it.hasNext() )
+        {
+            RepositoryConfiguration repo = (RepositoryConfiguration) it.next();
+            
+            // Ensure that the repo.urlName is set.
+            if ( StringUtils.isEmpty( repo.getUrlName() ) )
+            {
+                repo.setUrlName( repo.getId() );
+            }
+        }
     }
 
     public void storeConfiguration( Configuration configuration )

Modified: maven/archiva/trunk/archiva-configuration/src/main/mdo/configuration.mdo
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-configuration/src/main/mdo/configuration.mdo?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-configuration/src/main/mdo/configuration.mdo (original)
+++ maven/archiva/trunk/archiva-configuration/src/main/mdo/configuration.mdo Thu Oct 26 15:04:46 2006
@@ -114,6 +114,19 @@
         return valid;
     }
 
+    public RepositoryConfiguration getRepositoryByUrlName( String urlName )
+    {
+        for ( java.util.Iterator i = getRepositories().iterator(); i.hasNext(); )
+        {
+            RepositoryConfiguration repository = (RepositoryConfiguration) i.next();
+            if ( repository.getUrlName().equals( urlName ) )
+            {
+                return repository;
+            }
+        }
+        return null;
+    }
+    
     public RepositoryConfiguration getRepositoryById( String id )
     {
         for ( java.util.Iterator i = getRepositories().iterator(); i.hasNext(); )
@@ -256,6 +269,16 @@
       <name>RepositoryConfiguration</name>
       <version>1.0.0</version>
       <fields>
+        <field>
+          <name>urlName</name>
+          <version>1.0.0</version>
+          <type>String</type>
+          <required>true</required>
+          <description>
+            The URL name for this repository.
+            Used to create the WebDAV URL for the repository such like - http://hostname.com/repository/${urlName}/
+          </description>
+        </field>
         <field>
           <name>directory</name>
           <version>1.0.0</version>

Propchange: maven/archiva/trunk/archiva-repository-layer/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Oct 26 15:04:46 2006
@@ -1,2 +1,20 @@
-*.iml
 target
+*~
+.*.swp
+*.log
+*.patch
+*.diff
+.classpath
+.project
+.settings
+.wtpmodules
+.myeclipse
+.mymetadata
+.mystrutsdata
+.xdoclet
+*.ipr
+*.iws
+*.iml
+CVS
+cobertura.ser
+jcoverage.ser

Modified: maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java Thu Oct 26 15:04:46 2006
@@ -88,7 +88,7 @@
 
     public class RequestPath
     {
-        String repoId;
+        String repoName;
 
         String path;
     }
@@ -125,11 +125,11 @@
             return;
         }
 
-        RepositoryConfiguration repoconfig = config.getRepositoryById( reqpath.repoId );
+        RepositoryConfiguration repoconfig = config.getRepositoryByUrlName( reqpath.repoName );
 
         if ( repoconfig == null )
         {
-            routeToErrorPage( response, "Invalid Repository ID." );
+            routeToErrorPage( response, "Invalid Repository URL." );
             return;
         }
 
@@ -247,7 +247,7 @@
         // Find the first 'path' of the pathInfo.
 
         // Default: "/pathid" -> "pathid"
-        ret.repoId = requestPathInfo.substring( 1 );
+        ret.repoName = requestPathInfo.substring( 1 );
         ret.path = "/";
 
         // Find first element, if slash exists. 
@@ -255,7 +255,7 @@
         if ( slash > 0 )
         {
             // Filtered: "/central/org/apache/maven/" -> "central"
-            ret.repoId = requestPathInfo.substring( 1, slash );
+            ret.repoName = requestPathInfo.substring( 1, slash );
 
             String repoPath = requestPathInfo.substring( slash );
 

Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf Thu Oct 26 15:04:46 2006
@@ -16,6 +16,7 @@
 <%@ taglib prefix="ww" uri="/webwork" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
+<ww:textfield name="urlName" label="URL Name" size="50" required="true"/>
 <ww:textfield name="name" label="Name" size="50" required="true" />
 <ww:textfield name="directory" label="Directory" size="100" required="true"/>
 <ww:select list="#@java.util.LinkedHashMap@{'default' : 'Maven 2.x Repository', 'legacy' : 'Maven 1.x Repository'}"

Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp Thu Oct 26 15:04:46 2006
@@ -79,6 +79,8 @@
   </table>
 </c:if>
 
+<c:set var="urlbase">${pageContext.request.scheme}://${pageContext.request.serverName}:${pageContext.request.serverPort}/repository/</c:set>
+
 <div>
   <div style="float: right">
     <%-- TODO replace with icons --%>
@@ -120,6 +122,10 @@
         <td>${repository.directory}</td>
       </tr>
       <tr>
+        <th>WebDAV URL</th>
+        <td><a href="${urlbase}${repository.urlName}">${urlbase}${repository.urlName}</a></td>
+      </tr>
+      <tr>
         <th>Type</th>
           <%-- TODO: can probably just use layout appended to a key prefix in i18n to simplify this --%>
         <td>
@@ -135,11 +141,42 @@
       </tr>
       <tr>
         <th>Snapshots Included</th>
-        <td class="${repository.includeSnapshots ? 'doneMark' : 'errorMark'}"></td>
+        <td class="${repository.includeSnapshots ? 'doneMark' : 'errorMark'} booleanIcon"> ${repository.includeSnapshots}</td>
       </tr>
       <tr>
         <th>Indexed</th>
-        <td class="${repository.indexed ? 'doneMark' : 'errorMark'}"></td>
+        <td class="${repository.indexed ? 'doneMark' : 'errorMark'} booleanIcon"> ${repository.indexed}</td>
+      </tr>
+      <tr>
+        <th>POM Snippet</th>
+        <td>
+<pre class="pom">
+&lt;project>
+  ...
+  &lt;distributionManagement>
+    &lt;${repository.includeSnapshots ? 'snapshotRepository' : 'repository'}>
+      &lt;id>${repository.id}&lt;/id>
+      &lt;url>dav:${urlbase}${repository.urlName}&lt;/url>
+    &lt;/${repository.includeSnapshots ? 'snapshotRepository' : 'repository'}>
+  &lt;/distributionManagement>
+  
+  &lt;repositories>
+    &lt;repository>
+      &lt;id>${repository.id}&lt;/id>
+      &lt;name>${repository.name}&lt;/name>
+      &lt;url>${urlbase}${repository.urlName}&lt;/url>
+      &lt;releases>
+        &lt;enabled>${repository.includeSnapshots ? 'false' : 'true'}&lt;/enabled>
+      &lt;/releases>
+      &lt;snapshots>
+        &lt;enabled>${repository.includeSnapshots ? 'true' : 'false'}&lt;/enabled>
+      &lt;/snapshots>
+    &lt;/repository>
+  &lt;/repositories>
+  ...
+&lt;/project>
+</pre>        
+        </td>
       </tr>
     </table>
   </div>

Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/artifactInfo.jspf
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/artifactInfo.jspf?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/artifactInfo.jspf (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/artifactInfo.jspf Thu Oct 26 15:04:46 2006
@@ -99,6 +99,18 @@
   --%>
 </table>
 
+<c:if test="${model.packaging != 'pom'}">
+<h2>POM Dependency Snippet</h2>
+<pre class="pom">
+    &lt;dependency>
+      &lt;groupId>${model.groupId}&lt;/groupId>
+      &lt;artifactId>${model.artifactId}&lt;/artifactId>
+      &lt;version>${model.version}&lt;/version><c:if test="${model.packaging != 'jar'}">
+      &lt;type>${model.packaging}&lt;/type></c:if>
+    &lt;/dependency>
+</pre>
+</c:if>
+
 <c:if test="${!empty(model.url) || model.organization != null || !empty(model.licenses)
     || model.issueManagement != null || model.ciManagement != null}">
 

Modified: maven/archiva/trunk/archiva-webapp/src/main/webapp/css/maven-theme.css
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/webapp/css/maven-theme.css?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/webapp/css/maven-theme.css (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/webapp/css/maven-theme.css Thu Oct 26 15:04:46 2006
@@ -170,6 +170,18 @@
     background-image: url( ../images/icon_info_sml.gif );
 }
 
+.booleanIcon {
+	padding-left: 20px;
+	height: 20px;
+}
+
+pre.pom {
+	font-size: 0.9em;
+	border: 1px solid #ddddff;
+	background-color: #f8f8ff;
+	padding: 5px;	
+}
+
 #leftColumn {
     padding: 4px 4px 4px 4px;
     overflow: hidden;

Modified: maven/archiva/trunk/archiva-webapp/src/test/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccessTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/test/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccessTest.java?view=diff&rev=468167&r1=468166&r2=468167
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/test/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccessTest.java (original)
+++ maven/archiva/trunk/archiva-webapp/src/test/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccessTest.java Thu Oct 26 15:04:46 2006
@@ -44,7 +44,7 @@
 
         assertNotNull( requestPath );
 
-        assertEquals( expectedId, requestPath.repoId );
+        assertEquals( expectedId, requestPath.repoName );
         assertEquals( expectedPath, requestPath.path );
     }