From dd1ba9ad320e297f1acf1027604a368f1ddbde6c Mon Sep 17 00:00:00 2001 From: Constantin Date: Mon, 14 Jun 2010 11:27:05 +0200 Subject: changed build system of java/ folder from makefile to ant (big compilation time improvement) --- java/rasj/test/TestHttp.java | 642 ------------------------------------------- 1 file changed, 642 deletions(-) delete mode 100644 java/rasj/test/TestHttp.java (limited to 'java/rasj/test/TestHttp.java') diff --git a/java/rasj/test/TestHttp.java b/java/rasj/test/TestHttp.java deleted file mode 100644 index aca0e40..0000000 --- a/java/rasj/test/TestHttp.java +++ /dev/null @@ -1,642 +0,0 @@ -/* -* This file is part of rasdaman community. -* -* Rasdaman community is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* Rasdaman community is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with rasdaman community. If not, see . -* -* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / -rasdaman GmbH. -* -* For more information please see -* or contact Peter Baumann via . -*/ -/************************************************************* - *
- *
- * PURPOSE:
- *
- *
- * COMMENTS:
- * - not part of the standard systemtest, because it does not use std
- *   interface but copies internal ras/clientcomm code
- * 
- *********************************************************** */ - -import rasj.*; -import rasj.odmg.*; -import org.odmg.*; -import rasj.global.*; - -import java.io.*; -import java.util.*; - -import java.lang.*; -import java.net.*; - -/** - * This class handles a HTTP-request to the RasDaMan server. - * The specified RasDaMan server is contacted, the specified command is sent to - * the server, and the result of the query is retrieved and stored in a byte array. - * The specification of the communication protocol is given below. - *

- * - * @version $Revision: 1.1 $ - */ - -public class TestHttp implements RasCommDefs, RasGlobalDefs -{ - - static final String rcsid = "@(#)Package rasj.test, class TestHttp: $Header: /home/rasdev/CVS-repository/rasdaman/java/rasj/test/TestHttp.java,v 1.1 2003/12/19 16:05:43 rasdev Exp $"; - - -/** - * The type of this client - */ - private String client = "RASCLIENT"; - -/** - * The result type ( MDD Collection, Skalar Collection, Error, Integer ). This field is set - * automatically when a query has been executed, so there's no setResultType method. - */ - private static byte resultType = 0; - -/** - * The result of the query -**/ - private static Object result = null; - - -/** - * This method sends a query to the RasDaMan Server and retrieves the results. - * - * @param con server connection - * @param parameters the parameters for the request as name/value pairs (for example "clientID=4354351&queryString=select img from test") - */ - public static void execute( String serverURL, String parameters ) - throws RasQueryExecutionFailedException, RasConnectionFailedException - { - System.out.println( "RasHttpRequest.execute: start. parameters=" + parameters ); - - BenchmarkTimer httpTimer = new BenchmarkTimer("httpRequest direct"); - BenchmarkTimer rcvTimer = new BenchmarkTimer("receive direct"); - - try - { - URL url = new URL( serverURL ); - - System.out.println( "RasHttpRequest.execute: sending to " + url + " POST request=" + parameters ); - - httpTimer.startTimer(); - - BenchmarkTimer sendTimer = new BenchmarkTimer("send direct"); - sendTimer.startTimer(); - - // Send the query - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.setRequestProperty("Content-type","application/octet-stream"); - con.setRequestProperty("User-Agent","RasDaMan Java Client"); - con.setRequestProperty("Version","1.0"); - con.setRequestMethod("POST"); - con.setDoInput(true); - con.setDoOutput(true); - con.setUseCaches(false); - - OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(),"8859_1"); - out.write(parameters,0,parameters.length()); - out.flush(); - out.close(); - - sendTimer.stopTimer(); - sendTimer.print(); - - rcvTimer.startTimer(); - - // Read response - BenchmarkTimer getInputTimer = new BenchmarkTimer("getInputStream direct"); - getInputTimer.startTimer(); - DataInputStream in = new DataInputStream(con.getInputStream()); - System.out.println("RasHttpRequest.execute: received " + in ); - getInputTimer.stopTimer(); - getInputTimer.print(); - - // read binData - // binData = new byte[dataSize]; - // readBytes = 0; - // readBytesTmp = 0; - // while( (readBytesTmp != -1) && (readBytes < dataSize) ) - // { - // readBytesTmp = in.read(binData,readBytes,dataSize-readBytes); - // readBytes += readBytesTmp; - // System.out.println("Read " + readBytesTmp +" Bytes:" + binData); - // } - // in.close(); - // con.disconnect(); - - /* variables for later use */ - byte[] b1 = new byte[1]; - byte[] b4 = new byte[4]; - byte endianess = 0; - String collType = null; - int numberOfResults = 0; - int dataSize = 0; - byte[] binData = null; - int readBytes = 0; - int readBytesTmp = 0; - DBag resultBag; - RasGMArray res = null; - - in.read(b1); - - resultType = b1[0]; - Debug.talkVerbose("RasHttpRequest.execute: resultType=" + resultType ); - switch( resultType ) - { - case RESPONSE_OK: - case RESPONSE_OK_NEGATIVE: - //Nothing todo - break; - - // +++++++++++++++++++++++++++++++++++++++++++++++++ - case RESPONSE_MDDS: - Debug.talkVerbose("RasHttpRequest.execute: result type is MDD." ); - // read Endianess - while(in.read(b1) == 0) - ; - endianess = b1[0]; - - // read Collection Type - collType = RasUtils.readString(in); - Debug.talkVerbose("RasHttpRequest.execute: colltype=" + collType); - - // read NumberOfResults - while(in.available() < 4) - ; - in.read(b4); - numberOfResults = RasUtils.ubytesToInt(b4,endianess); - Debug.talkVerbose("RasHttpRequest.execute: number of results: " + numberOfResults); - - // Initialize return-set and parameters - resultBag = new RasBag(); - String mddBaseType = null; - String domain = null; - String oid = ""; - RasOID roid = null; - - // do this for each result - for(int x = 0; x < numberOfResults; x++) - { - Debug.talkVerbose("RasHttpRequest.execute: handling result #" + (x+1) ); - //read mddBaseType - mddBaseType = RasUtils.readString(in); - - // read spatialDomain - domain = RasUtils.readString(in); - - // read OID - oid = RasUtils.readString(in); - //System.err.println("OID is " + oid); - roid = new RasOID(oid); - - // read size of binData - while(in.available() < 4) - ; - in.read(b4); - - dataSize = RasUtils.ubytesToInt(b4,endianess); - - Debug.talkVerbose("RasHttpRequest.execute: mddBaseType is " + mddBaseType + ", spatialDomain=" + domain + ", size of BinData=" + dataSize ); - - // read binData - binData = new byte[dataSize]; - readBytes = 0; - readBytesTmp = 0; - - while( (readBytesTmp != -1) && (readBytes < dataSize) ) - { - readBytesTmp = in.read(binData,readBytes,dataSize-readBytes); - readBytes += readBytesTmp; - } - - Debug.talkVerbose("RasHttpRequest.execute: read " + readBytes + " bytes."); - - RasType rType = RasType.getAnyType(mddBaseType); - //System.out.println(rType); - RasBaseType rb = null; - - if(rType.getClass().getName().equals("rasj.RasMArrayType")) - { - RasMArrayType tmp = (RasMArrayType)rType; - rb = tmp.getBaseType(); - } - else - { - Debug.talkCritical("RasHttpRequest.execute: exception: element of MDD Collection is no MArray" ); - throw new RasClientInternalException("RasHttpRequest","execute()","element of MDD Collection is no MArray"); - } - - if(rb.isBaseType()) - { - if(rb.isStructType()) - { - // It is a structType - //System.err.println("It is a structType"); - RasStructureType sType = (RasStructureType)rb; - //System.out.println(sType); - res = new RasGMArray(new RasMInterval(domain), 0); - res.setTypeLength(rb.getSize()); - res.setArraySize(dataSize); - res.setArray(binData); - //insert into result set - resultBag.add(res); - break; - - } else - { - // It is a primitiveType - RasPrimitiveType pType = (RasPrimitiveType)rb; - - //System.err.println("It's a primitive type: " + pType); - switch(pType.getTypeID()) - { - case RAS_BOOLEAN: - case RAS_BYTE: - case RAS_CHAR: - //System.err.println("It's a byte array!"); - res = new RasMArrayByte(new RasMInterval(domain)); - break; - case RAS_SHORT: - //System.err.println("It's a short array!"); - res = new RasMArrayShort(new RasMInterval(domain)); - break; - - case RAS_USHORT: - //System.err.println("It's a ushort array!"); - byte[] tmData = new byte[dataSize*2]; - for(int i=0;i=0; i--) - { - if (args[i].equals("--server")) - server = args[i+1]; - if (args[i].equals("--port")) - port = args[i+1]; - if (args[i].equals("--database")) - base = args[i+1]; - if (args[i].equals("--user")) - user = args[i+1]; - if (args[i].equals("--passwd")) - passwd = args[i+1]; - if (args[i].equals("--query")) - query = args[i+1]; - if (args[i].equals("--count")) - count = Integer.parseInt(args[i+1]); - } - - try - { - RasImplementation myApp = new RasImplementation("http://"+server+":"+port); - myApp.setUserIdentification(user, passwd); - - System.out.println( "opening database..." ); - Database myDb = myApp.newDatabase(); - myDb.open( base, Database.OPEN_READ_ONLY ); - - System.out.println( "starting transaction..." ); - Transaction myTa = myApp.newTransaction(); - myTa.begin(); - - String parameters = "Command=8&ClientID=1&QueryString=" + query; - String serverUrl = "http://" + server + ":" + 7102; // port; - - for (int i = 0; i < count; i++) - { - System.out.println( "sending query #" + i + "..." ); - execute( serverUrl, parameters ); - } - - System.out.println( "closing transaction..." ); - myTa.abort(); - - System.out.println( "closing database..." ); - myDb.close(); - System.out.println( "all done." ); - - } - catch(Exception e) - { - System.err.println( e.getMessage() ); - } - - System.out.println( "Query test done." ); - - } // main() - -} // TestHttp - -- cgit