[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