I am apologize. I forget jdbcClient.java
package restletdatasourcespackage;



import org.antlr.stringtemplate.StringTemplate;
import org.json.JSONException;
import org.json.JSONObject;
import org.restlet.Client;



import org.restlet.data.Preference;
import org.restlet.data.Request;
import org.restlet.data.Response;
import java.io.File;
import java.io.IOException;







import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;


import org.restlet.data.MediaType;
import org.restlet.data.Protocol;
import org.restlet.representation.ObjectRepresentation;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;


import restletconfigurationpackage.Configuration;
import restletutilitiespackage.IOClass;
import restletutilitiespackage.Service;

import org.restlet.ext.jdbc.JdbcClientHelper;
import org.restlet.ext.jdbc.JdbcResult;

import org.restlet.ext.jdbc.RowSetRepresentation;





import java.util.logging.Level;
import java.util.logging.Logger;

import javax.sql.rowset.WebRowSet;



/**
 * <b>To access to a database</b>
 * <p>
 * Provides methods to open, request and close a database connection <br />
 * DatabaseConnection object is characterized by the following information:
 * <ul>
 * <li>A Connection object</li>
 * <li>A Statement object</li>
 * <li>A boolean to know if the connection is started or not</li>
 * <li>An JdbcClientConfiguration object to provide information about "how to
 * connect"</li>
 * </ul>
 * </p>
 */

public class JdbcClient {

        
        private JdbcClientConfiguration jdbcConfiguration;
        private Configuration configuration;
        private IOClass ioClass;
  

        // private Configuration configuration;

        /**
         * Constructor JdbcClient
         * <p>
         * Creates a new DatabaseConnection object with the specified 
Configuration
         * object
         * </p>
         * 
         */

        public JdbcClient(Configuration configuration) {
                this.configuration = configuration;
                ioClass = new IOClass(configuration);

        }

        
        
        
        
        /**
         * Creates and sends the query using pool connection
         * 
         * @param query
         *            the SQL query
         * @return the result of the request
         * @throws JSONException 
         */
        
        
        



public ResultSet performRequest(Service service, String query) {
                
                StringTemplate queryTemplate = new StringTemplate(ioClass
                                .loadFile(new 
File(configuration.getUrlXMLTemplateQuery())));

                jdbcConfiguration = service.getJdbcClientConfiguration();

                // Makes the SQL query
                queryTemplate.setAttribute("user", jdbcConfiguration.getUser());
                queryTemplate.setAttribute("password", 
jdbcConfiguration.getPassword());
                queryTemplate.setAttribute("query", query);
                
                

                ResultSet result=null;
                Client client = new Client(Protocol.JDBC);
                JdbcClientHelper helper = new JdbcClientHelper(client);
                
                
                try {
                        Class.forName(jdbcConfiguration.getDriver());
                } catch (ClassNotFoundException e) {
                        
Logger.getLogger(JdbcClient.class.getName()).log(Level.SEVERE,
                                        "ERROR: Can not find the driver", e);

                }
                Representation req = new 
StringRepresentation(queryTemplate.toString()
                                , MediaType.TEXT_XML);
                
        Request request=JdbcClientHelper.create(jdbcConfiguration.getURL(),
                                req);
                
        request.getClientInfo().getAcceptedMediaTypes()   
   .add(new Preference(MediaType.TEXT_PLAIN));
        Response response = new Response(request);
        helper.handle(request, response);
        
        
        
        //RowSetRepresentation output =
        //      (RowSetRepresentation)response.getEntity();
        /*RowSetRepresentation output =
                        (RowSetRepresentation)response.getEntity();     
                                try {
                                        
                                        JdbcResult jdbcResult =
                 (JdbcResult)output.getJdbcResult();
                                         result = jdbcResult.getResultSet();

                                } catch (SQLException e) {
                                                                
e.printStackTrace();
                                                        }
        */
        
                
        Connection con=null;
        try {
                con = DriverManager.getConnection(
                                jdbcConfiguration.getURL(), 
jdbcConfiguration.getUser(),
                                jdbcConfiguration.getPassword());
        
        } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
        
        PreparedStatement stmt =null;
         //Statement stmt=null;
        
        
        try {
                stmt = con.prepareStatement(query);
                //con.prepareStatement (query);
        } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }
        try {
                //stmt.execute();
                //result=stmt.getResultSet();
                
                result=stmt.executeQuery();
                
                
                
                
        } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
        
 
                /*Response response = new Response(request);
                        helper.handle(request, response)*/
                  // response.setEntity(req);
                //      WebRowSet rowSet= ((RowSetRepresentation) 
response.getEntity())
                        //.getWebRowSet();
                        
                                
                        /*RowSetRepresentation rset = new 
RowSetRepresentation(rowSet); 
        
                
                                
                                
//rowSet.setType(WebRowSet.TYPE_SCROLL_SENSITIVE);
                        
                                                                
                                //} catch(Exception e) {
                        
                                
                                /*      Logger
                                        .getLogger(JdbcClient.class.getName())
                                        .log(
                                                        Level.SEVERE,
                                                        "ERROR: Can not cast 
the result from WebRowSet to ResultSet",e);
                                                        
                                }*/
                        
                        //}
        
        
        return result;
        }
        

        }       
                        


                        
                                
                        

                
                        
                        
                

                                
                                
                                
                                
                                
                        
        
        

Reply via email to