[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