summaryrefslogtreecommitdiffstats
path: root/tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java')
-rw-r--r--tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java168
1 files changed, 0 insertions, 168 deletions
diff --git a/tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java b/tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java
deleted file mode 100644
index 708fd88b38..0000000000
--- a/tags/java-M1-20060522/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.das.rdb.impl;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.das.rdb.config.Config;
-import org.apache.tuscany.das.rdb.config.ConnectionProperties;
-import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper;
-import org.apache.tuscany.das.rdb.graphbuilder.impl.GraphBuilderMetadata;
-import org.apache.tuscany.das.rdb.graphbuilder.impl.ResultSetProcessor;
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-
-public class ReadCommandImpl extends CommandImpl {
-
- private Type schema;
-
- private int startRow = 1;
-
- private int endRow = Integer.MAX_VALUE;
-
- public ReadCommandImpl(String sqlString) {
- super(sqlString);
- }
-
- public ReadCommandImpl(String sqlString, Config mapping) {
- this(sqlString);
- if (mapping != null)
- setMappingModel(mapping);
- }
-
- //TODO - Need to refactor based on use of DataSource and CommandGroup
- public ReadCommandImpl(String sqlString, Config mapping, Connection connection) {
- this(sqlString);
- setConnection(connection);
- if (mapping != null)
- setMappingModel(mapping);
- }
-
- public void execute() {
- throw new UnsupportedOperationException();
- }
-
- public DataObject executeQuery() {
-
- if (statement.getConnection() == null)
- throw new RuntimeException("A DASConnection object must be specified before executing the query.");
-
- boolean success = false;
- try {
- ResultSet rs = statement.executeQuery(parameters);
- success = true;
- return buildGraph(rs);
- } catch (SQLException e) {
- throw new RuntimeException(e);
- } finally {
- if (success)
- statement.getConnection().cleanUp();
- else
- statement.getConnection().errorCleanUp();
- }
- }
-
- protected DataObject buildGraph(ResultSet result) throws SQLException {
-
- List results = new ArrayList();
- results.add(result);
-
- // Before we use the mappingModel, do some checking/updating. If
- // inferrable information
- // isn't specified, add it in.
-
- GraphBuilderMetadata gbmd = new GraphBuilderMetadata(results, getSchema(), configWrapper.getConfig(),
- resultSetShape);
-
- // Create the DataGraph
- DataGraph g = SDOUtil.createDataGraph();
-
- // Create the root object
- g.createRootObject(gbmd.getSchema());
-
- ChangeSummary summary = g.getChangeSummary();
-
- ResultSetProcessor rsp = new ResultSetProcessor(g.getRootObject(), gbmd);
- rsp.processResults(getStartRow(), getEndRow());
-
- summary.beginLogging();
-
- return g.getRootObject();
- }
-
- private Type getSchema() {
- return (Type) schema;
- }
-
- protected int getStartRow() {
- return startRow;
- }
-
- protected int getEndRow() {
- return endRow;
- }
-
- protected void setStartRow(int startRow) {
- this.startRow = startRow;
- }
-
- protected void setEndRow(int endRow) {
- this.endRow = endRow;
- }
-
- private void setMappingModel(Config config) {
- configWrapper = new MappingWrapper(config);
- //TODO - need to refactor and take into regression that lost ability to use Datasource
- if (getConnection() == null)
- if (config.getConnectionProperties() != null)
- setConnection(config.getConnectionProperties());
- }
-
- public void setConnection(ConnectionProperties c) {
- try {
- Connection connection = null;
- Class.forName(c.getDriverClassName());
- if (c.getDriverUserName() == null)
- connection = DriverManager.getConnection(c.getDriverURL());
- else
- connection = DriverManager.getConnection(c.getDriverURL(), c.getDriverUserName(), c
- .getDriverPassword());
- connection.setAutoCommit(false);
- setConnection(connection);
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
-
- public void setDataObjectModel(Type schema) {
- this.schema = schema;
- }
-
- protected void enablePaging() {
- statement.enablePaging();
- }
-
-}