Author: mattmann
Date: Fri Nov 18 04:15:19 2011
New Revision: 1203482

URL: http://svn.apache.org/viewvc?rev=1203482&view=rev
Log:
- OODT-157: 
 overlay cas-product web services into app
 expose /data and /dataset web services (RDF and RSS don't work b/c they 
require confs that I'm not baking in or assuming existence of as of yet).
 update TraceableProductBrowser to link to ctxRoot/data?productID=<productId>

Modified:
    oodt/trunk/pcs/opsui/pom.xml
    oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/OpsuiApp.java
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.html
    
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.java
    oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml
    oodt/trunk/pcs/opsui/src/main/webapp/WEB-INF/web.xml

Modified: oodt/trunk/pcs/opsui/pom.xml
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/pom.xml?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- oodt/trunk/pcs/opsui/pom.xml (original)
+++ oodt/trunk/pcs/opsui/pom.xml Fri Nov 18 04:15:19 2011
@@ -67,6 +67,12 @@ the License.
                </dependency>
                <dependency>
                  <groupId>org.apache.oodt</groupId>
+                 <artifactId>cas-product</artifactId>
+                 <version>${project.parent.version}</version>
+                 <type>war</type>
+               </dependency>
+               <dependency>
+                 <groupId>org.apache.oodt</groupId>
                  <artifactId>pcs-core</artifactId>
                  <version>${project.parent.version}</version>
                </dependency>

Modified: 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/OpsuiApp.java
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/OpsuiApp.java?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/OpsuiApp.java 
(original)
+++ oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/OpsuiApp.java 
Fri Nov 18 04:15:19 2011
@@ -22,6 +22,8 @@ import java.io.Serializable;
 import java.util.List;
 import java.util.Vector;
 
+import javax.servlet.ServletContext;
+
 import org.apache.oodt.cas.metadata.util.PathUtils;
 import org.apache.oodt.cas.webcomponents.filemgr.FMBrowserSession;
 import 
org.apache.oodt.cas.webcomponents.workflow.instance.WorkflowInstancesViewer;
@@ -184,6 +186,10 @@ public class OpsuiApp extends WebApplica
 
   }
 
+  public String getRootContext() {
+    return getServletContext().getServletContextName();
+  }
+
   /*
    * (non-Javadoc)
    * 

Modified: 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.html
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.html?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.html
 (original)
+++ 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.html
 Fri Nov 18 04:15:19 2011
@@ -35,7 +35,7 @@
       <td>Percent Transferred</td>
     </tr>
     <tr wicket:id="ref_list">
-      <td wicket:id="ref_file_path">/home/files/foo.txt/foo.txt</td>
+      <td><a wicket:id="ref_file_path_link" href="#"><span 
wicket:id="ref_file_path">/home/files/foo.txt/foo.txt</span></a></td>
       <td wicket:id="ref_file_size">4028</td>
       <td wicket:id="ref_pct_transferred">100%</td>
     </tr>

Modified: 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.java
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.java?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.java
 (original)
+++ 
oodt/trunk/pcs/opsui/src/main/java/org/apache/oodt/pcs/opsui/pedigree/TraceableProductBrowser.java
 Fri Nov 18 04:15:19 2011
@@ -18,19 +18,31 @@
 package org.apache.oodt.pcs.opsui.pedigree;
 
 //JDK imports
-import java.util.Collections;
+import java.io.File;
+import java.net.URI;
+import java.text.NumberFormat;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 //OODT imports
 import org.apache.oodt.cas.filemgr.structs.Product;
+import org.apache.oodt.cas.filemgr.structs.Reference;
+import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
 import org.apache.oodt.cas.webcomponents.filemgr.FileManagerConn;
 import 
org.apache.oodt.cas.webcomponents.filemgr.browser.product.ProductBrowser;
+import org.apache.oodt.pcs.opsui.OpsuiApp;
 import org.apache.oodt.pcs.webcomponents.trace.Trace;
 
 //Wicket imports
 import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Button;
 import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.link.ExternalLink;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.model.util.ListModel;
 
 /**
  * 
@@ -45,16 +57,20 @@ public class TraceableProductBrowser ext
 
   private static final long serialVersionUID = 5512878676145737818L;
 
+  private static final Logger LOG = Logger
+      .getLogger(TraceableProductBrowser.class.getName());
+
   /**
    * @param componentId
    * @param fmUrlStr
    * @param productId
    */
   public TraceableProductBrowser(String componentId, final String fmUrlStr,
-      String productId, final boolean enableNotCat, final List<String> 
excludes) {
+      final String productId, final boolean enableNotCat, final List<String> 
excludes) {
     super(componentId, fmUrlStr, productId);
-    FileManagerConn fm = new FileManagerConn(fmUrlStr);
+    final FileManagerConn fm = new FileManagerConn(fmUrlStr);
     final Product product = fm.safeGetProductById(productId);
+    final OpsuiApp app = (OpsuiApp)getApplication();
 
     Form traceForm = new Form("trace_form");
     traceForm.add(new Button("trace_button") {
@@ -65,8 +81,8 @@ public class TraceableProductBrowser ext
        */
       @Override
       public void onSubmit() {
-        Trace tracer = new Trace("pedigree", fmUrlStr, enableNotCat,
-            excludes, product);
+        Trace tracer = new Trace("pedigree", fmUrlStr, enableNotCat, excludes,
+            product);
         tracer.setVisible(true);
         getParent().getParent().replace(tracer);
         setVisible(false);
@@ -76,6 +92,63 @@ public class TraceableProductBrowser ext
     add(traceForm);
     add(new WebMarkupContainer("pedigree").setVisible(false));
 
+    List<Reference> refs = fm.getProductReferences(product);
+    if (refs != null && refs.size() > 0) {
+      replace(new Label("no_prod_ref_display") {
+        /*
+         * (non-Javadoc)
+         * 
+         * @see org.apache.wicket.Component#isVisible()
+         */
+        @Override
+        public boolean isVisible() {
+          return false;
+        }
+      });
+
+      replace(new ListView<Reference>("ref_list", new 
ListModel<Reference>(refs)) {
+        /*
+         * (non-Javadoc)
+         * 
+         * @see
+         * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache
+         * .wicket.markup.html.list.ListItem)
+         */
+        @Override
+        protected void populateItem(ListItem<Reference> refItem) {
+          Reference r = refItem.getModelObject();
+          String filePath = null;
+          try {
+            filePath = new File(new URI(r.getDataStoreReference()))
+                .getAbsolutePath();
+          } catch (Exception ignore) {
+          }
+          
+          ExternalLink refLink = new ExternalLink("ref_file_path_link", 
+              "/" + app.getRootContext() + "/data?productID="+productId);
+          refLink.add(new Label("ref_file_path", filePath));
+          refItem.add(refLink);
+          refItem.add(new Label("ref_file_size",
+              String.valueOf(r.getFileSize())));
+          try {
+            refItem.add(new Label("ref_pct_transferred", NumberFormat
+                .getPercentInstance()
+                .format(fm.getFm().getRefPctTransferred(r))));
+          } catch (DataTransferException e) {
+            LOG.log(
+                Level.WARNING,
+                "Unable to determine product reference size: Reason: "
+                    + e.getMessage());
+            refItem.add(new Label("ref_pct_transferred", "N/A"));
+          }
+
+        }
+      });
+    } else {
+      replace(new Label("no_prod_ref_display", "No Product References!"));
+    }
+
   }
+  
 
 }

Modified: oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml (original)
+++ oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml Fri Nov 18 
04:15:19 2011
@@ -15,7 +15,7 @@ WARRANTIES OR CONDITIONS OF ANY KIND, ei
 License for the specific language governing permissions and limitations under
 the License.
 -->
-<Context path="/opsui">
+<Context path="/pcs-opsui">
                
        <Parameter name="filemgr.url"
            value="[FILEMGR_URL]"/>             

Modified: oodt/trunk/pcs/opsui/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/webapp/WEB-INF/web.xml?rev=1203482&r1=1203481&r2=1203482&view=diff
==============================================================================
--- oodt/trunk/pcs/opsui/src/main/webapp/WEB-INF/web.xml (original)
+++ oodt/trunk/pcs/opsui/src/main/webapp/WEB-INF/web.xml Fri Nov 18 04:15:19 
2011
@@ -4,7 +4,7 @@
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
         version="2.4">
 
-       <display-name>opsui</display-name>
+       <display-name>pcs-opsui</display-name>
 
         <!--  
              There are three means to configure Wickets configuration mode and 
they are
@@ -29,6 +29,31 @@
   <filter-name>wicket.browser</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>
+ 
+  <context-param>
+    <param-name>filemgr.working.dir</param-name>
+    <param-value>/tmp</param-value>
+  </context-param>
+
+  <servlet>
+    <servlet-name>DataDeliveryServlet</servlet-name>
+    
<servlet-class>org.apache.oodt.cas.product.data.DataDeliveryServlet</servlet-class>
+  </servlet>
+  <servlet>
+    <servlet-name>DatasetDeliveryServlet</servlet-name>
+    
<servlet-class>org.apache.oodt.cas.product.data.DatasetDeliveryServlet</servlet-class>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>DataDeliveryServlet</servlet-name>
+    <url-pattern>/data</url-pattern>
+  </servlet-mapping>
+  
+  <servlet-mapping>
+    <servlet-name>DatasetDeliveryServlet</servlet-name>
+    <url-pattern>/dataset</url-pattern>
+  </servlet-mapping>  
+ 
 
 
 </web-app>


Reply via email to