[Yanel-commits] rev 23673 - public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Wed Apr 11 22:49:55 CEST 2007


Author: michi
Date: 2007-04-11 22:49:54 +0200 (Wed, 11 Apr 2007)
New Revision: 23673

Modified:
   public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java
Log:
validation finished

Modified: public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java
===================================================================
--- public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java	2007-04-11 20:47:01 UTC (rev 23672)
+++ public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java	2007-04-11 20:49:54 UTC (rev 23673)
@@ -197,6 +197,8 @@
         parameterElement = (Element) fromScratchElement.appendChild(doc.createElementNS(NAMESPACE, "parameter"));
         parameterElement.setAttributeNS(NAMESPACE, "name", para.name);
         parameterElement.setAttributeNS(NAMESPACE, "sample-value", para.sampleValue);
+        parameterElement.setAttributeNS(NAMESPACE, "required", "" + para.required);
+        parameterElement.setAttributeNS(NAMESPACE, "hidden", "" + para.hidden);
         if (request.getParameter("submit-from-scratch") != null) {
             String realmIdValue = request.getParameter("realmid");
             if (realmIdValue != null) {
@@ -217,6 +219,22 @@
         parameterElement = (Element) fromScratchElement.appendChild(doc.createElementNS(NAMESPACE, "parameter"));
         parameterElement.setAttributeNS(NAMESPACE, "name", para.name);
         parameterElement.setAttributeNS(NAMESPACE, "sample-value", para.sampleValue);
+        parameterElement.setAttributeNS(NAMESPACE, "required", "" + para.required);
+        parameterElement.setAttributeNS(NAMESPACE, "hidden", "" + para.hidden);
+        if (request.getParameter("submit-from-scratch") != null) {
+            String realmNameValue = request.getParameter("realmname");
+            if (realmNameValue != null) {
+                valid = valid && validateRealmName(realmNameValue);
+                if (validateRealmName(realmNameValue)) {
+                    parameterElement.setAttributeNS(NAMESPACE, "value", realmNameValue);
+                } else {
+                    parameterElement.setAttributeNS(NAMESPACE, "exception", "Something is really wrong ...!");
+                }
+            } else {
+                parameterElement.setAttributeNS(NAMESPACE, "exception", "NullPointer");
+                valid = valid && false;
+            }
+        }
 
         // Parameter "fslocation"
         para = getParameterFromResourceConfig("fslocation");
@@ -226,12 +244,40 @@
         parameterElement.setAttributeNS(NAMESPACE, "required", "" + para.required);
         parameterElement.setAttributeNS(NAMESPACE, "hidden", "" + para.hidden);
         if (para.setValue != null) {
+            String configurationValue = null;
             if (para.setValue.length() == 0) {
-                parameterElement.setAttributeNS(NAMESPACE, "configuration-value", getYanel().getRealmConfiguration().getRealm("from-scratch-realm-template").getRootDir().getParent());
+                configurationValue = getYanel().getRealmConfiguration().getRealm("from-scratch-realm-template").getRootDir().getParent();
             } else {
-                parameterElement.setAttributeNS(NAMESPACE, "configuration-value", para.setValue);
+                configurationValue = para.setValue;
             }
+            parameterElement.setAttributeNS(NAMESPACE, "configuration-value", configurationValue);
+            valid = valid && validateFSLocation(configurationValue);
+            if (!validateFSLocation(configurationValue)) {
+                parameterElement.setAttributeNS(NAMESPACE, "exception", "Something is completely wrong ...!");
+            }
+        } else {
+            if (request.getParameter("submit-from-scratch") != null) {
+                String fsLocationValue = request.getParameter("fslocation");
+                if (fsLocationValue != null) {
+                    valid = valid && validateFSLocation(fsLocationValue);
+                    if (validateFSLocation(fsLocationValue)) {
+                        parameterElement.setAttributeNS(NAMESPACE, "value", fsLocationValue);
+                    } else {
+                        parameterElement.setAttributeNS(NAMESPACE, "exception", "Something is absolutely wrong ...!");
+                    }
+                } else {
+                    parameterElement.setAttributeNS(NAMESPACE, "exception", "NullPointer");
+                    valid = valid && false;
+                }
+            }
         }
+
+        if (valid) {
+            fromScratchElement.appendChild(doc.createElementNS(NAMESPACE, "valid"));
+        } else {
+            fromScratchElement.appendChild(doc.createElementNS(NAMESPACE, "not-valid"));
+        }
+
         return doc;
     }
 
@@ -266,6 +312,15 @@
             if (required != null) {
                 para.required = required.getBooleanValue();
             }
+
+            org.jdom.xpath.XPath hiddenXPath = org.jdom.xpath.XPath.newInstance("/yanel:custom-config/arr:parameter[@name='" + name + "']/@hidden");
+            hiddenXPath.addNamespace("yanel", "http://www.wyona.org/yanel/rti/1.0");
+	    hiddenXPath.addNamespace("arr", "http://www.wyona.org/yanel/resource/add-realm-resource/1.0");
+            org.jdom.Attribute hidden = (org.jdom.Attribute) hiddenXPath.selectSingleNode(jdomDocument);
+            if (hidden != null) {
+                para.hidden = hidden.getBooleanValue();
+            }
+
             return para;
         } catch (Exception e) {
             return null;
@@ -280,4 +335,22 @@
         // TODO: Check for whitespace ...
         return true;
     }
+
+    /**
+     *
+     */
+    private boolean validateRealmName(String value) {
+        if (value.length() < 1) return false;
+        // TODO: Check for whitespace ...
+        return true;
+    }
+
+    /**
+     *
+     */
+    private boolean validateFSLocation(String value) {
+        if (value.length() < 1) return false;
+        if (!new File(value).isDirectory()) return false;
+        return true;
+    }
 }




More information about the Yanel-commits mailing list