diff options
author | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
---|---|---|
committer | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
commit | 8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 (patch) | |
tree | bd328a4dd4f92d32202241b5e3a7f36177792c5f /java/rasj/global | |
download | rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.gz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.xz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.zip |
Initial commitv8.0
Diffstat (limited to 'java/rasj/global')
-rw-r--r-- | java/rasj/global/BenchmarkTimer.class | bin | 0 -> 2064 bytes | |||
-rw-r--r-- | java/rasj/global/BenchmarkTimer.java | 109 | ||||
-rw-r--r-- | java/rasj/global/Debug.class | bin | 0 -> 3400 bytes | |||
-rw-r--r-- | java/rasj/global/Debug.java | 229 | ||||
-rw-r--r-- | java/rasj/global/Makefile | 86 | ||||
-rw-r--r-- | java/rasj/global/Makefile.dep | 0 | ||||
-rw-r--r-- | java/rasj/global/RasErrorTexts.class | bin | 0 -> 23981 bytes | |||
-rw-r--r-- | java/rasj/global/RasErrorTexts.java | 313 | ||||
-rw-r--r-- | java/rasj/global/RasErrorTexts.template1 | 50 | ||||
-rw-r--r-- | java/rasj/global/RasErrorTexts.template2 | 72 | ||||
-rw-r--r-- | java/rasj/global/RasGlobalDefs.class | bin | 0 -> 4811 bytes | |||
-rw-r--r-- | java/rasj/global/RasGlobalDefs.java | 173 | ||||
-rw-r--r-- | java/rasj/global/Version.class | bin | 0 -> 403 bytes | |||
-rw-r--r-- | java/rasj/global/Version.java | 46 | ||||
-rw-r--r-- | java/rasj/global/Version.java.template | 46 |
15 files changed, 1124 insertions, 0 deletions
diff --git a/java/rasj/global/BenchmarkTimer.class b/java/rasj/global/BenchmarkTimer.class Binary files differnew file mode 100644 index 0000000..75ec8de --- /dev/null +++ b/java/rasj/global/BenchmarkTimer.class diff --git a/java/rasj/global/BenchmarkTimer.java b/java/rasj/global/BenchmarkTimer.java new file mode 100644 index 0000000..18c2638 --- /dev/null +++ b/java/rasj/global/BenchmarkTimer.java @@ -0,0 +1,109 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/************************************************************* + * <pre> + * + * PURPOSE: + * + * + * COMMENTS: + * - keep consistent with rasj.global.BenchmarkTimer! + * </pre> + *********************************************************** */ + +package rasj.global; + +import java.util.*; +import java.lang.Float; + +public class BenchmarkTimer + { + + private static final String srcFileVersion = "CVS version information: $Source: /home/rasdev/CVS-repository/rasdaman/java/rasj/global/BenchmarkTimer.java,v $ $Revision: 1.1 $"; + + private static final String OUTPUTPREFIX = "-- Timer "; + + String text; + long startTime; + long endTime; + long totalTime; + + public BenchmarkTimer(String t) + { + text = t==null ? "(no text)" : t; + reset(); + } + + public void reset() + { + startTime = 0; + endTime = 0; + totalTime = 0; + // Debug.talkVerbose( OUTPUTPREFIX + text + " reset."); + } + + public void startTimer() + { + Debug.talkSparse( OUTPUTPREFIX + text + " started."); // level must be less than verbose to get crisp output + startTime = System.currentTimeMillis(); + } + + public void stopTimer() + { + endTime = System.currentTimeMillis(); + totalTime += endTime; + // Debug.talkVerbose( OUTPUTPREFIX + text + " stopped."); + } + + public long getTotalTime() + { + return totalTime; + } + + public void print() + { + Debug.talkSparse( OUTPUTPREFIX + text + ": " + (totalTime-startTime) + " ms elapsed."); + // level must be less than verbose to get crisp output + } + +// ---------------------------------------------------------------------------------- + + /** + test routine for timer + */ + public static void main(String a[]) + { + Debug.enterVerbose( "Benchmark test start" ); + + BenchmarkTimer timer = new BenchmarkTimer("Test"); + + timer.startTimer(); + for(int i=0;i<20000000;i++); + timer.stopTimer(); + + timer.print(); + + Debug.leaveVerbose( "Benchmark test stop" ); + } + } + diff --git a/java/rasj/global/Debug.class b/java/rasj/global/Debug.class Binary files differnew file mode 100644 index 0000000..7c07ae5 --- /dev/null +++ b/java/rasj/global/Debug.class diff --git a/java/rasj/global/Debug.java b/java/rasj/global/Debug.java new file mode 100644 index 0000000..408c36b --- /dev/null +++ b/java/rasj/global/Debug.java @@ -0,0 +1,229 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/************************************************************* + * <pre> + * + * PURPOSE: generate debug output into servlet log + * Methods of this static class perform debugging output into + * the servlet log (usually /opt/jakarta/logs/servlet.log). + * For entering a method to be traced, logging indent level is + * increased; the logging methods for leaving a method decrease + * indent, and the trace methods inbetween leave indentation unchanged. + * [Needless to say that both statically and dynamically the number + * of enters and leaves should match.] + * Four trace levels are provided, intended for reporting increasingly + * verbose (i.e., for decreasingly dangerous events): + * critical (always logged), + * warning (default level), + * sparse, + * verbose. + * For each combination of enter/inside/leave of a method and trace + * levels corresponding report functions are provided. + * Finally, the debug level can be changed any time with + * setDebugLevel(). + * Initialisation requires passing the servlet object to gain an + * output stream to write to. + * + * + * COMMENTS: + * - keep consistent with rasogc.Debug !!! + * - documentation to be done + * </pre> + ************************************************************/ + +package rasj.global; + +import java.lang.System; + +/** + * Methods of this static class perform debugging output into + * the servlet log (usually /opt/jakarta/logs/servlet.log). + * For entering a method to be traced, logging indent level is + * increased; the logging methods for leaving a method decrease + * indent, and the trace methods inbetween leave indentation unchanged. + * [Needless to say that both statically and dynamically the number + * of enters and leaves should match.] + * <P> + * Four trace levels are provided, intended for reporting increasingly + * verbose (i.e., for decreasingly dangerous events): + * <UL> + * <LI>critical (always logged), + * <LI>warning (default level), + * <LI>sparse, + * <LI>verbose. + * </UL> + * For each combination of enter/inside/leave of a method and trace + * levels corresponding report functions are provided. + * Finally, the debug level can be changed any time with + * setDebugLevel(). + * <P> + * Initialisation requires passing the servlet object to gain an + * output stream to write to. + * <P> + * + * @version $Revision: 1.2 $ + * + */ + +public class Debug + { + static final String rcsid = "@(#)Package rasj.global, class Debug: $Header: /home/rasdev/CVS-repository/rasdaman/java/rasj/global/Debug.java,v 1.2 2006/01/19 18:24:16 rasdev Exp $"; + + // + // debug threshold levels (constant defs): + // + + /** log only critical events **/ + public static final int CRITICAL_LEVEL = 0; // print always + + /** log also warnings which do not really impede processing **/ + public static final int WARNING_LEVEL = 1; + + /** log also occasional output interesting for debugging **/ + public static final int SPARSE_LEVEL = 2; + + /** log all information available to aid debugging **/ + public static final int VERBOSE_LEVEL = 3; + + + /** + * debug threshold default + **/ + public static final int DEFAULT_LEVEL = WARNING_LEVEL; + + /** + * debug threshold - only levels below it are displayed: + **/ + private static int debugThreshold = DEFAULT_LEVEL; + + /** + unit of indentation to display calling hierarchy + **/ + private static final String INDENT = ". "; + + /** + * indentation counter + **/ + private static int indentLevel = 0; + + /** + * set debug threshold to control further output + **/ + public static void setDebugThreshold(int level) + { + if (level >= 0) + { + debugThreshold = level; + System.err.println( "Debug::setDebugThreshold: setting debug level to " + level ); + } + else + System.err.println( "Debug::setDebugThreshold: ignoring illegal debug level value: " + level ); + } + + /** + the following set of methods logs for entering/within/leaving a method. + Entering increases printing indent level, talk leaves it unchanged, and leaving decreases indentation. + these choices are crossed with the debug levels to achieve handy, short calls. + **/ + + /** method enter msg, output only with critical level **/ + public static void enterCritical( String what ) { enter( CRITICAL_LEVEL, what ); } + /** method enter msg, output only with warning level **/ + public static void enterWarning( String what ) { enter( WARNING_LEVEL, what ); } + /** method enter msg, output only with sparse level **/ + public static void enterSparse( String what ) { enter( SPARSE_LEVEL, what ); } + /** method enter msg, output only with verbose log level **/ + public static void enterVerbose( String what ) { enter( VERBOSE_LEVEL, what ); } + + /** method leave msg, output only with critical level **/ + public static void leaveCritical( String what ) { leave( CRITICAL_LEVEL, what ); } + /** method leave msg, output only with warning level **/ + public static void leaveWarning( String what ) { leave( WARNING_LEVEL, what ); } + /** method leave msg, output only with sparse level **/ + public static void leaveSparse( String what ) { leave( SPARSE_LEVEL, what ); } + /** method leave msg, output only with verbose log level **/ + public static void leaveVerbose( String what ) { leave( VERBOSE_LEVEL, what ); } + + /** method inside msg, output only with critical level **/ + public static void talkCritical( String what ) { talk( CRITICAL_LEVEL, what ); } + /** method inside msg, output only with warning level **/ + public static void talkWarning( String what ) { talk( WARNING_LEVEL, what ); } + /** method inside msg, output only with sparse level **/ + public static void talkSparse( String what ) { talk( SPARSE_LEVEL, what ); } + /** method inside msg, output only with verbose log level **/ + public static void talkVerbose( String what ) { talk( VERBOSE_LEVEL, what ); } + + /** + * writes messages to the "standard" error log stream, increments indentation + **/ + private static void enter(int level, String what) + { + StringBuffer s = new StringBuffer(100); // to hold indent prefix + + if(level <= debugThreshold) + { + indentLevel++; // indent one more to the right + s.append( "rasj[" + Integer.toString(level) + "] " ); // document log level + for (int i=0; i<indentLevel; i++) + s.append( INDENT ); + s.append( what ); + System.err.println( s ); + } + } + + + /** + * writes messages to the "standard" error log stream, decrements indentation + **/ + static void leave(int level, String what) + { + StringBuffer s = new StringBuffer(100); // to hold indent prefix + + if(level <= debugThreshold) + { + s.append( "rasj[" + Integer.toString(level) + "] " ); // document log level + for (int i=0; i<indentLevel; i++) + s.append( INDENT ); + s.append( what ); + System.err.println( s ); + indentLevel--; // indent one less, go left + } + } + + /** + * writes messages to the "standard" error log stream; indentation unchanged + **/ + static void talk(int level, String what) + { + StringBuffer s = new StringBuffer(100); // to hold indent prefix + + if(level <= debugThreshold) + { + s.append( "rasj[" + Integer.toString( level) + "] " ); // document log level + for (int i=0; i<indentLevel; i++) + s.append( INDENT ); + s.append( what ); + System.err.println( s ); + } + } + } diff --git a/java/rasj/global/Makefile b/java/rasj/global/Makefile new file mode 100644 index 0000000..a658fdd --- /dev/null +++ b/java/rasj/global/Makefile @@ -0,0 +1,86 @@ +# -*-Makefile-*- (for Emacs) +# +# 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 <http://www.gnu.org/licenses/>. +# +# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +# rasdaman GmbH. +# +# For more information please see <http://www.rasdaman.org> +# or contact Peter Baumann via <baumann@rasdaman.com>. # Top Level makefile. This points to the various modules that have to be build +# and/or deployed +# +# MAKEFILE FOR: +# package RasJ.global +# +# COMMENTS: +# - FIXME: errtxts has been i18nalized, reflect it in the RasError code! +# +################################################################## +######################### Definitions ############################ + +# standard include with general options +include $(RMANBASE)/Makefile.inc + +# error text file +ERRTXT_FILE = $(RMANBASE)/bin/errtxts_en + +SRCS = RasErrorTexts.java RasGlobalDefs.java Debug.java BenchmarkTimer.java +OBJS = ${SRCS:%.java=%.class} Version.class +MISCCLEAN = *.class Version.java + +# directory where HTML documentation is created +DOCDIR := $(DOCBASE)/java/rasj/global + +########################### Targets ############################## + +# compile everything +.PHONY : all +all: Version.java errortexts + $(MAKE) $(OBJS) + +.PHONY : errortexts +# create array of error messages in class RasErrorTexts +errortexts: + if (test -f $(ERRTXT_FILE)) \ + then \ + grep "\^E\^" $(ERRTXT_FILE) \ + | sed -e '/^#/ d' \ + | sed -e 's+\^E\^+:+g' \ + | sed -e 's+^+"+g' \ + | sed -e 's+$$+\",+g' > tmpfile; \ + cat RasErrorTexts.template1 tmpfile RasErrorTexts.template2 > RasErrorTexts.java; \ + else \ + echo "Error: errtxts file $(ERRTXT_FILE) not found."; \ + exit 1; \ + fi + -rm tmpfile + +# always generate to have an up-to date version & generation time info: +.PHONY: Version.java +Version.java: + @ sed s/%%DATE%%/`date +%Y-%b-%d`/ <Version.java.template \ + | sed s/%%VERSION%%/$(RMANVERSIONNAME)/ \ + | sed "s/%%GENERATION_DATE%%/`date`/" >Version.java + +# delete all files +.PHONY: clean +clean: + -rm -f $(SRCS) $(MISCCLEAN) + +############################ Dependencies ####################### +# general rules +include $(RMANBASE)/Makefile.rel + diff --git a/java/rasj/global/Makefile.dep b/java/rasj/global/Makefile.dep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/java/rasj/global/Makefile.dep diff --git a/java/rasj/global/RasErrorTexts.class b/java/rasj/global/RasErrorTexts.class Binary files differnew file mode 100644 index 0000000..b3e0cd7 --- /dev/null +++ b/java/rasj/global/RasErrorTexts.class diff --git a/java/rasj/global/RasErrorTexts.java b/java/rasj/global/RasErrorTexts.java new file mode 100644 index 0000000..c208a4c --- /dev/null +++ b/java/rasj/global/RasErrorTexts.java @@ -0,0 +1,313 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * first part of three constituting RasErrorTexts.java: + * - part 1: Java src + * - part 2: generated from errtxts file + * - part 3: Java src + * + * + * COMMENTS: + * + * </pre> + *********************************************************** */ + +package rasj.global; + +import java.io.*; + +// This file is created automatically - do not edit unless allowed explicitly (look for +// a message "changes can only be made after here")! + +public abstract class RasErrorTexts +{ + + public static String[] errorMessages = { + +// end of RasErrorTexts.template1 +"66:Exception: Memory allocation failed.", +"100:Exception: Internal error: DL parse error.", +"200:Exception: The result is no point.", +"201:Exception: The result is no interval.", +"202:Exception: Index violation ( index range [$low,$high], index $index ).", +"203:Exception: Dimension mismatch between $dim1 and $dim2.", +"204:Exception: Stream initialization overflow.", +"205:Exception: Result is no cell.", +"206:Serialisable exception r_Ebase_dbms: error in base DBMS.", +"207:Internal client exception in class $class, method $method: $code.", +"208:Exception: Access type $aType does not fit base type $bType.", +"209:Exception: RasType $type is unknown.", +"210:Exception: Base type $type is not supported yet.", +"211:Exception: Database is not open.", +"212:Exception: RPC layer connection to RasDaMan failed.", +"213:Exception: Wrong URL format (should be http://address:port)", +"214:Exception: Illegal java long value $val for server base type ULong.", +"215:Exception: Illegal java integer value $val for server base type UShort.", +"216:Exception: System collection is not writable.", +"217:Exception: System collection has no OID.", +"218:Exception: Conversion format is not supported.", +"219:Exception: The specified tile size is smaller than the length of the base type of the mdd object.", +"220:Exception: The tiling strategy in the storage layout is not compatible with the marray.", +"221:Exception: The domain passed as an argument was not initialised correctly (dimension is 0).", +"222:Exception: The type name or type structure does not represent a marray type.", +"223:Exception: The rc index requires a marray type that has a specified domain (with fixed borders in all dimensions).", +"224:Exception: The tile configuration is incompatible to the marray domain.", +"229:Exception: The parameterized query has invalid parameter format.", +"230:Exception: The r_Object was already assigned a type.", +"231:Exception: The Marray has no base type.", +"232:Exception: The interval has at least one open bound.", +"233:Exception: The intervals don't have the same dimension.", +"234:Exception: The string passed to the tiling object was not correct.", +"235:Exception: Connection to server already closed.", +"236:Exception: Error in compression engine", +"237:Exception: Client communication failure", +"238:Exception: Base type not supported by conversion/compression module.", +"239:Exception: Standard overlay using types larger than 16 bytes is not supported.", +"240:Exception: Insert into a RC index is not allowed.", +"241:Exception: No tiling defined at that region. Update not possible.", +"300:Parsing error $errorNo in line $lineNo, column $columnNo: Unexpected name $token.", +"301:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: All cell values of an MDD must be of the same type. ", +"302:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: Number of cells specified does not match the number of cells of the given spatial domain.", +"303:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: OId is not valid.", +"308:Parsing error: Unexpected end of query.", +"309:Parsing error: Unknown error.", +"310:Lexical analysing error $errorNo in line $lineNo, column $columnNo: Unexpected characters $token.", +"311:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: Complex constructor must have both arguments of the same type (i.e. float or double). ", +"312:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: Variable already defined. ", +"313:Parsing error $errorNo in line $lineNo, column $columnNo, token $token: Only constant interval bounds allowed. ", +"330:Preprocessing error $errorNo in line $lineNo, column $columnNo: Unexpected name $token: ", +"331:Preprocessing error $errorNo in line $lineNo, column $columnNo, token $token: attempt to redefine function.", +"332:Preprocessing error $errorNo in line $lineNo, column $columnNo, token $token: number of actual arguments for the called function differs from the number of formal arguments.", +"333:Preprocessing error $errorNo in line $lineNo, column $columnNo, token $token: the called function name is ambiguous, try the full qualified name.", +"349:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand out of range.", +"350:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: General. ", +"351:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Spatial domains of the binary induce operands are incompatible.", +"352:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand types are incompatible.", +"353:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of quantifier must be multidimensional.", +"354:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of quantifier must be of type r_Marray<d_Boolean>.", +"355:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Collection name is unknown.", +"356:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Specified domain does not intersect with spatial domain of MDD.", +"357:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Variable is unknown.", +"358:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Projection operand is not of type r_Marray<T>.", +"359:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Result of the where clause must be of type boolean.", +"360:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Type of operand is not supported.", +"361:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Multiple query targets are not supported.", +"362:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Specified domain dimensionality does not equal defined dimensionality of MDD.", +"363:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Cell base types of binary induce operation are incompatible.", +"364:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Cell base type and scalar type of binary induce operation are incompatible.", +"365:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Scalar types of binary operation are incompatible.", +"366:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Cell base type of unary induce operation is not supported.", +"367:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Scalar type of unary operation is not supported.", +"368:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Cell base type for induced dot operation must be complex.", +"369:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Scalar type for dot operation must be complex.", +"370:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Struct selector is not valid.", +"371:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Retrieval query must start with a SELECT statement.", +"372:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Update query must start with an INSERT, UPDATE, DELETE, DROP or CREATE statement.", +"373:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Unsatisfied MDD constant parameter.", +"380:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Data type can not be converted to selected data exchange format.", +"381:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Error in convertor of the selected data exchange format.", +"382:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Unknown conversion format.", +"383:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Parameter of oid function must be a persistent object of type MDD.", +"384:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: OId is not valid.", +"385:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operation is not supported on strings.", +"386:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Base name of oid is not matching the currently opened one.", +"387:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: System name of oid is not matching the currently used one.", +"388:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Interval bound must be either an integer expression or an asterisk.", +"389:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: No interval (in case of fixed bounds, the upper one can not be smaller than the lower one).", +"390:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Minterval dimension specifications must be either of type interval or integer.", +"391:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Spatial operation must be either of type minterval, point, or integer.", +"393:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of operation lo/hi must be of type interval.", +"394:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operation lo/hi can not be used for an open bound.", +"395:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of function sdom() must be of type MDD.", +"396:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Selection operation is not supported on this data type.", +"397:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of minterval selection must be of type integer.", +"398:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Index for minterval selection is out of range.", +"399:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of point selection must be of type integer.", +"400:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Domain of MDD constructor has to be defined.", +"401:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Can not evaluate domain expression to an minterval.", +"402:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Projected cell is not defined.", +"403:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Binary operation is not supported on these data types.", +"404:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Type of cell expression is not supported.", +"405:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: First operand of shift function must be of type MDD.", +"406:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Second operand of shift function must be of type Point.", +"407:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Dimensionality of MDD and point expression are not matching.", +"408:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Second operand of shift function must be a constant expression.", +"409:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Spatial domain shift of open bounds is not supported.", +"410:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of point expression must be of type integer.", +"411:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Index for point selection is out of range.", +"412:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Value expression must be either of type atomic or complex.", +"413:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Condition expression must be of type boolean.", +"415:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Operand of count_cells must be of type r_Marray<d_Boolean>.", +"416:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: First operand of scale function must be of type MDD.", +"417:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Second operand of scale function must be either of type Point, Integer or Float.", +"418:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Second operand of bit function must be of integral type.", +"419:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Could not scale the domain.", +"420:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Extend operation with open bounds is not supported.", +"421:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Target interval of extend operation does not cover MDD to be extended.", +"422:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Second operand of extend function must be an minterval.", +"499:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: Language feature is not supported.", +"510:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: The argument is outside the function domain.", +"511:Execution error $errorNo in line $lineNo, column $columnNo, near token $token: The function result exceeds the allowed range.", +"700:Admin error: General error creating RasDaMan database.", +"701:Admin error: Error creating table in tablespace RAS_DB_SCHEMA.", +"702:Admin error: Error inserting into table RAS_COUNTERS.", +"703:Admin error: Error creating table in tablespace RAS_DB_BLOB.", +"704:Admin error: Error creating index in tablespace RAS_DB_INDEX.", +"705:Admin error: Error inserting into table RAS_BASETYPENAMES.", +"706:Admin error: Error creating table in default tablespace.", +"707:Admin error: Error on COMMIT creating RasDaMan database.", +"708:Admin error: Database to be created already exists.", +"800:RasManager Error: Could not connect to RasServer $url.", +"801:RasManager Error: System overloaded, please try again later.", +"802:RasManager Error: Access denied, incorrect user/password.", +"803:RasManager Error: Access denied, no permission for operation.", +"804:RasManager Error: Access denied, capability refused.", +"805:RasManager Error: No suitable servers started, call administrator.", +"806:RasManager Error: Write transaction in progress, please retry again later.", +"807:RasManager Error: Requested database unknown.", +"808:RasManager Error: Request format error.", +"820:RNP Error: First parameter has to be the clientID (clientcomm internal).", +"821:RNP Error: Client ID invalid, probably a timeout occurred.", +"822:RNP Error: Unknown command in client request.", +"830:base DBMS Error: Cannot connect to base DBMS server (invalid connect string in rasmgr config file?).", +"900:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: Type in typedef definition not supported.", +"901:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: Set template type has to be a type reference.", +"902:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: Type reference not found.", +"903:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: MDD base type has to be a type reference or an atomic type.", +"904:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: MDD type must have a domain specification.", +"905:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: Struct type name exists already.", +"906:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: MDD type name exists already.", +"907:Evaluation error $errorNo in line $lineNo, column $columnNo, near token $token: Set type name exists already.", +"950:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update target must be an iterator variable.", +"951:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update source must be an expression resulting in an r_Marray<>.", +"952:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update base type does not match MDD base type.", +"953:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update domain is not within MDD definition domain.", +"954:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update target expression must be an assignable value (l-value).", +"955:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Collection name exists already.", +"956:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Unknown collection type.", +"957:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Unknown collection name.", +"958:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Allocation of new oid failed.", +"959:Update error $errorNo in line $lineNo, column $columnNo, near token $token: MDD and collection types are incompatible.", +"960:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Insert expression must be of type MDD.", +"961:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update domain must be of type Minterval.", +"962:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Number of update intervals must match source dimensionaltiy.", +"963:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Update domain dimensionality must match target MDD dimensionaltiy.", +"964:Update error $errorNo in line $lineNo, column $columnNo, near token $token: Type is not persistent.", +"965:Update error $errorNo: MDD type $token unknown.", +"966:Update error $errorNo: MDD type is missing.", +"1000:General error: RasDaMan tables inconsistent.", +"1001:General error: RasDaMan server incompatible with database.", +"1002:General error: Blob with zero length encountered.", +"1003:General error: Tile container for TC index not found.", +"1004:General error: Index of MDD Object is not defined.", +"1005:General error: Storage structure of MDD Object is not defined.", +"1006:General error: Unknown index type requested.", +"1007:General error: Illegal index type requested.", +"1008:General error: No valid collection type passed to MDD collection.", +"1009:General error: MDD object not valid or not persistent.", +"1010:General error: No valid MDD type passed to MDD object.", +"1011:General error: An illegal state has been reached. This is caused by a compiler bug or a library bug.", +"1012:General error: Invalid collection type passed to MDD collection.", +"1013:General error: The name of the type is too long.", +"1014:General error: Invalid name of the object, should contain only [a-zA-Z0-9_]", +"2000:Internal error: There seems to be another database open.", +"2001:Internal error: Invalid OId type encountered.", +"2002:Internal error: Entry in user defined type not found.", +"2003:Internal error: Entry in user defined type out of bounds.", +"2004:Internal error: Transient index used instead of persistent index.", +"2005:Internal error: Index returned tiles multiple times.", +"2006:Internal error: Tile was not inserted into index.", +"2007:Internal error: Transient index access out of bounds.", +"2008:Internal error: MDD object exists multiple times in cache.", +"2009:Internal error: Some tile(s) were not inserted into the MDD object.", +"2010:Internal error: A conversion module returned an incorrect base type.", +"2011:Internal error: The collection type has no element type.", +"2012:Internal error: The marray type has no base type.", +"2013:Internal error: The property has no base type.", +"2014:Internal error: The scalar was passed a NULL value.", +"2015:Internal error: The index node that had to be split was not found in its parent.", +"2016:Internal error: The index found more cells than allowed.", +"2017:Internal error: The storage layout is incompatible with the index entries.", +"2018:Internal error: Object does not support swapping.", +"2019:Internal error: Error encountered during swapping.", +"2020:Internal error: Binary export for object is not supported.", +"2021:Internal error: Binary import for object is not supported.", +"2022:Internal error: Operands and result types don't match.", +"3000:Format conversion error: DEM area does not contain any non-null value, empty result generated.", +"10000:Unexpected internal server error.", +/** *********************************************************** + * <pre> + * + * SOURCE: RasErrorTexts.template2 + * + * PACKAGE: rasj.global + * CLASS: RasErrorTexts + * + * PURPOSE: + * third part of three constituting RasErrorTexts.java: + * - part 1: Java src + * - part 2: generated from errtxts file + * - part 3: Java src + * + * + * </pre> + *********************************************************** */ + +// end of error code array, start of RasErrorTexts.template2 + + "" // this last, empty string is needed because the last one, generated from errtxts, has a "," at the end + }; + + public static String getErrorMessage( int errNo ) + { + StringBuffer buf; + String prefix = String.valueOf(errNo)+":"; + int index = 0; + String retVal = null; + + while(index < errorMessages.length-1) // last string is empty, see above + { + if(errorMessages[index].startsWith(prefix)) + { + buf = new StringBuffer(errorMessages[index]); + index = errorMessages[index].indexOf(":"); + buf.delete(0,index+1); + retVal = buf.toString(); + index = errorMessages.length+1; + } + else + index++; + + } + if(retVal == null) + retVal = "No error message available for error number " + errNo + "."; + + return retVal; + } + +} + + diff --git a/java/rasj/global/RasErrorTexts.template1 b/java/rasj/global/RasErrorTexts.template1 new file mode 100644 index 0000000..ce36ab7 --- /dev/null +++ b/java/rasj/global/RasErrorTexts.template1 @@ -0,0 +1,50 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * first part of three constituting RasErrorTexts.java: + * - part 1: Java src + * - part 2: generated from errtxts file + * - part 3: Java src + * + * + * COMMENTS: + * + * </pre> + *********************************************************** */ + +package rasj.global; + +import java.io.*; + +// This file is created automatically - do not edit unless allowed explicitly (look for +// a message "changes can only be made after here")! + +public abstract class RasErrorTexts +{ + + public static String[] errorMessages = { + +// end of RasErrorTexts.template1 diff --git a/java/rasj/global/RasErrorTexts.template2 b/java/rasj/global/RasErrorTexts.template2 new file mode 100644 index 0000000..03c4ac5 --- /dev/null +++ b/java/rasj/global/RasErrorTexts.template2 @@ -0,0 +1,72 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * third part of three constituting RasErrorTexts.java: + * - part 1: Java src + * - part 2: generated from errtxts file + * - part 3: Java src + * + * + * COMMENTS: + * + * </pre> + *********************************************************** */ + +// end of error code array, start of RasErrorTexts.template2 + + "" // this last, empty string is needed because the last one, generated from errtxts, has a "," at the end + }; + + public static String getErrorMessage( int errNo ) + { + StringBuffer buf; + String prefix = String.valueOf(errNo)+":"; + int index = 0; + String retVal = null; + + while(index < errorMessages.length-1) // last string is empty, see above + { + if(errorMessages[index].startsWith(prefix)) + { + buf = new StringBuffer(errorMessages[index]); + index = errorMessages[index].indexOf(":"); + buf.delete(0,index+1); + retVal = buf.toString(); + index = errorMessages.length+1; + } + else + index++; + + } + if(retVal == null) + retVal = "No error message available for error number " + errNo + "."; + + return retVal; + } + +} + + diff --git a/java/rasj/global/RasGlobalDefs.class b/java/rasj/global/RasGlobalDefs.class Binary files differnew file mode 100644 index 0000000..63224d6 --- /dev/null +++ b/java/rasj/global/RasGlobalDefs.class diff --git a/java/rasj/global/RasGlobalDefs.java b/java/rasj/global/RasGlobalDefs.java new file mode 100644 index 0000000..51ea769 --- /dev/null +++ b/java/rasj/global/RasGlobalDefs.java @@ -0,0 +1,173 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * + * + * + * COMMENTS: + * + * </pre> + *********************************************************** */ + +package rasj.global; + +public interface RasGlobalDefs +{ + static final String rcsid = "@(#)Package rasj, class RasGlobalDefs: $Header: /home/rasdev/CVS-repository/rasdaman/java/rasj/global/RasGlobalDefs.java,v 1.23 2006/01/17 23:49:11 rasdev Exp $"; + + // rasj version string (similar to executables startup message) -- can't we get rasdaman version info automatically? + // static final String RASJ_VERSION = "rasj: rasdaman Java API. rasdaman v5.1revC -- generated Mit Jun 25 10:46:59 CEST 2003."; + static final String RASJ_VERSION = "rasj: rasdaman Java API. rasdaman " + Version.VERSION + " -- generated " + Version.DATE + "."; + + // fastscale predefines; FIXME: should be used dynamically! -- PB 2003-jun-25 + static final int NUM_FAST_PRE_SCALE = 8; + static final double[] FAST_PRE_SCALE_FACTORS = {1.0/2, 1.0/4, 1.0/8, 1.0/16, 1.0/32, 1.0/64, 1.0/128, 1.0/256}; + static final String[] FAST_PRE_SCALE_SUFFIXES = {"_1", "_2", "_3", "_4", "_5", "_6", "_7", "_8"}; + + //RasDataFormat + static final int RAS_ARRAY = 0; // no compression, row-major memory representation + static final int RAS_TIFF = RAS_ARRAY + 1; // TIFF format + static final int RAS_JPEG = RAS_TIFF + 1; // JPEG format + static final int RAS_HDF = RAS_JPEG + 1; // HDF format + static final int RAS_PNG = RAS_HDF + 1; // PNG format + static final int RAS_ZLIB = RAS_PNG + 1; // ZLIB format + static final int RAS_AUTO_COMPRESSION = RAS_ZLIB + 1; // automatic compression + + //RasTypeID + static final int RAS_UNKNOWN = 0; + static final int RAS_MARRAY = RAS_UNKNOWN + 1; + static final int RAS_COLLECTION = RAS_MARRAY + 1; + static final int RAS_SINTERVAL = RAS_COLLECTION + 1; + static final int RAS_MINTERVAL = RAS_SINTERVAL + 1; + static final int RAS_POINT = RAS_MINTERVAL + 1; + static final int RAS_OID = RAS_POINT + 1; + static final int RAS_STRUCTURE = RAS_OID + 1; + static final int RAS_RGB = RAS_STRUCTURE + 1; + static final int RAS_INT = RAS_RGB + 1; + static final int RAS_SHORT = RAS_INT + 1; + static final int RAS_USHORT = RAS_SHORT + 1; + static final int RAS_LONG = RAS_USHORT + 1; + static final int RAS_ULONG = RAS_LONG + 1; + static final int RAS_FLOAT = RAS_ULONG + 1; + static final int RAS_DOUBLE = RAS_FLOAT + 1; + static final int RAS_BOOLEAN = RAS_DOUBLE + 1; + static final int RAS_BYTE = RAS_BOOLEAN + 1; + static final int RAS_CHAR = RAS_BYTE + 1; + static final int RAS_STRING = RAS_CHAR + 1; + static final int RAS_COMPLEX1 = RAS_STRING +1; + + + //object status + public static final int NO_STATUS = 0; + public static final int DELETED = NO_STATUS + 1; + public static final int CREATED = DELETED + 1; + public static final int MODIFIED = CREATED + 1; + public static final int READ = MODIFIED + 1; + public static final int TRANSIENT = READ + 1; + + // java BaseType sizes + public final int SIZE_OF_INTEGER = 4; + public final int SIZE_OF_LONG = 8; + public final int SIZE_OF_FLOAT = 4; + public final int SIZE_OF_BYTE = 1; + public final int SIZE_OF_SHORT = 2; + public final int SIZE_OF_CHAR = 2; + public final int SIZE_OF_BOOLEAN = 1; + public final int SIZE_OF_DOUBLE = 8; + + // RasPrimitiveType sizes + public final int SIZE_OF_RAS_LONG = 4; + public final int SIZE_OF_RAS_ULONG = 4; + public final int SIZE_OF_RAS_FLOAT = 4; + public final int SIZE_OF_RAS_BYTE = 1; + public final int SIZE_OF_RAS_SHORT = 2; + public final int SIZE_OF_RAS_USHORT = 2; + public final int SIZE_OF_RAS_CHAR = 1; + public final int SIZE_OF_RAS_BOOLEAN = 1; + public final int SIZE_OF_RAS_DOUBLE = 8; + + // error codes - these match the errtxts file + final static int INTERNAL_DL_PARSE_EXCEPTION = 100; + + final static int RESULT_IS_NO_INTERVAL = 201; + final static int INDEX_OUT_OF_BOUNDS = 202; + final static int DIMENSION_MISMATCH = 203; + final static int STREAM_INPUT_OVERFLOW = 204; + final static int RESULT_IS_NO_CELL = 205; + final static int BASE_DBS_ERROR = 206; + final static int INTERNAL_CLIENT_ERROR = 207; + final static int TYPE_INVALID = 208; + final static int TYPE_UNKNOWN = 209; + final static int TYPE_NOT_SUPPORTED = 210; + final static int DB_NOT_OPEN = 211; + final static int DB_CONN_FAILED = 212; + final static int URL_FORMAT_ERROR = 213; + final static int ILLEGAL_ULONG_VALUE = 214; + final static int ILLEGAL_USHORT_VALUE = 215; + + final static int MANAGER_CONN_FAILED = 800; + final static int MANAGER_BUSY = 801; + final static int ACC_DEN_INC_LOGIN = 802; + final static int ACC_DEN_NO_PERMISSION = 803; + final static int ACC_DEN_CAPABILITY_WRONG = 804; + final static int NO_ACTIVE_SERVERS = 805; + final static int WRITE_TRANS_IN_PROGRESS = 806; + final static int DATABASE_NOT_DEFINED = 807; + final static int REQUEST_FORMAT_ERROR = 808; + + final static int INVALID_OBJECT_NAME_ERROR = 1014; + + // time constants for retries in RasODMGImplementation.getFreeServer(): + // if we sum up we achieve a total of (.2 + .4 +...+ 3.2) = 6.3 secs maximum wait time. that looks ok. + final static int MAX_GETFREESERVER_ATTEMPTS = 5; // # of tries in total until giving up on current request + final static int GETFREESERVER_WAIT_INITIAL = 100; // first waiting period + final static int GETFREESERVER_WAIT_INCREMENT = 2; // multiplication factor for subsequent wait cycles + + // server connection constants + final static int RASMGRPORT_DEFAULT = 7001; // default port used to caontact rasmgr + final static String GUESTIDENT_DEFAULT = "rasguest:8e70a429be359b6dace8b5b2500dedb0"; + // default read-only user + + public final static String KEYWORD_TAB = "\t"; + public final static String KEYWORD_CLASS = "$class"; + public final static String KEYWORD_METHOD = "$method"; + public final static String KEYWORD_CODE = "$code"; + public final static String KEYWORD_URL = "$url"; + public final static String KEYWORD_DIM1 = "$dim1"; + public final static String KEYWORD_DIM2 = "$dim2"; + public final static String KEYWORD_VAL = "$val"; + public final static String KEYWORD_LOW = "$low"; + public final static String KEYWORD_HIGH = "$high"; + public final static String KEYWORD_INDEX = "$index"; + public final static String KEYWORD_INVNAME = "$InvName"; + public final static String KEYWORD_TOKEN = "$token"; + public final static String KEYWORD_ERRNO = "$errorNo"; + public final static String KEYWORD_LINENO = "$lineNo"; + public final static String KEYWORD_COLNO = "$columnNo"; + public final static String KEYWORD_ATYPE = "$aType"; + public final static String KEYWORD_BTYPE = "$bType"; + public final static String KEYWORD_TYPE = "$type"; +} diff --git a/java/rasj/global/Version.class b/java/rasj/global/Version.class Binary files differnew file mode 100644 index 0000000..0274d62 --- /dev/null +++ b/java/rasj/global/Version.class diff --git a/java/rasj/global/Version.java b/java/rasj/global/Version.java new file mode 100644 index 0000000..6adb1a0 --- /dev/null +++ b/java/rasj/global/Version.java @@ -0,0 +1,46 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * provide version information. + * + * + * COMMENTS: + * ./. + * + * </pre> + ********************************************************** **/ + +package rasj.global; + +public class Version +{ + // version information + public static final String VERSION = "6.1test"; + + // date of .jar generation + public static final String DATE = "Tue Jan 6 17:52:20 CET 2009"; +} + diff --git a/java/rasj/global/Version.java.template b/java/rasj/global/Version.java.template new file mode 100644 index 0000000..9865b1c --- /dev/null +++ b/java/rasj/global/Version.java.template @@ -0,0 +1,46 @@ +/* +* 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 <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ +/** *********************************************************** + * <pre> + * + * PURPOSE: + * provide version information. + * + * + * COMMENTS: + * ./. + * + * </pre> + ********************************************************** **/ + +package rasj.global; + +public class Version +{ + // version information + public static final String VERSION = "%%VERSION%%"; + + // date of .jar generation + public static final String DATE = "%%GENERATION_DATE%%"; +} + |