[wsas-java-dev] svn commit r2528 - in trunk/wsas/java/modules/www/extensions/core: js xslt

svn at wso2.org svn at wso2.org
Sun May 13 14:04:25 PDT 2007


Author: chamil
Date: Sun May 13 14:04:18 2007
New Revision: 2528

Modified:
   trunk/wsas/java/modules/www/extensions/core/js/data_service.js
   trunk/wsas/java/modules/www/extensions/core/xslt/data_service.xsl
   trunk/wsas/java/modules/www/extensions/core/xslt/data_service_add_query.xsl
Log:
Adding the property handling code.

Modified: trunk/wsas/java/modules/www/extensions/core/js/data_service.js
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/js/data_service.js	(original)
+++ trunk/wsas/java/modules/www/extensions/core/js/data_service.js	Sun May 13 14:04:18 2007
@@ -71,8 +71,14 @@
     var dataObj = xhReq.responseXML.getElementsByTagName("data").item(0);
     alert(xmlSerializerToString(dataObj));*/
     dataServiceObj = xhReq.responseXML.getElementsByTagName("return").item(0);
-    callbackhelper("data_service.xsl",document.getElementById("divDataServiceDetails"));
+	refreshDataServiceScreen();
+}
+
+
+function refreshDataServiceScreen(){
+	callbackhelper("data_service.xsl",document.getElementById("divDataServiceDetails"));
     showDataServiceHeader(document.getElementById('dataServiceHeader'));
+	
 }
 
 function addConfigParameter(){
@@ -80,6 +86,23 @@
     if (newParam != null) {
     	dataServiceObj.getElementsByTagName("config").item(0).appendChild(createPropelement(newParam[0], newParam[1]));
     }
+    refreshDataServiceScreen();
+}
+
+function addNewInputMapping(){
+	var newParam = getUserInput();
+    if (newParam != null) {
+    	dataServiceQueryObj.appendChild(createInputMappingElement(newParam[0], newParam[1]));
+    }
+    refresEditDataServiceQueryScreen();
+}
+
+function addNewOutputMapping(){
+	var newParam = getUserInput();
+    if (newParam != null) {
+    	dataServiceQueryObj.getElementsByTagName("result").item(0).appendChild(createOutputMappingElement(newParam[0], newParam[1]));
+    }
+    refresEditDataServiceQueryScreen();
 }
 
 function displayAddDataServiceOperation(){
@@ -159,12 +182,26 @@
 
 function createPropelement(propName, propValue){
 	var propObj = document.createElement("property");
-	property.appendChild(document.createTextNode(propValue));
-	property.setAttribute(propName);
+	propObj.appendChild(document.createTextNode(propValue));
+	propObj.setAttribute("name", propName);
 	return propObj;
 }
 
 
+function createInputMappingElement(elementName, sqlType){
+	var imElement = document.createElement("prop");
+	imElement.setAttribute("name", elementName);
+	imElement.setAttribute("sqlType", sqlType);
+	return imElement;
+}
+
+function createOutputMappingElement(elementName, dataColumn){
+	var imElement = document.createElement("element");
+	imElement.setAttribute("name", elementName);
+	imElement.setAttribute("column", dataColumn);
+	return imElement;
+}
+
 function showGeneratedConfigFile(){
 	var finalScreenHTML = '<h4><a href="#" onClick="javascript:showServiceInitializer(); return false;">Services</a>&#160;&gt;&#160;<xsl:value-of select="return/name"/></h4>' +
      	'<div id="formset">' +
@@ -183,7 +220,7 @@
         '</fieldset>';
     var dataServiceConfigDiv = document.getElementById("divDataServiceDisplayConfig");
 	dataServiceConfigDiv.innerHTML = finalScreenHTML;
-	document.getElementById("txtDataServiceReviewBox").value = prettyPrintDOMNode(dataServiceObj);
+	document.getElementById("txtDataServiceReviewBox").value = prettyPrintDOMNode(dataServiceObj, "", "", "    ");
 	showOnlyOneMain(dataServiceConfigDiv);
 }
 
@@ -194,16 +231,19 @@
 	//alert(typeof dataServiceQueryObj);
 //	alert(prettyPrintDOMNode(dataServiceQueryObj));
 
+	refresEditDataServiceQueryScreen();
+	showOnlyOneMain(document.getElementById('divDataServiceAddQuery'));
+    
+}
+
+
+function refresEditDataServiceQueryScreen(){
 	var quDivObj = document.getElementById("divDataServiceAddQuery");
     processXML(dataServiceQueryObj, "data_service_add_query.xsl", quDivObj);
-    showOnlyOneMain(quDivObj);
     
     showDataServiceQueryHeader(document.getElementById('dataServiceAddQueryHeader'));
-    
 }
 
-
-
 function getNodeWithPropertyFromCollection(objCollection, propName, propValue){
 	for (var i=0;i<objCollection.length;i++){
 		var curr = objCollection.item(i);

Modified: trunk/wsas/java/modules/www/extensions/core/xslt/data_service.xsl
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/xslt/data_service.xsl	(original)
+++ trunk/wsas/java/modules/www/extensions/core/xslt/data_service.xsl	Sun May 13 14:04:18 2007
@@ -26,7 +26,7 @@
                 	</xsl:for-each>
                 	<div class="buttonrow">
                 			<label></label><input type="button" value="Add New">
-                				<xsl:attribute name="onclick">javascript:alert("Add new configuration peoperty");return false;</xsl:attribute>
+                				<xsl:attribute name="onclick">javascript:addConfigParameter();return false;</xsl:attribute>
                 			</input>
                 	</div>
                             	</fieldset>

Modified: trunk/wsas/java/modules/www/extensions/core/xslt/data_service_add_query.xsl
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/xslt/data_service_add_query.xsl	(original)
+++ trunk/wsas/java/modules/www/extensions/core/xslt/data_service_add_query.xsl	Sun May 13 14:04:18 2007
@@ -3,17 +3,19 @@
 
     <xsl:template match="*">
         <h4><div id="dataServiceAddQueryHeader"></div></h4>
+        <h2>Data Service Management - Add Query</h2>
         <fieldset style="border:none;">
      	<div id="formset">
-           <xsl:for-each select="query">
+<!--             <xsl:for-each select="query">-->
             <form>
                 <fieldset>
-                    <legend>Data Service Management - Add Query</legend>
+                    <legend>General</legend>
                     <div>
                     	<label>SQL Statement</label>
                        	<input type="text">
                        	<xsl:attribute name="size">50</xsl:attribute>
                        	<xsl:attribute name="id">txtDataServiceSQL</xsl:attribute>
+                       	<xsl:attribute name="value"><xsl:value-of select="sql"/></xsl:attribute>
                        	</input>
                     </div>
                     <div>
@@ -21,6 +23,7 @@
                        	<input type="text">
                        	<xsl:attribute name="size">50</xsl:attribute>
                        	<xsl:attribute name="id">txtDataServiceWrapElement</xsl:attribute>
+                       	<xsl:attribute name="value"><xsl:value-of select="result/@element"/></xsl:attribute>
                        	</input>
                     </div>
                     <div>
@@ -28,43 +31,63 @@
                        	<input type="text">
                        	<xsl:attribute name="size">50</xsl:attribute>
                        	<xsl:attribute name="id">txtDataServiceRowName</xsl:attribute>
+                       	<xsl:attribute name="value"><xsl:value-of select="result/@rowName"/></xsl:attribute>
                        	</input>
                     </div>
-                    <div><h4>Input Mapping</h4></div>
+                </fieldset>
+                <fieldset>
+                    <legend>Input Mapping</legend>
+					<table class="styled" width="50%">
+						<thead>
+							<tr>
+								<th>Name</th>
+								<th>SQL Type</th>
+							</tr>
+						</thead>
 					<xsl:for-each select="param">
-						<div>
-							<label>Name : <xsl:value-of select="@name"/> </label>
-							<label>SQL Type : <xsl:value-of select="@sqlType"/></label>
-						</div>
+						<tr>
+							<td><xsl:value-of select="@name"/> </td>
+							<td><xsl:value-of select="@sqlType"/></td>
+						</tr>
                 	</xsl:for-each>
+                	</table>
                 	<div class="buttonrow">
                 		<label></label>
                 		<input type="button" value="Add New">
                 				<xsl:attribute name="onclick">javascript:alert("Add new Input Mapping");return false;</xsl:attribute>
                 		</input>
                 	</div>
-					<div><h4>Output Mapping</h4></div>
+                </fieldset>
+                <fieldset>
+					<legend>Output Mapping</legend>
+					<table class="styled" width="50%">
+						<thead>
+							<tr>
+								<th>Output Field Name</th>
+								<th>Column Name</th>
+							</tr>
+						</thead>
 					<xsl:for-each select="result/element">
-						<div>
-							<label>Name : <xsl:value-of select="@name"/> </label>
-							<label>Column Name : <xsl:value-of select="@column"/></label>
-						</div>
+						<tr>
+							<td><xsl:value-of select="@name"/> </td>
+							<td><xsl:value-of select="@column"/></td>
+						</tr>
                 	</xsl:for-each>
+                	</table>
                 	<div class="buttonrow">
-                		<label></label>
                 		<input type="button" value="Add New">
                 				<xsl:attribute name="onclick">javascript:addNewOutputMapping();return false;</xsl:attribute>
                 		</input>
                 	</div>
-                	<div class="buttonrow">
+                  </fieldset>
+              </form>        
+<!--           </xsl:for-each> --> 
+		</div>
+		            <div class="buttonrow">
                 			<label></label><input type="button" value="Done">
                 				<xsl:attribute name="onclick">javascript:addDataServiceOperation();;return false;</xsl:attribute>
                 			</input>
                 	</div>
-                  </fieldset>
-              </form>        
-           </xsl:for-each>
-		</div>
         </fieldset>
     </xsl:template>
 </xsl:stylesheet>




More information about the Wsas-java-dev mailing list