You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/03/10 10:50:29 UTC

svn commit: r635503 - in /incubator/tuscany/java/sca/modules/workspace-admin/src/main: java/org/apache/tuscany/sca/workspace/admin/impl/ resources/

Author: jsdelfino
Date: Mon Mar 10 02:50:28 2008
New Revision: 635503

URL: http://svn.apache.org/viewvc?rev=635503&view=rev
Log:
Added a service to CompositeCollection to help redirect to composite source files. Minor UI fixes.

Modified:
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css
    incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/files.html

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java?rev=635503&r1=635502&r2=635503&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java Mon Mar 10 02:50:28 2008
@@ -24,9 +24,16 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.servlet.Servlet;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -64,9 +71,10 @@
  * @version $Rev: 632617 $ $Date: 2008-03-01 08:24:33 -0800 (Sat, 01 Mar 2008) $
  */
 @Scope("COMPOSITE")
-@Service(interfaces={ItemCollection.class,LocalItemCollection.class})
-public class CompositeCollectionImpl implements ItemCollection, LocalItemCollection {
-    
+@Service(interfaces={ItemCollection.class,LocalItemCollection.class, Servlet.class})
+public class CompositeCollectionImpl extends HttpServlet implements ItemCollection, LocalItemCollection {
+    private static final long serialVersionUID = 1L;
+
     @Property
     public String compositeFileName;
     
@@ -151,6 +159,25 @@
             }
         }
         throw new NotFoundException(key);
+    }
+    
+    @Override
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+        // Get the request path
+        String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
+        String key = path.startsWith("/")? path.substring(1) : path;
+        
+        // Expecting a key in the form:
+        // composite:contributionURI;namespace;localName
+        QName qname = qname(key);
+        String contributionURI = uri(key);
+        
+        // Get the item describing the composite
+        Item item = compositeItem(contributionURI, qname);
+        
+        // Redirect to the composite source
+        response.sendRedirect(item.getLink());
     }
 
     public String post(String key, Item item) {

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java?rev=635503&r1=635502&r2=635503&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java Mon Mar 10 02:50:28 2008
@@ -615,11 +615,11 @@
                 String contributionURI = deployable.getURI();
                 QName qname = deployable.getName();
                 String title = title(contributionURI, qname);
+                String key = key(contributionURI, qname);
 
-                Item item = compositeItem(contributionURI, qname);
-                sb.append("<br><a href=\"" + item.getLink() + "\">" + title + "</a><br>");
+                sb.append("<br><a href=\"" + "/composite-source/" + key + "\">" + title + "</a><br>");
                 
-                String imageLink = "/composite-image?composite=" + key(contributionURI, qname);
+                String imageLink = "/composite-image?composite=" + key;
                 sb.append("<a href=\"" + imageLink + "\"><img src=\"icons/feed-icon.png\" border=\"0\"></a><br>");
                 
             } else {

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite?rev=635503&r1=635502&r2=635503&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite Mon Mar 10 02:50:28 2008
@@ -99,6 +99,9 @@
    		<service name="ItemCollection">
    	 		<t:binding.atom uri="http://localhost:9990/composite"/>
    		</service>
+   		<service name="Servlet">
+   	 		<t:binding.http uri="http://localhost:9990/composite-source"/>
+   		</service>
         <reference name="deployableCollection" target="DeployableCollectionComponent/LocalItemCollection"/>
     </component>
 
@@ -120,6 +123,9 @@
         <property name="compositeFileName">cloud.composite</property>
    		<service name="ItemCollection">
    	 		<t:binding.atom uri="http://localhost:9990/cloud"/>
+   		</service>
+   		<service name="Servlet">
+   	 		<t:binding.http uri="http://localhost:9990/cloud-source"/>
    		</service>
         <reference name="deployableCollection" target="DeployableCollectionComponent/LocalItemCollection"/>
     </component>

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css?rev=635503&r1=635502&r2=635503&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css Mon Mar 10 02:50:28 2008
@@ -27,13 +27,13 @@
 
 th {
 	font-weight: bold; white-space: nowrap; background-color: #e5ecf9; color: #598edd;
-	text-align: left; padding-left: 2px; padding-right: 20px; padding-top: 2px; padding-bottom: 2px; vertical-align:top;
+	text-align: left; padding-left: 2px; padding-right: 20px; padding-top: 2px; padding-bottom: 2px; vertical-align: text-top;
 	border-top: 1px; border-bottom: 1px; border-left: 0px; border-right: 0px;
 	border-style: solid; border-top-color: #a2bae7; border-bottom-color: #d1d3d4
 }
 
 td {
-	padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: nowrap; vertical-align: middle
+	padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: nowrap; vertical-align: text-top
 }
 
 input {
@@ -49,7 +49,7 @@
 }
 
 .tdw {
-	padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: normal; vertical-align: middle
+	padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: normal; vertical-align: text-top
 }
 
 .hd1 {

Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/files.html
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/files.html?rev=635503&r1=635502&r2=635503&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/files.html (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/files.html Mon Mar 10 02:50:28 2008
@@ -78,7 +78,7 @@
   <br>
   <span class=hd1>
   SCA Domain<br><br>
-  Contribution File Server&nbsp;<a href="/composite/"><img src="icons/feed-icon.png" border="0"></a>
+  Contribution File Server&nbsp;<a href="/feed/files/"><img src="icons/feed-icon.png" border="0"></a>
   </span>
   <br><br>
   This is a simple ATOM-based file server useful to share SCA contributions if you don't have an FTP, SVN or Maven repository.



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org