Project

General

Profile

1
<%@ page language="java" %>
2
<%@ page import="java.util.Set,java.util.Map,java.util.Vector,edu.ucsb.nceas.utilities.PropertiesMetaData" %>
3
<%@ page import="edu.ucsb.nceas.utilities.MetaDataGroup,edu.ucsb.nceas.utilities.MetaDataProperty" %>
4
<% 
5
/**
6
 *  '$RCSfile$'
7
 *    Copyright: 2008 Regents of the University of California and the
8
 *               National Center for Ecological Analysis and Synthesis
9
 *  For Details: http://www.nceas.ucsb.edu/
10
 *
11
 *   '$Author: daigle $'
12
 *     '$Date: 2008-09-29 09:57:05 -0700 (Mon, 29 Sep 2008) $'
13
 * '$Revision: 4402 $'
14
 * 
15
 * This program is free software; you can redistribute it and/or modify
16
 * it under the terms of the GNU General Public License as published by
17
 * the Free Software Foundation; either version 2 of the License, or
18
 * (at your option) any later version.
19
 *
20
 * This program is distributed in the hope that it will be useful,
21
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 * GNU General Public License for more details.
24
 *
25
 * You should have received a copy of the GNU General Public License
26
 * along with this program; if not, write to the Free Software
27
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28
 */
29
%>
30

    
31
<html>
32
<head>
33

    
34
<title>Metacat Properties Configuration</title>
35
<link rel="stylesheet" type="text/css" 
36
        href="<%= request.getContextPath() %>/admin/admin.css"></link>
37
<script language="JavaScript" type="text/JavaScript" src="<%= request.getContextPath() %>/admin/admin.js"></script>
38

    
39
</head>
40
<body>
41
<img src="<%= request.getContextPath() %>/metacat-logo.png" width="100px" align="right"/> 
42
<h2>MetaCat Properties Configuration</h2>
43

    
44
<p>Enter MetaCat System properties here.  All Fields must be filled in before saving.
45
</p>
46
<br clear="right"/>
47

    
48
<%@ include file="page-message-section.jsp"%>
49

    
50
<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin" 
51
                                        onsubmit="return submitForm(this);">
52
<% 
53
	// metadata holds all group and properties metadata
54
    PropertiesMetaData metadata = (PropertiesMetaData)request.getAttribute("metadata");
55
	if (metadata != null) {
56
		// each group describes a section of properties
57
		Map<Integer, MetaDataGroup> groupMap = metadata.getGroups();
58
		Set<Integer> groupIdSet = groupMap.keySet();
59
		for (Integer groupId : groupIdSet) {
60
			// for this group, display the header (group name)
61
			MetaDataGroup metaDataGroup = (MetaDataGroup)groupMap.get(groupId);
62
%>
63
		<h3><%= metaDataGroup.getName()  %></h3>
64
		<hr class="config-line">
65
<%
66
			// get all the properties in this group
67
			Map<Integer, MetaDataProperty> propertyMap = 
68
				metadata.getPropertiesInGroup(metaDataGroup.getIndex());
69
			Set<Integer> propertyIndexes = propertyMap.keySet();
70
			// iterate through each property and display appropriately
71
			for (Integer propertyIndex : propertyIndexes) {
72
				MetaDataProperty metaDataProperty = propertyMap.get(propertyIndex);
73
    			String fieldType = metaDataProperty.getFieldType(); 
74
    			if (fieldType.equals("select")) {
75
%> 
76
				<div class="form-row">
77
					<img class="question-mark" src="style/images/question-mark.gif"  
78
							onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
79
     				<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>"><%= metaDataProperty.getLabel() %></label></div>
80
					<select class="textinput" name="<%= metaDataProperty.getKey() %>">
81
<%
82
					Vector<String> fieldOptionValues = metaDataProperty.getFieldOptionValues();
83
					Vector<String> fieldOptionNames = metaDataProperty.getFieldOptionNames();
84
					for (int i = 0; i < fieldOptionNames.size(); i++) {
85
%>
86
					<option value="<%= fieldOptionValues.elementAt(i) %>"
87
<%
88
						if (fieldOptionValues.elementAt(i).equals(request.getAttribute(metaDataProperty.getKey()))) {
89
%>
90
							selected="yes"
91
<%
92
						}
93
%>
94
					> <%= fieldOptionNames.elementAt(i) %>
95
<%
96
				}
97
%>
98
					</select>
99
				</div>
100
<%		
101
				} else if (fieldType.equals("password")) {
102
%>
103
				<div class="form-row">
104
					<img class="question-mark" src="style/images/question-mark.gif"  
105
	           		       onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
106
					<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" ><%= metaDataProperty.getLabel() %></label></div>
107
					<input class="textinput" id="<%= metaDataProperty.getKey() %>" 
108
							name="<%= metaDataProperty.getKey() %>" 	             		    	    	           		    	             			
109
	           		    	value="<%= request.getAttribute(metaDataProperty.getKey()) %>"
110
	           		    	type="<%= fieldType %>"/> 
111
				</div>
112
<%
113
				} else {
114
%>
115
				<div class="form-row">
116
					<img class="question-mark" class=question-mark 
117
					     src="style/images/question-mark.gif" 
118
					     onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"/>
119
					<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %> "><%= metaDataProperty.getLabel() %></label>	</div>					
120
					<input class="textinput" id="<%= metaDataProperty.getKey() %>" 
121
							name="<%= metaDataProperty.getKey() %>" 
122
	    			        value="<%= request.getAttribute(metaDataProperty.getKey()) %>"	             		    	    	           		    	             			
123
	           		    	type="<%= fieldType %> "/>	
124
				</div>          		    
125
<%   			
126
				}
127
    			
128
    			if (metaDataProperty.getDescription() != null) {
129
%>
130

    
131
					<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
132
<%
133
    			}
134
			}
135
		}
136
	}
137
%>
138

    
139
			<input type="hidden" name="configureType" value="properties"/>
140
			<input type="hidden" name="processForm" value="true"/>
141
			<input class=left-button type="submit" value="Save"/>
142
			<input class=button type="button" value="Cancel" onClick="forward('./admin')"> 
143

    
144
</form>
145

    
146
</body>
147
</html>
(12-12/13)