[Ds-java-dev] svn commit r17515 -
trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice
sumedha at wso2.com
sumedha at wso2.com
Wed May 28 05:33:44 PDT 2008
Author: sumedha
Date: Wed May 28 05:33:43 2008
New Revision: 17515
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=17515
Log:
Throwing AxisFault instead of custom xml response.Reading string literals from DBConstant file
Modified:
trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java
trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java
Modified: trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java
URL: http://wso2.org/svn/browse/wso2/trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java?rev=17515&r1=17514&r2=17515&view=diff
==============================================================================
--- trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java (original)
+++ trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java Wed May 28 05:33:43 2008
@@ -45,7 +45,16 @@
public static final String QUERYLEVEL_NAMESPACE_MAP = "org.wso2.ws.dataservice.querylevelnamespacemap";
public static final String RESULT_PREFIX = "data";
-
+ //Element names used in response creation
+ //General elements
+ public static final String DATA_ELEMENT = "data";
+
+ //Fault related elements
+ public static final String FAULT_ELEMENT = "fault";
+ public static final String FAULT_CODE_ELEMENT = "code";
+ public static final String FAULT_DETAIL_ELEMENT = "detail";
+
+
public interface DataTypes{
public static final String CHAR = "CHAR";
public static final String STRING = "STRING";
Modified: trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java
URL: http://wso2.org/svn/browse/wso2/trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java?rev=17515&r1=17514&r2=17515&view=diff
==============================================================================
--- trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java (original)
+++ trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java Wed May 28 05:33:43 2008
@@ -88,7 +88,7 @@
}
private static OMElement processSQLQuery(OMElement operationElement, AxisService axisService,
- OMElement inputMessage) {
+ OMElement inputMessage) throws AxisFault{
HashMap inputs = new HashMap();
for (Iterator iter = inputMessage.getChildElements(); iter.hasNext();) {
OMElement element = (OMElement) iter.next();
@@ -101,7 +101,7 @@
}
private static OMElement getRDBMSResult(OMElement callQueryElement, AxisService axisService,
- HashMap inputs,int queryLevel) {
+ HashMap inputs,int queryLevel) throws AxisFault{
OMElement resultElement = null;
OMElement queryElement ;
try {
@@ -170,9 +170,10 @@
,paramOrder,originalParamNames,paramType, axisService,queryLevel);
}
- } catch (Exception e) {
+ } catch (AxisFault e) {
log.error("Error occured", e);
- return generateErrorResponse(axisService.getTargetNamespace(), (AxisFault)e);
+ //return generateErrorResponse(axisService.getTargetNamespace(), (AxisFault)e);
+ throw e;
}
return resultElement;
}
@@ -188,15 +189,15 @@
e.printStackTrace(pw);
OMFactory fac = OMAbstractFactory.getOMFactory();
- OMNamespace omNs = fac.createOMNamespace(targetNamespace, "data");
+ OMNamespace omNs = fac.createOMNamespace(targetNamespace, DBConstants.DATA_ELEMENT);
- OMElement resultElement = fac.createOMElement("data", omNs);
+ OMElement resultElement = fac.createOMElement(DBConstants.DATA_ELEMENT, omNs);
//TODO : read from query/fault
- OMElement faultElement = fac.createOMElement("fault",null);
+ OMElement faultElement = fac.createOMElement(DBConstants.FAULT_CODE_ELEMENT,null);
- OMElement codeElement = fac.createOMElement("code", omNs);
+ OMElement codeElement = fac.createOMElement(DBConstants.FAULT_CODE_ELEMENT, omNs);
codeElement.setText(e.getMessage());
- OMElement detailElement = fac.createOMElement("detail", omNs);
+ OMElement detailElement = fac.createOMElement(DBConstants.FAULT_DETAIL_ELEMENT, omNs);
detailElement.setText(sw.toString());
faultElement.addChild(codeElement);
@@ -755,7 +756,10 @@
} catch (SQLException e) {
log.error("["+axisService.getName()+"] Exception occurred while trying to execute the SQL statement : "+sqlQuery, e);
- throw new AxisFault("["+axisService.getName()+"] Exception occurred while trying to execute the SQL statement : "+sqlQuery, e);
+ throw new AxisFault("["+axisService.getName()
+ +"] Exception occurred while trying to execute the SQL statement : "
+ +sqlQuery
+ +".Message from the server is : "+e.getMessage());
}
@@ -794,20 +798,23 @@
OMElement inputMessage = msgContext.getEnvelope().getBody().getFirstElement();
OMElement operationElement =
(OMElement) (axisOp.getParameterValue(DBConstants.DB_OPERATION_ELEMENT));
+ OMElement responseElement;
if(DBConstants.DATASOURCE_TYPE_CSV.equals((String)axisService.getParameterValue(
DBConstants.DATASOURCE_TYPE))){
- return DBUtils.processCSVQuery(operationElement, axisService, inputMessage);
+ responseElement = DBUtils.processCSVQuery(operationElement, axisService, inputMessage);
}
else if(DBConstants.DATASOURCE_TYPE_EXCEL.equals((String)axisService.getParameterValue(
DBConstants.DATASOURCE_TYPE))){
- return processExcelQuery(operationElement, axisService, inputMessage);
+ responseElement = processExcelQuery(operationElement, axisService, inputMessage);
}
else{//default is RDBMS (JNDI Data source falls under this too)
- return DBUtils.processSQLQuery(operationElement, axisService, inputMessage);
- }
+ responseElement = DBUtils.processSQLQuery(operationElement, axisService, inputMessage);
+ }
+ return responseElement;
}
+
/*
* Check for CSV & Excel reader library availability
*/
More information about the Ds-java-dev
mailing list