Project

General

Profile

Download (6.83 KB) Statistics
| Branch: | Tag: | Revision:
1 50886cfa Andreas Kohlbecker
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
3
<%@page import="eu.etaxonomy.cdm.server.Bootloader"%>
4
<%@page import="java.util.Set" %>
5
<%@page import="java.net.URL" %>
6
<%@page import="eu.etaxonomy.cdm.server.CdmInstanceProperties"%>
7 0c905a46 Andreas Kohlbecker
<%@page import="eu.etaxonomy.cdm.server.JvmManager" %>
8 aa4c257a Andreas Kohlbecker
<%@page import="java.io.IOException"%>
9
<%!
10 7f39ce17 Andreas Kohlbecker
11
// the servelt context must use the class loader of the Bootloader class otherwise
12 56b500f1 Andreas Kohlbecker
// getting the status will not work in mulithreading environments !!!
13
Bootloader bootloader = Bootloader.getBootloader();
14
15 aa4c257a Andreas Kohlbecker
%>
16
17 50886cfa Andreas Kohlbecker
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
18
19
<head>
20 7f39ce17 Andreas Kohlbecker
  <title>CDM Server</title>
21 bff344ce Andreas Kohlbecker
  <link type="text/css" rel="stylesheet" media="all" href="../css/style.css" />
22
  <link type="text/css" rel="stylesheet" media="all" href="../css/server.css" />
23
  <script type="text/javascript" src="../js/jquery.js"></script>
24
  <script type="text/javascript" src="../js/oai-pmh-status.js"></script>
25 f25ae735 Andreas Kohlbecker
  <script type="text/javascript" src="../js/memory-status.js"></script>
26
  <script type="text/javascript" src="../js/instance-status.js"></script>
27 50886cfa Andreas Kohlbecker
</head>
28
<body class="layout-main">
29
    <div id="page" class="clearfix">
30
      <div id="header-wrapper">
31
        <div id="header" class="clearfix">
32
          <div id="header-first">
33
            <div id="logo">
34
              </div>
35 7f39ce17 Andreas Kohlbecker
        <h1>CDM Server</h1>
36 50886cfa Andreas Kohlbecker
          </div><!-- /header-first -->
37
        </div><!-- /header -->
38
      </div><!-- /header-wrapper -->
39 7f39ce17 Andreas Kohlbecker
40 50886cfa Andreas Kohlbecker
      <div id="primary-menu-wrapper" class="clearfix">
41
        <div id="primary-menu">
42 56b500f1 Andreas Kohlbecker
            <div id="version"><%= bootloader.readCdmRemoteVersion() %></div>
43 50886cfa Andreas Kohlbecker
        </div><!-- /primary_menu -->
44
      </div><!-- /primary-menu-wrapper -->
45
46
      <div id="main-wrapper">
47
        <div id="main" class="clearfix">
48 7f39ce17 Andreas Kohlbecker
49 50886cfa Andreas Kohlbecker
          <div id="sidebar-first">
50
          </div><!-- /sidebar-first -->
51
52
          <div id="content-wrapper">
53
            <div id="content">
54 7f39ce17 Andreas Kohlbecker
                <!-- ============================= -->
55
                <div class="block-wrapper">
56
                  <h2 class="title block-title pngfix">Server Status</h2>
57 f25ae735 Andreas Kohlbecker
                  <div class="block" id="status"><!-- The memory status will be rendered by memory-status.js --></div>
58 7f39ce17 Andreas Kohlbecker
                </div>
59
60
61
                <div class="block-wrapper">
62
                  <div class="block" id="datasources">
63
                    <h2 class="title block-title pngfix">CDM Server Instances</h2>
64 f25ae735 Andreas Kohlbecker
                    <div class="container">
65 7f39ce17 Andreas Kohlbecker
                    <table>
66
                      <tr><th>Path</th><th> </th><th>Database Url</th><th>Status</th><th>OAI-PMH Provider</th></tr>
67 50886cfa Andreas Kohlbecker
                                            <%
68 c2dd4306 Andreas Kohlbecker
                                           java.util.List<CdmInstanceProperties> configAndStatus = bootloader.getConfigAndStatus();
69 50886cfa Andreas Kohlbecker
                                           if(configAndStatus != null){
70 7f39ce17 Andreas Kohlbecker
                                             int i = 0;
71
                                             for(CdmInstanceProperties props : configAndStatus){
72
                                               i++;
73 bff344ce Andreas Kohlbecker
74 f7c6ca9f Andreas Kohlbecker
                                               String basePath = props.getDataSourceName();
75
                                                  /*  URL fullURL = new URL(request.getScheme(),
76 50886cfa Andreas Kohlbecker
                                                           request.getServerName(),
77
                                                           request.getServerPort(),
78 f7c6ca9f Andreas Kohlbecker
                                                           basePath); */
79
80
                                                   String fullURL = "../" + basePath;
81 7f39ce17 Andreas Kohlbecker
82 50886cfa Andreas Kohlbecker
                                                   String oddOrEven = i % 2 == 0 ? "odd" : "even";
83
                                                   String noBottomBorder = props.getStatus().equals(CdmInstanceProperties.Status.error) ? " style=\"border-bottom:none;\"" : "";
84 7f39ce17 Andreas Kohlbecker
85 07de2b00 Andreas Kohlbecker
                                                   out.append("<tr id=\""+basePath+"\" class=\"entry " + oddOrEven + "\" " +noBottomBorder+ ">");
86
                                                   out.append("<td class=\"base-url\"><a href=\"" + fullURL + "\">" + basePath + "</a></td>");
87
                                                   out.append("<td class=\"test-url\"><a href=\"" + fullURL + "/portal/classification\">Test</a></td>");
88 50886cfa Andreas Kohlbecker
                                                   out.append("<td class=\"db-url\">" + props.getUrl() + "</td>");
89
                                                   out.append("<td class=\"status " + props.getStatus() + "\">" + props.getStatus() + "</td>");
90 7f39ce17 Andreas Kohlbecker
91 50886cfa Andreas Kohlbecker
                                                   // OAI-PMH Status will be requested using javascript
92
                                                   out.append("<td class=\"oai-pmh\">requesting status ...</td>");
93
                                                   out.append("</tr>");
94
                                                   if(props.getStatus().equals(CdmInstanceProperties.Status.error) || !props.isEnabled()){
95 f25ae735 Andreas Kohlbecker
                                                     out.append("<tr id=\""+basePath+"-error-log\" class=\"error-log " + oddOrEven + "\">");
96 7f39ce17 Andreas Kohlbecker
                                                     out.append("<td></td><td  class=\"error\" colspan=\"4\">");
97
                                                         for( String problem : props.getProblems()){
98
                                                           out.append("<div>" + problem + "</div>");
99
                                                         }
100
                                                     out.append("</td>");
101
                                                     out.append("</tr>");
102 50886cfa Andreas Kohlbecker
                                                   }
103 7f39ce17 Andreas Kohlbecker
                                             }
104 50886cfa Andreas Kohlbecker
                                           }
105
                                           %>
106 7f39ce17 Andreas Kohlbecker
                    </table>
107 f25ae735 Andreas Kohlbecker
                    </div>
108 7f39ce17 Andreas Kohlbecker
                  </div>
109
                </div>
110 50886cfa Andreas Kohlbecker
<%/*
111 7f39ce17 Andreas Kohlbecker
                <div class="block-wrapper">
112
                  <div class="block" id="test">
113
                    <h2 class="title block-title pngfix">Test your CDM Server (using the default data base)</h2>
114
                    <form name="input" action="/default/portal/taxon/find" method="get">
115
                    <input type="text" name="query"></br>
116
                    <input type="submit" value="submit">
117
                    </form>
118
                  </div>
119
                </div><!-- test -->
120 50886cfa Andreas Kohlbecker
*/
121 7f39ce17 Andreas Kohlbecker
%>
122
                <!-- ============================= -->
123 50886cfa Andreas Kohlbecker
            </div><!-- /content -->
124
          </div><!-- /content-wrapper -->
125 7f39ce17 Andreas Kohlbecker
126 50886cfa Andreas Kohlbecker
          <div id="footer" class="clearfix">
127 7f39ce17 Andreas Kohlbecker
          The CDM Server is a component of the <a href="http://wp5.e-taxonomy.eu/">EDIT Platform for Cybertaxonomy</a>.
128 50886cfa Andreas Kohlbecker
          </div><!-- /footer -->
129 7f39ce17 Andreas Kohlbecker
130 50886cfa Andreas Kohlbecker
        </div><!-- /main -->
131
      </div><!-- /main-wrapper -->
132
    </div><!-- /page -->
133
</body>
134
</html>