Revision 1956
Added by Matt Jones about 21 years ago
lib/style/skins/obfs/index.html | ||
---|---|---|
76 | 76 |
<p><b>Registry Tools</b></p> |
77 | 77 |
<p> |
78 | 78 |
<menu> |
79 |
<li><a href="@servlet-path@?action=query&operator=INTERSECT&anyfield=%25&organizationName=Organization%20of%20Biological%20Field%20Stations&qformat=obfs&returndoctype=eml://ecoinformatics.org/eml-2.0.0&returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN&returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN&returnfield=dataset/title&returnfield=keyword&returnfield=originator/individualName/surName&returnfield=creator/individualName/surName&returnfield=originator/organizationName&returnfield=creator/organizationName">Browse existing OBFS data sets</a><br /> |
|
79 |
<li><a href="@servlet-path@?action=query&operator=INTERSECT&anyfield=%25&organizationName=Organization%20of%20Biological%20Field%20Stations&qformat=obfs&enableediting=true&returndoctype=eml://ecoinformatics.org/eml-2.0.0&returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN&returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN&returnfield=dataset/title&returnfield=keyword&returnfield=originator/individualName/surName&returnfield=creator/individualName/surName&returnfield=originator/organizationName&returnfield=creator/organizationName">Browse existing OBFS data sets</a><br />
|
|
80 | 80 |
<menu> |
81 | 81 |
The registry search system is used to locate data sets of interest |
82 | 82 |
by searching through existing registered data sets. |
lib/style/skins/obfs/header.html | ||
---|---|---|
67 | 67 |
<input name="organizationName" value="Organization of Biological Field Stations" type="hidden"> |
68 | 68 |
<input name="action" value="query" type="hidden"> |
69 | 69 |
<input name="qformat" value="obfs" type="hidden"> |
70 |
<input name="enableediting" value="true" type="hidden"> |
|
70 | 71 |
<input name="operator" value="UNION" type="hidden"> |
71 | 72 |
<input name="returnfield" value="originator/individualName/surName" type="hidden"> |
72 | 73 |
<input name="returnfield" value="originator/individualName/givenName" type="hidden"> |
lib/style/skins/obfs/searchform.html | ||
---|---|---|
5 | 5 |
<input name="organizationName" value="Organization of Biological Field Stations" type="hidden"> |
6 | 6 |
<input name="action" value="query" type="hidden"> |
7 | 7 |
<input name="qformat" value="obfs" type="hidden"> |
8 |
<input name="enableediting" value="true" type="hidden"> |
|
8 | 9 |
<input name="operator" value="UNION" type="hidden"> |
9 | 10 |
<input name="returnfield" value="originator/individualName/surName" type="hidden"> |
10 | 11 |
<input name="returnfield" value="originator/individualName/givenName" type="hidden"> |
lib/style/common/resultset.xsl | ||
---|---|---|
116 | 116 |
<input type="hidden" name="abstractpath" /> |
117 | 117 |
<!-- specified down IN javascript:submitform2('read','zip',docid) --> |
118 | 118 |
|
119 |
<input type="hidden" name="qformat" /> |
|
119 |
<input type="hidden" name="qformat" /> |
|
120 |
<xsl:if test="$enableediting = 'true'"> |
|
121 |
<input type="hidden" name="enableediting" value="{$enableediting}"/> |
|
122 |
</xsl:if> |
|
120 | 123 |
<input type="hidden" name="action" value="read"/> |
121 | 124 |
<input type="hidden" name="docid"> |
122 | 125 |
<xsl:attribute name="value"> |
lib/metacat.properties | ||
---|---|---|
59 | 59 |
datafileflag=datafile |
60 | 60 |
datafilesizelimit=1000 |
61 | 61 |
defaultcontenttype=@defaultcontenttype@ |
62 |
query.ignored.params=enableediting,foo |
src/edu/ucsb/nceas/metacat/DBQuery.java | ||
---|---|---|
33 | 33 |
|
34 | 34 |
import edu.ucsb.nceas.morpho.datapackage.*; |
35 | 35 |
import java.io.*; |
36 |
import java.util.StringTokenizer; |
|
36 | 37 |
import java.util.Vector; |
37 | 38 |
import java.util.zip.*; |
38 | 39 |
import java.net.URL; |
... | ... | |
954 | 955 |
//make sure we aren't querying for any of these |
955 | 956 |
//parameters since the are already in the query |
956 | 957 |
//in one form or another. |
957 |
if (!nextkey.toString().equals("returndoctype") && |
|
958 |
!nextkey.toString().equals("filterdoctype") && |
|
959 |
!nextkey.toString().equals("action") && |
|
960 |
!nextkey.toString().equals("qformat") && |
|
961 |
!nextkey.toString().equals("anyfield") && |
|
962 |
!nextkey.toString().equals("returnfield") && |
|
963 |
!nextkey.toString().equals("owner") && |
|
964 |
!nextkey.toString().equals("site") && |
|
965 |
!nextkey.toString().equals("operator") ) |
|
966 |
{ |
|
958 |
Vector ignoredParams = new Vector(); |
|
959 |
ignoredParams.add("returndoctype"); |
|
960 |
ignoredParams.add("filterdoctype"); |
|
961 |
ignoredParams.add("action"); |
|
962 |
ignoredParams.add("qformat"); |
|
963 |
ignoredParams.add("anyfield"); |
|
964 |
ignoredParams.add("returnfield"); |
|
965 |
ignoredParams.add("owner"); |
|
966 |
ignoredParams.add("site"); |
|
967 |
ignoredParams.add("operator"); |
|
968 |
|
|
969 |
// Also ignore parameters listed in the properties file |
|
970 |
// so that they can be passed through to stylesheets |
|
971 |
String paramsToIgnore = MetaCatUtil.getOption("query.ignored.params"); |
|
972 |
StringTokenizer st = new StringTokenizer(paramsToIgnore, ","); |
|
973 |
while (st.hasMoreTokens()) { |
|
974 |
ignoredParams.add(st.nextToken()); |
|
975 |
} |
|
976 |
if (!ignoredParams.contains(nextkey.toString())) { |
|
967 | 977 |
//allow for more than value per field name |
968 |
for(int i=0; i<((String[])nextelement).length; i++) |
|
969 |
{ |
|
970 |
if (!((String[])nextelement)[i].equals("")) |
|
971 |
{ |
|
978 |
for(int i=0; i<((String[])nextelement).length; i++) { |
|
979 |
if (!((String[])nextelement)[i].equals("")) { |
|
972 | 980 |
query.append("<queryterm casesensitive=\"" + casesensitive +"\" " + |
973 | 981 |
"searchmode=\"" + searchmode + "\">" + |
974 | 982 |
"<value>" + |
src/edu/ucsb/nceas/metacat/MetaCatServlet.java | ||
---|---|---|
610 | 610 |
outPutTime = System.currentTimeMillis()/1000; |
611 | 611 |
MetaCatUtil.debugMessage("Output time: "+(outPutTime-toStringTime), 30); |
612 | 612 |
} else { |
613 |
transformResultset(resultdoc, response, out, qformat, sessionid); |
|
613 |
transformResultset(resultdoc, response, out, qformat, sessionid, params);
|
|
614 | 614 |
outPutTime = System.currentTimeMillis()/1000; |
615 | 615 |
MetaCatUtil.debugMessage("Output time: "+(outPutTime-toStringTime), 30); |
616 | 616 |
} |
... | ... | |
641 | 641 |
response.setContentType("text/xml"); |
642 | 642 |
out.println(resultdoc); |
643 | 643 |
} else { |
644 |
transformResultset(resultdoc, response, out, qformat, sessionid); |
|
644 |
transformResultset(resultdoc, response, out, qformat, sessionid, params);
|
|
645 | 645 |
} |
646 | 646 |
} |
647 | 647 |
|
... | ... | |
733 | 733 |
protected void transformResultset(String resultdoc, |
734 | 734 |
HttpServletResponse response, |
735 | 735 |
PrintWriter out, String qformat, |
736 |
String sessionid) |
|
736 |
String sessionid, Hashtable params)
|
|
737 | 737 |
{ |
738 | 738 |
|
739 | 739 |
try { |
... | ... | |
741 | 741 |
DBTransform trans = new DBTransform(); |
742 | 742 |
response.setContentType("text/html"); |
743 | 743 |
trans.transformXMLDocument(resultdoc, "-//NCEAS//resultset//EN", |
744 |
"-//W3C//HTML//EN", qformat, out, null,
|
|
744 |
"-//W3C//HTML//EN", qformat, out, params,
|
|
745 | 745 |
sessionid); |
746 | 746 |
|
747 | 747 |
} |
Also available in: Unified diff
Enabled stylesheet parameters to be passed through metacat even when the
'query' function is called. Previously, query would interpret all
parameters except a few hardcoded ones to be pathexpressions that should be
built into a squery. Now, metacat.properties contains a new configuration
parameter called "query.ignored.params" which is a comma separated list of
paramters that should be passed through DBQuery.createSQuery without being
interpreted as a path expression. This allows these additional paramters to
be used in stylesheets and other places (html files) to customize the L&F
of particular skins.
The feature was implemented in order to allow the 'enableediting' parameter
for resultset.xsl to be passed through metacat without altering the query.
This parameter, when set to true, causes an 'edit' and 'delete' button to be
included for each record in the resultset. These buttons call the registry
edit and delete functions for the OBFS and (later) NRS and other registries.