]> source.dussan.org Git - archiva.git/commitdiff
Fixing copy/paste missing content (distribution management/repository/url)
authorJoakim Erdfelt <joakime@apache.org>
Wed, 7 Nov 2007 17:46:01 +0000 (17:46 +0000)
committerJoakim Erdfelt <joakime@apache.org>
Wed, 7 Nov 2007 17:46:01 +0000 (17:46 +0000)
Fixing copy/paste content formatting.

git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@592825 13f79535-47bb-0310-9956-ffa450edef68

archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippet.java
archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/CopyPasteSnippetTag.java
archiva-web/archiva-webapp/src/main/resources/META-INF/taglib.tld
archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp

index 987a72bcfad23ff48e7bdd011c3391d2d64544f9..2e62b86adc339cbc78ed4360a292839443d775ba 100644 (file)
@@ -39,10 +39,16 @@ import java.io.IOException;
 public class CopyPasteSnippet
     extends AbstractLogEnabled
 {
-    public void write( Object o, PageContext pageContext )
+    public static final String PRE = "pre";
+    
+    public static final String TOGGLE = "toggle";
+    
+    public void write( String wrapper, Object o, PageContext pageContext )
         throws JspException
     {
+        StringBuffer prefix = new StringBuffer();
         StringBuffer buf = new StringBuffer();
+        StringBuffer suffix = new StringBuffer();
 
         if ( o == null )
         {
@@ -51,7 +57,24 @@ public class CopyPasteSnippet
         }
         else if ( o instanceof ManagedRepositoryConfiguration )
         {
-            createSnippet( buf, (ManagedRepositoryConfiguration) o, pageContext );
+            ManagedRepositoryConfiguration repo = (ManagedRepositoryConfiguration) o;
+            
+            if ( TOGGLE.equals( wrapper ) )
+            {
+                prefix.append( "<a href=\"#\" onclick=\"Effect.toggle('repoPom" );
+                prefix.append( repo.getId() ).append( "','slide'); return false;\">Show POM Snippet</a><br/>" );
+                prefix.append( "<pre class=\"pom\" style=\"display: none;\" id=\"repoPom" ).append( repo.getId() );
+                prefix.append( "\"><code>" );
+
+                suffix.append( "</code></pre>" );
+            }
+            else if ( PRE.equals( wrapper ) )
+            {
+                prefix.append( "<pre>" );
+                suffix.append( "</pre>" );
+            }
+            
+            createSnippet( buf, repo, pageContext );
         }
         else
         {
@@ -61,7 +84,11 @@ public class CopyPasteSnippet
         try
         {
             JspWriter out = pageContext.getOut();
+
+            out.write( prefix.toString() );
             out.write( StringEscapeUtils.escapeXml( buf.toString() ) );
+            out.write( suffix.toString() );
+            
             out.flush();
         }
         catch ( IOException e )
@@ -84,6 +111,8 @@ public class CopyPasteSnippet
 
         snippet.append( "    <" ).append( distRepoName ).append( ">\n" );
         snippet.append( "      <id>" ).append( repo.getId() ).append( "</id>\n" );
+        snippet.append( "      <url>dav:" ).append( ContextUtils.getBaseURL( pageContext, "repository" ) );
+        snippet.append( "/" ).append( repo.getId() ).append( "/" ).append( "</url>\n" );
 
         if ( !"default".equals( repo.getLayout() ) )
         {
index 237c5ea55b05a46c9f3aee0361757ca6345e5d4d..47054e82f9c3f8545c08cb2332304655a03d06bb 100644 (file)
@@ -34,6 +34,8 @@ public class CopyPasteSnippetTag
     extends TagSupport
 {
     private Object object;
+    
+    private String wrapper = CopyPasteSnippet.PRE;
 
     public void release()
     {
@@ -59,7 +61,7 @@ public class CopyPasteSnippetTag
             throw new JspException( "Unable to process snippet.  Component not found." );
         }
 
-        snippet.write( object, pageContext );
+        snippet.write( wrapper, object, pageContext );
 
         return super.doEndTag();
     }
@@ -68,4 +70,9 @@ public class CopyPasteSnippetTag
     {
         this.object = object;
     }
+
+    public void setWrapper( String wrapper )
+    {
+        this.wrapper = wrapper;
+    }
 }
index 43473f122ec4a6bda662d57dcd2454b8c51daf69..492e3c995b2bed8af498042f95e87f29e192daee 100644 (file)
         <description><![CDATA[The Object to Render]]></description>
       </attribute>
       
+      <attribute>
+        <name>wrapper</name>
+        <required>false</required>
+        <rtexprvalue>true</rtexprvalue>
+        
+        <description><![CDATA[The wrapper type to use, can be 'pre' or 'toggle']]></description>
+      </attribute>
    </tag>
    
    <tag>
index 778257c3c50ce0eced0f4e87c5c71effb04fe514..0ba26bce2931948e2aba3f083283c5a80ada457d 100644 (file)
 </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>
+    <archiva:copy-paste-snippet object="${repository}" wrapper="toggle" />
   </td>
 </tr>
 </table>