source: Discovery_Service/trunk/exist/listDIFs.jsp @ 122

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/Discovery_Service/trunk/exist/listDIFs.jsp@125
Revision 122, 25.0 KB checked in by mguiterr, 15 years ago (diff)

* empty log message *

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<%
2//Copyright (C) 2004 CCLRC & NERC( Natural Environment Research Council ).
3//This software may be distributed under the terms of the
4//Q Public License, version 1.0 or later. http://ndg.nerc.ac.uk/public_docs/QPublic_license.txt
5%>
6
7<%@ include file="header.jsp" %>
8<%@ page import="java.io.* , java.util.* " %>
9<%@ page import="com.schema.* " %>
10<%@ page import="org.apache.log4j.Logger;" %>
11
12<% // Loop over all entries in session.group
13
14
15   if (group.sizeOf() == 0) {
16%>
17
18       
19              <table width="100%"class="tableBorder" cellpadding="0" cellspacing="0">
20                    <tr>
21                      <td height='8%' class='tablerow' align='center'> No records found! &nbsp;<a href="javascript:history.go(-1)"> Go Back</a></td>
22                    </tr>
23              </table>
24                  <%
25   }
26   else {
27
28         
29 
30         
31          int count = 0; // Contains the number of results
32          int max   = 0; // Contains parameter howmany
33         
34          // Control of the client browse through the results
35          int start = 0;
36          int next = 0;
37          int end = 0;
38          String summary = null;    // DIF sumary description
39          String datasetID = null;  // DatasetID
40          Data_CenterType dc = null;
41          String searchTerm  = null;
42          String search = null;
43          String start_date = null;
44          String end_date = null;
45         
46             
47          try{ 
48                       
49                searchTerm =request.getParameter("SEARCHSTRING");
50             
51                   
52                search =request.getParameter("search");
53                        start_date = request.getParameter("start_date");
54                        end_date = request.getParameter("end_date");
55                }
56                catch (Exception ex)
57                {
58                        out.print(ex.getMessage());
59                }
60          try
61          {
62              // Get the number of results
63              count =  group.getCount();
64              max = new Integer(request.getParameter("howmany")).intValue();
65              start = new Integer(request.getParameter("start")).intValue();
66             
67           
68             
69          }
70          catch(Exception e)
71          {
72           // out.println(e.getMessage());
73          }
74   %>
75    <table width="100%"class="tableBorder" cellpadding="0" cellspacing="0">
76                    <tr>
77                     
78    <td height="238">
79      <form method="post" action="./Task">
80        <input type="hidden" name='task' value='discovery'>
81                <input type="hidden" name='start' value='<%= max+start%>'>
82                <input type="hidden" name='howmany' value='<%=max%>'>
83                <input type="hidden" name='search' value='<%=search%>'>
84                <input type="hidden" name='SEARCHSTRING' value='<%=searchTerm%>'>
85                <INPUT TYPE="HIDDEN" NAME="dispSum" VALUE="false">
86         
87        <%  end = start +max -1;
88         
89          if( count <=  end )
90          {
91            end = count;
92            max = end - start+1 ;
93          }       
94        %>
95        <table id="datatable" width="100%"  border="0" cellpadding="2" cellspacing="0" bgcolor="#F3F3F3" >
96                <thead>
97          <tr >
98                  <%
99                        if (search.equals("spatial")){
100                 %>
101                                <th height="32" colspan=5 align="center" class="tablerow"> Search results for query : &nbsp;&nbsp;
102                                <label class="hdresult"><input type="hidden" name="westbc" value="<%= request.getParameter("westbc")%>">W:<%= request.getParameter("westbc")%> </label> &nbsp;&nbsp;
103                                <label class="hdresult"><input type="hidden" name="southbc" value="<%= request.getParameter("southbc")%>" >S:<%= request.getParameter("southbc")%> </label>&nbsp;&nbsp;
104                                <label class="hdresult"><input type="hidden" name="eastbc" value="<%= request.getParameter("eastbc")%>">E:<%= request.getParameter("eastbc")%> </label>&nbsp;&nbsp;
105                                <label class="hdresult"><input type="hidden" name="northbc" value="<%= request.getParameter("northbc")%>">N:<%= request.getParameter("northbc")%> </label>&nbsp;&nbsp;
106                         </th> 
107                 <%
108                    }// end spatial
109                 %>
110                 <%
111                        if (search.equals("temporal")){
112                               
113                 %>
114                                <th height="32" colspan=5 align="center" class="tablerow"> Search results for query : &nbsp;&nbsp;
115                                <%
116                                if(start_date.length() != 0 && end_date.length() != 0){
117                                %>
118                                        <label class="hdresult"><input type="hidden" name="start_date" value="<%= start_date %>">Start Date: <%= start_date %> </label> &nbsp;&nbsp;
119                                        <label class="hdresult"><input type="hidden" name="end_date" value="<%= end_date %>" >End Date: <%= end_date %> </label>&nbsp;&nbsp;
120                                <%
121                        }// end if start_date != 0 end_date != 0
122                                %>
123                                <%
124                                if(start_date.length() == 0 ){
125                                %>
126                                        <label class="hdresult">
127                                            <input type="hidden" name="end_date" value="<%= end_date %>" >End Date: <%= end_date %> </label>&nbsp;&nbsp;
128                                            <input type="hidden" name="start_date" value="<%= start_date %>" >
129                                           
130                                <%
131                        }// end if start_date == 0
132                                %>
133                                <%
134                                if(end_date.length() == 0 ){
135                                %>
136                                        <label class="hdresult"><input type="hidden" name="start_date" value="<%= start_date%>">Start Date: <%= start_date %> </label> &nbsp;&nbsp;
137                                        <input type="hidden" name="end_date" value="<%= end_date%>">
138                                <%
139                        }// end if end_date == 0
140                                %>                             
141                         </th> 
142                 <%
143                    }// end temporal
144                 %>
145                 <%
146                  if (search.equals("parameters")){
147                 %>
148                        <th height="32" colspan=5 align="center" class="tablerow"> Search results for query : &nbsp;&nbsp;
149                                <label  class="hdresult"><input type="hidden" name="field" value="<%= request.getParameter("field")%>"><%= request.getParameter("field")%></label> &gt;
150                                <label  class="hdresult"><%= searchTerm %></label>
151                           
152                        </th>
153                 <%
154                  }// end parameters
155                 %>
156                 <%
157                  if (search.equals("text")){
158                 %>
159                        <th height="32" colspan=5 align="center" class="tablerow"> Search results for query term :
160             &quot; <label  class="hdresult"><%= searchTerm %></label>&quot;
161                        </th>
162                 <%
163                  }// end text
164                 %>
165           
166          </tr>
167          <tr >
168            <td width="9%" rowspan="2" align="right" class=tableheader nowrap >Check
169              All
170              <input type="checkbox" id="selectallrows"></td>
171            <td  width="58%" rowspan="2" align="center"  class=tableheader>
172                <%
173                    if (search.equals("text")){
174                %>
175                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Title&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>">
176                 Title
177                </a>
178                <%
179                }
180                %>
181                <%
182                    if (search.equals("parameters")){
183                %>
184                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Title&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>&field=<%=request.getParameter("field")%>">
185                 Title
186                </a>
187                <%
188                    }
189                %>
190                <%
191                    if(search.equals("temporal") || search.equals("spatial")){
192                %>
193                   Title
194                <%
195                    }
196                %>
197
198            </td>
199            <td colspan="2" align="center" class=tableheader>Temporal Coverage</td>
200            <td width="13%" rowspan="2" align="center" class=tableheader nowrap>
201                <!--<a class="linkHeader" href="javascript:document.forms[0].action='Task';document.forms[0].orderBy.value='Organisation';document.forms[0].start.value='1';document.forms[0].submit();">-->
202                <%
203                    if (search.equals("text")){
204                %>
205                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Organisation&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>">
206                 Data Centre
207                </a>
208                <%
209                }
210                %>
211                <%
212                    if (search.equals("parameters")){
213                %>
214                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Organisation&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>&field=<%=request.getParameter("field")%>">
215                 Data Centre
216                </a>
217                <%
218                    }
219                %>
220                <%
221                    if(search.equals("temporal") || search.equals("spatial")){
222                %>
223                   Data Centre
224                <%
225                    }
226                %>
227               
228            </td>
229          </tr>
230          <tr >
231            <td width="11%" align="center" class=tableheader nowrap>
232              <%
233                    if (search.equals("text")){
234              %>
235            <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Start_Date&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>">
236                Start Date
237            </a>
238              <%
239                }
240              %>
241               <%
242                    if (search.equals("parameters")){
243               %>
244                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Start_Date&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>&field=<%=request.getParameter("field")%>">
245                 Start Date
246                </a>
247               <%
248                }
249               %>
250               <%
251                    if(search.equals("temporal") || search.equals("spatial")){
252                %>
253                   Start Date
254                <%
255                    }
256                %>
257            </td>
258            <td width="9%" align="center" class=tableheader nowrap>
259             <%
260                    if (search.equals("text")){
261              %>
262            <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Start_Date&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>">
263                End Date
264            </a>
265              <%
266                }
267              %>
268               <%
269                    if (search.equals("parameters")){
270               %>
271                <a class="linkHeader" href="Task?task=discovery&search=<%=search%>&orderBy=Start_Date&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=false&start=1&howmany=<%=request.getParameter("howmany")%>&field=<%=request.getParameter("field")%>">
272                 End Date
273                </a>
274               <%
275                }
276               %>
277               <%
278                    if(search.equals("temporal") || search.equals("spatial")){
279                %>
280                   End Date
281                <%
282                    }
283                %>
284            </td>
285          </tr>
286                  </thead>
287                  <tbody>
288         <%
289     
290         
291             
292          //out.println("count" + count + "  End:" +end + "  Howmany:" + max + "Start:" + start);
293               
294               
295               
296         
297          int j = 0; //controls inner loop for Related URL's groupings
298          for (int i = 0; i < max; i++ )
299          {
300                //System.out.println("JSP----> i:" +i);
301                next = i;
302             
303                String ALink = null;
304                String BLink = null;
305                String nonNDGLink = null;
306                boolean bAservice = false;
307                boolean bBservice = false;
308                boolean bnonNDG = false;
309                boolean bnoContentType = false;
310               try
311               {
312                 
313                 
314                    difTrans = group.getDIFTransAt(i);
315                 
316                 
317                   
318
319               // Formating issues
320               // DatasetID = /schemaID/
321               try{
322                    datasetID = difTrans.getData_Center().getData_Set_ID().asString();
323               }
324               catch (Exception e)
325               {
326                       // out.println(e.getMessage());
327               }
328             
329               // Present dif summary on its first 200 characters
330               try{
331                   
332                   summary = difTrans.getSummary().asString();
333                   //out.println(summary.length());
334
335                   if (summary.length() > 200 )
336                   {
337                        summary = summary.substring(0,199) + "...";
338                   }
339               }
340               catch (Exception e)
341               {
342                 //  out.println("Exception");
343               }
344               
345               int rel_url_size = difTrans.getRelated_URLCount();
346               
347               if (rel_url_size != 0)
348               {
349                   
350             
351                    for (j=0; j < rel_url_size; j++)
352                    {
353                        //out.println("J: "+ j);
354                        rel_url = difTrans.getRelated_URLAt(j);
355                       
356                       
357                        if(rel_url.hasURL_Content_Type())
358                        {
359                            String content_Type = (rel_url.getURL_Content_Type()).toString();
360                             
361                            if(content_Type.equalsIgnoreCase("NDG_A_SERVICE"))
362                            {
363                                bAservice = true;
364                                ALink = (rel_url.getURL()).toString();
365                               
366                            }
367                            else if(content_Type.equalsIgnoreCase("NDG_B_SERVICE"))
368                            {
369                                bBservice = true;
370                                BLink = (rel_url.getURL()).toString();
371                            }
372                            else
373                            {
374                                bnonNDG = true;
375                                nonNDGLink = (rel_url.getURL()).toString();
376                            }
377                            //out.println("URL"+ rel_url.getURL());
378                            //out.println("Content_Type"+ rel_url.getURL_Content_Type());
379                        }
380                        else {
381                         
382                         //In this case a Related_URL comes with no Content_Type
383                         bnonNDG = true;
384                         nonNDGLink = (rel_url.getURL()).toString();
385                         //out.println("URL"+ rel_url.getURL().toString());
386                       
387                        }
388                       
389
390                    }
391                 
392                   
393               }
394               
395               
396               // Build the Alink according to the services found   
397               if (bAservice || bBservice)
398               {
399                    //out.println("DataSETID" +datasetID);
400                    try
401                    {
402                    //DatasetID is  /schemaID/repositoryID/XXXXXXX
403                    StringTokenizer st = new StringTokenizer(datasetID,"/");
404                    // collect the two first tokens
405                    String schemaID = st.nextToken("/");
406                    String repositoryID = st.nextToken("/");
407                    datasetID = datasetID.substring(datasetID.indexOf(repositoryID)+repositoryID.length()+1);
408                   
409                    //out.println("SchemaID"+ schemaID );
410                    //out.println("RepositoryID"+ repositoryID );
411                    //out.println("dataSetID"+ datasetID );
412                    if (bAservice)
413                    {
414                        ALink = ALink + datasetID;
415                    }
416                    else if(bnonNDG) {
417                       //out.println("DataSETID" +datasetID);
418                        ALink = nonNDGLink;
419                    }
420                    }catch(Exception e)
421                    {
422                       // out.println(e.getMessage());
423                    }
424                   
425               }
426               else if(bnonNDG) {
427                       //out.println("DataSETID" +datasetID);
428                        ALink = nonNDGLink;
429                   }
430
431               
432          if ( i% 2 == 0){
433              %>
434           <tr bgcolor="#FFFFFF" class='overview'>
435            <% }else {%>
436          <tr bgcolor="#EEEEEE" class='overview'>
437            <% } %>
438            <td align="right">
439           <%
440            if (bAservice){%>
441            <img src="images/AIconsRd.gif" width="16" height="16">
442            <%}
443            if (bBservice){%>
444             <img src="images/BIconsRd.gif" width="16" height="16">
445            <%}
446           %>
447            <input type="checkbox" name="DIFId" value="<%=i%>"></td>
448             <td align="left">
449                 <a href="<%=ALink%>" > <%=difTrans.getEntry_Title().asString()%> </a>             
450             <br>
451            <label class='summary'>
452              <%
453                 String dispSum = null; // value true or false
454                 dispSum = request.getParameter("dispSum");
455            //Display Summary if activated
456                if (dispSum != null)
457                {
458                    if (request.getParameter("dispSum").equalsIgnoreCase("true")){
459                %>
460                <%=difTrans.getSummary().asString()%>
461                <%  }else{%>
462                     <img src="images/cross.gif">
463                     <%}
464                }%>
465            </label>   
466           </td>
467            <%
468                //Temporal Coverage Check if it is in the DIF
469                String startDate = "&nbsp";
470                String endDate = "&nbsp";
471                String dcURL = "&nbsp";
472                String dcName = "&nbsp";
473                if (difTrans.hasTemporal_Coverage()){
474                    if (difTrans.getTemporal_Coverage().hasStart_Date()){
475                   
476                        startDate = difTrans.getTemporal_Coverage().getStart_Date().asString();
477                        if (startDate == null)   startDate = "&nbsp";
478                    }
479                    if (difTrans.getTemporal_Coverage().hasStop_Date()){
480                        endDate = difTrans.getTemporal_Coverage().getStop_Date().asString();
481                         if (endDate == null) endDate = "&nbsp";
482                         
483                    }
484                }
485                //Check DataCentre is not null
486                  if (difTrans.hasData_Center()){
487                    if (difTrans.getData_Center().hasData_Center_URL()){
488                   
489                        dcURL = difTrans.getData_Center().getData_Center_URL().asString();
490                        if (dcURL == null)   dcURL = "&nbsp";
491                    }
492                    if (difTrans.getData_Center().hasData_Center_Name() && difTrans.getData_Center().getData_Center_Name().hasShort_Name() ){
493                        dcName = difTrans.getData_Center().getData_Center_Name().getShort_Name().asString();
494                         if (dcName == null) dcName = "&nbsp";
495                         
496                    }
497                }
498         
499             %>
500             
501            <td align='center' nowrap><%= startDate %>&nbsp;</td>
502            <td align='center' nowrap><%= endDate %>&nbsp;</td>
503            <td align="center"><a href="<%= dcURL %>"><%= dcName %></a></td>
504          </tr>
505                 
506          <%
507            }
508               catch(Exception e)
509               {
510                //out.println(e.getMessage());
511               }
512            }//end for  DIF
513         
514           %>
515          </tbody>
516          <%
517          // generate Get next Link (only if we are not at the end of the datasets )
518          max = new Integer(request.getParameter("howmany")).intValue();
519          if(start != 1 )
520          {
521            if (end != count )
522            {
523          %>
524          <tr>
525           
526            <td height="25" colspan="5" class="tableheader">
527                Displaying hits <%= start %> to <%= next + start %> (total: <%=count%>)
528                 <a href="#" onClick="javascript:document.forms[0].action='Task';document.forms[0].start.value='<%=start - max %>';document.forms[0].task.value='discovery';document.forms[0].search.value='<%=request.getParameter("search")%>';document.forms[0].submit();">Previous</a>
529                |&nbsp;&nbsp;<a href="#"  onClick="javascript:document.forms[0].action='Task';document.forms[0].task.value='discovery';document.forms[0].search.value='<%=request.getParameter("search")%>';document.forms[0].submit();">Next</a>
530               
531            </td>
532          </tr>
533          <%
534            }
535            else{%>
536          <tr>
537            <td height="25" colspan="5" class="tableheader"> Displaying hits <%= start %>
538              to <%= next +start %> (total: <%=count%>)
539            <a href="#" onClick="javascript:document.forms[0].action='Task';document.forms[0].start.value='<%=start - max%>';document.forms[0].task.value='discovery';document.forms[0].search.value='<%=request.getParameter("search")%>';document.forms[0].submit();">Previous</a>
540            </td>
541          </tr>
542         
543          <%
544            }
545         
546                 
547          }
548          else{
549          if (end != count )
550            {
551          %>
552          <tr>
553           
554            <td height="25" colspan="5" class="tableheader">
555                Displaying hits <%= start %> to <%= next + start %> (total: <%=count%>)
556                <a href="#"  onClick="javascript:document.forms[0].action='Task';document.forms[0].task.value='discovery';document.forms[0].search.value='<%=request.getParameter("search")%>';document.forms[0].submit();">Next</a>
557            </td>
558          </tr>
559          <%
560            }
561            else{%>
562          <tr>
563            <td height="25" colspan="5" class="tableheader"> Displaying hits <%= start %>
564              to <%= next +start %> (total: <%=count%>) </td>
565          </tr>
566         
567          <%
568            }
569          }
570            %>
571          <tr width="100%" >
572            <td colspan=5 align="center" bgcolor="#FFFFFF">&nbsp; </td>
573          </tr>
574          <tr width="100%" >
575            <td  align="" class="tablerow" >Browse <br>
576              Selected: </td>
577            <td  align=""  class="tablerow" ><table width="25%" border="0">
578                <tr >
579                  <td class="tableheader" nowrap>&nbsp;<a href="#" > Data </a></td>
580                </tr>
581                <tr>
582                    <%
583                            int display = count - start +1 ;
584                            //out.println(display);
585                    %>
586                  <td class="tableheader" nowrap>&nbsp;<a href="#" onclick="javascript:if(validateCheck(document.forms[0].DIFId,<%=display%>)){document.forms[0].task.value='browse';document.forms[0].search.value='badc';document.forms[0].submit();return false;}">Detailed
587                    Metadata </a> </td>
588                </tr>
589              </table></td>
590                           <td  align="" colspan="3" class="tablerow" ><table width="98%" height="55" border="0">
591                <tr >
592                  <td valign="middle" align="right"><img src="images/AIconsRd.gif" width="16" height="16"></td>
593                  <td class="tablerow" nowrap> &nbsp NDG data service available </td>
594                </tr>
595                <tr>
596                  <td valign="middle" align="right"><img src="images/BIconsRd.gif" width="16" height="16"></td>
597                  <td class="tablerow" nowrap> &nbsp NDG metadata service available </td>
598                </tr>
599              </table> </td>
600          </tr>
601          <tr width="100%" >
602            <th height="36" colspan=5 align="center" class=""> <a href="searchText.jsp" >New
603              Search </a>&nbsp;|&nbsp;
604              <!--<a href="#" onClick="javaScript:var wind=window.open('Configure.jsp?howmany=<%=request.getParameter("howmany")%>&SEARCHSTRING=<%=request.getParameter("SEARCHSTRING")%>&dispSum=<%=request.getParameter("dispSum")%>','Return_Configure','scrollbars=1,resizable=1,width=450,height=450');wind.focus();return false;" >-->
605              <a href="#">
606                Configure Results
607              </a>
608              &nbsp;|&nbsp;
609              <a href="#" >Display:</a> <a href="#" onClick="javascript:if(validateCheck(document.forms[0].DIFId,<%=display%>)){document.forms[0].action='DIFhtml.jsp';document.forms[0].submit();return false;}">
610              html</a> - <a href="#" onClick="javascript:if(validateCheck(document.forms[0].DIFId,<%=display%>)){document.forms[0].action='DIF.jsp';document.forms[0].submit();return false;}">
611              xml</a>&nbsp;|&nbsp; <a href="searchText.jsp?refine=true" >Refine
612              Search</a>&nbsp;&nbsp;|&nbsp; <a href="#" >Download History </a>
613            </th>
614          </tr>
615        </table>
616      </form></td>
617                        </tr>
618                      </table></center>
619
620       
621      <%
622       }//end else
623    %>
624       
625   <%@ include file="footer.jsp" %>
626
Note: See TracBrowser for help on using the repository browser.