[HepData-svn] r1293 - in trunk/hepdata-webapp/src/main: java/cedar/hepdata/webapp/components java/cedar/hepdata/webapp/pages resources/cedar/hepdata/webapp/pages

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Thu Oct 1 13:53:30 BST 2009


Author: whalley
Date: Thu Oct  1 13:53:30 2009
New Revision: 1293

Log:
adding dataset output in pages of 10 plus clean up of duplicates in the paper comment.

Modified:
   trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/components/DisplayPaperComments.java
   trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/Search.java
   trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/View.java
   trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/ViewBase.java
   trunk/hepdata-webapp/src/main/resources/cedar/hepdata/webapp/pages/View.tml

Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/components/DisplayPaperComments.java
==============================================================================
--- trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/components/DisplayPaperComments.java	Wed Sep 30 15:18:00 2009	(r1292)
+++ trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/components/DisplayPaperComments.java	Thu Oct  1 13:53:30 2009	(r1293)
@@ -26,16 +26,39 @@
         }
 
         if (_paper != null) {
+            List <String> comarray = new ArrayList();
             StringBuffer b = new StringBuffer();
+            writer.element("p class='papercomment'");
             for (String comment : _paper.getComments()){
                 comment = comment.replace("&gt;", ">");
                 comment = comment.replace("&lt;", "<");
                 comment = comment.replace("& gt;", ">");
                 comment = comment.replace("& lt;", "<");
-                writer.element("p class='papercomment'");
-                writer.write(comment);
-                writer.end();
+                while (comment.length() > 1){
+                    int ip = comment.indexOf(". ");
+                    if(ip < 0) {ip = comment.length();}
+                    int printcom=1;
+                    for (int ii=0; ii<comarray.size(); ii++){
+                        if(comment.substring(0,ip).equals(comarray.get(ii))){ printcom=0; }
+                    }
+                    if(printcom == 1){ b.append(comment.substring(0,ip) + ". ");}
+                    comarray.add(comment.substring(0,ip));
+                    if(comment.length() != ip) {comment = comment.substring(ip+2);}
+                    else {comment = "";}
+                }
             }
+            int istart = 0;
+	        int linelength = 80;
+            String bs = b.toString();
+            while(istart<b.length()){
+               int imax=istart+linelength;
+               if(imax > b.length()){imax=b.length();}
+               int iend=bs.substring(0,imax).lastIndexOf(" "); 
+               writer.element("br");writer.end();
+               writer.write(bs.substring(istart,iend));
+               istart=iend+1;
+            }
+            writer.end();
         }
     }
 

Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/Search.java
==============================================================================
--- trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/Search.java	Wed Sep 30 15:18:00 2009	(r1292)
+++ trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/Search.java	Thu Oct  1 13:53:30 2009	(r1293)
@@ -260,7 +260,6 @@
     public List<String> getPaperIdContext() {
         List<String> ctx = new Vector<String>();
         ctx.add("p" + Long.toString(_paper.getId()));
-        ctx.add("d1-10");
         return ctx;
     }
 

Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/View.java
==============================================================================
--- trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/View.java	Wed Sep 30 15:18:00 2009	(r1292)
+++ trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/View.java	Thu Oct  1 13:53:30 2009	(r1293)
@@ -42,6 +42,8 @@
             Matcher m = patt.matcher(ps);
             if (m.matches()) {
                 setQueryParam("format", m.group(1).toLowerCase());
+            } else {
+                setQueryParam("format", "full");
             }
         }
 

Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/ViewBase.java
==============================================================================
--- trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/ViewBase.java	Wed Sep 30 15:18:00 2009	(r1292)
+++ trunk/hepdata-webapp/src/main/java/cedar/hepdata/webapp/pages/ViewBase.java	Thu Oct  1 13:53:30 2009	(r1293)
@@ -55,12 +55,20 @@
     public Integer getCounter(){
         return _counter;
     }
+    public Integer getCounterEnd(){
+        int last = _counter + getLength()   -1;
+        if(last > getPaper().getDatasets().size()) last = getPaper().getDatasets().size();
+        return last;
+    }
     public Integer getStarting(){    
         return 1;
     }
     public Integer getLength(){    
         return 10;
     }
+    public boolean getIsMultiPage() {
+        return getPaper().getDatasets().size() > getLength();
+    }
     
     // Decode URL context into the params map, for use in concrete onActivate methods
     public void parseBaseViewContext(EventContext context) {
@@ -75,7 +83,7 @@
             String ps = context.get(String.class, i);
             
             if(ps.equals("next")) { firstnextlast = "yes"; }
-            if(ps.equals("prev")) { _counter -= 20;  firstnextlast = "yes"; } 
+            if(ps.equals("prev")) { if (_counter > 20) _counter -= 20; else _counter = 1;  firstnextlast = "yes"; } 
             if(ps.equals("first")) { _counter = 1;  firstnextlast = "yes"; } 
             if(ps.equals("last")) { _counter = getPaper().getDatasets().size()-9; firstnextlast = "yes"; } 
             
@@ -237,6 +245,46 @@
         return getAxesContext();
     }
 
+    private String getPaperNumber(){
+        String p = getQueryParam("p");
+        String irn = getQueryParam("irn");
+        String red = getQueryParam("red");
+        String paper = null;
+        if      (p != null)    paper = "p" + p;
+        else if (irn != null)  paper = "irn" + irn;
+        else if (red != null)  paper = "red" + red;
+        return paper;
+    }
+    public List<String> getNextContext() {
+        List<String> ctx = new Vector<String>();
+        if(getPaperNumber() != null) ctx.add(getPaperNumber());
+        ctx.add("next");
+        if(getQueryParam("format").equals("short")) ctx.add("short");
+        return ctx;
+    }
+    public List<String> getPrevContext() {
+        List<String> ctx = new Vector<String>();
+        if(getPaperNumber() != null) ctx.add(getPaperNumber());
+        ctx.add("prev");
+        if(getQueryParam("format").equals("short")) ctx.add("short");
+        return ctx;
+    }
+
+    public List<String> getFirstContext() {
+        List<String> ctx = new Vector<String>();
+        if(getPaperNumber() != null) ctx.add(getPaperNumber());
+        ctx.add("first");
+        if(getQueryParam("format").equals("short")) ctx.add("short");
+        return ctx;
+    }
+
+    public List<String> getLastContext() {
+        List<String> ctx = new Vector<String>();
+        if(getPaperNumber() != null) ctx.add(getPaperNumber());
+        ctx.add("last");
+        if(getQueryParam("format").equals("short")) ctx.add("short");
+        return ctx;
+    }
 
     ///////////////////////////////////////////////
 

Modified: trunk/hepdata-webapp/src/main/resources/cedar/hepdata/webapp/pages/View.tml
==============================================================================
--- trunk/hepdata-webapp/src/main/resources/cedar/hepdata/webapp/pages/View.tml	Wed Sep 30 15:18:00 2009	(r1292)
+++ trunk/hepdata-webapp/src/main/resources/cedar/hepdata/webapp/pages/View.tml	Thu Oct  1 13:53:30 2009	(r1293)
@@ -34,10 +34,6 @@
         <a href="#" t:type="pagelink" t:page="view" t:context="baseContext">${paper.id}</a>)
         <br/>
         Spires ID (IRN): <b><a href="http://durpdg.dur.ac.uk/cgi-bin/spiface/hep/www?irn+${paper.spiresId}">${paper.spiresId}</a></b>
-        <br/>
-         Total number of tables: ${paper.datasets.size()} 
-        <br/>
-         Number of tables displayed: ${datasetsnew.size()} 
       </p>
 
       <div class="papercomments">
@@ -72,6 +68,16 @@
           <t:displaySystematics p="paper" />
         </div>
       </t:if>
+ <t:if test="isMultiPage">
+   <p>
+      Total number of tables: <b>${paper.datasets.size()}</b>.&nbsp; 
+      Displaying: <b>${counter}</b> to <b>${counterend}</b>.&nbsp; 
+      <a href="#" t:type="pagelink" t:page="view" t:context="firstcontext">First</a>&nbsp;|&nbsp; 
+      <a href="#" t:type="pagelink" t:page="view" t:context="prevcontext">Previous</a>&nbsp;|&nbsp;
+      <a href="#" t:type="pagelink" t:page="view" t:context="nextcontext">Next</a>&nbsp;|&nbsp;
+      <a href="#" t:type="pagelink" t:page="view" t:context="lastcontext">Last</a>
+  </p>
+ </t:if>
 
       <t:loop source="datasetsnew" value="dataset">
         <div class="datasetbox">
@@ -88,6 +94,16 @@
           <t:datasetAsHtml dataset="dataset" format="${format}" />
         </div>
       </t:loop>
+ <t:if test="isMultiPage">
+  <p>
+      Total number of tables: <b>${paper.datasets.size()}</b>.&nbsp; 
+      Displaying: <b>${counter}</b> to <b>${counterend}</b>.&nbsp; 
+      <a href="#" t:type="pagelink" t:page="view" t:context="firstcontext">First</a>&nbsp;|&nbsp; 
+      <a href="#" t:type="pagelink" t:page="view" t:context="prevcontext">Previous</a>&nbsp;|&nbsp;
+      <a href="#" t:type="pagelink" t:page="view" t:context="nextcontext">Next</a>&nbsp;|&nbsp;
+      <a href="#" t:type="pagelink" t:page="view" t:context="lastcontext">Last</a>
+  </p>
+ </t:if>
 
     </div>
 


More information about the HepData-svn mailing list