[wsas-java-dev] svn commit r2728 - in trunk/wsas/java/modules:
admin/src/org/wso2/wsas/admin/service www/extensions/core/js
www/extensions/core/xslt
svn at wso2.org
svn at wso2.org
Wed May 16 04:26:04 PDT 2007
Author: chamil
Date: Wed May 16 04:25:35 2007
New Revision: 2728
Modified:
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/DataServiceAdmin.java
trunk/wsas/java/modules/www/extensions/core/js/data_service.js
trunk/wsas/java/modules/www/extensions/core/xslt/list_services.xsl
Log:
Adding in the code to save a new data service.
Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/DataServiceAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/DataServiceAdmin.java (original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/DataServiceAdmin.java Wed May 16 04:25:35 2007
@@ -18,17 +18,20 @@
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
+import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXBuilder;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.AxisService;
import org.apache.commons.logging.Log;
@@ -91,17 +94,52 @@
// list all the available modules
public void saveDataServiceContents(String serviceId, String configContents) throws AxisFault {
AxisService axisService = getAxisConfig().getService(serviceId);
- String fileParth =
- (String) axisService.getParameter(DBConstants.DB_SERVICE_CONFIG_FILE).getValue();
+ if (axisService == null) {
+ // New service
+ String axis2RepoDirectory = this.configCtx.getAxisConfiguration().getRepository().getPath();
+ String repoDirectory = (String)this.configCtx.getProperty(DBConstants.DB_SERVICE_REPO);
+ String fileExtension = (String)this.configCtx.getProperty(DBConstants.DB_SERVICE_EXTENSION);
+ String filePath = axis2RepoDirectory + File.separator + repoDirectory + File.separator + serviceId + "." + fileExtension;
+ try {
+ File file = new File(filePath);
+ file.createNewFile();
+ BufferedWriter out = new BufferedWriter(new FileWriter(filePath));
+ out.write(configContents);
+ out.close();
+ } catch (IOException e) {
+ throw new AxisFault(
+ "Error while writing the contents for the service config file for the new service "
+ + serviceId, e);
+ }
+ } else {
+ String filePath =
+ (String) axisService.getParameter(DBConstants.DB_SERVICE_CONFIG_FILE).getValue();
+ try {
+ BufferedWriter out = new BufferedWriter(new FileWriter(filePath));
+ out.write(configContents);
+ out.close();
+ } catch (IOException e) {
+ throw new AxisFault(
+ "Error while writing the contents from the service config file for service "
+ + serviceId, e);
+ }
+ }
+ }
+
+ public OMElement echoDataElement(String dataElement) throws AxisFault{
+
+ OMElement returnEle = null;
try {
- BufferedWriter out = new BufferedWriter(new FileWriter(fileParth));
- out.write(configContents);
- out.close();
- } catch (IOException e) {
+ XMLStreamReader xmlSR =
+ StAXUtils.createXMLStreamReader(new ByteArrayInputStream(dataElement
+ .getBytes()));
+
+ returnEle = new StAXOMBuilder(xmlSR).getDocumentElement();
+ // new BufferedReader(new InputStreamReader(
+ } catch (Exception e) {
throw new AxisFault(
- "Error while writing the contents from the service config file for service "
- + serviceId, e);
+ "Error while converting the contents echoed to an OMElement", e);
}
-
+ return returnEle;
}
}
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 Wed May 16 04:25:35 2007
@@ -10,48 +10,58 @@
var curDataServiceOutputMappingType = null;
-function createCSNode(nodeName){
- var newObj = null;
- if (isIE()) {
- newObj = new ActiveXObject("Microsoft.XmlDom");
- var sXml = "<" + nodeName + "></" + nodeName + ">";
- newObj.loadXML(sXml);
- } else {
- newObj =
- document.implementation.createDocument("", nodeName, null);
- }
- return newObj;
-}
-
function addNewDataService(){
var getDSNamePrompt = "Enter the name of the data service"
var tempValue = window.prompt(getDSNamePrompt);
if (tempValue == '' || tempValue == null) {
return false;
}
- curDataServiceName = tempValue;
- var newDataObject = createCSNode("return");
-
-// newDataObject.appendChild(document.createElement("data"));
+
+ serviceSpecificName = tempValue;
+ curDataServiceName = tempValue; // TODO : This needs to be removed when cleaning up.
+ var newDataObject = document.createElement("return");
- var dataRowObj = createCSNode("data");
-// dataRowObj.setAttribute("name", tempValue);
- var configRowObj = createCSNode("config");
+ var dataRowObj = document.createElement("data");
+ dataRowObj.setAttribute("name", tempValue);
- //dataRowObj.appendChild(configRowObj);
+ var configRowObj = document.createElement("config");
- //newDataObject.appendChild(dataRowObj);
-
-
-
-
- dataServiceObj = newDataObject;
- alert(prettyPrintDOMNode(dataServiceObj));
- //refreshDataServiceScreen();
+ dataRowObj.appendChild(configRowObj);
+
+ newDataObject.appendChild(dataRowObj);
+
+ var tempDataServiceObj = document.createElement("temp");
+ tempDataServiceObj.appendChild(newDataObject);
+ addNewDataServiceEchoDataElement(tempDataServiceObj);
+ //refreshDataServiceScreen();
}
+
+function addNewDataServiceEchoDataElement(tempDataServiceObj) {
+ //alert(prettyPrintDOMNode(dataServiceObj.getElementsByTagName("data").item(0), "", " ", true));
+ var dataServiceContents = prettyPrintDOMNode(tempDataServiceObj.getElementsByTagName("data").item(0), "", " ", true);
+ var body_xml = '<req:echoDataElement xmlns:req="http://org.apache.axis2/xsd">\n' +
+ ' <arg0><![CDATA[' + dataServiceContents +']]></arg0>\n' +
+ ' </req:echoDataElement>\n';
+
+ var callURL = serverURL + "/" + "DataServiceAdmin" + "/echoDataElement" ;
+
+ //send("getAxisConfigData", body_xml, "data_service.xsl", callURL, document.getElementById("divDataServiceDetails"), false);
+ send("echoDataElement", body_xml, "", callURL, "", false, addNewDataServiceEchoDataElementCallback);
+}
+
+function addNewDataServiceEchoDataElementCallback(){
+ if (!onError()) {
+ return;
+ }
+
+ dataServiceObj = xhReq.responseXML.getElementsByTagName("return").item(0);
+ refreshDataServiceScreen();
+}
+
+
function configureDataservice(serviceName){
curDataServiceName = serviceName;
@@ -119,11 +129,16 @@
alert(xmlSerializerToString(dataObj));*/
dataServiceObj = xhReq.responseXML.getElementsByTagName("return").item(0);
refreshDataServiceScreen();
+
}
function refreshDataServiceScreen(){
callbackhelper("data_service.xsl",document.getElementById("divDataServiceDetails"));
+ //alert(prettyPrintDOMNode(dataServiceObj));
+ //var opDivObj = document.getElementById("divDataServiceDetails");
+ //processXML(dataServiceObj, "data_service.xsl", opDivObj);
+ //showOnlyOneMain(opDivObj);
showDataServiceHeader(document.getElementById('dataServiceHeader'));
}
@@ -372,7 +387,7 @@
queryEle.appendChild(sqlEle);
queryEle.appendChild(resultEle);
- dataServiceObj.getElementsByTagName("query").item(0).appendChild(queryEle);
+ dataServiceObj.getElementsByTagName("data").item(0).appendChild(queryEle);
dataServiceQueryObj = queryEle;
refresEditDataServiceQueryScreen();
@@ -405,4 +420,7 @@
}
// Return null if no node is found with the given attribute.
return null;
-}
\ No newline at end of file
+}
+
+
+
Modified: trunk/wsas/java/modules/www/extensions/core/xslt/list_services.xsl
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/xslt/list_services.xsl (original)
+++ trunk/wsas/java/modules/www/extensions/core/xslt/list_services.xsl Wed May 16 04:25:35 2007
@@ -41,7 +41,7 @@
</div>
</fieldset>
- <!-- <div>
+ <div>
<label><a alt="Add New">
<xsl:attribute name="title">Add new Dataservice</xsl:attribute>
<xsl:attribute name="href">#</xsl:attribute>
@@ -49,7 +49,7 @@
<xsl:attribute name="onclick">javascript:addNewDataService();return false;</xsl:attribute>
<xsl:text>    New Dataservice</xsl:text>
</a></label>
- </div>-->
+ </div>
</xsl:template>
<xsl:template name="serviceUploadTemplate">
More information about the Wsas-java-dev
mailing list