You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2011/08/12 18:07:40 UTC
svn commit: r1157173 - in
/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver: ./
connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/
connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchser...
Author: kwright
Date: Fri Aug 12 16:07:39 2011
New Revision: 1157173
URL: http://svn.apache.org/viewvc?rev=1157173&view=rev
Log:
Add new files from patch.
Added:
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerConfig.java
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSchema.java
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSpecs.java
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/configuration.js
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/specifications.html
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/viewSpec.html
Modified:
incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/ (props changed)
Propchange: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Aug 12 16:07:39 2011
@@ -0,0 +1,4 @@
+build
+lib
+dist
+
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerConfig.java
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerConfig.java?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerConfig.java (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerConfig.java Fri Aug 12 16:07:39 2011
@@ -0,0 +1,76 @@
+package org.apache.manifoldcf.agents.output.opensearchserver;
+
+import org.apache.manifoldcf.core.interfaces.ConfigParams;
+import org.apache.manifoldcf.core.interfaces.IPostParameters;
+
+public class OpenSearchServerConfig extends OpenSearchServerParam {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -2071296573398352538L;
+
+ /**
+ * Parameters used for the configuration
+ */
+ final private static ParameterEnum[] CONFIGURATIONLIST = {
+ ParameterEnum.SERVERLOCATION, ParameterEnum.INDEXNAME,
+ ParameterEnum.USERNAME, ParameterEnum.APIKEY };
+
+ /**
+ * Build a set of OpenSearchServerParameters by reading ConfigParams. If the
+ * value returned by ConfigParams.getParameter is null, the default value is
+ * set.
+ *
+ * @param paramList
+ * @param params
+ */
+ public OpenSearchServerConfig(ConfigParams params) {
+ super(CONFIGURATIONLIST);
+ for (ParameterEnum param : CONFIGURATIONLIST) {
+ String value = params.getParameter(param.name());
+ if (value == null)
+ value = param.defaultValue;
+ put(param, value);
+ }
+ }
+
+ /**
+ *
+ * @return a unique identifier for one index on one OpenSearchServer
+ * instance.
+ */
+ public String getUniqueIndexIdentifier() {
+ StringBuffer sb = new StringBuffer();
+ sb.append(getServerLocation());
+ if (sb.charAt(sb.length() - 1) != '/')
+ sb.append('/');
+ sb.append(getIndexName());
+ return sb.toString();
+ }
+
+ public final static void contextToConfig(IPostParameters variableContext,
+ ConfigParams parameters) {
+ for (ParameterEnum param : CONFIGURATIONLIST) {
+ String p = variableContext.getParameter(param.name().toLowerCase());
+ if (p != null)
+ parameters.setParameter(param.name(), p);
+ }
+ }
+
+ final public String getServerLocation() {
+ return get(ParameterEnum.SERVERLOCATION);
+ }
+
+ final public String getIndexName() {
+ return get(ParameterEnum.INDEXNAME);
+ }
+
+ final public String getUserName() {
+ return get(ParameterEnum.USERNAME);
+ }
+
+ final public String getApiKey() {
+ return get(ParameterEnum.APIKEY);
+ }
+}
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSchema.java
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSchema.java?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSchema.java (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSchema.java Fri Aug 12 16:07:39 2011
@@ -0,0 +1,21 @@
+package org.apache.manifoldcf.agents.output.opensearchserver;
+
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
+
+public class OpenSearchServerSchema extends OpenSearchServerConnection {
+
+ public OpenSearchServerSchema(OpenSearchServerConfig config)
+ throws ManifoldCFException {
+ super(config);
+ String indexName = config.getIndexName();
+ StringBuffer url = getApiUrl("schema");
+ url.append("&cmd=indexList");
+ GetMethod method = new GetMethod(url.toString());
+ String xpath = "count(/response/index[@name='" + indexName + "'])";
+ call(method);
+ if ("1".equals(checkXPath(xpath)))
+ return;
+ setResult(Result.ERROR, "Index not found");
+ }
+}
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSpecs.java
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSpecs.java?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSpecs.java (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/java/org/apache/manifoldcf/agents/output/opensearchserver/OpenSearchServerSpecs.java Fri Aug 12 16:07:39 2011
@@ -0,0 +1,137 @@
+package org.apache.manifoldcf.agents.output.opensearchserver;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.manifoldcf.core.interfaces.ConfigurationNode;
+import org.apache.manifoldcf.core.interfaces.IPostParameters;
+import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class OpenSearchServerSpecs extends OpenSearchServerParam {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1859653440572662025L;
+
+ final public static ParameterEnum[] SPECIFICATIONLIST = {
+ ParameterEnum.MAXFILESIZE, ParameterEnum.MIMETYPES,
+ ParameterEnum.EXTENSIONS };
+
+ final public static String OPENSEARCHSERVER_SPECS_NODE = "OPENSEARCHSERVER_SPECS_NODE";
+
+ private Set<String> extensionSet;
+
+ private Set<String> mimeTypeSet;
+
+ /**
+ * Build a set of OpenSearchServer parameters by reading an JSON object
+ *
+ * @param json
+ * @throws JSONException
+ * @throws ManifoldCFException
+ */
+ public OpenSearchServerSpecs(JSONObject json) throws JSONException,
+ ManifoldCFException {
+ super(SPECIFICATIONLIST);
+ extensionSet = null;
+ mimeTypeSet = null;
+ for (ParameterEnum param : SPECIFICATIONLIST) {
+ String value = null;
+ value = json.getString(param.name());
+ if (value == null)
+ value = param.defaultValue;
+ put(param, value);
+ }
+ extensionSet = createStringSet(getExtensions());
+ mimeTypeSet = createStringSet(getMimeTypes());
+ }
+
+ /**
+ * Build a set of OpenSearchServer parameters by reading an instance of
+ * SpecificationNode.
+ *
+ * @param node
+ * @throws ManifoldCFException
+ */
+ public OpenSearchServerSpecs(ConfigurationNode node)
+ throws ManifoldCFException {
+ super(SPECIFICATIONLIST);
+ for (ParameterEnum param : SPECIFICATIONLIST) {
+ String value = null;
+ if (node != null)
+ value = node.getAttributeValue(param.name());
+ if (value == null)
+ value = param.defaultValue;
+ put(param, value);
+ }
+ extensionSet = createStringSet(getExtensions());
+ mimeTypeSet = createStringSet(getMimeTypes());
+ }
+
+ public static void contextToSpecNode(IPostParameters variableContext,
+ ConfigurationNode specNode) {
+ for (ParameterEnum param : SPECIFICATIONLIST) {
+ String p = variableContext.getParameter(param.name().toLowerCase());
+ if (p != null)
+ specNode.setAttribute(param.name(), p);
+ }
+ }
+
+ /**
+ *
+ * @return a JSON representation of the parameter list
+ */
+ public JSONObject toJson() {
+ return new JSONObject(this);
+ }
+
+ public long getMaxFileSize() {
+ return Long.parseLong(get(ParameterEnum.MAXFILESIZE));
+ }
+
+ public String getMimeTypes() {
+ return get(ParameterEnum.MIMETYPES);
+ }
+
+ public String getExtensions() {
+ return get(ParameterEnum.EXTENSIONS);
+ }
+
+ private final static TreeSet<String> createStringSet(String content)
+ throws ManifoldCFException {
+ TreeSet<String> set = new TreeSet<String>();
+ BufferedReader br = null;
+ StringReader sr = null;
+ try {
+ sr = new StringReader(content);
+ br = new BufferedReader(sr);
+ String line = null;
+ while ((line = br.readLine()) != null) {
+ line = line.trim();
+ if (line.length() > 0)
+ set.add(line);
+ }
+ return set;
+ } catch (IOException e) {
+ throw new ManifoldCFException(e);
+ } finally {
+ if (br != null)
+ IOUtils.closeQuietly(br);
+ }
+ }
+
+ public boolean checkExtension(String extension) {
+ return extensionSet.contains(extension);
+ }
+
+ public boolean checkMimeType(String mimeType) {
+ return mimeTypeSet.contains(mimeType);
+ }
+}
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/configuration.js
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/configuration.js?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/configuration.js (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/configuration.js Fri Aug 12 16:07:39 2011
@@ -0,0 +1,25 @@
+<script type="text/javascript">
+<!--
+function checkConfig() {
+ if (editconnection.serverlocation) {
+ if (editconnection.serverlocation.value == "") {
+ alert("Please supply a valid OpenSearchServer server location");
+ editconnection.serverlocation.focus();
+ return false;
+ }
+ }
+ if (editconnection.indexname) {
+ if (editconnection.indexname.value == "") {
+ alert("Please supply a valid index name");
+ editconnection.indexname.focus();
+ return false;
+ }
+ }
+ return true;
+}
+
+function checkConfigForSave() {
+ return checkConfig();
+}
+-->
+</script>
\ No newline at end of file
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/specifications.html
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/specifications.html?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/specifications.html (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/specifications.html Fri Aug 12 16:07:39 2011
@@ -0,0 +1,18 @@
+<table class="displaytable">
+ <tr>
+ <td class="description"><nobr>Max file size</nobr> (bytes):</td>
+ <td class="value"><input name="maxfilesize"
+ value="${MAXFILESIZE}" size="24" /></td>
+ </tr>
+ <tr>
+ <td class="description"><nobr>Allowed MIME Types :</nobr>
+ </td>
+ <td class="value"><textarea rows="10" cols="64" name="mimetypes">${MIMETYPES}</textarea>
+ </td>
+ </tr>
+ <tr>
+ <td class="description"><nobr>Allowed file</nobr> extensions:</td>
+ <td class="value"><textarea rows="10" cols="12" name="extensions">${EXTENSIONS}</textarea>
+ </td>
+ </tr>
+</table>
\ No newline at end of file
Added: incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/viewSpec.html
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/viewSpec.html?rev=1157173&view=auto
==============================================================================
--- incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/viewSpec.html (added)
+++ incubator/lcf/branches/CONNECTORS-224/connectors/opensearchserver/connector/src/main/resource/org/apache/manifoldcf/agents/output/opensearchserver/viewSpec.html Fri Aug 12 16:07:39 2011
@@ -0,0 +1,14 @@
+<table class="displaytable">
+ <tr>
+ <td class="description"><nobr>Max file size</nobr> (bytes):</td>
+ <td class="value">${MAXFILESIZE}</td>
+ </tr>
+ <tr>
+ <td class="description"><nobr>Allowed MIME types:</nobr></td>
+ <td class="value">${MIMETYPES}</td>
+ </tr>
+ <tr>
+ <td class="description"><nobr>Allowed file</nobr> extensions:</td>
+ <td class="value">${EXTENSIONS}</td>
+ </tr>
+</table>
\ No newline at end of file