00001 package cedar.hepdata.webapp.pages;
00002
00003 import cedar.hepdata.model.*;
00004 import cedar.hepdata.xml.*;
00005 import cedar.hepdata.db.*;
00006
00007 import org.apache.tapestry5.annotations.*;
00008 import org.apache.tapestry5.ioc.annotations.*;
00009 import org.apache.tapestry5.services.*;
00010
00011 import org.hibernate.*;
00012 import org.hibernate.criterion.*;
00013 import java.util.*;
00014
00015
00016 public class YAxisAsText {
00017
00018 @Inject
00019 private RequestGlobals _reqGlobals;
00020
00021 @Inject
00022 private org.hibernate.Session _session;
00023
00024
00025 public String getQueryParam(String param) {
00026 return _reqGlobals.getRequest().getParameter(param);
00027 }
00028
00029 public String getHepId() {
00030 return getQueryParam("hepid");
00031 }
00032
00033 public String getDsId() {
00034 return getQueryParam("dsid");
00035 }
00036
00037 public String getYId() {
00038 return getQueryParam("yid");
00039 }
00040
00041 public String getXId() {
00042 return getQueryParam("xid");
00043 }
00044
00045
00046
00047 private YAxis _yaxis;
00048
00049 public YAxis getYAxis() {
00050 return _yaxis;
00051 }
00052
00053 public void setYAxis(YAxis y) {
00054 _yaxis = y;
00055 }
00056
00057 public List <YAxis> getYAxes() {
00058 Query q = constructQuery();
00059 return q.list();
00060 }
00061
00062 private Query constructQuery() {
00063 String theHepId = getQueryParam("hepid");
00064 String theDataset = getQueryParam("dsid");
00065 String theYAxis = getQueryParam("yid");
00066 Query q = null;
00067 StringBuffer b = new StringBuffer();
00068 b.append("select distinct y from Paper p join p._datasets d join d._yAxes y "
00069 + "where y._localId = :yid and d._localId = :dsid and p._id = :hepid");
00070 q = _session.createQuery(b.toString());
00071 q.setString( "hepid",theHepId);
00072 q.setString( "dsid",theDataset);
00073 q.setString( "yid",theYAxis);
00074 return q;
00075 }
00076
00077 }