LISTSERV mailing list manager LISTSERV 16.5

Help for HPS-SVN Archives


HPS-SVN Archives

HPS-SVN Archives


HPS-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

HPS-SVN Home

HPS-SVN Home

HPS-SVN  December 2015

HPS-SVN December 2015

Subject:

r4032 - in /webapps/trunk/run-webapp: ./ src/main/java/org/hps/webapps/run/ src/main/webapp/ src/main/webapp/WEB-INF/ src/main/webapp/html/

From:

[log in to unmask]

Reply-To:

Notification of commits to the hps svn repository <[log in to unmask]>

Date:

Wed, 9 Dec 2015 04:51:08 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (1266 lines)

Author: [log in to unmask]
Date: Tue Dec  8 20:51:03 2015
New Revision: 4032

Log:
Current working version of run db webapp with many new features; compatible with hps-java dev branch.

Added:
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatacatHelper.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatasetServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/TriggerConfigServlet.java
    webapps/trunk/run-webapp/src/main/webapp/showDatasets.jsp
    webapps/trunk/run-webapp/src/main/webapp/showTriggerConfig.jsp
Modified:
    webapps/trunk/run-webapp/pom.xml
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/AbstractRunServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatabaseUtilities.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/EpicsDataServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunMainServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunSummaryServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunsServlet.java
    webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/ScalerDataServlet.java
    webapps/trunk/run-webapp/src/main/webapp/WEB-INF/context.xml
    webapps/trunk/run-webapp/src/main/webapp/WEB-INF/web.xml
    webapps/trunk/run-webapp/src/main/webapp/html/pager.html
    webapps/trunk/run-webapp/src/main/webapp/runEpics.jsp
    webapps/trunk/run-webapp/src/main/webapp/runMain.jsp
    webapps/trunk/run-webapp/src/main/webapp/runScalers.jsp
    webapps/trunk/run-webapp/src/main/webapp/runSummary.jsp
    webapps/trunk/run-webapp/src/main/webapp/runTable.jsp

Modified: webapps/trunk/run-webapp/pom.xml
 =============================================================================
--- webapps/trunk/run-webapp/pom.xml	(original)
+++ webapps/trunk/run-webapp/pom.xml	Tue Dec  8 20:51:03 2015
@@ -26,10 +26,10 @@
             </releases>
         </repository>
         <repository>
-            <id>freehep-repo-public</id>
+            <id>srs-repo-public</id>
             <name>FreeHEP Maven Public</name>
-            <url>http://srs.slac.stanford.edu/nexus/content/groups/freehep-maven2-public/</url>
-        </repository>
+            <url>http://srs.slac.stanford.edu/nexus/content/groups/srs-maven2-public/</url>
+        </repository>        
         <repository>
             <id>lcsim-repo-public</id>
             <name>LCSIM Public Maven Repository</name>
@@ -40,13 +40,19 @@
         <dependency>
             <groupId>org.hps</groupId>
             <artifactId>hps-run-database</artifactId>
-            <version>3.4.1-SNAPSHOT</version>
+            <version>3.4.2-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.hps</groupId>
-            <artifactId>hps-datacat-client</artifactId>
-            <version>3.4.1-SNAPSHOT</version>
+            <artifactId>hps-detector-model</artifactId>
+            <version>3.4.2-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>srs</groupId>
+            <artifactId>org-srs-datacat-client</artifactId>
+            <version>0.5-SNAPSHOT</version>
+        </dependency>        
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/AbstractRunServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/AbstractRunServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/AbstractRunServlet.java	Tue Dec  8 20:51:03 2015
@@ -19,11 +19,11 @@
  */
 @SuppressWarnings("serial")
 public abstract class AbstractRunServlet extends HttpServlet {
-   
+
     /**
      * The data source with the database connection.
      */
-    private final DataSource dataSource;
+    protected final DataSource dataSource;
 
     /**
      * Create a new run servlet.
@@ -39,22 +39,23 @@
      * @param response the HTTP response
      */
     @Override
-    abstract public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException;
-    	
+    abstract public void doGet(final HttpServletRequest request, final HttpServletResponse response)
+            throws ServletException, IOException;
+
     /**
      * Set the <i>run</i> and <i>run_summary</i> attributes on the request.
      * 
      * @param request the HTTP request
      * @return the run number
      */
-	int setRunAttribute(final HttpServletRequest request) {
-		if (!request.getParameterMap().containsKey("run")) {
+    protected int setRunAttribute(final HttpServletRequest request) {
+        if (!request.getParameterMap().containsKey("run")) {
             throw new RuntimeException("Missing required run parameter.");
         }
         final Integer run = Integer.parseInt(request.getParameterValues("run")[0]);
         request.setAttribute("run", run);
         return run;
-	}
+    }
 
     /**
      * Get a run summary for the given run number.
@@ -62,10 +63,10 @@
      * @param run the run number
      * @return the run summary
      */
-    RunSummary getRunSummary(final Integer run) {        
+    protected RunSummary getRunSummary(final Integer run) {
         RunSummary runSummary = null;
         try (Connection connection = this.dataSource.getConnection()) {
-        	final RunManager runManager = new RunManager(connection);
+            final RunManager runManager = new RunManager(connection);
             runManager.setRun(run);
             runSummary = runManager.getRunSummary();
         } catch (final Exception e) {

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatabaseUtilities.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatabaseUtilities.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatabaseUtilities.java	Tue Dec  8 20:51:03 2015
@@ -6,7 +6,7 @@
 
 public final class DatabaseUtilities {
 
-    private static String DATASOURCE_CONTEXT = "java:comp/env/jdbc/hps_run_db_dev";
+    private static String DATASOURCE_CONTEXT = "java:comp/env/jdbc/hps_run_db";
 
     static DataSource getDataSource() {
         DataSource dataSource = null;

Added: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatacatHelper.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatacatHelper.java	(added)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatacatHelper.java	Tue Dec  8 20:51:03 2015
@@ -0,0 +1,46 @@
+package org.hps.webapps.run;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.srs.datacat.client.Client;
+import org.srs.datacat.model.DatasetModel;
+import org.srs.datacat.model.DatasetResultSetModel;
+import org.srs.datacat.model.dataset.DatasetWithViewModel;
+
+public class DatacatHelper {
+
+    private Client client = null;
+    private String dir = "/HPS/**";
+
+    DatacatHelper(URI url) {
+        client = new Client(url);
+    }
+
+    /**
+     * @return
+     */
+    List<DatasetWithViewModel> executeQuery(String query) {
+        
+        List<DatasetWithViewModel> datasets = new ArrayList<DatasetWithViewModel>();
+        
+        // searchForDatasets(String target, String versionId, String site,
+        // String query, String[] sort, String show, Integer offset, Integer max)
+        DatasetResultSetModel results = client.searchForDatasets(
+                dir,       // target
+                "current", // versionId
+                "all",     // site
+                query,     // query
+                null,      // sort
+                null,      // show
+                null,      // offset
+                null);     // max
+        
+        for (DatasetModel dataset : results) {
+            datasets.add((DatasetWithViewModel) dataset);
+        }
+        
+        return datasets;
+    }       
+}

Added: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatasetServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatasetServlet.java	(added)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/DatasetServlet.java	Tue Dec  8 20:51:03 2015
@@ -0,0 +1,60 @@
+package org.hps.webapps.run;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.List;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.srs.datacat.model.dataset.DatasetWithViewModel;
+
+public class DatasetServlet extends HttpServlet {
+
+    private static String JSP_TARGET = "/showDatasets.jsp";
+
+    public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
+            IOException {
+
+        String dataType = null;
+        if (request.getParameter("dataType") != null) {
+            dataType = request.getParameter("dataType");
+            request.setAttribute("dataType", dataType);
+        } else {
+            throw new RuntimeException("Missing required dataType parameter");
+        }
+
+        String fileFormat = null;
+        if (request.getParameter("fileFormat") != null) {
+            fileFormat = request.getParameter("fileFormat");
+            request.setAttribute("fileFormat", fileFormat);
+        } else {
+            throw new RuntimeException("Missing required fileFormat parameter");
+        }
+
+        Integer run = null;
+        if (request.getParameter("run") != null) {
+            run = Integer.parseInt(request.getParameter("run"));
+            request.setAttribute("run", run);
+        } else {
+            throw new RuntimeException("Missing required run parameter");
+        }
+
+        String query = "dataType eq '" + dataType + "' and fileFormat eq '" + fileFormat + "' and runMin eq " + run;
+        DatacatHelper helper = null;
+        try {
+            helper = new DatacatHelper(new URI(getServletContext().getInitParameter("datacat") + "/r"));
+        } catch (URISyntaxException e) {
+            throw new RuntimeException(e);
+        }
+        List<DatasetWithViewModel> datasets = helper.executeQuery(query);
+        request.setAttribute("datasets", datasets);
+                        
+        final RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(JSP_TARGET);
+        dispatcher.forward(request, response);
+    }
+}

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/EpicsDataServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/EpicsDataServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/EpicsDataServlet.java	Tue Dec  8 20:51:03 2015
@@ -33,29 +33,30 @@
 
     @Override
     public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
-    IOException {
+            IOException {
+
         if (!request.getParameterMap().containsKey("run")) {
             throw new RuntimeException("Missing required run parameter.");
         }
         final Integer run = Integer.parseInt(request.getParameterValues("run")[0]);
+
         Connection connection = null;
         List<EpicsData> epicsDataList = null;
+        List<EpicsVariable> epicsVariables = null;
 
-        EpicsType epicsType = EpicsType.EPICS_1S;
+        // Get EPICS type to determine what variables to display.
+        EpicsType epicsType = EpicsType.EPICS_2S;
         if (request.getParameterMap().containsKey("epicsBankType")) {
             epicsType = EpicsType.valueOf(request.getParameter("epicsBankType"));
         }
 
-        List<EpicsVariable> epicsVariables = null;
-
+        // Get EPICS data from run manager.
         try {
             connection = dataSource.getConnection();
-
             RunManager runManager = new RunManager(connection);
             runManager.setRun(run);
             epicsDataList = runManager.getEpicsData(epicsType);
             epicsVariables = runManager.getEpicsVariables(epicsType);
-
         } catch (final SQLException e) {
             throw new IllegalStateException("Failed to setup data source connection.", e);
         } finally {
@@ -67,6 +68,8 @@
                 }
             }
         }
+
+        // Set session attributes and forward to JSP page.
         request.setAttribute("EpicsDataList", epicsDataList);
         request.setAttribute("EpicsType", epicsType);
         request.setAttribute("EpicsVariables", epicsVariables);

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunMainServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunMainServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunMainServlet.java	Tue Dec  8 20:51:03 2015
@@ -15,37 +15,23 @@
  */
 public class RunMainServlet extends AbstractRunServlet {
 
-	/**
-	 * The URL to the data catalog.
-	 */
-	private String datacat = "";
-	
-	/**
-	 * The URL to the data quality plots server. 
-	 */
-	private String dataquality = "";
-	
-	/**
-	 * Initialize the servlet.
-	 * 
-	 * @param config the servlet config
-	 */
-	public void init(ServletConfig config) throws ServletException {
-		super.init(config);
-		datacat = getServletContext().getInitParameter("datacat");
-		dataquality = getServletContext().getInitParameter("dataquality");
-	}
-	      
-	/**
-     * Setup servlet state by loading the run summaries and then forward to the JSP page for display.
+    /**
+     * Initialize the servlet.
+     * 
+     * @param config the servlet config
+     */
+    public void init(ServletConfig config) throws ServletException {
+        super.init(config);
+    }
+
+    /**
+     * Forward to JSP.
      */
     @Override
     public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
-            IOException {    	
-    	this.setRunAttribute(request);
+            IOException {
+        this.setRunAttribute(request);
         final RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/runMain.jsp");
-        request.getSession().setAttribute("datacat", datacat);
-        request.getSession().setAttribute("dataquality", dataquality);
         dispatcher.forward(request, response);
-    }           
+    }
 }

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunSummaryServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunSummaryServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunSummaryServlet.java	Tue Dec  8 20:51:03 2015
@@ -6,8 +6,6 @@
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-import org.hps.run.database.RunSummary;
 
 /**
  * Setup state for JSP that shows run summary.
@@ -23,13 +21,10 @@
     @Override
     public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
             IOException {
-    	
-    	int run = this.setRunAttribute(request);
-    
-        final RunSummary runSummary = this.getRunSummary(run);
-        request.setAttribute("run_summary", runSummary);
-        
+
+        this.setRunAttribute(request);
+
         final RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/runSummary.jsp");
         dispatcher.forward(request, response);
-    }   
+    }
 }

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunsServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunsServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/RunsServlet.java	Tue Dec  8 20:51:03 2015
@@ -1,23 +1,15 @@
 package org.hps.webapps.run;
 
 import java.io.IOException;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.sql.DataSource;
-
-import org.hps.run.database.RunManager;
-import org.hps.run.database.RunSummary;
 
 /**
- * Loads the list of {@link org.hps.run.database.RunSummary} objects to setup state for the <code>runTable.jsp</code> page.
+ * Forwards to <code>runTable.jsp</code> JSP page.
  *
  * @author Jeremy McCormick, SLAC
  */
@@ -30,59 +22,20 @@
     private static final String JSP_TARGET = "/runTable.jsp";
 
     /**
-     * Attribute for list of run summaries that will set on the request object.
-     */
-    private static final String RUN_SUMMARIES_ATTRIBUTE = "RunSummaries";
-
-    /**
-     * The data source with the database connection.
-     */
-    private final DataSource dataSource;
-
-    /**
      * Create a new runs servlet.
      * <p>
      * This will initialize the data source with the db connection.
      */
     public RunsServlet() {
-        this.dataSource = DatabaseUtilities.getDataSource();
     }
 
     /**
-     * Setup servlet state by loading the run summaries and then forward to the JSP page for display.
+     * Forward to the JSP page for display.
      */
     @Override
     public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
             IOException {
-
-        final List<RunSummary> runSummaries = this.getRunSummaries();
-        request.setAttribute(RUN_SUMMARIES_ATTRIBUTE, runSummaries);
         final RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(JSP_TARGET);
         dispatcher.forward(request, response);
     }
-
-    /**
-     * Read the full list of run summaries from the db.
-     *
-     * @return the list of run summaries
-     */
-    private List<RunSummary> getRunSummaries() {
-        List<RunSummary> runSummaries = new ArrayList<RunSummary>();
-        Connection connection = null;
-        try {
-            connection = this.dataSource.getConnection();
-            runSummaries = new RunManager(connection).getRunSummaries();
-        } catch (final SQLException e) {
-            throw new RuntimeException(e);
-        } finally {
-            if (connection != null) {
-                try {
-                    connection.close();
-                } catch (final Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-        return runSummaries;
-    }
 }

Modified: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/ScalerDataServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/ScalerDataServlet.java	(original)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/ScalerDataServlet.java	Tue Dec  8 20:51:03 2015
@@ -51,16 +51,16 @@
      */
     @Override
     public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
-    IOException {
+            IOException {
         if (!request.getParameterMap().containsKey("run")) {
             throw new RuntimeException("Missing required run parameter.");
         }
         final Integer run = Integer.parseInt(request.getParameterValues("run")[0]);
         List<ScalerData> scalerDataList = null;
         try (Connection connection = this.dataSource.getConnection()) {
-        	RunManager runManager = new RunManager(connection);
-        	runManager.setRun(run);
-        	scalerDataList = runManager.getScalerData();
+            RunManager runManager = new RunManager(connection);
+            runManager.setRun(run);
+            scalerDataList = runManager.getScalerData();
         } catch (final Exception e) {
             throw new RuntimeException(e);
         }

Added: webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/TriggerConfigServlet.java
 =============================================================================
--- webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/TriggerConfigServlet.java	(added)
+++ webapps/trunk/run-webapp/src/main/java/org/hps/webapps/run/TriggerConfigServlet.java	Tue Dec  8 20:51:03 2015
@@ -0,0 +1,49 @@
+package org.hps.webapps.run;
+
+import java.io.IOException;
+import java.sql.Connection;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.hps.conditions.database.DatabaseConditionsManager;
+import org.hps.record.daqconfig.DAQConfig;
+import org.hps.run.database.RunManager;
+import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
+
+public class TriggerConfigServlet extends AbstractRunServlet {
+
+    private static final String JSP_TARGET = "/showTriggerConfig.jsp";
+    
+    /**
+     * Setup servlet state by loading the run summaries and then forward to the JSP page for display.
+     */
+    @Override
+    public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
+            IOException {
+        
+        this.setRunAttribute(request);
+        
+        Integer run = (Integer) request.getAttribute("run");
+        
+        // Set trigger config object on the request.
+        try {
+            DatabaseConditionsManager.getInstance().setDetector("HPS-EngRun2015-Nominal-v3", run); // eek!
+        } catch (ConditionsNotFoundException e) {
+            throw new RuntimeException(e);
+        }
+        try (Connection connection = this.dataSource.getConnection()) {
+            RunManager manager = new RunManager(connection);
+            manager.setRun((Integer) request.getAttribute("run"));
+            DAQConfig config = manager.getDAQConfig();
+            request.setAttribute("daqconfig", config);
+        } catch (final Exception e) {
+            throw new RuntimeException(e);
+        }
+               
+        final RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(JSP_TARGET);
+        dispatcher.forward(request, response);
+    }
+}

Modified: webapps/trunk/run-webapp/src/main/webapp/WEB-INF/context.xml
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/WEB-INF/context.xml	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/WEB-INF/context.xml	Tue Dec  8 20:51:03 2015
@@ -25,11 +25,16 @@
     <!-- url: The JDBC connection url for connecting to your MySQL database.
          -->
 
-<!--
+<!-- 
   <Resource name="jdbc/hps_run_db" auth="Container" type="javax.sql.DataSource"
                maxActive="100" maxIdle="30" maxWait="10000"
                username="hpsuser" password="darkphoton" driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://hpsdb.jlab.org/hps_run_db"/>
--->
+ -->               
+               
+    <Resource name="jdbc/hps_run_db" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="30" maxWait="10000"
+               username="root" password="derp" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/hps_run_db"/>
 
 </Context>

Modified: webapps/trunk/run-webapp/src/main/webapp/WEB-INF/web.xml
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/WEB-INF/web.xml	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/WEB-INF/web.xml	Tue Dec  8 20:51:03 2015
@@ -8,9 +8,9 @@
     <display-name>HPS Run Web Application</display-name>
 
     <description>
-       Application for showing information about runs of the HPS experiment. 
+       Web interface to the HPS Run Database 
     </description>
-
+       
     <resource-ref>
         <description>Run Database Connection</description>
         <res-ref-name>jdbc/hps_run_db</res-ref-name>
@@ -18,35 +18,45 @@
         <res-auth>Container</res-auth>
     </resource-ref>
     
+    <!--
     <context-param>
         <param-name>datacat</param-name>
-        <param-value>http://hpsweb.jlab.org/datacat</param-value>
+        <param-value>http://hpsweb.jlab.org/datacat/r</param-value>
+    </context-param>
+    -->
+    
+    <context-param>
+        <param-name>datacat</param-name>
+        <param-value>http://ppa-jeremym-l.slac.stanford.edu:8080/datacat-v0.4-SNAPSHOT</param-value>
     </context-param>
     
+    <!--
     <context-param>
         <param-name>dataquality</param-name>
         <param-value>http://hpsweb.jlab.org/data-quality</param-value>
     </context-param>
+    -->
+    
+    <context-param>
+        <param-name>dqm</param-name>
+        <param-value>http://ppa-jeremym-l.slac.stanford.edu:8080/data-quality</param-value>
+    </context-param>
             
-    <!-- Display full run table. -->            
-    
+    <!-- Display full run table. -->                
     <servlet>
         <servlet-name>RunsServlet</servlet-name>
         <servlet-class>org.hps.webapps.run.RunsServlet</servlet-class>
     </servlet>
-
     <servlet-mapping>
         <servlet-name>RunsServlet</servlet-name>
         <url-pattern>/runs</url-pattern>
     </servlet-mapping>
         
-    <!-- Display the main run page. -->
-        
+    <!-- Display the main run page. -->        
     <servlet>
         <servlet-name>RunMainServlet</servlet-name>
         <servlet-class>org.hps.webapps.run.RunMainServlet</servlet-class>
     </servlet>
-
     <servlet-mapping>
         <servlet-name>RunMainServlet</servlet-name>
         <url-pattern>/run</url-pattern>
@@ -57,34 +67,49 @@
         <servlet-name>RunSummaryServlet</servlet-name>
         <servlet-class>org.hps.webapps.run.RunSummaryServlet</servlet-class>
     </servlet>
-
     <servlet-mapping>
         <servlet-name>RunSummaryServlet</servlet-name>
-        <url-pattern>/runSummary</url-pattern>
+        <url-pattern>/runSummary</url-pattern>        
     </servlet-mapping>
     
-    <!-- Display EPICS data -->
-    
+    <!-- Display EPICS data -->    
     <servlet>
         <servlet-name>EpicsDataServlet</servlet-name>
         <servlet-class>org.hps.webapps.run.EpicsDataServlet</servlet-class>
     </servlet>
-
     <servlet-mapping>
         <servlet-name>EpicsDataServlet</servlet-name>
         <url-pattern>/epics</url-pattern>
     </servlet-mapping>
     
-    <!-- Display scaler data -->
-    
+    <!-- Display scaler data -->        
     <servlet>
         <servlet-name>ScalerDataServlet</servlet-name>
         <servlet-class>org.hps.webapps.run.ScalerDataServlet</servlet-class>
-    </servlet>
-    
+    </servlet>    
     <servlet-mapping>
         <servlet-name>ScalerDataServlet</servlet-name>
         <url-pattern>/scalers</url-pattern>
+    </servlet-mapping>
+    
+    <!-- Display dataset list -->    
+    <servlet>
+        <servlet-name>DatasetServlet</servlet-name>
+        <servlet-class>org.hps.webapps.run.DatasetServlet</servlet-class>
+    </servlet>       
+    <servlet-mapping>
+        <servlet-name>DatasetServlet</servlet-name>
+        <url-pattern>/datasets</url-pattern>
+    </servlet-mapping>
+    
+    <!-- Display trigger config -->
+    <servlet>
+        <servlet-name>TriggerConfigServlet</servlet-name>
+        <servlet-class>org.hps.webapps.run.TriggerConfigServlet</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>TriggerConfigServlet</servlet-name>
+        <url-pattern>/triggerconfig</url-pattern>
     </servlet-mapping>
 
     <welcome-file-list>

Modified: webapps/trunk/run-webapp/src/main/webapp/html/pager.html
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/html/pager.html	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/html/pager.html	Tue Dec  8 20:51:03 2015
@@ -12,6 +12,9 @@
             <option value="30">30</option>
             <option value="40">40</option>
             <option value="50">50</option>
+            <option value="100">100</option>
+            <option value="1000">1000</option>
+            <option value="10000">10000</option>
         </select>
     </form>
 </div>

Modified: webapps/trunk/run-webapp/src/main/webapp/runEpics.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/runEpics.jsp	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/runEpics.jsp	Tue Dec  8 20:51:03 2015
@@ -1,4 +1,5 @@
-<%@ page contentType="text/html" import="java.util.*,java.text.SimpleDateFormat,org.hps.record.epics.*,org.hps.run.database.*" %>
+<%@ page contentType="text/html"
+    import="java.util.*,java.text.SimpleDateFormat,org.hps.record.epics.*,org.hps.run.database.*"%>
 <!DOCTYPE html>
 <html>
 <link rel="stylesheet" href="css/style.css" />
@@ -21,12 +22,15 @@
 
 <body>
     <%
-        int run = Integer.parseInt(request.getParameterValues("run")[0]);      
+        int run = Integer.parseInt(request.getParameterValues("run")[0]);
         List<EpicsVariable> epicsVariables = (List<EpicsVariable>) request.getAttribute("EpicsVariables");
         EpicsType epicsType = (EpicsType) request.getAttribute("EpicsType");
         List<EpicsData> epicsDataList = (List<EpicsData>) request.getAttribute("EpicsDataList");
     %>
-    <h1>EPICS <%= epicsType.getTypeCode() %>s Data</h1>
+    <h1>
+        EPICS
+        <%=epicsType.getTypeCode()%>s Data
+    </h1>
     <hr />
 
     <!--  
@@ -52,7 +56,7 @@
                 <%
                     for (EpicsVariable epicsVariable : epicsVariables) {
                 %>
-                <th><%= epicsVariable.getVariableName() %></th>
+                <th><%=epicsVariable.getVariableName()%></th>
                 <%
                     }
                 %>

Modified: webapps/trunk/run-webapp/src/main/webapp/runMain.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/runMain.jsp	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/runMain.jsp	Tue Dec  8 20:51:03 2015
@@ -1,17 +1,16 @@
-<%@page contentType="text/html" pageEncoding="UTF-8" %>
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
-
-<%
-    Integer run = (Integer) request.getAttribute("run");
-%>
+<%@page language="java" session="true"%>
 
 <html>
 <head>
-<title>HPS Run Web - Run <%= run %></title>
+<title>HPS Run Database - <c:out value="${run}" /></title>
 </head>
 <body>
-    <h1>Run <%= run %></h1>
-    <iframe src="runSummary?run=<%= request.getAttribute("run") %>" name="runSummaryFrame" height="100%" width="30%"></iframe>
-    <iframe src="" name="dataFrame" height="100%" width="68%"></iframe>
+    <h2>
+        Run <c:out value="${run}" />
+    </h2>
+    <iframe frameBorder="0" src="runSummary?run=<c:out value="${run}"/>" name="runSummaryFrame" height="100%" width="30%"></iframe>
+    <iframe frameBorder="0" src="" name="dataFrame" height="100%" width="68%"></iframe>
 </body>
 </html>

Modified: webapps/trunk/run-webapp/src/main/webapp/runScalers.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/runScalers.jsp	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/runScalers.jsp	Tue Dec  8 20:51:03 2015
@@ -45,22 +45,14 @@
             </tr>
         </thead>
         <tbody>
-            <%
-                for (ScalerData scalerData : scalerDataList) {
-            %>
+            <% for (ScalerData scalerData : scalerDataList) { %>
             <tr>
-                <td><%= scalerData.getEventId() %>            
-                <%
-                    for (ScalerDataIndex index : ScalerDataIndex.values()) {
-                %>
+                <td><%= scalerData.getEventId() %></td>
+                <% for (ScalerDataIndex index : ScalerDataIndex.values()) { %>
                 <td><%= scalerData.getValue(index.index()) %></td>
-                <%
-                    }
-                %>
+                <% } %>
             </tr>
-            <%
-                }
-            %>        
+            <% } %>
         <tbody>
     </table>
 

Modified: webapps/trunk/run-webapp/src/main/webapp/runSummary.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/runSummary.jsp	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/runSummary.jsp	Tue Dec  8 20:51:03 2015
@@ -1,95 +1,122 @@
-<%@ page contentType="text/html" import="java.util.*,org.hps.run.database.*,java.text.SimpleDateFormat,org.hps.datacat.client.*,java.io.File" %>
-<%@page language="java" session="true" %> 
-<!DOCTYPE html>
+<%@page contentType="text/html"%>
+<%@page import="java.util.*,java.io.File,java.text.SimpleDateFormat,org.hps.datacat.client.*,org.hps.run.database.*"%>
+<%@page language="java" session="true"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
+<%@ page isELIgnored="false"%>
+
 <html>
 <link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" />
 <body>
-    <%
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
-        dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
-        RunSummary runSummary = (RunSummary) request.getAttribute("run_summary");
-        int run = runSummary.getRun();
-        if (runSummary == null) {
-            throw new RuntimeException("Run summary was not set in request.");
-        }
-    %>
+
+    <sql:query dataSource="jdbc/hps_run_db" var="result">
+        SELECT * FROM run_summaries WHERE run = ?;
+        <sql:param value="${run}" />
+    </sql:query>
+
     <h3>Summary</h3>
     <div>
         <table class="run-summary">
-            <tr>
-                <td class="label">Run</td>
-                <td><%= runSummary.getRun() %></td>
-            </tr>
-            <tr>
-                <td class="label">Started</td>
-                <td><%= dateFormat.format(runSummary.getStartDate()) %></td>
-            </tr>
-            <tr>
-                <td class="label">Ended</td>
-                <td><%= dateFormat.format(runSummary.getEndDate()) %></td>
-            <tr>
-            <tr>
-                <td class="label">Event Count</td>
-                <td><%= runSummary.getTotalEvents() %></td>
-            </tr>
-            <tr>
-                <td class="label">File Count</td>
-                <td><%= runSummary.getTotalFiles() %></td>
-            </tr>
-            <tr>
-                <td class="label">End Okay</td>
-                <td><%= runSummary.getEndOkay() %></td>
-            </tr>
-            <tr>
-                <td class="label">Run Okay</td>
-                <td><%= runSummary.getRunOkay() %></td>
-            </tr>
-            <tr>
-                <td class="label">Updated</td>
-                <td><%= dateFormat.format(runSummary.getUpdated()) %></td>
-            </tr>
-            <tr>
-                <td class="label">Created</td>
-                <td><%= dateFormat.format(runSummary.getCreated()) %></td>
-            </tr>                        
+            <c:forEach var="row" items="${result.rows}">
+                <tr>
+                    <td class="label">Run</td>
+                    <td><c:out value="${row.run}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Events</td>
+                    <td><c:out value="${row.nevents}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Files</td>
+                    <td><c:out value="${row.nfiles}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Prestart Timestamp</td>
+                    <td><c:out value="${row.prestart_timestamp}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Go Timestamp</td>
+                    <td><c:out value="${row.go_timestamp}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">End Timestamp</td>
+                    <td><c:out value="${row.end_timestamp}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Trigger Rate</td>
+                    <td><c:out value="${row.trigger_rate}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Trigger Config Name</td>
+                    <td><c:out value="${row.trigger_config_name}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">TI Time Offset</td>
+                    <td><c:out value="${row.ti_time_offset}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Livetime Clock</td>
+                    <td><c:out value="${row.livetime_clock}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Livetime TDC</td>
+                    <td><c:out value="${row.livetime_fcup_tdc}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Livetime TRG</td>
+                    <td><c:out value="${row.livetime_fcup_trg}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Target</td>
+                    <td><c:out value="${row.target}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Notes</td>
+                    <td><c:out value="${row.notes}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Created</td>
+                    <td><c:out value="${row.created}" /></td>
+                </tr>
+                <tr>
+                    <td class="label">Created</td>
+                    <td><c:out value="${row.updated}" /></td>
+                </tr>
+            </c:forEach>
         </table>
     </div>
     <h3>Data</h3>
-    <div>                 
+    <div>
         <p>
-            <a target="dataFrame" href="epics?run=<%= runSummary.getRun() %>&epicsBankType=<%= EpicsType.EPICS_1S %>">EPICS 1s Data</a>
+            <a target="dataFrame" href="epics?run=<c:out value="${run}"/>&epicsBankType=<%= EpicsType.EPICS_2S %>">EPICS 2s Data</a>
         </p>
         <p>
-            <a target="dataFrame" href="epics?run=<%= runSummary.getRun() %>&epicsBankType=<%= EpicsType.EPICS_10S %>">EPICS 10s Data</a>
+            <a target="dataFrame" href="epics?run=<c:out value="${run}"/>&epicsBankType=<%= EpicsType.EPICS_20S %>">EPICS 20s Data</a>
         </p>
         <p>
-            <a target="dataFrame" href="scalers?run=<%= runSummary.getRun() %>">Scaler Data</a>
+            <a target="dataFrame" href="scalers?run=<c:out value="${run}"/>">Scaler Data</a>
         </p>
     </div>
-          
     <h3>Files</h3>
     <div>
-        <% String datacat = (String) request.getSession().getAttribute("datacat"); %>
         <p>
-            <a target="dataFrame" href="<%= datacat + "/display/datasets/HPS/data/raw?offset=0&max=999999&sort=name&filter=dataType eq 'RAW' and runMin eq " + run %>">EVIO / RAW</a>
+            <a target="dataFrame" href="<%= getServletContext().getInitParameter("datacat") %>/display/datasets/HPS/data/raw?offset=0&max=999999&sort=name&filter=dataType eq 'RAW' and runMin eq <c:out value="${run}"/>">EVIO</a>
+        </p>
+        <p>
+            <a target="dataFrame" href="datasets?run=<c:out value="${run}"/>&dataType=RECON&fileFormat=LCIO">LCIO RECON</a>
+        </p>
+        <p>
+            <a target="dataFrame" href="datasets?run=<c:out value="${run}"/>&dataType=DST&fileFormat=ROOT">ROOT DST</a>
+        </p>
+        <p>
+            <a target="dataFrame" href="datasets?run=<c:out value="${run}"/>&dataType=DQM&fileFormat=AIDA">AIDA DQM</a>
         </p>
     </div>
-    <h3>Data Quality Management</h3>
+    <h3>System Config</h3>
     <div>
-        <%
-            String dataquality = (String) request.getSession().getAttribute("dataquality");
-            DatacatClient datacatClient = new DatacatClientFactory().createClient();
-            List<Dataset> datasets = datacatClient.findDatasets("dqm", "dataType == 'DQM' and runMin == " + run, new HashSet<String>());
-        %>
-        <p>Found <%= datasets.size() %> DQM file(s) in data catalog</p>
-        <table>
-            <% for (Dataset dataset : datasets) { %>
-                <% String resource = dataset.getLocations().get(0).getResource(); %>
-                <tr>                    
-                    <td><a href="<%= dataquality %>/show_plots?rootDataURI=<%= resource %>" target="_blank"><%= new File(resource).getName() %></a></td>
-                </tr>
-            <% } %>
-        </table>
-    </div>        
+        <p>
+            <a target="dataFrame" href="triggerconfig?run=<c:out value="${run}"/>">Trigger Config</a>
+        </p>
+    </div>
 </body>
 </html>

Modified: webapps/trunk/run-webapp/src/main/webapp/runTable.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/runTable.jsp	(original)
+++ webapps/trunk/run-webapp/src/main/webapp/runTable.jsp	Tue Dec  8 20:51:03 2015
@@ -1,69 +1,70 @@
-<%@ page contentType="text/html" import="java.util.*,org.hps.run.database.RunSummary,java.text.SimpleDateFormat"%>
-<!DOCTYPE html>
+<%@ page contentType="text/html"%>
+<%@page import="java.util.*,org.hps.run.database.RunSummary,java.text.SimpleDateFormat"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
+
 <html>
 
 <!-- application stylesheet -->
 <link rel="stylesheet" href="css/style.css" />
 
 <!-- include links and scripts for tablesorter jquery plugin -->
-<%@include file="html/tablesorter.html" %>
+<%@include file="html/tablesorter.html"%>
 
 <!-- sort the table after doc loads -->
 <script>
-    $(document).ready(function() 
-        { 
-            $("#run-table")
-            .tablesorter({widthFixed: true, widgets: ['zebra']})
-            .tablesorterPager({container: $("#pager"), size: 20});
-        }
-    );
+	$(document).ready(function() {
+		$("#run-table").tablesorter({
+			widthFixed : true,
+			widgets : [ 'zebra' ]
+		}).tablesorterPager({
+			container : $("#pager"),
+			size : 20
+		});
+	});
 </script>
 
 <body>
-	<h1>HPS Run Table</h1>
-	<hr/>
-	
-	<!-- full run table with tablesorter theme, sorting and pagination -->
-	<table id="run-table" class="tablesorter-blue">
-		<thead>
-			<tr>
-				<th>Run</th>
-				<th>Start Date</th>
-				<th>End Date</th>
-				<th>Events</th>
-				<th>Files</th>
-				<th>End Okay</th>
-				<th>Run Okay</th>
-				<th>Updated</th>
-				<th>Created</th>
-			</tr>
-		</thead>
-		<tbody>
-		    <!-- get the list of run summaries from the request and create a table row for each one -->
-			<% 
-                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
-                List<RunSummary> runSummaries = (List<RunSummary>) request.getAttribute("RunSummaries");
-                for (RunSummary runSummary : runSummaries) { 
-            %>
-            <!-- table row links to its run summary page -->
-			<tr onclick="document.location.href='run?run=<%= runSummary.getRun() %>';">
-				<td><%= runSummary.getRun() %></td>
-				<td><%= dateFormat.format(runSummary.getStartDate()) %></td>
-				<td><%= dateFormat.format(runSummary.getEndDate()) %></td>
-				<td><%= runSummary.getTotalEvents() %></td>
-				<td><%= runSummary.getTotalFiles() %></td>
-				<td><%= runSummary.getEndOkay() %></td>
-				<td><%= runSummary.getRunOkay() %></td>
-				<td><%= dateFormat.format(runSummary.getUpdated()) %></td>
-				<td><%= dateFormat.format(runSummary.getCreated()) %></td>
-			</tr>
-			<% } %>		
-		<tbody>
-	</table>
-	
-	<!-- tablesorter paging container -->
-    <%@include file="html/pager.html" %>
-    
+    <h1>HPS Run Table</h1>
+    <hr />
+
+    <!-- full run table with tablesorter theme, sorting and pagination -->
+    <table id="run-table" class="tablesorter-blue">
+        <thead>
+            <tr>
+                <th>Run</th>
+                <th>Events</th>
+                <th>Files</th>
+                <th>Prestart Timestamp</th>
+                <th>Go Timestamp</th>
+                <th>End Timestamp</th>
+                <th>Trigger Rate</th>
+                <th>Created</th>
+                <th>Updated</th>
+            </tr>
+        </thead>
+        <tbody>
+            <sql:query dataSource="jdbc/hps_run_db" var="result">
+                SELECT * FROM run_summaries;
+            </sql:query>
+            <c:forEach var="row" items="${result.rows}">
+                <tr onclick="document.location.href='run?run=<c:out value="${row.run}"/>';">
+                    <td><c:out value="${row.run}" /></td>
+                    <td><c:out value="${row.nevents}" /></td>
+                    <td><c:out value="${row.nfiles}" /></td>
+                    <td><c:out value="${row.prestart_timestamp}" /></td>
+                    <td><c:out value="${row.go_timestamp}" /></td>
+                    <td><c:out value="${row.end_timestamp}" /></td>
+                    <td><c:out value="${row.trigger_rate}" /></td>
+                    <td><c:out value="${row.created}" /></td>
+                    <td><c:out value="${row.updated}" /></td>
+                </tr>
+            </c:forEach>
+        <tbody>
+    </table>
+
+    <!-- tablesorter paging container -->
+    <%@include file="html/pager.html"%>
+
 </body>
 </html>

Added: webapps/trunk/run-webapp/src/main/webapp/showDatasets.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/showDatasets.jsp	(added)
+++ webapps/trunk/run-webapp/src/main/webapp/showDatasets.jsp	Tue Dec  8 20:51:03 2015
@@ -0,0 +1,62 @@
+<%@ page contentType="text/html"%>
+<%@page import="java.util.*,org.hps.run.database.RunSummary,java.text.SimpleDateFormat"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+
+<html>
+
+<link rel="stylesheet" href="css/style.css" />
+
+<!-- include links and scripts for tablesorter jquery plugin -->
+<%@include file="html/tablesorter.html"%>
+
+<!-- sort the table after doc loads -->
+<script>
+    $(document).ready(function() {
+        $("#dataset-table").tablesorter({
+            widthFixed : true,
+            widgets : [ 'zebra' ]
+        }).tablesorterPager({
+            container : $("#pager"),
+            size : 50
+        });
+    });
+</script>
+
+<body>
+    <h3><c:out value="${fileFormat}"/> <c:out value="${dataType}"/> Datasets for Run <c:out value="${run}"/></h3>
+    <table id="dataset-table" class="tablesorter-blue">
+        <thead>
+            <tr>
+                <th>Path</th>
+                <th>Type</th>
+                <th>Created</th>
+            </tr>
+        </thead>
+        <tbody>
+            <c:forEach var="dataset" items="${datasets}">
+                <tr onclick="document.location.href='<%= getServletContext().getInitParameter("datacat") %>/display/datasets/<c:out value="${dataset.path}"/>';">
+                    <td>
+                        <c:out value="${dataset.path}" />
+                        <c:if test="${dataType == 'DQM'}">
+                            <c:forEach var="location" items="${dataset.viewInfo.locations}" begin="0" end="0">
+                                <a target="_blank" style="font-size: 80%" 
+                                    href="<%= getServletContext().getInitParameter("dqm") %>/show_plots?file=<c:out value="${location.resource}"/>">Show Plots</a>
+                            </c:forEach>                            
+                        </c:if>
+                    </td>
+                    <td>
+                        <c:out value="${dataset.dataType}" />
+                    </td>
+                    <td>
+                        <c:out value="${dataset.dateCreated}" />
+                    </td>
+                </tr>
+            </c:forEach>
+        </tbody>
+    </table>
+    
+    <!-- tablesorter paging container -->
+    <%@include file="html/pager.html"%>
+    
+</body>
+</html>

Added: webapps/trunk/run-webapp/src/main/webapp/showTriggerConfig.jsp
 =============================================================================
--- webapps/trunk/run-webapp/src/main/webapp/showTriggerConfig.jsp	(added)
+++ webapps/trunk/run-webapp/src/main/webapp/showTriggerConfig.jsp	Tue Dec  8 20:51:03 2015
@@ -0,0 +1,13 @@
+<%@page contentType="text/html"%>
+<%@page import="java.util.*"%>
+<%@page language="java" session="true"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<%@ page isELIgnored="false"%>
+
+<html>
+<body>
+    <div>
+        <%= request.getAttribute("daqconfig").toString().replaceAll("\\r?\\n", "<br />") %>
+    </div>
+</body>
+</html>

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

November 2017
August 2017
July 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use