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 2007/05/01 14:46:49 UTC

svn commit: r534044 [2/2] - in /maven/archiva/branches/archiva-jpox-database-refactor: archiva-base/archiva-configuration/src/main/mdo/ archiva-database/src/main/java/org/apache/maven/archiva/database/ archiva-database/src/main/java/org/apache/maven/ar...

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java?view=auto&rev=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java Tue May  1 05:46:46 2007
@@ -0,0 +1,140 @@
+package org.apache.maven.archiva.web.interceptor;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.ActionContext;
+import com.opensymphony.xwork.ActionInvocation;
+import com.opensymphony.xwork.ActionProxy;
+import com.opensymphony.xwork.interceptor.Interceptor;
+import com.opensymphony.xwork.interceptor.PreResultListener;
+
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * WebworkIsDoingStrangeThingsInterceptor 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ * @plexus.component role="com.opensymphony.xwork.interceptor.Interceptor"
+ *                   role-hint="webwork-is-doing-strange-things"
+ */
+public class WebworkIsDoingStrangeThingsInterceptor
+    extends AbstractLogEnabled
+    implements Interceptor, PreResultListener
+{
+    private String hint = "(nohint)";
+
+    public void init()
+    {
+        getLogger().info( ".init()" );
+    }
+
+    public String intercept( ActionInvocation invocation )
+        throws Exception
+    {
+        StringBuffer dbg = new StringBuffer();
+
+        invocation.addPreResultListener( this );
+
+        dbg.append( "[" ).append( hint ).append( "] " );
+        dbg.append( ".intercept(" ).append( invocation.getClass().getName() ).append( ")" );
+        dbg.append( "\n Action=" ).append( invocation.getAction().getClass().getName() );
+
+        ActionProxy proxy = invocation.getProxy();
+        dbg.append( "\n Proxy=" ).append( proxy.getClass().getName() );
+        dbg.append( "\n    .namespace  =" ).append( proxy.getNamespace() );
+        dbg.append( "\n    .actionName =" ).append( proxy.getActionName() );
+        dbg.append( "\n    .method     =" ).append( proxy.getMethod() );
+        dbg.append( "\n    .execute result =" ).append( proxy.getExecuteResult() );
+
+        ActionContext context = invocation.getInvocationContext();
+        dbg.append( "\n InvocationContext=" ).append( context.getClass().getName() );
+        appendMap( "\n    .session=", dbg, context.getSession() );
+        appendMap( "\n    .parameters=", dbg, context.getParameters() );
+
+        String result = invocation.invoke();
+
+        dbg.append( "\n ... result=\"" ).append( result ).append( "\"" );
+        dbg.append( ", code=" ).append( invocation.getResultCode() );
+        getLogger().info( dbg.toString() );
+        return result;
+    }
+
+    private void appendMap( String heading, StringBuffer dbg, Map map )
+    {
+        dbg.append( heading );
+
+        if ( map == null )
+        {
+            dbg.append( "<null>" );
+            return;
+        }
+
+        if ( map.isEmpty() )
+        {
+            dbg.append( "<empty>" );
+            return;
+        }
+
+        Iterator entries = map.entrySet().iterator();
+        while ( entries.hasNext() )
+        {
+            Map.Entry entry = (Entry) entries.next();
+            String key = (String) entry.getKey();
+            Object value = entry.getValue();
+            dbg.append( "\n      [" ).append( key ).append( "]: " );
+            if ( value == null )
+            {
+                dbg.append( "<null>" );
+            }
+            else
+            {
+                try
+                {
+                    dbg.append( value.toString() );
+                }
+                catch ( NullPointerException e )
+                {
+                    dbg.append( "<npe>" );
+                }
+            }
+        }
+
+    }
+
+    public void destroy()
+    {
+        getLogger().info( ".destroy()" );
+    }
+
+    public void setHint( String hint )
+    {
+        this.hint = hint;
+    }
+
+    public void beforeResult( ActionInvocation invocation, String resultCode )
+    {
+        getLogger().info( "before result: invocation: " + invocation + ", resultCode: " + resultCode );
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/WebworkIsDoingStrangeThingsInterceptor.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/RepositoryServlet.java Tue May  1 05:46:46 2007
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.ConfigurationNames;
 import org.apache.maven.archiva.database.ArchivaDAO;
 import org.apache.maven.archiva.database.ArchivaDatabaseException;
 import org.apache.maven.archiva.database.ObjectNotFoundException;
@@ -121,7 +122,12 @@
 
                 if ( !repoDir.exists() )
                 {
-                    repoDir.mkdirs();
+                    if ( !repoDir.mkdirs() )
+                    {
+                        // Skip invalid directories.
+                        log( "Unable to create missing directory for " + repo.getUrl().getPath() );
+                        continue;
+                    }
                 }
 
                 DavServerComponent server = createServer( repo.getId(), repoDir, servletConfig );
@@ -252,9 +258,8 @@
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
-        if ( propertyName.startsWith( "repositories" ) )
+        if ( ConfigurationNames.isRepositories( propertyName ) )
         {
-            log( "Triggering managed repository configuration change with " + propertyName + " set to " + propertyValue );
             getDavManager().removeAllServers();
 
             try
@@ -266,10 +271,6 @@
                 log( "Error restarting WebDAV server after configuration change - service disabled: " + e.getMessage(),
                      e );
             }
-        }
-        else
-        {
-            log( "Not triggering managed repository configuration change with " + propertyName );
         }
     }
 }

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java?view=auto&rev=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java Tue May  1 05:46:46 2007
@@ -0,0 +1,115 @@
+package org.apache.maven.archiva.web.tags;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.web.util.ContextUtils;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+import java.io.IOException;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * CopyPasteSnippet 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ * 
+ * @plexus.component role="org.apache.maven.archiva.web.tags.CopyPasteSnippet"
+ */
+public class CopyPasteSnippet
+    extends AbstractLogEnabled
+{
+    public void write( Object o, PageContext pageContext )
+        throws JspException
+    {
+        StringBuffer buf = new StringBuffer();
+
+        if ( o == null )
+        {
+            buf.append( "Error generating snippet." );
+            getLogger().error( "Unable to generate snippet for null object." );
+        }
+        else if ( o instanceof RepositoryConfiguration )
+        {
+            createSnippet( buf, (RepositoryConfiguration) o, pageContext );
+        }
+        else
+        {
+            buf.append( "Unable to generate snippet for object " ).append( o.getClass().getName() );
+        }
+
+        try
+        {
+            JspWriter out = pageContext.getOut();
+            out.write( StringEscapeUtils.escapeXml( buf.toString() ) );
+            out.flush();
+        }
+        catch ( IOException e )
+        {
+            throw new JspException( "Unable to write snippet to output: " + e.getMessage(), e );
+        }
+    }
+
+    private void createSnippet( StringBuffer snippet, RepositoryConfiguration repo, PageContext pageContext )
+    {
+        snippet.append( "<project>\n" );
+        snippet.append( "  ...\n" );
+        snippet.append( "  <distributionManagement>\n" );
+
+        String distRepoName = "repository";
+        if ( repo.isSnapshots() )
+        {
+            distRepoName = "snapshotRepository";
+        }
+
+        snippet.append( "    <" ).append( distRepoName ).append( ">\n" );
+        snippet.append( "      <id>" ).append( repo.getId() ).append( "</id>\n" );
+
+        if ( !"default".equals( repo.getLayout() ) )
+        {
+            snippet.append( "      <layout>" ).append( repo.getLayout() ).append( "</layout>" );
+        }
+
+        snippet.append( "    </" ).append( distRepoName ).append( ">\n" );
+        snippet.append( "  </distributionManagement>\n" );
+        snippet.append( "\n" );
+
+        snippet.append( "  <repositories>\n" );
+        snippet.append( "    <repository>\n" );
+        snippet.append( "      <id>" ).append( repo.getId() ).append( "</id>\n" );
+        snippet.append( "      <name>" ).append( repo.getName() ).append( "</name>\n" );
+
+        snippet.append( "      <url>" );
+        if ( repo.isManaged() )
+        {
+            snippet.append( ContextUtils.getBaseURL( pageContext, "repository" ) );
+            snippet.append( "/" ).append( repo.getId() ).append( "/" );
+        }
+        else
+        {
+            snippet.append( repo.getUrl() );
+        }
+
+        snippet.append( "</url>\n" );
+
+        if ( !"default".equals( repo.getLayout() ) )
+        {
+            snippet.append( "      <layout>" ).append( repo.getLayout() ).append( "</layout>\n" );
+        }
+
+        snippet.append( "      <releases>\n" );
+        snippet.append( "        <enabled>" ).append( Boolean.valueOf( repo.isReleases() ) ).append( "</enabled>\n" );
+        snippet.append( "      </releases>\n" );
+        snippet.append( "      <snapshots>\n" );
+        snippet.append( "        <enabled>" ).append( Boolean.valueOf( repo.isSnapshots() ) ).append( "</enabled>\n" );
+        snippet.append( "      </snapshots>\n" );
+        snippet.append( "    </repository>\n" );
+        snippet.append( "  </repositories>\n" );
+
+        snippet.append( "  ...\n" );
+        snippet.append( "</project>\n" );
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java?view=auto&rev=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java Tue May  1 05:46:46 2007
@@ -0,0 +1,71 @@
+package org.apache.maven.archiva.web.tags;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.codehaus.plexus.component.repository.exception.ComponentLookupException;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+/**
+ * CopyPasteSnippetTag 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class CopyPasteSnippetTag
+    extends TagSupport
+{
+    private Object object;
+
+    public void release()
+    {
+        object = null;
+        super.release();
+    }
+
+    public int doEndTag()
+        throws JspException
+    {
+        CopyPasteSnippet snippet;
+        try
+        {
+            snippet = (CopyPasteSnippet) PlexusTagUtil.lookup( pageContext, CopyPasteSnippet.class.getName() );
+        }
+        catch ( ComponentLookupException e )
+        {
+            throw new JspException( "Unable to lookup CopyPasteSnippet: " + e.getMessage(), e );
+        }
+
+        if ( snippet == null )
+        {
+            throw new JspException( "Unable to process snippet.  Component not found." );
+        }
+
+        snippet.write( object, pageContext );
+
+        return super.doEndTag();
+    }
+
+    public void setObject( Object object )
+    {
+        this.object = object;
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java?view=auto&rev=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java Tue May  1 05:46:46 2007
@@ -0,0 +1,106 @@
+package org.apache.maven.archiva.web.util;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.commons.lang.StringUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * ContextUtils 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ContextUtils
+{
+    private static final Map defaultSchemePortMap;
+
+    static
+    {
+        defaultSchemePortMap = new HashMap();
+        defaultSchemePortMap.put( "http", new Integer( 80 ) );
+        defaultSchemePortMap.put( "https", new Integer( 443 ) );
+    }
+
+    /**
+     * Using the page context, get the base url.
+     * 
+     * @param pageContext the page context to use
+     * @return the base url with module name.
+     */
+    public static String getBaseURL( PageContext pageContext )
+    {
+        return getBaseURL( pageContext, null );
+    }
+
+    /**
+     * Using the page context, get the base url and append an optional resource name to the end of the provided url.
+     * 
+     * @param pageContext the page context to use
+     * @param resource the resource name (or null if no resource name specified)
+     * @return the base url with resource name.
+     */
+    public static String getBaseURL( PageContext pageContext, String resource )
+    {
+        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
+        return getBaseURL( request, resource );
+    }
+    
+    /**
+     * Using the http servlet request, get the base url and append an optional resource name to the end of the url.
+     * 
+     * @param request the request to use
+     * @param resource the resource name (or null if not resource name should be appended)
+     * @return the base url with resource name.
+     */
+    public static String getBaseURL( HttpServletRequest request, String resource )
+    {
+        StringBuffer baseUrl = new StringBuffer();
+        
+        baseUrl.append( request.getScheme() ).append( "://" );
+        baseUrl.append( request.getServerName() );
+        int portnum = request.getServerPort();
+
+        // Only add port if non-standard.
+        Integer defaultPortnum = (Integer) defaultSchemePortMap.get( request.getScheme() );
+        if ( ( defaultPortnum == null ) || ( defaultPortnum.intValue() != portnum ) )
+        {
+            baseUrl.append( ":" ).append( String.valueOf( portnum ) );
+        }
+        baseUrl.append( request.getContextPath() );
+
+        if ( StringUtils.isNotBlank( resource ) )
+        {
+            if ( !baseUrl.toString().endsWith( "/" ) )
+            {
+                baseUrl.append( "/" );
+            }
+
+            baseUrl.append( resource );
+        }
+
+        return baseUrl.toString();
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/util/ContextUtils.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml Tue May  1 05:46:46 2007
@@ -211,12 +211,10 @@
       <role>org.apache.maven.archiva.scheduled.ArchivaTaskScheduler</role>
       <role-hint>default</role-hint>
     </component>
-    <!-- 
     <component>
-      <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+      <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
       <role-hint>archiva-task-executor</role-hint>
     </component>
-      -->
   </load-on-start>
 
   <lifecycle-handler-manager implementation="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager">

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/taglib.tld
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/taglib.tld?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/taglib.tld (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/META-INF/taglib.tld Tue May  1 05:46:46 2007
@@ -78,5 +78,22 @@
       
    </tag>
 
+   <tag>
+
+      <name>copy-paste-snippet</name>
+      <tag-class>org.apache.maven.archiva.web.tags.CopyPasteSnippetTag</tag-class>
+      <body-content>empty</body-content>
+      <description><![CDATA[Render a copy paste snippet for the provided object]]></description>
+
+      <attribute>
+        <name>object</name>
+        <required>true</required>
+        <rtexprvalue>true</rtexprvalue>
+        
+        <description><![CDATA[The Object to Render]]></description>
+      </attribute>
+      
+   </tag>
+   
    
 </taglib>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/log4j.xml?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/log4j.xml (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/log4j.xml Tue May  1 05:46:46 2007
@@ -15,7 +15,7 @@
   <appender name="console" class="org.apache.log4j.ConsoleAppender">
     <param name="Target" value="System.out"/>
     <layout class="org.apache.log4j.PatternLayout">
-      <param name="ConversionPattern" value="%d [%t] %-5p %c{1} - %m%n"/>
+      <param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
     </layout>
   </appender>
 
@@ -24,15 +24,31 @@
     <level value="info"/>
   </logger>
 
+  <logger name="org.apache.maven.archiva">
+    <level value="debug" />
+  </logger>
+
   <logger name="org.codehaus.plexus.security">
     <level value="info"/>
   </logger>
 
   <!-- squelch noisy objects (for now) -->
+  <logger name="org.apache.commons">
+    <level value="warn"/>
+  </logger>
+
+  <logger name="net.sf.ehcache">
+    <level value="warn"/>
+  </logger>
+
   <logger name="org.codehaus.plexus.mailsender.MailSender">
     <level value="info"/>
   </logger>
 
+  <logger name="org.codehaus.plexus.velocity">
+    <level value="error"/>
+  </logger>
+
   <logger name="org.quartz">
     <level value="info"/>
   </logger>
@@ -78,7 +94,7 @@
   </logger>
 
   <root>
-    <priority value ="warn" />
+    <priority value ="info" />
     <appender-ref ref="console" />
     <appender-ref ref="rolling" />
   </root>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/webwork.properties
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/webwork.properties?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/webwork.properties (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/webwork.properties Tue May  1 05:46:46 2007
@@ -22,4 +22,6 @@
 webwork.objectFactory = org.codehaus.plexus.xwork.PlexusObjectFactory
 webwork.url.includeParams = none
 
+webwork.devMode = true
+
 # TODO: package up a theme and share with Continuum. Should contain everything from xhtml, and set templateDir to WEB-INF/themes

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/xwork.xml?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/xwork.xml (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/resources/xwork.xml Tue May  1 05:46:46 2007
@@ -30,40 +30,52 @@
 
   <package name="base" extends="webwork-default">
     <interceptors>
+      <interceptor name="strange" class="webwork-is-doing-strange-things"/>
       <interceptor name="configuration" class="configurationInterceptor"/>
       <interceptor name="pssForceAdminUser" class="pssForceAdminUserInterceptor"/>
       <interceptor name="pssSecureActions" class="pssSecureActionInterceptor"/>
       <interceptor name="pssAutoLogin" class="pssAutoLoginInterceptor"/>
-      <interceptor name="pssEnvironmentChecker" class="pssEnvironmentCheckInterceptor"/>
       <interceptor name="pssPolicyEnforcement" class="pssPolicyEnforcementInterceptor"/>
 
-      <interceptor-stack name="unconfiguredStack">
-        <interceptor-ref name="defaultStack"/>
-        <interceptor-ref name="pssEnvironmentChecker"/>
+      <interceptor-stack name="configuredArchivaStack">
         <interceptor-ref name="pssForceAdminUser"/>
         <interceptor-ref name="pssAutoLogin"/>
-        <interceptor-ref name="pssPolicyEnforcement"/>
+        <interceptor-ref name="defaultStack"/>
         <interceptor-ref name="pssSecureActions"/>
+        <interceptor-ref name="pssPolicyEnforcement"/>
+        <interceptor-ref name="configuration"/>
+        <interceptor-ref name="validation">
+          <param name="excludeMethods">input,back,cancel,browse</param>
+        </interceptor-ref>
+        <interceptor-ref name="workflow">
+          <param name="excludeMethods">input,back,cancel,browse</param>
+        </interceptor-ref>
       </interceptor-stack>
 
-      <interceptor-stack name="configuredStack">
-        <interceptor-ref name="defaultStack"/>
-        <interceptor-ref name="pssEnvironmentChecker"/>
+      <interceptor-stack name="unconfiguredArchivaStack">
         <interceptor-ref name="pssForceAdminUser"/>
         <interceptor-ref name="pssAutoLogin"/>
+        <interceptor-ref name="defaultStack"/>
         <interceptor-ref name="pssPolicyEnforcement"/>
         <interceptor-ref name="pssSecureActions"/>
-        <interceptor-ref name="configuration"/>
+        <interceptor-ref name="validation">
+          <param name="excludeMethods">input,back,cancel,browse</param>
+        </interceptor-ref>
+        <interceptor-ref name="workflow">
+          <param name="excludeMethods">input,back,cancel,browse</param>
+        </interceptor-ref>
       </interceptor-stack>
 
       <interceptor-stack name="configuredPrepareParamsStack">
-        <interceptor-ref name="paramsPrepareParamsStack"/>
-        <interceptor-ref name="configuredStack"/>
+        <!-- <interceptor-ref name="prepare" /> -->
+        <interceptor-ref name="params" />
+        <interceptor-ref name="configuredArchivaStack"/>
       </interceptor-stack>
+
     </interceptors>
 
     <!-- Default interceptor stack. -->
-    <default-interceptor-ref name="configuredStack"/>
+    <default-interceptor-ref name="configuredArchivaStack"/>
 
     <global-results>
       <!-- TODO: want an extra message on the configure page when this first happens! -->
@@ -216,33 +228,42 @@
     <action name="repositories" class="repositoriesAction" method="input">
       <result name="input">/WEB-INF/jsp/admin/repositories.jsp</result>
     </action>
+    
+    <action name="indexRepository" class="indexRepositoryAction" method="run">
+      <result type="redirect-action">repositories</result>
+    </action>
 
     <action name="addRepository" class="configureRepositoryAction" method="add">
       <result name="input">/WEB-INF/jsp/admin/addRepository.jsp</result>
-      <result type="redirect-action">managedRepositories</result>
-      <interceptor-ref name="unconfiguredStack"/>
+      <result type="redirect-action">repositories</result>
+      <!-- <interceptor-ref name="unconfiguredArchivaStack"/> -->
     </action>
 
-    <action name="editRepository" class="configureRepositoryAction" method="edit">
+    <action name="editRepository" class="editRepositoryAction" method="edit">
       <result name="input">/WEB-INF/jsp/admin/editRepository.jsp</result>
-      <result type="redirect-action">managedRepositories</result>
+      <result name="error" type="redirect-action">repositories</result>
+      <result name="success" type="redirect-action">repositories</result>
       <interceptor-ref name="configuredPrepareParamsStack"/>
     </action>
+    
+    <action name="saveRepository" class="saveRepositoryAction" method="save">
+      <result name="success" type="redirect-action">repositories</result>
+    </action>
 
     <action name="deleteRepository" class="deleteRepositoryAction">
       <result name="input">/WEB-INF/jsp/admin/deleteRepository.jsp</result>
-      <result type="redirect-action">managedRepositories</result>
+      <result type="redirect-action">repositories</result>
     </action>
 
     <action name="configure" class="configureAction" method="input">
       <result name="input">/WEB-INF/jsp/admin/configure.jsp</result>
-      <interceptor-ref name="unconfiguredStack"/>
+      <interceptor-ref name="unconfiguredArchivaStack"/>
     </action>
 
     <action name="saveConfiguration" class="configureAction">
       <result name="input">/WEB-INF/jsp/admin/configure.jsp</result>
       <result>/WEB-INF/jsp/admin/index.jsp</result>
-      <interceptor-ref name="unconfiguredStack"/>
+      <interceptor-ref name="unconfiguredArchivaStack"/>
     </action>
 
     <action name="reports" class="reportsAction">
@@ -250,7 +271,7 @@
     </action>
 
     <action name="runReport" class="reportsAction" method="runReport">
-      <interceptor-ref name="configuredStack"/>
+      <interceptor-ref name="configuredArchivaStack"/>
       <interceptor-ref name="execAndWait"/>
       <result name="wait" type="redirect">/admin/reports.action?reportGroup=${reportGroup}&amp;repositoryId=${repositoryId}&amp;filter=${filter}</result>
       <result name="success" type="redirect">/admin/reports.action?reportGroup=${reportGroup}&amp;repositoryId=${repositoryId}&amp;filter=${filter}</result>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp Tue May  1 05:46:46 2007
@@ -35,9 +35,8 @@
 
   <ww:actionmessage/>
   <ww:form method="post" action="addRepository" namespace="/admin" validate="true">
-    <ww:textfield name="id" label="Identifier" size="10" required="true"/>
+    <ww:textfield name="model.id" label="Identifier" size="10" required="true"/>
     <%@ include file="/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf" %>
-    <ww:checkbox name="indexed" fieldValue="true" value="true" label="Indexed"/>
     <ww:submit value="Add Repository"/>
   </ww:form>
 

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp Tue May  1 05:46:46 2007
@@ -34,10 +34,10 @@
   <h2>Edit Managed Repository</h2>
 
   <ww:actionmessage/>
-  <ww:form method="post" action="editRepository" namespace="/admin" validate="true">
+  <ww:form method="post" action="saveRepository" namespace="/admin" validate="false">
+    <ww:hidden name="mode"/>  
     <ww:hidden name="id"/>
     <%@ include file="/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf" %>
-    <ww:checkbox name="indexed" fieldValue="true" label="Indexed"/>
     <ww:submit value="Update Repository"/>
   </ww:form>
 

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf Tue May  1 05:46:46 2007
@@ -19,22 +19,11 @@
 <%@ taglib prefix="ww" uri="/webwork" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
-<c:set var="urlbase">${pageContext.request.scheme}://${pageContext.request.serverName}
-  :${pageContext.request.serverPort}${pageContext.request.contextPath}/repository/
-</c:set>
-
-<tr>
-  <td>
-    <ww:label for="urlName" theme="simple">URL Name*:</ww:label>
-  </td>
-  <td>
-    <c:out value="${urlbase}"/>
-    <ww:textfield name="urlName" id="urlName" size="20" theme="simple" required="true"/>
-  </td>
-</tr>
-
 <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'}"
            name="layout" label="Type"/>
-<ww:checkbox name="includeSnapshots" fieldValue="true" label="Snapshots Included"/>
+<ww:textfield name="refreshCronExpression" label="Cron" size="100" required="true" />
+<ww:checkbox name="releases" fieldValue="true" label="Releases Included"/>
+<ww:checkbox name="snapshots" fieldValue="false" label="Snapshots Included"/>
+<ww:checkbox name="indexed" fieldValue="true" label="Indexed"/>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp Tue May  1 05:46:46 2007
@@ -20,6 +20,7 @@
 <%@ taglib prefix="ww" uri="/webwork" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 <%@ taglib prefix="pss" uri="/plexusSecuritySystem" %>
+<%@ taglib prefix="archiva" uri="http://maven.apache.org/archiva" %>
 
 <html>
 <head>
@@ -33,117 +34,151 @@
 
 <div id="contentArea">
 
+<ww:actionerror />
+<ww:actionmessage />
+
 <div>
   <div style="float: right">
     <%-- TODO replace with icons --%>
     <pss:ifAuthorized permission="archiva-manage-configuration">
-      <ww:url id="addRepositoryUrl" action="addRepository" method="input"/>
+      <ww:url id="addRepositoryUrl" action="addRepository"/>
       <ww:a href="%{addRepositoryUrl}">Add Repository</ww:a>
     </pss:ifAuthorized>
   </div>
   <h2>Managed Repositories</h2>
 </div>
 
-<ww:set name="repositories" value="model.repositories"/>
-<c:if test="${empty(repositories)}">
-  <strong>There are no managed repositories configured yet.</strong>
-</c:if>
-
-<%--
-<c:forEach items="${repositories}" var="repository" varStatus="i">
+<c:choose>
+  <c:when test="${empty(model.managedRepositories)}">
+    <%-- No Managed Repositories. --%>
+    <strong>There are no managed repositories configured yet.</strong>
+  </c:when>
+  <c:otherwise>
+    <%-- Display the repositories. --%>
+    
+	<c:forEach items="${model.managedRepositories}" var="repository" varStatus="i">
   
-    <div>
-      <div style="float: right">
-      <pss:ifAnyAuthorized permissions="archiva-manage-configuration">
-        <ww:url id="editRepositoryUrl" action="editRepository" method="input">
-          <ww:param name="repoId" value="%{'${repository.id}'}"/>
-        </ww:url>
-        <ww:url id="deleteRepositoryUrl" action="deleteRepository" method="input">
-          <ww:param name="repoId" value="%{'${repository.id}'}"/>
-        </ww:url>
-        <ww:a href="%{editRepositoryUrl}">Edit Repository</ww:a>
-        <ww:a href="%{deleteRepositoryUrl}">Delete Repository</ww:a>
-        </pss:ifAnyAuthorized>
+      <div>
+
+        <div style="float: right">
+          <%-- TODO: make some icons --%>
+          <pss:ifAnyAuthorized permissions="archiva-manage-configuration">
+            <ww:url id="editRepositoryUrl" action="editRepository">
+              <ww:param name="repoid" value="%{'${repository.id}'}" />
+            </ww:url>
+            <ww:url id="deleteRepositoryUrl" action="deleteRepository" method="confirm">
+              <ww:param name="repoid" value="%{'${repository.id}'}" />
+            </ww:url>
+            <ww:a href="%{editRepositoryUrl}">Edit Repository</ww:a>
+            <ww:a href="%{deleteRepositoryUrl}">Delete Repository</ww:a>
+          </pss:ifAnyAuthorized>
+        </div>
+        
+        <h3>${repository.name}</h3>
+        
+        <table class="infoTable">
+          <tr>
+            <th>Identifier</th>
+            <td>
+              <code>${repository.id}</code>
+            </td>
+          </tr>
+          <tr>
+            <th>Directory</th>
+            <td>${repository.directory} 
+            <c:if test="${not(repository.directoryExists)}">
+              <span class="missing">Directory Does Not Exist</span>
+            </c:if>
+            </td>
+          </tr>
+          <tr>
+            <th>WebDAV URL</th>
+            <td><a href="${model.baseUrl}/${repository.id}/">${model.baseUrl}/${repository.id}/</a></td>
+          </tr>
+          <tr>
+            <th>Type</th>
+              <%-- TODO: can probably just use layout appended to a key prefix in i18n to simplify this --%>
+            <td>
+              <c:choose>
+                <c:when test="${repository.layout == 'default'}">
+                  Maven 2.x Repository
+                </c:when>
+                <c:otherwise>
+                  Maven 1.x Repository
+                </c:otherwise>
+              </c:choose>
+            </td>
+          </tr>
+          <tr>
+            <th>Releases Included</th>
+            <td class="${repository.releases ? 'donemark' : 'errormark'} booleanIcon"> ${repository.releases}</td>
+          </tr>
+          <tr>
+            <th>Snapshots Included</th>
+            <td class="${repository.snapshots ? 'donemark' : 'errormark'} booleanIcon"> ${repository.snapshots}</td>
+          </tr>
+          <tr>
+            <th>Indexed</th>
+            <td class="${repository.indexed ? 'donemark' : 'errormark'} booleanIcon"> ${repository.indexed}</td>
+          </tr>
+          <c:if test="${repository.indexed}">
+            <tr>
+              <th>Indexing Cron</th>
+              <td>${repository.refreshCronExpression}</td>
+            </tr>
+            <tr>
+              <th>Stats</th>
+              <td>
+                <div style="float: right">
+                  <pss:ifAuthorized permission="archiva-run-indexer">
+                    <ww:url id="indexRepositoryUrl" action="indexRepository">
+                      <ww:param name="repoid" value="%{'${repository.id}'}" />
+                    </ww:url>
+                    <ww:a href="%{indexRepositoryUrl}">Index Repository</ww:a>
+                  </pss:ifAuthorized>
+                </div>
+                <c:choose>
+                  <c:when test="${empty(repository.stats)}">
+                    Never indexed.
+                  </c:when>
+                  <c:otherwise>
+                    <table>
+                      <tr>
+                        <th>Last Indexed</th>
+                        <td>${repository.stats.whenStarted}</td>
+                      </tr>
+                      <tr>
+                        <th>Duration</th>
+                        <td>${repository.stats.duration} ms</td>
+                      </tr>
+                      <tr>
+                        <th>Total File Count</th>
+                        <td>${repository.stats.totalFileCount}
+                      </tr>
+                      <tr>
+                        <th>New Files Found</th>
+                        <td>${repository.stats.newFileCount}
+                      </tr>
+                    </table>
+                  </c:otherwise>
+                </c:choose>
+              </td>
+            </tr>
+          </c:if>
+          <tr>
+            <th>POM Snippet</th>
+            <td><a href="#" onclick="Effect.toggle('repoPom${repository.id}','slide'); return false;">Show POM Snippet</a><br/>
+<pre class="pom" style="display: none;" id="repoPom${repository.id}"><code><archiva:copy-paste-snippet object="${repository}" /></code></pre>
+            </td>
+          </tr>
+        </table>
+      
       </div>
-      <h3>${repository.name}</h3>
-      <table class="infoTable">
-        <tr>
-          <th>Identifier</th>
-          <td>
-            <code>${repository.id}</code>
-          </td>
-        </tr>
-        <tr>
-          <th>Directory</th>
-          <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>
-            <c:choose>
-              <c:when test="${repository.layout == 'default'}">
-                Maven 2.x Repository
-              </c:when>
-              <c:otherwise>
-                Maven 1.x Repository
-              </c:otherwise>
-            </c:choose>
-          </td>
-        </tr>
-        <tr>
-          <th>Snapshots Included</th>
-          <td class="${repository.includeSnapshots ? 'donemark' : 'errormark'} booleanIcon"> ${repository.includeSnapshots}</td>
-        </tr>
-        <tr>
-          <th>Indexed</th>
-          <td class="${repository.indexed ? 'donemark' : 'errormark'} booleanIcon"> ${repository.indexed}</td>
-        </tr>
-        <tr>
-          <th>POM Snippet</th>
-          <td><a href="#" onclick="Effect.toggle('repoPom${repository.id}','slide'); return false;">Show POM Snippet</a><br/>
-              <% - - DO NOT REFORMAT THIS SECTION - - %>
-<pre class="pom" style="display: none;" id="repoPom${repository.id}"><code>&lt;project>
-  ...
-  &lt;distributionManagement>
-  &lt;${repository.includeSnapshots ? 'snapshotRepository' : 'repository'}>
-  &lt;id>${repository.id}&lt;/id>
-  &lt;url>dav:${urlbase}${repository.urlName}&lt;/url>
-  <c:if test="${repository.layout != 'default'}">
-    &lt;layout>${repository.layout}&lt;/layout>
-  </c:if>
-  &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>
-  <c:if test="${repository.layout != 'default'}">
-    &lt;layout>${repository.layout}&lt;/layout>
-  </c:if>
-  &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>
-</code></pre>
-          </td>
-        </tr>
-      </table>
-    </div>
-</c:forEach>
-  --%>
+	</c:forEach>
+	
+  </c:otherwise>
+</c:choose>
+
 </div>
 
 </body>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp Tue May  1 05:46:46 2007
@@ -38,6 +38,7 @@
     @import url( "<c:url value="/css/site.css" />" );
   </style>
   <link rel="stylesheet" href="<c:url value="/css/print.css"/>" type="text/css" media="print"/>
+  <link rel="shortcut icon" href="<c:url value="/favicon.ico" />" />
   <script type="text/javascript" src="<c:url value="/js/scriptaculous/prototype.js"/>"></script>
   <script type="text/javascript" src="<c:url value="/js/scriptaculous/scriptaculous.js"/>"></script>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
@@ -127,11 +128,13 @@
             <my:currentWWUrl action="index" namespace="/admin">Settings</my:currentWWUrl>
           </li>
           <li class="none">
-            <my:currentWWUrl action="managedRepositories" namespace="/admin">Managed Repositories</my:currentWWUrl>
+            <my:currentWWUrl action="repositories" namespace="/admin">Repositories</my:currentWWUrl>
           </li>
+          <%-- 
           <li class="none">
             <my:currentWWUrl action="proxiedRepositories" namespace="/admin">Proxied Repositories</my:currentWWUrl>
           </li>
+          --%>
 
                 <%-- TODO: add back after synced repos are implemented
                           <li class="none">

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/tags/currentWWUrl.tag Tue May  1 05:46:46 2007
@@ -34,11 +34,13 @@
 <c:set var="text">
   <jsp:doBody/>
 </c:set>
-<c:choose>
+<a href="${url}">
+<c:choose>
   <c:when test="${currentUrl == url}">
     <b>${text}</b>
   </c:when>
   <c:otherwise>
-    <a href="${url}">${text}</a>
-  </c:otherwise>
-</c:choose>
+    ${text}
+  </c:otherwise>
+</c:choose>
+</a>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml Tue May  1 05:46:46 2007
@@ -62,6 +62,8 @@
   <servlet>
     <servlet-name>RepositoryServlet</servlet-name>
     <servlet-class>org.apache.maven.archiva.web.repository.RepositoryServlet</servlet-class>
+    <!-- Loading this on startup so as to take advantage of configuration listeners -->
+    <load-on-startup>1</load-on-startup>
   </servlet>
 
   <servlet-mapping>

Modified: maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/css/maven-theme.css
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/css/maven-theme.css?view=diff&rev=534044&r1=534043&r2=534044
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/css/maven-theme.css (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-web/archiva-webapp/src/main/webapp/css/maven-theme.css Tue May  1 05:46:46 2007
@@ -23,11 +23,26 @@
 
 body, td, th, select, input, li {
     font-family: Verdana, Helvetica, Arial, sans-serif;
-    font-size: 13px;
+    font-size: 11pt;
 }
 
 select, input {
-    font-size: x-small;
+    font-size: 0.9em;
+    border: 1px solid #AAAAAA;
+}
+
+select {
+    padding-left: 3px;
+	height: 1.4em;	
+}
+
+input {
+    padding: 2px;
+}
+
+label .required {
+	color: red;
+	font-weight: bold;
 }
 
 th {
@@ -302,4 +317,14 @@
 blockquote {
     border-left: 1px solid #DFDEDE;
     padding-left: 1em;
+}
+
+.missing {
+	background-color: red;
+	color: white;
+	font-weight: bold;
+	padding: 4px;
+	margin-left: 20px;
+	margin-right: 20px;
+	
 }