[Yanel-commits] rev 23500 - in public/yanel/trunk/src: realms/welcome-admin/yanel/rti resources/add-realm/src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Thu Mar 29 13:58:55 CEST 2007


Author: michi
Date: 2007-03-29 13:58:53 +0200 (Thu, 29 Mar 2007)
New Revision: 23500

Modified:
   public/yanel/trunk/src/realms/welcome-admin/yanel/rti/add-realm.html.yanel-rc
   public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java
Log:
read custom config

Modified: public/yanel/trunk/src/realms/welcome-admin/yanel/rti/add-realm.html.yanel-rc
===================================================================
--- public/yanel/trunk/src/realms/welcome-admin/yanel/rti/add-realm.html.yanel-rc	2007-03-29 11:50:30 UTC (rev 23499)
+++ public/yanel/trunk/src/realms/welcome-admin/yanel/rti/add-realm.html.yanel-rc	2007-03-29 11:58:53 UTC (rev 23500)
@@ -2,13 +2,15 @@
 
 <yanel:resource-config xmlns:yanel="http://www.wyona.org/yanel/rti/1.0">
   <yanel:rti name="add-realm" namespace="http://www.wyona.org/yanel/resource/1.0"/>
-
-  <!-- An empty fslocation value means that the parent directory of the "from scratch realm" directory is being used as default. -->
-  <yanel:property name="fslocation" value=""/>
-
-  <!-- -->
-  <yanel:property name="crawlmaxpages" value="100"/>
-
-  <!-- A value of "-1" means unlimited size, whereas positive values are considered to be in kilobyte -->
-  <yanel:property name="crawlmaxfilesize" value="-1"/>
+  
+  <yanel:custom-config xmlns:arr="http://www.wyona.org/yanel/resource/add-realm-resource/1.0">
+    <arr:parameter name="realmid" samplevalue="my-realm" required="true" />
+    <arr:parameter name="realmname" samplevalue="My Realm" required="true" />
+    <arr:parameter name="url" samplevalue="http://www.foo.bar" required="true" />
+    <arr:parameter name="fslocation" samplevalue="C:/realms" required="true" />
+    <arr:parameter name="crawldepth" samplevalue="3" required="true" />
+    <arr:parameter name="crawlmaxpages" value="100" samplevalue="100" required="true" hidden="true" />
+    <arr:parameter name="crawlmaxfilesize" value="-1" samplevalue="100 [size in kb]" required="true" hidden="true" />
+    <arr:parameter name="scope" samplevalue="http://www.foo.bar, http://www.f-o-o.bar" required="false" />
+  </yanel:custom-config>
 </yanel:resource-config>

Modified: public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java
===================================================================
--- public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java	2007-03-29 11:50:30 UTC (rev 23499)
+++ public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource.java	2007-03-29 11:58:53 UTC (rev 23500)
@@ -6,6 +6,7 @@
 
 import org.wyona.yanel.core.Path;
 import org.wyona.yanel.core.Resource;
+import org.wyona.yanel.core.ResourceConfiguration;
 import org.wyona.yanel.core.api.attributes.ViewableV2;
 import org.wyona.yanel.core.attributes.viewable.View;
 import org.wyona.yanel.core.attributes.viewable.ViewDescriptor;
@@ -58,6 +59,8 @@
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.NamedNodeMap;
 
 /**
  *
@@ -375,55 +378,32 @@
         }
         Element rootElement = document.getDocumentElement();
         Element inputFieldsElement = (Element) rootElement.appendChild(document.createElementNS(NAMESPACE, "inputfields"));
-
-        Element realmIdFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        realmIdFieldElement.setAttributeNS(NAMESPACE, "name", "realmid");
-        realmIdFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        realmIdFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "my-realm");
-        realmIdFieldElement.appendChild(document.createTextNode("realmid"));
-
-        Element realmNameFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        realmNameFieldElement.setAttributeNS(NAMESPACE, "name", "realmname");
-        realmNameFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        realmNameFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "My Realm");
-        realmNameFieldElement.appendChild(document.createTextNode("realmname"));
-
-        Element urlFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        urlFieldElement.setAttributeNS(NAMESPACE, "name", "url");
-        urlFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        urlFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "http://www.foo.bar");
-        urlFieldElement.appendChild(document.createTextNode("url"));
-
-        Element fsLocationFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        fsLocationFieldElement.setAttributeNS(NAMESPACE, "name", "fslocation");
-        fsLocationFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        fsLocationFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "D:/realms");
-        fsLocationFieldElement.appendChild(document.createTextNode("fslocation"));
-
-        Element crawlDepthFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        crawlDepthFieldElement.setAttributeNS(NAMESPACE, "name", "crawldepth");
-        crawlDepthFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        crawlDepthFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "3");
-        crawlDepthFieldElement.appendChild(document.createTextNode("crawldepth"));
-
-        Element crawlMaxPagesFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        crawlMaxPagesFieldElement.setAttributeNS(NAMESPACE, "name", "crawlmaxpages");
-        crawlMaxPagesFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        crawlMaxPagesFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "100");
-        crawlMaxPagesFieldElement.appendChild(document.createTextNode("crawlmaxpages"));
         
-        Element crawlMaxFileSizeFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        crawlMaxFileSizeFieldElement.setAttributeNS(NAMESPACE, "name", "crawlmaxfilesize");
-        crawlMaxFileSizeFieldElement.setAttributeNS(NAMESPACE, "required", "true");
-        crawlMaxFileSizeFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "100 [size in kb]");
-        crawlMaxFileSizeFieldElement.appendChild(document.createTextNode("crawlmaxfilesize"));
-
-        Element scopeFieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
-        scopeFieldElement.setAttributeNS(NAMESPACE, "name", "scope");
-        scopeFieldElement.setAttributeNS(NAMESPACE, "required", "false");
-        scopeFieldElement.setAttributeNS(NAMESPACE, "samplevalue", "http://www.foo.bar, http://www.f-o-o.bar");
-        scopeFieldElement.appendChild(document.createTextNode("scope"));
-
+        // get add-realm custom config parameters from rc file, use attributes to generate form input fields
+        String[] attributesArray = { "name", "value", "samplevalue", "required", "hidden" };
+        ResourceConfiguration rc = getConfiguration();
+        Document customConfigDoc = rc.getCustomConfiguration();
+        Element rootCustomConfigDocElement = customConfigDoc.getDocumentElement();
+        NodeList nodeList = rootCustomConfigDocElement.getChildNodes();
+        for (int i = 0; i < nodeList.getLength(); i++) {
+            org.w3c.dom.Node node = nodeList.item(i);
+            Element fieldElement = (Element) inputFieldsElement.appendChild(document.createElementNS(NAMESPACE, "input"));
+            NamedNodeMap attributes = node.getAttributes();
+            org.w3c.dom.Node attribute = null;
+            String nameAttribute = null;
+            for (int j = 0; j < attributesArray.length; j++) {
+            	attribute = attributes.getNamedItem(attributesArray[j]);
+            	if (attribute != null) {
+            		if (("name").equals(attributesArray[j])) {
+            			nameAttribute = attribute.getNodeValue();
+                	}
+            		fieldElement.setAttributeNS(NAMESPACE, attributesArray[j], attribute.getNodeValue());
+            	}
+            	attribute = null;
+            }
+            fieldElement.appendChild(document.createTextNode(nameAttribute));
+        }
         return document;
     }
+    
 }




More information about the Yanel-commits mailing list