PK s. META-INF/PK s.$META-INF/MANIFEST.MFManifest-Version: 1.0 Created-By: Apache Ant 1.5.1 Extension-Name: excalibur-datasource Specification-Vendor: Apache Software Foundation Specification-Version: 1.0 Implementation-Vendor: Apache Software Foundation Implementation-Version: 1.0 PK s.META-INF/services/PK s.org/PK s. org/apache/PK s.org/apache/avalon/PK s.org/apache/avalon/excalibur/PK s.'org/apache/avalon/excalibur/datasource/PK s.+org/apache/avalon/excalibur/datasource/ids/PK s.%}}HMETA-INF/services/org.apache.avalon.excalibur.datasource.ids.IdGeneratororg.apache.avalon.excalibur.datasource.ids.SequenceIdGenerator org.apache.avalon.excalibur.datasource.ids.TableIdGenerator PK s.[Y~ ~ Sorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceBlockIdGenerator.class.` < = > ? @AB C D E FG H IJ K LM NO PQRm_firstBigDecimalLjava/math/BigDecimal; m_firstLongJ m_blockSizeI m_allocated()VCodeLineNumberTableLocalVariableTablethisOLorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceBlockIdGenerator;allocateBigDecimalIdBlock(I)Ljava/math/BigDecimal; ExceptionsallocateLongIdBlock(I)JgetNextBigDecimalIdInner()Ljava/math/BigDecimal;e8Lorg/apache/avalon/excalibur/datasource/ids/IdException;idgetNextLongIdInner()JmsgLjava/lang/String; configure<(Lorg/apache/avalon/framework/configuration/Configuration;)V configuration9Lorg/apache/avalon/framework/configuration/Configuration;S initializeT SourceFile'AbstractDataSourceBlockIdGenerator.java    %& 6org/apache/avalon/excalibur/datasource/ids/IdExceptionjava/math/BigDecimal U VW () CNo more Ids are available, the maximum long value has been reached. XYZ [\ \ 34 block-size] ^_ 8Morg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceBlockIdGeneratorHorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator@org/apache/avalon/framework/configuration/ConfigurationExceptionjava/lang/Exception(D)Vadd.(Ljava/math/BigDecimal;)Ljava/math/BigDecimal; getLogger-()Lorg/apache/avalon/framework/logger/Logger;)org/apache/avalon/framework/logger/Loggererror(Ljava/lang/String;)V7org/apache/avalon/framework/configuration/ConfigurationgetAttributeAsInteger(Ljava/lang/String;I)I! 3*! ]^" #$%&'()'*+ H** **** L*+*Y* L*Y`+ !& &(<F" H#$ ,-< .'/0 [** *** * L*+* *a@  N*-Y-*Y` !6 &(39<FOY"*[#$ ,-3(.<12'34 P*+*+ !"#$56'78 = **! "  #$'9:;PK s.o) ) Norg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator.class.v A B CD A E FG H IJK LM NO PQ NR NS T UV WXYZ[\]m_dataSourceNameLjava/lang/String; m_dbSelector5Lorg/apache/avalon/framework/service/ServiceSelector; m_dataSource()VCodeLineNumberTableLocalVariableTablethisJLorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator; getConnection()Ljava/sql/Connection; Exceptions^service7(Lorg/apache/avalon/framework/service/ServiceManager;)Vmanager4Lorg/apache/avalon/framework/service/ServiceManager;_ configure<(Lorg/apache/avalon/framework/configuration/Configuration;)V configuration9Lorg/apache/avalon/framework/configuration/Configuration;` initializeadispose SourceFile"AbstractDataSourceIdGenerator.java '( !" ./java/lang/StringBuffer b cdSelector efg hi3org/apache/avalon/framework/service/ServiceSelector   big-decimalsj kl mndbpool op qf  rs:org/apache/avalon/excalibur/datasource/DataSourceComponent tuHorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator>org/apache/avalon/excalibur/datasource/ids/AbstractIdGenerator/org/apache/avalon/framework/service/Serviceable6org/apache/avalon/framework/configuration/Configurable2org/apache/avalon/framework/activity/Initializable/org/apache/avalon/framework/activity/Disposablejava/sql/SQLException4org/apache/avalon/framework/service/ServiceException@org/apache/avalon/framework/configuration/ConfigurationExceptionjava/lang/ExceptionROLEappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;2org/apache/avalon/framework/service/ServiceManagerlookup&(Ljava/lang/String;)Ljava/lang/Object;7org/apache/avalon/framework/configuration/ConfigurationgetAttributeAsBoolean(Ljava/lang/String;Z)ZsetUseBigDecimals(Z)VgetChildM(Ljava/lang/String;)Lorg/apache/avalon/framework/configuration/Configuration;getValueselect&(Ljava/lang/Object;)Ljava/lang/Object;release(Ljava/lang/Object;)V! !"#$%&'()3** YZ+ ,-./)4 **j+  ,-0123)[#*+Y  * z"{+#,-#450678)[*+ *+* +,-9:0;<()C** ** + ,-0=>()d&* !** *** * %+ &,-?@PK s.C@| | Dorg/apache/avalon/excalibur/datasource/ids/AbstractIdGenerator.class.k LM L N O P Q RS T UVW X Y Z T[ \ ]C^_`aBIG_DECIMAL_MAX_LONGLjava/math/BigDecimal; m_semaphoreLjava/lang/Object;m_useBigDecimalsZ()VCodeLineNumberTableLocalVariableTablethis@Lorg/apache/avalon/excalibur/datasource/ids/AbstractIdGenerator;getNextBigDecimalIdInner()Ljava/math/BigDecimal; ExceptionsgetNextLongIdInner()JsetUseBigDecimals(Z)VuseBigDecimalsisUsingBigDecimals()ZgetNextLongIdChecked(J)JmaxIdJnextIdbdmsgLjava/lang/String;getNextBigDecimalId getNextLongIdgetNextIntegerId()IgetNextShortId()S getNextByteId()B SourceFileAbstractIdGenerator.java ()java/lang/Object $% &' /0 "# bcTUnable to provide an id. The next id would be greater than the id data type allows. def gh6org/apache/avalon/excalibur/datasource/ids/IdException (h i3 23java/math/BigDecimal (j 9:>org/apache/avalon/excalibur/datasource/ids/AbstractIdGenerator5org/apache/avalon/framework/logger/AbstractLogEnabled6org/apache/avalon/excalibur/datasource/ids/IdGenerator-org/apache/avalon/framework/thread/ThreadSafe compareTo(Ljava/math/BigDecimal;)I getLogger-()Lorg/apache/avalon/framework/logger/Logger;)org/apache/avalon/framework/logger/Loggererror(Ljava/lang/String;)V longValue(D)V! !"#$%&' ()*B**Y+RGS, -./01 231 45*>*+ xy,-.6'78*/*+, -.9:*H *L*Y:*:ç : :*   Y B*Y:*Bç :! :*  Y ! X`cchc+F#.2=GPX]kqu,>-.;<M?=<8>#2?@u?@1 A0*?**YM*L,ç(N,-*YM»Y*L,ç :,+$366:6+"$1=,?-.,>#1 B3*2*+, -.1 CD*3 *+,  -.1 EF*4 *+,  -.1 GH*4 *+,  -.1 I)*&Y+BJKPK s.  hh<org/apache/avalon/excalibur/datasource/ids/IdException.class.  (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis8Lorg/apache/avalon/excalibur/datasource/ids/IdException;messageLjava/lang/String;*(Ljava/lang/String;Ljava/lang/Throwable;)V throwableLjava/lang/Throwable; SourceFileIdException.java  6org/apache/avalon/excalibur/datasource/ids/IdException.org/apache/avalon/framework/CascadingException!>*+ JK   I*+, UV   PK s.9!<00>org/apache/avalon/excalibur/datasource/ids/IdGenerator$1.class.(    (Ljava/lang/String;)V6org/apache/avalon/excalibur/datasource/ids/IdGenerator     N*LY+D   PK s.<org/apache/avalon/excalibur/datasource/ids/IdGenerator.class.2 ! " #$ %&'() InnerClassesROLELjava/lang/String;getNextBigDecimalId()Ljava/math/BigDecimal; Exceptions* getNextLongId()JgetNextIntegerId()IgetNextShortId()S getNextByteId()B()VCodeLineNumberTable SourceFileIdGenerator.java +,6org.apache.avalon.excalibur.datasource.ids.IdGenerator -./ 01 6org/apache/avalon/excalibur/datasource/ids/IdGeneratorjava/lang/Object/org/apache/avalon/framework/component/Component8org/apache/avalon/excalibur/datasource/ids/IdGenerator$16org/apache/avalon/excalibur/datasource/ids/IdException()VCodeLineNumberTableLocalVariableTablethis@Lorg/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator;getNextBigDecimalIdInner()Ljava/math/BigDecimal;connLjava/sql/Connection;stmtLjava/sql/PreparedStatement;rsLjava/sql/ResultSet;msgeLjava/sql/SQLException; ExceptionsgetNextLongIdInner()J configure<(Lorg/apache/avalon/framework/configuration/Configuration;)V configuration9Lorg/apache/avalon/framework/configuration/Configuration;f SourceFileSequenceIdGenerator.java () ghi jkjava/lang/StringBufferRequesting an Id using query: lm &' no pq rst uvw xyz {k |}#Query for Id did not return a value ~q6org/apache/avalon/excalibur/datasource/ids/IdException (q )java/sql/SQLExceptionUnable to allocate an Id ( =>query o>org/apache/avalon/excalibur/datasource/ids/SequenceIdGeneratorHorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator@org/apache/avalon/framework/configuration/ConfigurationException getLogger-()Lorg/apache/avalon/framework/logger/Logger;)org/apache/avalon/framework/logger/LoggerisDebugEnabled()Zappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;debug(Ljava/lang/String;)V getConnection()Ljava/sql/Connection;java/sql/ConnectionprepareStatement0(Ljava/lang/String;)Ljava/sql/PreparedStatement;java/sql/PreparedStatement executeQuery()Ljava/sql/ResultSet;java/sql/ResultSetnext getBigDecimal(I)Ljava/math/BigDecimal;errorclose*(Ljava/lang/String;Ljava/lang/Throwable;)VgetLong(I)J7org/apache/avalon/framework/configuration/ConfigurationgetChildM(Ljava/lang/String;)Lorg/apache/avalon/framework/configuration/Configuration;getValue!$%&'()*3*+ xy, -./0*9*"*Y*  * L+* M,N--:':*Y::+LY+0WsZxs+WZ+2 +0;BKZ^is,>-.0U12;834B156^7' 89:;<*V*"*Y*  *L+* M,N--7':*Y::+LM*,Y,0WsZxs+WZ+: +0;BKZ^is,H-.0U12;834B156^7'897':=>*S*+ *+!"# +,-.?@:ABCPK s.j;;Corg/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator.depsorg.apache.avalon.excalibur.datasource.DataSourceComponent PK s.۞Corg/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator.meta#Meta information for org.apache.avalon.excalibur.datasource.ids.SequenceIdGenerator #Mon Jun 02 14:30:49 EDT 2003 x-avalon.lifestyle=singleton x-avalon.name=sequence-id-generator PK s.+o**Aorg/apache/avalon/excalibur/datasource/ids/TableIdGenerator.class. I{ H| }~ H| {   H  } H  H  H| }    ! !  %  H| H| H| H| 1 H|  H| }  H % I rm_tableLjava/lang/String; m_tableName()VCodeLineNumberTableLocalVariableTablethis=Lorg/apache/avalon/excalibur/datasource/ids/TableIdGenerator;allocateIdBlock(IZ)Ljava/lang/Object; blockSizeIuseBigDecimalsZconnLjava/sql/Connection; autoCommitstmtLjava/sql/Statement;triesqueryrsLjava/sql/ResultSet;msgnextIdLjava/lang/Object; newNextId oldNextIdLjava/math/BigDecimal;JupdatedeLjava/sql/SQLException; ExceptionsallocateBigDecimalIdBlock(I)Ljava/math/BigDecimal;allocateLongIdBlock(I)JidLjava/lang/Long; configure<(Lorg/apache/avalon/framework/configuration/Configuration;)V configuration9Lorg/apache/avalon/framework/configuration/Configuration; SourceFileTableIdGenerator.java MN  java/lang/StringBufferAllocating a new block of  ids for key_table LK.  SELECT next_id FROM JK WHERE table_name = ''  ;Unable to allocate a block of Ids, no row with table_name='' exists in the  table. N6org/apache/avalon/excalibur/datasource/ids/IdException M ojava/math/BigDecimal M qjava/lang/Long MUPDATE  SET next_id = ' '  AND next_id = ' N)Update resulted in no rows being changed.java/sql/SQLException2Encountered an exception attempting to update the ( table. May be a transaction confict. Trying again: 5Unable to allocate a block of Ids. Too many retries. N"Unable to allocate a block of Ids. M TU tutableids  key-table;org/apache/avalon/excalibur/datasource/ids/TableIdGeneratorMorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceBlockIdGenerator@org/apache/avalon/framework/configuration/ConfigurationException getLogger-()Lorg/apache/avalon/framework/logger/Logger;)org/apache/avalon/framework/logger/LoggerisDebugEnabled()Zappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;toString()Ljava/lang/String;debug(Ljava/lang/String;)V getConnection()Ljava/sql/Connection;java/sql/Connection getAutoCommitcreateStatement()Ljava/sql/Statement;java/sql/Statement executeQuery((Ljava/lang/String;)Ljava/sql/ResultSet;java/sql/ResultSetnexterrorrollback getBigDecimal(D)Vadd.(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;getLong(J)V,(Ljava/lang/Object;)Ljava/lang/StringBuffer; executeUpdate(Ljava/lang/String;)Icommit getMessageclose*(Ljava/lang/String;Ljava/lang/Throwable;)V longValue()J7org/apache/avalon/framework/configuration/Configuration getAttribute8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;!HIJKLKMNO3*P Q RSTUO8\*0*Y  *   *N-6-:6Y**  ::LY* * : *  -Y $ :  !Y"#:  : &$7 %Y a&: %Y &: Y'*( )** *+ ) :,6   -- :  *.*/0E: *24*3Y4*56 7  -2S*89:!:  ::::-;N<:*=->Y-? #11N >..3.9@1@1@@1P- 9>FNQT} #ju{  .@E Q!Q\RS\VW\XY>Z[F\YN]^Q_W}`Kuab cK de fe gh  gi u5jW @kl AklEcKmnoO> *@!P4Q RS VWmpqOQ*@%M,AP C EQ RSVW rsmtuOb"*+B*+CDE*+FGE PUX[!\Q"RS"vwmxyzPK s.j;;@org/apache/avalon/excalibur/datasource/ids/TableIdGenerator.depsorg.apache.avalon.excalibur.datasource.DataSourceComponent PK s.؈$@org/apache/avalon/excalibur/datasource/ids/TableIdGenerator.meta#Meta information for org.apache.avalon.excalibur.datasource.ids.TableIdGenerator #Mon Jun 02 14:30:49 EDT 2003 x-avalon.lifestyle=singleton x-avalon.name=table-id-generator PK s.{3tt services.listorg.apache.avalon.excalibur.datasource.DataSourceComponent org.apache.avalon.excalibur.datasource.ids.IdGenerator PK s.IG META-INF/LICENSE.txt/* ============================================================================ The Apache Software License, Version 1.1 ============================================================================ Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modifica- tion, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see . */ PK s. AMETA-INF/PK s.$'META-INF/MANIFEST.MFPK s.ATMETA-INF/services/PK s.Aorg/PK s. Aorg/apache/PK s.Aorg/apache/avalon/PK s.Aorg/apache/avalon/excalibur/PK s.'A9org/apache/avalon/excalibur/datasource/PK s.+A~org/apache/avalon/excalibur/datasource/ids/PK s.%}}HMETA-INF/services/org.apache.avalon.excalibur.datasource.ids.IdGeneratorPK s.[Y~ ~ Sorg/apache/avalon/excalibur/datasource/ids/AbstractDataSourceBlockIdGenerator.classPK s.o) ) N org/apache/avalon/excalibur/datasource/ids/AbstractDataSourceIdGenerator.classPK s.C@| | D.org/apache/avalon/excalibur/datasource/ids/AbstractIdGenerator.classPK s.  hh< $org/apache/avalon/excalibur/datasource/ids/IdException.classPK s.9!<00>&org/apache/avalon/excalibur/datasource/ids/IdGenerator$1.classPK s.<Z*org/apache/avalon/excalibur/datasource/ids/IdGenerator.classPK s.;tؕ D.org/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator.classPK s.j;;C:org/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator.depsPK s.۞CN;org/apache/avalon/excalibur/datasource/ids/SequenceIdGenerator.metaPK s.+o**Ag<org/apache/avalon/excalibur/datasource/ids/TableIdGenerator.classPK s.j;;@Norg/apache/avalon/excalibur/datasource/ids/TableIdGenerator.depsPK s.؈$@Oorg/apache/avalon/excalibur/datasource/ids/TableIdGenerator.metaPK s.{3tt Pservices.listPK s.IG 8QMETA-INF/LICENSE.txtPK[