Let's hope this doesn't screw anything up.
import java.util.Hashtable;
-class Bib1Diagnostic
-{
- private static Hashtable<Integer, String> errorCodes = new Hashtable<Integer, String>();
+class Bib1Diagnostic {
- static
- {
- errorCodes.put( 1, "PermanentSystemError" ) ;
- errorCodes.put( 2, "TemporarySystemError" ) ;
- errorCodes.put( 3, "UnsupportedSearch" ) ;
- errorCodes.put( 4, "TermsOnlyIncludesExclusionOrStopWords" ) ;
- errorCodes.put( 5, "TooManyArgumentWords" ) ;
- errorCodes.put( 6, "TooManyBooleanOperators" ) ;
- errorCodes.put( 7, "TooManyTruncatedWords" ) ;
- errorCodes.put( 8, "TooManyIncompleteSubfields" ) ;
- errorCodes.put( 9, "TruncatedWordsTooShort" ) ;
- errorCodes.put( 10, "InvalidFormatForRecordNumberInSearchTerm" ) ;
- errorCodes.put( 11, "TooManyCharactersInSearchStatement" ) ;
- errorCodes.put( 12, "TooManyRecordsRetrieved" ) ;
- errorCodes.put( 13, "PresentRequestOutOfRange" ) ;
- errorCodes.put( 14, "SystemErrorInPresentingRecords" ) ;
- errorCodes.put( 15, "RecordNotAuthorizedToBeSentIntersystem" ) ;
- errorCodes.put( 16, "RecordExceedsPreferredMessageSize" ) ;
- errorCodes.put( 17, "RecordExceedsExceptionalRecordSize" ) ;
- errorCodes.put( 18, "ResultSetNotSupportedAsASearchTerm" ) ;
- errorCodes.put( 19, "OnlySingleResultSetAsSearchTermSupported" ) ;
- errorCodes.put( 20, "OnlyAndingOfASingleResultSetAsSearchTerm" ) ;
- errorCodes.put( 21, "ResultSetExistsAndReplaceIndicatorOff" ) ;
- errorCodes.put( 22, "ResultSetNamingNotSupported" ) ;
- errorCodes.put( 23, "SpecifiedCombinationOfDatabasesNotSupported" ) ;
- errorCodes.put( 24, "ElementSetNamesNotSupported" ) ;
- errorCodes.put( 25, "SpecifiedElementSetNameNotValidForSpecifiedDatabase" ) ;
- errorCodes.put( 26, "OnlyGenericFormOfElementSetNameSupported" ) ;
- errorCodes.put( 27, "ResultSetNoLongerExistsUnilaterallyDeletedByTarget" ) ;
- errorCodes.put( 28, "ResultSetIsInUse" ) ;
- errorCodes.put( 29, "OneOfTheSpecifiedDatabasesIsLocked" ) ;
- errorCodes.put( 30, "SpecifiedResultSetDoesNotExist" ) ;
- errorCodes.put( 31, "ResourcesExhaustedNoResultsAvailable" ) ;
- errorCodes.put( 32, "ResourcesExhaustedUnpredictablePartialResultsAvailable" ) ;
- errorCodes.put( 33, "ResourcesExhaustedValidSubsetOfResultsAvailable" ) ;
- errorCodes.put( 100, "UnspecifiedError" ) ;
- errorCodes.put( 101, "AccessControlFailure" ) ;
- errorCodes.put( 102, "ChallengeRequiredCouldNotBeIssuedOperationTerminated" ) ;
- errorCodes.put( 103, "ChallengeRequiredCouldNotBeIssuedRecordNotIncluded" ) ;
- errorCodes.put( 104, "ChallengeFailedRecordNotIncluded" ) ;
- errorCodes.put( 105, "TerminatedAtOriginRequest" ) ;
- errorCodes.put( 106, "NoAbstractSyntaxesAgreedToForThisRecord" ) ;
- errorCodes.put( 107, "QueryTypeNotSupported" ) ;
- errorCodes.put( 108, "MalformedQuery" ) ;
- errorCodes.put( 109, "DatabaseUnavailable" ) ;
- errorCodes.put( 110, "OperatorUnsupported" ) ;
- errorCodes.put( 111, "TooManyDatabasesSpecified" ) ;
- errorCodes.put( 112, "TooManyResultSetsCreated" ) ;
- errorCodes.put( 113, "UnsupportedAttributeType" ) ;
- errorCodes.put( 114, "UnsupportedUseAttribute" ) ;
- errorCodes.put( 115, "UnsupportedTermValueForUseAttribute" ) ;
- errorCodes.put( 116, "UseAttributeRequiredButNotSupplied" ) ;
- errorCodes.put( 117, "UnsupportedRelationAttribute" ) ;
- errorCodes.put( 118, "UnsupportedStructureAttribute" ) ;
- errorCodes.put( 119, "UnsupportedPositionAttribute" ) ;
- errorCodes.put( 120, "UnsupportedTruncationAttribute" ) ;
- errorCodes.put( 121, "UnsupportedAttributeSet" ) ;
- errorCodes.put( 122, "UnsupportedCompletenessAttribute" ) ;
- errorCodes.put( 123, "UnsupportedAttributeCombination" ) ;
- errorCodes.put( 124, "UnsupportedCodedValueForTerm" ) ;
- errorCodes.put( 125, "MalformedSearchTerm" ) ;
- errorCodes.put( 126, "IllegalTermValueForAttribute" ) ;
- errorCodes.put( 127, "UnparsableFormatForUnNormalizedValue" ) ;
- errorCodes.put( 128, "IllegalResultSetName" ) ;
- errorCodes.put( 129, "ProximitySearchOfSetsNotSupported" ) ;
- errorCodes.put( 130, "IllegalResultSetInProximitySearch" ) ;
- errorCodes.put( 131, "UnsupportedProximityRelation" ) ;
- errorCodes.put( 132, "UnsupportedProximityUnitCode" ) ;
- errorCodes.put( 201, "ProximityNotSupportedWithThisAttributeCombinationAttribute" ) ;
- errorCodes.put( 202, "UnsupportedDistanceForProximity" ) ;
- errorCodes.put( 203, "OrderedFlagNotSupportedForProximity" ) ;
- errorCodes.put( 205, "OnlyZeroStepSizeSupportedForScan" ) ;
- errorCodes.put( 206, "SpecifiedStepSizeNotSupportedForScanStep" ) ;
- errorCodes.put( 207, "CannotSortAccordingToSequence" ) ;
- errorCodes.put( 208, "NoResultSetNameSuppliedOnSort" ) ;
- errorCodes.put( 209, "GenericSortNotSupported" ) ;
- errorCodes.put( 210, "DatabaseSpecificSortNotSupported" ) ;
- errorCodes.put( 211, "TooManySortKeys" ) ;
- errorCodes.put( 212, "DuplicateSortKeys" ) ;
- errorCodes.put( 213, "UnsupportedMissingDataAction" ) ;
- errorCodes.put( 214, "IllegalSortRelation" ) ;
- errorCodes.put( 215, "IllegalCaseValue" ) ;
- errorCodes.put( 216, "IllegalMissingDataAction" ) ;
- errorCodes.put( 217, "SegmentationCannotGuaranteeRecordsWillFitInSpecifiedSegments" ) ;
- errorCodes.put( 218, "EsPackageNameAlreadyInUse" ) ;
- errorCodes.put( 219, "EsNoSuchPackageOnModifyDelete" ) ;
- errorCodes.put( 220, "EsQuotaExceeded" ) ;
- errorCodes.put( 221, "EsExtendedServiceTypeNotSupported" ) ;
- errorCodes.put( 222, "EsPermissionDeniedOnEsIdNotAuthorized" ) ;
- errorCodes.put( 223, "EsPermissionDeniedOnEsCannotModifyOrDelete" ) ;
- errorCodes.put( 224, "EsImmediateExecutionFailed" ) ;
- errorCodes.put( 225, "EsImmediateExecutionNotSupportedForThisService" ) ;
- errorCodes.put( 226, "EsImmediateExecutionNotSupportedForTheseParameters" ) ;
- errorCodes.put( 227, "NoDataAvailableInRequestedRecordSyntax" ) ;
- errorCodes.put( 228, "ScanMalformedScan" ) ;
- errorCodes.put( 229, "TermTypeNotSupported" ) ;
- errorCodes.put( 230, "SortTooManyInputResults" ) ;
- errorCodes.put( 231, "SortIncompatibleRecordFormats" ) ;
- errorCodes.put( 232, "ScanTermListNotSupported" ) ;
- errorCodes.put( 233, "ScanUnsupportedValueOfPositionInResponse" ) ;
- errorCodes.put( 234, "TooManyIndexTermsProcessed" ) ;
- errorCodes.put( 235, "DatabaseDoesNotExist" ) ;
- errorCodes.put( 236, "AccessToSpecifiedDatabaseDenied" ) ;
- errorCodes.put( 237, "SortIllegalSort" ) ;
- errorCodes.put( 238, "RecordNotAvailableInRequestedSyntax" ) ;
- errorCodes.put( 239, "RecordSyntaxNotSupported" ) ;
- errorCodes.put( 240, "ScanResourcesExhaustedLookingForSatisfyingTerms" ) ;
- errorCodes.put( 241, "ScanBeginningOrEndOfTermList" ) ;
- errorCodes.put( 242, "SegmentationMaxSegmentSizeTooSmallToSegmentRecord" ) ;
- errorCodes.put( 243, "PresentAdditionalRangesParameterNotSupported" ) ;
- errorCodes.put( 244, "PresentCompSpecParameterNotSupported" ) ;
- errorCodes.put( 245, "Type1QueryRestrictionOperandNotSupported" ) ;
- errorCodes.put( 246, "Type1QueryComplexAttributevalueNotSupported" ) ;
- errorCodes.put( 247, "Type1QueryAttributesetAsPartOfAttributeelementNotSupported" ) ;
- }
+ private static Hashtable<Integer, String> errorCodes = new Hashtable<Integer, String>();
- public static String GetError( int errorCode )
- {
- String errorText = "Unknown Error" ;
-
- if( errorCodes.containsKey(errorCode) )
- errorText = errorCodes.get( errorCode );
+ static {
+ errorCodes.put(1, "PermanentSystemError");
+ errorCodes.put(2, "TemporarySystemError");
+ errorCodes.put(3, "UnsupportedSearch");
+ errorCodes.put(4, "TermsOnlyIncludesExclusionOrStopWords");
+ errorCodes.put(5, "TooManyArgumentWords");
+ errorCodes.put(6, "TooManyBooleanOperators");
+ errorCodes.put(7, "TooManyTruncatedWords");
+ errorCodes.put(8, "TooManyIncompleteSubfields");
+ errorCodes.put(9, "TruncatedWordsTooShort");
+ errorCodes.put(10, "InvalidFormatForRecordNumberInSearchTerm");
+ errorCodes.put(11, "TooManyCharactersInSearchStatement");
+ errorCodes.put(12, "TooManyRecordsRetrieved");
+ errorCodes.put(13, "PresentRequestOutOfRange");
+ errorCodes.put(14, "SystemErrorInPresentingRecords");
+ errorCodes.put(15, "RecordNotAuthorizedToBeSentIntersystem");
+ errorCodes.put(16, "RecordExceedsPreferredMessageSize");
+ errorCodes.put(17, "RecordExceedsExceptionalRecordSize");
+ errorCodes.put(18, "ResultSetNotSupportedAsASearchTerm");
+ errorCodes.put(19, "OnlySingleResultSetAsSearchTermSupported");
+ errorCodes.put(20, "OnlyAndingOfASingleResultSetAsSearchTerm");
+ errorCodes.put(21, "ResultSetExistsAndReplaceIndicatorOff");
+ errorCodes.put(22, "ResultSetNamingNotSupported");
+ errorCodes.put(23, "SpecifiedCombinationOfDatabasesNotSupported");
+ errorCodes.put(24, "ElementSetNamesNotSupported");
+ errorCodes.put(25, "SpecifiedElementSetNameNotValidForSpecifiedDatabase");
+ errorCodes.put(26, "OnlyGenericFormOfElementSetNameSupported");
+ errorCodes.put(27, "ResultSetNoLongerExistsUnilaterallyDeletedByTarget");
+ errorCodes.put(28, "ResultSetIsInUse");
+ errorCodes.put(29, "OneOfTheSpecifiedDatabasesIsLocked");
+ errorCodes.put(30, "SpecifiedResultSetDoesNotExist");
+ errorCodes.put(31, "ResourcesExhaustedNoResultsAvailable");
+ errorCodes.put(32, "ResourcesExhaustedUnpredictablePartialResultsAvailable");
+ errorCodes.put(33, "ResourcesExhaustedValidSubsetOfResultsAvailable");
+ errorCodes.put(100, "UnspecifiedError");
+ errorCodes.put(101, "AccessControlFailure");
+ errorCodes.put(102, "ChallengeRequiredCouldNotBeIssuedOperationTerminated");
+ errorCodes.put(103, "ChallengeRequiredCouldNotBeIssuedRecordNotIncluded");
+ errorCodes.put(104, "ChallengeFailedRecordNotIncluded");
+ errorCodes.put(105, "TerminatedAtOriginRequest");
+ errorCodes.put(106, "NoAbstractSyntaxesAgreedToForThisRecord");
+ errorCodes.put(107, "QueryTypeNotSupported");
+ errorCodes.put(108, "MalformedQuery");
+ errorCodes.put(109, "DatabaseUnavailable");
+ errorCodes.put(110, "OperatorUnsupported");
+ errorCodes.put(111, "TooManyDatabasesSpecified");
+ errorCodes.put(112, "TooManyResultSetsCreated");
+ errorCodes.put(113, "UnsupportedAttributeType");
+ errorCodes.put(114, "UnsupportedUseAttribute");
+ errorCodes.put(115, "UnsupportedTermValueForUseAttribute");
+ errorCodes.put(116, "UseAttributeRequiredButNotSupplied");
+ errorCodes.put(117, "UnsupportedRelationAttribute");
+ errorCodes.put(118, "UnsupportedStructureAttribute");
+ errorCodes.put(119, "UnsupportedPositionAttribute");
+ errorCodes.put(120, "UnsupportedTruncationAttribute");
+ errorCodes.put(121, "UnsupportedAttributeSet");
+ errorCodes.put(122, "UnsupportedCompletenessAttribute");
+ errorCodes.put(123, "UnsupportedAttributeCombination");
+ errorCodes.put(124, "UnsupportedCodedValueForTerm");
+ errorCodes.put(125, "MalformedSearchTerm");
+ errorCodes.put(126, "IllegalTermValueForAttribute");
+ errorCodes.put(127, "UnparsableFormatForUnNormalizedValue");
+ errorCodes.put(128, "IllegalResultSetName");
+ errorCodes.put(129, "ProximitySearchOfSetsNotSupported");
+ errorCodes.put(130, "IllegalResultSetInProximitySearch");
+ errorCodes.put(131, "UnsupportedProximityRelation");
+ errorCodes.put(132, "UnsupportedProximityUnitCode");
+ errorCodes.put(201, "ProximityNotSupportedWithThisAttributeCombinationAttribute");
+ errorCodes.put(202, "UnsupportedDistanceForProximity");
+ errorCodes.put(203, "OrderedFlagNotSupportedForProximity");
+ errorCodes.put(205, "OnlyZeroStepSizeSupportedForScan");
+ errorCodes.put(206, "SpecifiedStepSizeNotSupportedForScanStep");
+ errorCodes.put(207, "CannotSortAccordingToSequence");
+ errorCodes.put(208, "NoResultSetNameSuppliedOnSort");
+ errorCodes.put(209, "GenericSortNotSupported");
+ errorCodes.put(210, "DatabaseSpecificSortNotSupported");
+ errorCodes.put(211, "TooManySortKeys");
+ errorCodes.put(212, "DuplicateSortKeys");
+ errorCodes.put(213, "UnsupportedMissingDataAction");
+ errorCodes.put(214, "IllegalSortRelation");
+ errorCodes.put(215, "IllegalCaseValue");
+ errorCodes.put(216, "IllegalMissingDataAction");
+ errorCodes.put(217, "SegmentationCannotGuaranteeRecordsWillFitInSpecifiedSegments");
+ errorCodes.put(218, "EsPackageNameAlreadyInUse");
+ errorCodes.put(219, "EsNoSuchPackageOnModifyDelete");
+ errorCodes.put(220, "EsQuotaExceeded");
+ errorCodes.put(221, "EsExtendedServiceTypeNotSupported");
+ errorCodes.put(222, "EsPermissionDeniedOnEsIdNotAuthorized");
+ errorCodes.put(223, "EsPermissionDeniedOnEsCannotModifyOrDelete");
+ errorCodes.put(224, "EsImmediateExecutionFailed");
+ errorCodes.put(225, "EsImmediateExecutionNotSupportedForThisService");
+ errorCodes.put(226, "EsImmediateExecutionNotSupportedForTheseParameters");
+ errorCodes.put(227, "NoDataAvailableInRequestedRecordSyntax");
+ errorCodes.put(228, "ScanMalformedScan");
+ errorCodes.put(229, "TermTypeNotSupported");
+ errorCodes.put(230, "SortTooManyInputResults");
+ errorCodes.put(231, "SortIncompatibleRecordFormats");
+ errorCodes.put(232, "ScanTermListNotSupported");
+ errorCodes.put(233, "ScanUnsupportedValueOfPositionInResponse");
+ errorCodes.put(234, "TooManyIndexTermsProcessed");
+ errorCodes.put(235, "DatabaseDoesNotExist");
+ errorCodes.put(236, "AccessToSpecifiedDatabaseDenied");
+ errorCodes.put(237, "SortIllegalSort");
+ errorCodes.put(238, "RecordNotAvailableInRequestedSyntax");
+ errorCodes.put(239, "RecordSyntaxNotSupported");
+ errorCodes.put(240, "ScanResourcesExhaustedLookingForSatisfyingTerms");
+ errorCodes.put(241, "ScanBeginningOrEndOfTermList");
+ errorCodes.put(242, "SegmentationMaxSegmentSizeTooSmallToSegmentRecord");
+ errorCodes.put(243, "PresentAdditionalRangesParameterNotSupported");
+ errorCodes.put(244, "PresentCompSpecParameterNotSupported");
+ errorCodes.put(245, "Type1QueryRestrictionOperandNotSupported");
+ errorCodes.put(246, "Type1QueryComplexAttributevalueNotSupported");
+ errorCodes.put(247, "Type1QueryAttributesetAsPartOfAttributeelementNotSupported");
+ }
- return errorText;
- }
+ public static String GetError(int errorCode) {
+ String errorText = "Unknown Error";
+
+ if (errorCodes.containsKey(errorCode)) {
+ errorText = errorCodes.get(errorCode);
+ }
+
+ return errorText;
+ }
}
package org.yaz4j;
-public class Bib1Exception extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class Bib1Exception extends RuntimeException {
- public Bib1Exception()
- {
- super();
- }
-
- public Bib1Exception(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public Bib1Exception() {
+ super();
+ }
+
+ public Bib1Exception(String message) {
+ super(message);
+ }
}
package org.yaz4j;
-public class CQLQuery
-{
- private String query = null;
-
- public CQLQuery(String query)
- {
- this.query = query;
- }
+public class CQLQuery {
- public String getQueryString()
- {
- return query ;
- }
-
- public void setQueryString( String query)
- {
- this.query = query ;
- }
+ private String query = null;
+
+ public CQLQuery(String query) {
+ this.query = query;
+ }
+
+ public String getQueryString() {
+ return query;
+ }
+
+ public void setQueryString(String query) {
+ this.query = query;
+ }
}
import org.yaz4j.jni.yaz4jlib;
import org.yaz4j.jni.yaz4jlibConstants;
-public class Connection
-{
- private String host ;
- private int port ;
- private ConnectionOptionsCollection options = null ;
- protected SWIGTYPE_p_ZOOM_connection_p zoomConnection = null ;
- private boolean connected = false;
- private boolean disposed = false;
-
- static
- {
- // on Linux 'yaz4j' maps to 'libyaz4j.so' (i.e. 'lib' prefix & '.so' extension)
- // on Windows 'yaz4j' maps to 'yaz4j.dll' (i.e. '.dll' extension)
- String libName = "yaz4j" ;
- try
- {
- // System.err.println( "Loading library '"+ System.mapLibraryName( libName ) + "'" );
- System.loadLibrary( libName );
- }
- catch( Throwable e )
- {
- System.err.println( "Fatal Error: Failed to load library '" + System.mapLibraryName( libName ) + "'");
- e.printStackTrace();
- }
- }
-
- public Connection(String host, int port)
- {
- this.host = host ;
- this.port = port ;
-
- options = new ConnectionOptionsCollection();
- zoomConnection = yaz4jlib.ZOOM_connection_create(options.zoomOptions);
-
- SWIGTYPE_p_p_char cp = null;
- SWIGTYPE_p_p_char addinfo = null ;
- int errorCode = yaz4jlib.ZOOM_connection_error(zoomConnection, cp, addinfo);
- CheckErrorCodeAndThrow(errorCode);
- }
-
- public void finalize()
- {
- Dispose();
- }
-
- private void CheckErrorCodeAndThrow(int errorCode)
- {
- String message;
-
- if( errorCode == yaz4jlibConstants.ZOOM_ERROR_NONE )
- {
- return ;
- }
- else if( errorCode == yaz4jlib.ZOOM_ERROR_CONNECT )
- {
- message = String.format("Connection could not be made to %s:%d", host, port);
- throw new ConnectionUnavailableException(message);
- }
- else if( errorCode == yaz4jlib.ZOOM_ERROR_INVALID_QUERY )
- {
- message = String.format("The query requested is not valid or not supported");
- throw new InvalidQueryException(message);
- }
- else if( errorCode == yaz4jlib.ZOOM_ERROR_INIT )
- {
- message = String.format("Server %s:%d rejected our init request", host, port);
- throw new InitRejectedException(message);
- }
- else if( errorCode == yaz4jlib.ZOOM_ERROR_TIMEOUT )
- {
- message = String.format("Server %s:%d timed out handling our request", host, port);
- throw new ConnectionTimeoutException(message);
- }
- else if( ( errorCode == yaz4jlib.ZOOM_ERROR_MEMORY )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_ENCODE )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_DECODE )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_CONNECTION_LOST )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_INTERNAL )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_UNSUPPORTED_PROTOCOL )
- || ( errorCode == yaz4jlib.ZOOM_ERROR_UNSUPPORTED_QUERY ) )
- {
- message = yaz4jlib.ZOOM_connection_errmsg(zoomConnection);
- throw new ZoomImplementationException("A fatal error occurred in Yaz: " + errorCode + " - " + message);
+public class Connection {
+
+ private String host;
+ private int port;
+ private ConnectionOptionsCollection options = null;
+ protected SWIGTYPE_p_ZOOM_connection_p zoomConnection = null;
+ private boolean connected = false;
+ private boolean disposed = false;
+
+ static {
+ // on Linux 'yaz4j' maps to 'libyaz4j.so' (i.e. 'lib' prefix & '.so' extension)
+ // on Windows 'yaz4j' maps to 'yaz4j.dll' (i.e. '.dll' extension)
+ String libName = "yaz4j";
+ try {
+ // System.err.println( "Loading library '"+ System.mapLibraryName( libName ) + "'" );
+ System.loadLibrary(libName);
+ } catch (Throwable e) {
+ System.err.println("Fatal Error: Failed to load library '" + System.mapLibraryName(libName) + "'");
+ e.printStackTrace();
}
- else
- {
- String errMsgBib1 = "Bib1Exception: Error Code = " + errorCode + " (" + Bib1Diagnostic.GetError(errorCode) + ")" ;
- throw new Bib1Exception( errMsgBib1 );
+ }
+
+ public Connection(String host, int port) {
+ this.host = host;
+ this.port = port;
+
+ options = new ConnectionOptionsCollection();
+ zoomConnection = yaz4jlib.ZOOM_connection_create(options.zoomOptions);
+
+ SWIGTYPE_p_p_char cp = null;
+ SWIGTYPE_p_p_char addinfo = null;
+ int errorCode = yaz4jlib.ZOOM_connection_error(zoomConnection, cp, addinfo);
+ CheckErrorCodeAndThrow(errorCode);
+ }
+
+ public void finalize() {
+ Dispose();
+ }
+
+ private void CheckErrorCodeAndThrow(int errorCode) {
+ String message;
+
+ if (errorCode == yaz4jlibConstants.ZOOM_ERROR_NONE) {
+ return;
+ } else if (errorCode == yaz4jlib.ZOOM_ERROR_CONNECT) {
+ message = String.format("Connection could not be made to %s:%d", host, port);
+ throw new ConnectionUnavailableException(message);
+ } else if (errorCode == yaz4jlib.ZOOM_ERROR_INVALID_QUERY) {
+ message = String.format("The query requested is not valid or not supported");
+ throw new InvalidQueryException(message);
+ } else if (errorCode == yaz4jlib.ZOOM_ERROR_INIT) {
+ message = String.format("Server %s:%d rejected our init request", host, port);
+ throw new InitRejectedException(message);
+ } else if (errorCode == yaz4jlib.ZOOM_ERROR_TIMEOUT) {
+ message = String.format("Server %s:%d timed out handling our request", host, port);
+ throw new ConnectionTimeoutException(message);
+ } else if ((errorCode == yaz4jlib.ZOOM_ERROR_MEMORY) || (errorCode == yaz4jlib.ZOOM_ERROR_ENCODE) || (errorCode == yaz4jlib.ZOOM_ERROR_DECODE) || (errorCode == yaz4jlib.ZOOM_ERROR_CONNECTION_LOST) || (errorCode == yaz4jlib.ZOOM_ERROR_INTERNAL) || (errorCode == yaz4jlib.ZOOM_ERROR_UNSUPPORTED_PROTOCOL) || (errorCode == yaz4jlib.ZOOM_ERROR_UNSUPPORTED_QUERY)) {
+ message = yaz4jlib.ZOOM_connection_errmsg(zoomConnection);
+ throw new ZoomImplementationException("A fatal error occurred in Yaz: " + errorCode + " - " + message);
+ } else {
+ String errMsgBib1 = "Bib1Exception: Error Code = " + errorCode + " (" + Bib1Diagnostic.GetError(errorCode) + ")";
+ throw new Bib1Exception(errMsgBib1);
}
- }
-
- private enum QueryType { CQLQuery, PrefixQuery };
-
- public ResultSet Search(PrefixQuery query)
- {
- return Search( query.getQueryString(), QueryType.PrefixQuery);
- }
-
- public ResultSet Search(CQLQuery query)
- {
- return Search( query.getQueryString(), QueryType.CQLQuery);
- }
-
- private ResultSet Search(String query, QueryType queryType)
- {
- EnsureConnected();
-
- SWIGTYPE_p_ZOOM_query_p yazQuery = yaz4jlib.ZOOM_query_create();
+ }
+
+ private enum QueryType {
+
+ CQLQuery, PrefixQuery
+ };
+
+ public ResultSet Search(PrefixQuery query) {
+ return Search(query.getQueryString(), QueryType.PrefixQuery);
+ }
+
+ public ResultSet Search(CQLQuery query) {
+ return Search(query.getQueryString(), QueryType.CQLQuery);
+ }
+
+ private ResultSet Search(String query, QueryType queryType) {
+ EnsureConnected();
+
+ SWIGTYPE_p_ZOOM_query_p yazQuery = yaz4jlib.ZOOM_query_create();
ResultSet resultSet = null;
- try
- {
- if( queryType == QueryType.CQLQuery )
- yaz4jlib.ZOOM_query_cql(yazQuery, query);
- else if( queryType == QueryType.PrefixQuery )
- yaz4jlib.ZOOM_query_prefix(yazQuery, query);
- else
- throw new InvalidQueryException("queryType");
-
- SWIGTYPE_p_ZOOM_resultset_p yazResultSet = yaz4jlib.ZOOM_connection_search(zoomConnection, yazQuery);
-
- int errorCode = yaz4jlib.ZOOM_connection_errcode( zoomConnection );
- if (errorCode != yaz4jlib.ZOOM_ERROR_NONE)
- {
- yaz4jlib.ZOOM_resultset_destroy(yazResultSet);
+ try {
+ if (queryType == QueryType.CQLQuery) {
+ yaz4jlib.ZOOM_query_cql(yazQuery, query);
+ } else if (queryType == QueryType.PrefixQuery) {
+ yaz4jlib.ZOOM_query_prefix(yazQuery, query);
+ } else {
+ throw new InvalidQueryException("queryType");
+ }
+
+ SWIGTYPE_p_ZOOM_resultset_p yazResultSet = yaz4jlib.ZOOM_connection_search(zoomConnection, yazQuery);
+
+ int errorCode = yaz4jlib.ZOOM_connection_errcode(zoomConnection);
+ if (errorCode != yaz4jlib.ZOOM_ERROR_NONE) {
+ yaz4jlib.ZOOM_resultset_destroy(yazResultSet);
}
CheckErrorCodeAndThrow(errorCode);
resultSet = new ResultSet(yazResultSet, zoomConnection);
- }
- finally
- {
- yaz4jlib.ZOOM_query_destroy(yazQuery); // deallocate yazQuery also when exceptions
+ } finally {
+ yaz4jlib.ZOOM_query_destroy(yazQuery); // deallocate yazQuery also when exceptions
yazQuery = null;
}
return resultSet;
- }
-
- public ScanSet Scan(String query)
- {
- EnsureConnected();
- SWIGTYPE_p_ZOOM_scanset_p yazScanSet = yaz4jlib.ZOOM_connection_scan(zoomConnection, query);
-
- int errorCode = yaz4jlib.ZOOM_connection_errcode(zoomConnection);
- if( errorCode != yaz4jlib.ZOOM_ERROR_NONE )
- {
- yaz4jlib.ZOOM_scanset_destroy(yazScanSet);
- }
- CheckErrorCodeAndThrow(errorCode);
-
- ScanSet scanSet = new ScanSet(yazScanSet, this);
- return scanSet;
- }
-
- public ConnectionOptionsCollection getOptions()
- {
- return options;
- }
-
- protected void EnsureConnected()
- {
- if (! connected )
- Connect();
- }
-
- public void Connect()
- {
- yaz4jlib.ZOOM_connection_connect( zoomConnection, host, port);
- int errorCode = yaz4jlib.ZOOM_connection_errcode(zoomConnection);
- CheckErrorCodeAndThrow(errorCode);
- connected = true;
- }
-
- public void Dispose()
- {
- if (! disposed )
- {
- yaz4jlib.ZOOM_connection_destroy(zoomConnection);
- zoomConnection = null;
- disposed = true;
- }
- }
-
- public String getSyntax()
- {
- return options.get("preferredRecordSyntax");
- }
-
- public void setSyntax( String value)
- {
- options.set("preferredRecordSyntax", value ) ;
- }
-
- public String getDatabaseName()
- {
- return options.get("databaseName");
- }
-
- public void setDatabaseName( String value )
- {
- options.set("databaseName", value);
- }
-
- public String getUsername()
- {
- return options.get("user");
- }
-
- public void setUsername( String value )
- {
- options.set("user", value);
- }
-
- public String getPassword()
- {
- return options.get("password");
- }
-
- public void setPassword( String value )
- {
- options.set("password", value);
- }
+ }
+
+ public ScanSet Scan(String query) {
+ EnsureConnected();
+ SWIGTYPE_p_ZOOM_scanset_p yazScanSet = yaz4jlib.ZOOM_connection_scan(zoomConnection, query);
+
+ int errorCode = yaz4jlib.ZOOM_connection_errcode(zoomConnection);
+ if (errorCode != yaz4jlib.ZOOM_ERROR_NONE) {
+ yaz4jlib.ZOOM_scanset_destroy(yazScanSet);
+ }
+ CheckErrorCodeAndThrow(errorCode);
+
+ ScanSet scanSet = new ScanSet(yazScanSet, this);
+ return scanSet;
+ }
+
+ public ConnectionOptionsCollection getOptions() {
+ return options;
+ }
+
+ protected void EnsureConnected() {
+ if (!connected) {
+ Connect();
+ }
+ }
+
+ public void Connect() {
+ yaz4jlib.ZOOM_connection_connect(zoomConnection, host, port);
+ int errorCode = yaz4jlib.ZOOM_connection_errcode(zoomConnection);
+ CheckErrorCodeAndThrow(errorCode);
+ connected = true;
+ }
+
+ public void Dispose() {
+ if (!disposed) {
+ yaz4jlib.ZOOM_connection_destroy(zoomConnection);
+ zoomConnection = null;
+ disposed = true;
+ }
+ }
+
+ public String getSyntax() {
+ return options.get("preferredRecordSyntax");
+ }
+
+ public void setSyntax(String value) {
+ options.set("preferredRecordSyntax", value);
+ }
+
+ public String getDatabaseName() {
+ return options.get("databaseName");
+ }
+
+ public void setDatabaseName(String value) {
+ options.set("databaseName", value);
+ }
+
+ public String getUsername() {
+ return options.get("user");
+ }
+
+ public void setUsername(String value) {
+ options.set("user", value);
+ }
+
+ public String getPassword() {
+ return options.get("password");
+ }
+
+ public void setPassword(String value) {
+ options.set("password", value);
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_package_p;
import org.yaz4j.jni.yaz4jlib;
-public class ConnectionExtended extends Connection
-{
- public ConnectionExtended(String host, int port)
- {
- super(host, port);
- }
+public class ConnectionExtended extends Connection {
- public Package Package(String type)
- {
+ public ConnectionExtended(String host, int port) {
+ super(host, port);
+ }
+
+ public Package Package(String type) {
EnsureConnected();
Package pack = null;
-
+
SWIGTYPE_p_ZOOM_options_p options = yaz4jlib.ZOOM_options_create();
- SWIGTYPE_p_ZOOM_package_p yazPackage = yaz4jlib.ZOOM_connection_package( zoomConnection, options);
+ SWIGTYPE_p_ZOOM_package_p yazPackage = yaz4jlib.ZOOM_connection_package(zoomConnection, options);
pack = new Package(yazPackage, this, type);
return pack;
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_options_p;
import org.yaz4j.jni.yaz4jlib;
-public class ConnectionOptionsCollection
-{
- SWIGTYPE_p_ZOOM_options_p zoomOptions = null ;
-
- ConnectionOptionsCollection()
- {
- zoomOptions = yaz4jlib.ZOOM_options_create();
- }
-
- public void finalize()
- {
- Dispose();
- }
-
- public void Dispose()
- {
- yaz4jlib.ZOOM_options_destroy( zoomOptions );
- zoomOptions = null ;
- }
-
- SWIGTYPE_p_ZOOM_connection_p CreateConnection()
- {
- return yaz4jlib.ZOOM_connection_create(zoomOptions);
- }
-
- public String get(String key)
- {
- return yaz4jlib.ZOOM_options_get(zoomOptions, key) ;
- }
-
- public void set(String key, String value)
- {
- yaz4jlib.ZOOM_options_set(zoomOptions, key, value) ;
- }
-
+public class ConnectionOptionsCollection {
+
+ SWIGTYPE_p_ZOOM_options_p zoomOptions = null;
+
+ ConnectionOptionsCollection() {
+ zoomOptions = yaz4jlib.ZOOM_options_create();
+ }
+
+ public void finalize() {
+ Dispose();
+ }
+
+ public void Dispose() {
+ yaz4jlib.ZOOM_options_destroy(zoomOptions);
+ zoomOptions = null;
+ }
+
+ SWIGTYPE_p_ZOOM_connection_p CreateConnection() {
+ return yaz4jlib.ZOOM_connection_create(zoomOptions);
+ }
+
+ public String get(String key) {
+ return yaz4jlib.ZOOM_options_get(zoomOptions, key);
+ }
+
+ public void set(String key, String value) {
+ yaz4jlib.ZOOM_options_set(zoomOptions, key, value);
+ }
}
package org.yaz4j;
-public class ConnectionTimeoutException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class ConnectionTimeoutException extends RuntimeException {
- public ConnectionTimeoutException()
- {
- super();
- }
-
- public ConnectionTimeoutException(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public ConnectionTimeoutException() {
+ super();
+ }
+
+ public ConnectionTimeoutException(String message) {
+ super(message);
+ }
}
package org.yaz4j;
-public class ConnectionUnavailableException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class ConnectionUnavailableException extends RuntimeException {
- public ConnectionUnavailableException()
- {
- super();
- }
-
- public ConnectionUnavailableException(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public ConnectionUnavailableException() {
+ super();
+ }
+
+ public ConnectionUnavailableException(String message) {
+ super(message);
+ }
}
package org.yaz4j;
-public class InitRejectedException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class InitRejectedException extends RuntimeException {
- public InitRejectedException()
- {
- super();
- }
-
- public InitRejectedException(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public InitRejectedException() {
+ super();
+ }
+
+ public InitRejectedException(String message) {
+ super(message);
+ }
}
package org.yaz4j;
-public class InvalidQueryException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class InvalidQueryException extends RuntimeException {
- public InvalidQueryException()
- {
- super();
- }
-
- public InvalidQueryException(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public InvalidQueryException() {
+ super();
+ }
+
+ public InvalidQueryException(String message) {
+ super(message);
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_package_p;
import org.yaz4j.jni.yaz4jlib;
-public class Package
-{
- private SWIGTYPE_p_ZOOM_package_p pack = null ;
- private ConnectionExtended connection = null ;
- private String type;
-
- Package(SWIGTYPE_p_ZOOM_package_p pack, ConnectionExtended connection, String type)
- {
- this.type = type;
- this.connection = connection;
- this.pack = pack;
- }
-
- public void finalize()
- {
- Dispose();
- }
-
- public PackageOptionsCollection getPackageOptions()
- {
- return new PackageOptionsCollection(pack);
- }
-
- public void Send()
- {
- yaz4jlib.ZOOM_package_send( pack, type );
- }
-
- public void Dispose()
- {
- if ( pack != null )
- {
- yaz4jlib.ZOOM_package_destroy( pack );
- connection = null;
- pack = null ;
- }
- }
+public class Package {
+
+ private SWIGTYPE_p_ZOOM_package_p pack = null;
+ private ConnectionExtended connection = null;
+ private String type;
+
+ Package(SWIGTYPE_p_ZOOM_package_p pack, ConnectionExtended connection, String type) {
+ this.type = type;
+ this.connection = connection;
+ this.pack = pack;
+ }
+
+ public void finalize() {
+ Dispose();
+ }
+
+ public PackageOptionsCollection getPackageOptions() {
+ return new PackageOptionsCollection(pack);
+ }
+
+ public void Send() {
+ yaz4jlib.ZOOM_package_send(pack, type);
+ }
+
+ public void Dispose() {
+ if (pack != null) {
+ yaz4jlib.ZOOM_package_destroy(pack);
+ connection = null;
+ pack = null;
+ }
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_package_p;
import org.yaz4j.jni.yaz4jlib;
-public class PackageOptionsCollection
-{
- private SWIGTYPE_p_ZOOM_package_p pack = null;
-
- PackageOptionsCollection(SWIGTYPE_p_ZOOM_package_p pack)
- {
+public class PackageOptionsCollection {
+
+ private SWIGTYPE_p_ZOOM_package_p pack = null;
+
+ PackageOptionsCollection(SWIGTYPE_p_ZOOM_package_p pack) {
this.pack = pack;
}
-
- public void Dispose()
- {
+
+ public void Dispose() {
pack = null;
}
-
- public String get(String key)
- {
- return yaz4jlib.ZOOM_package_option_get( pack, key) ;
+
+ public String get(String key) {
+ return yaz4jlib.ZOOM_package_option_get(pack, key);
}
- public void set(String key, String value)
- {
- yaz4jlib.ZOOM_package_option_set( pack, key, value) ;
+ public void set(String key, String value) {
+ yaz4jlib.ZOOM_package_option_set(pack, key, value);
}
}
package org.yaz4j;
-public class PrefixQuery
-{
- private String query = null;
-
- public PrefixQuery(String query)
- {
- this.query = query;
- }
+public class PrefixQuery {
- public String getQueryString()
- {
- return query ;
- }
-
- public void setQueryString( String query)
- {
- this.query = query ;
- }
+ private String query = null;
+
+ public PrefixQuery(String query) {
+ this.query = query;
+ }
+
+ public String getQueryString() {
+ return query;
+ }
+
+ public void setQueryString(String query) {
+ this.query = query;
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_int;
import org.yaz4j.jni.yaz4jlib;
-public class Record
-{
- private SWIGTYPE_p_ZOOM_record_p record = null ;
- private ResultSet resultSet = null ;
- private boolean disposed = false;
-
- Record(SWIGTYPE_p_ZOOM_record_p record, ResultSet resultSet)
- {
- this.resultSet = resultSet;
- this.record = record;
- }
-
- public void finalize()
- {
- Dispose();
- }
-
- public byte[] get(String type)
- {
- SWIGTYPE_p_int length = null ;
- return yaz4jlib.ZOOM_record_get_bytes(record, type, length) ;
+public class Record {
+
+ private SWIGTYPE_p_ZOOM_record_p record = null;
+ private ResultSet resultSet = null;
+ private boolean disposed = false;
+
+ Record(SWIGTYPE_p_ZOOM_record_p record, ResultSet resultSet) {
+ this.resultSet = resultSet;
+ this.record = record;
+ }
+
+ public void finalize() {
+ Dispose();
+ }
+
+ public byte[] get(String type) {
+ SWIGTYPE_p_int length = null;
+ return yaz4jlib.ZOOM_record_get_bytes(record, type, length);
+ }
+
+ public String render() {
+ return new String(get("render"));
+ }
+
+ public byte[] getContent() {
+ return get("raw");
+ }
+
+ public String getSyntax() {
+ return new String(get("syntax"));
+ }
+
+ public String getDatabase() {
+ return new String(get("database"));
+ }
+
+ public void Dispose() {
+ if (!disposed) {
+ resultSet = null;
+ record = null;
+ disposed = true;
}
-
- public String render()
- {
- return new String(get("render"));
- }
-
- public byte[] getContent()
- {
- return get("raw");
- }
-
- public String getSyntax()
- {
- return new String(get("syntax"));
- }
-
- public String getDatabase()
- {
- return new String(get("database"));
- }
-
- public void Dispose()
- {
- if (!disposed)
- {
- resultSet = null;
- record = null;
- disposed = true;
- }
- }
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_resultset_p;
import org.yaz4j.jni.yaz4jlib;
-public class ResultSet
-{
- private SWIGTYPE_p_ZOOM_resultset_p resultSet;
- private SWIGTYPE_p_ZOOM_connection_p connection;
- private long size = 0 ;
- private Record[] records = null ;
- private boolean disposed = false;
-
- ResultSet(SWIGTYPE_p_ZOOM_resultset_p resultSet, SWIGTYPE_p_ZOOM_connection_p connection)
- {
- this.resultSet = resultSet ;
- this.connection = connection ;
- size = yaz4jlib.ZOOM_resultset_size(this.resultSet);
- records = new Record[(int)size];
- }
-
- public void finalize()
- {
- this.Dispose();
- }
+public class ResultSet {
- ResultSetOptionsCollection getResultSetOptions()
- {
- return new ResultSetOptionsCollection(resultSet);
+ private SWIGTYPE_p_ZOOM_resultset_p resultSet;
+ private SWIGTYPE_p_ZOOM_connection_p connection;
+ private long size = 0;
+ private Record[] records = null;
+ private boolean disposed = false;
+
+ ResultSet(SWIGTYPE_p_ZOOM_resultset_p resultSet, SWIGTYPE_p_ZOOM_connection_p connection) {
+ this.resultSet = resultSet;
+ this.connection = connection;
+ size = yaz4jlib.ZOOM_resultset_size(this.resultSet);
+ records = new Record[(int) size];
+ }
+
+ public void finalize() {
+ this.Dispose();
+ }
+
+ ResultSetOptionsCollection getResultSetOptions() {
+ return new ResultSetOptionsCollection(resultSet);
+ }
+
+ public Record getRecord(int index) {
+ if (records[index] == null) {
+ SWIGTYPE_p_ZOOM_record_p recordTemp = yaz4jlib.ZOOM_resultset_record(resultSet, index);
+ records[index] = new Record(recordTemp, this);
+ }
+
+ return this.records[index];
+ }
+
+ public int getSize() {
+ return (int) size;
}
-
- public Record getRecord(int index)
- {
- if ( records[index] == null)
- {
- SWIGTYPE_p_ZOOM_record_p recordTemp = yaz4jlib.ZOOM_resultset_record(resultSet, index);
- records[index] = new Record(recordTemp, this);
- }
-
- return this.records[index];
- }
-
- public int getSize()
- {
- return (int)size ;
- }
-
- public void Dispose()
- {
- if (! disposed )
- {
- for( int i=0 ; i<records.length ; i++)
- {
- if (records[i] != null)
- records[i].Dispose();
- }
- yaz4jlib.ZOOM_resultset_destroy(resultSet);
- connection = null;
- resultSet = null;
- disposed = true;
- }
- }
+ public void Dispose() {
+ if (!disposed) {
+ for (int i = 0; i < records.length; i++) {
+ if (records[i] != null) {
+ records[i].Dispose();
+ }
+ }
+
+ yaz4jlib.ZOOM_resultset_destroy(resultSet);
+ connection = null;
+ resultSet = null;
+ disposed = true;
+ }
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_resultset_p;
import org.yaz4j.jni.yaz4jlib;
-public class ResultSetOptionsCollection
-{
- private SWIGTYPE_p_ZOOM_resultset_p resultSet = null ;
-
- ResultSetOptionsCollection(SWIGTYPE_p_ZOOM_resultset_p resultSet)
- {
- this.resultSet = resultSet;
+public class ResultSetOptionsCollection {
+
+ private SWIGTYPE_p_ZOOM_resultset_p resultSet = null;
+
+ ResultSetOptionsCollection(SWIGTYPE_p_ZOOM_resultset_p resultSet) {
+ this.resultSet = resultSet;
+ }
+
+ public void finalize() {
+ resultSet = null;
}
-
- public void finalize()
- {
- resultSet = null ;
+
+ public String get(String key) {
+ return yaz4jlib.ZOOM_resultset_option_get(resultSet, key);
}
- public String get(String key)
- {
- return yaz4jlib.ZOOM_resultset_option_get(resultSet, key) ;
- }
-
- public void set(String key, String value)
- {
- yaz4jlib.ZOOM_resultset_option_set(resultSet, key, value) ;
- }
+ public void set(String key, String value) {
+ yaz4jlib.ZOOM_resultset_option_set(resultSet, key, value);
+ }
}
import org.yaz4j.jni.SWIGTYPE_p_int;
import org.yaz4j.jni.yaz4jlib;
-public class ScanSet
-{
- private SWIGTYPE_p_ZOOM_scanset_p scanSet = null ;
- private Connection connection;
- private boolean disposed = false;
-
- ScanSet(SWIGTYPE_p_ZOOM_scanset_p scanSet, Connection connection)
- {
- this.connection = connection;
- this.scanSet = scanSet;
- }
-
- public void finalize()
- {
- Dispose();
- }
-
- public ScanTerm get(long index)
- {
- SWIGTYPE_p_int occ = yaz4jlib.new_intp();
- SWIGTYPE_p_int length = yaz4jlib.new_intp();
- String term = yaz4jlib.ZOOM_scanset_term( scanSet, (long)index, occ, length ) ;
- int occurences = yaz4jlib.intp_value(occ);
- yaz4jlib.delete_intp(occ);
- yaz4jlib.delete_intp(length);
- return new ScanTerm(term, occurences);
- }
-
- public long getSize()
- {
- return yaz4jlib.ZOOM_scanset_size(scanSet);
- }
-
- public void Dispose()
- {
- if (! disposed)
- {
- yaz4jlib.ZOOM_scanset_destroy(scanSet);
- connection = null;
- scanSet = null;
- disposed = true;
- }
- }
+public class ScanSet {
+
+ private SWIGTYPE_p_ZOOM_scanset_p scanSet = null;
+ private Connection connection;
+ private boolean disposed = false;
+
+ ScanSet(SWIGTYPE_p_ZOOM_scanset_p scanSet, Connection connection) {
+ this.connection = connection;
+ this.scanSet = scanSet;
+ }
+
+ public void finalize() {
+ Dispose();
+ }
+
+ public ScanTerm get(long index) {
+ SWIGTYPE_p_int occ = yaz4jlib.new_intp();
+ SWIGTYPE_p_int length = yaz4jlib.new_intp();
+ String term = yaz4jlib.ZOOM_scanset_term(scanSet, (long) index, occ, length);
+ int occurences = yaz4jlib.intp_value(occ);
+ yaz4jlib.delete_intp(occ);
+ yaz4jlib.delete_intp(length);
+ return new ScanTerm(term, occurences);
+ }
+
+ public long getSize() {
+ return yaz4jlib.ZOOM_scanset_size(scanSet);
+ }
+
+ public void Dispose() {
+ if (!disposed) {
+ yaz4jlib.ZOOM_scanset_destroy(scanSet);
+ connection = null;
+ scanSet = null;
+ disposed = true;
+ }
+ }
}
package org.yaz4j;
-public class ScanTerm
-{
- private String term;
- private long occurences;
-
- ScanTerm( String term, long occurences )
- {
- this.term = term;
- this.occurences = occurences;
- }
+public class ScanTerm {
- public String getTerm()
- {
- return term;
- }
+ private String term;
+ private long occurences;
- public long getOccurences()
- {
- return occurences;
- }
+ ScanTerm(String term, long occurences) {
+ this.term = term;
+ this.occurences = occurences;
+ }
+
+ public String getTerm() {
+ return term;
+ }
+
+ public long getOccurences() {
+ return occurences;
+ }
}
import java.io.UnsupportedEncodingException;
import java.io.IOException;
-public class Yaz4jMain
-{
- // java -cp ./bin: -Djava.library.path=./libyaz4j org.yaz4j.Yaz4jMain
-
- public static void main(String[] args) throws UnsupportedEncodingException, IOException
- {
- Connection conn = new Connection("talisbase.talis.com", 210);
- conn.setDatabaseName("unionm21");
- conn.setUsername("fred");
- conn.setPassword("apple");
- conn.setSyntax("USMarc"); // USMarc, Sutrs, XML, opac, UKMarc
-
- PrefixQuery query = new PrefixQuery( "@attr 1=4 \"pottering\"" );
- ResultSet results = conn.Search( query );
-
- int resultsSize = results.getSize() ;
- System.out.println( "Found " + resultsSize + " records");
-
- for( int i=0; i<resultsSize ; i++)
- {
- Record record = results.getRecord(i);
- System.out.write(record.getContent());
- }
- conn.Dispose();
- }
+public class Yaz4jMain {
+ // java -cp ./bin: -Djava.library.path=./libyaz4j org.yaz4j.Yaz4jMain
+
+ public static void main(String[] args) throws UnsupportedEncodingException, IOException {
+ Connection conn = new Connection("talisbase.talis.com", 210);
+ conn.setDatabaseName("unionm21");
+ conn.setUsername("fred");
+ conn.setPassword("apple");
+ conn.setSyntax("USMarc"); // USMarc, Sutrs, XML, opac, UKMarc
+
+ PrefixQuery query = new PrefixQuery("@attr 1=4 \"pottering\"");
+ ResultSet results = conn.Search(query);
+
+ int resultsSize = results.getSize();
+ System.out.println("Found " + resultsSize + " records");
+
+ for (int i = 0; i < resultsSize; i++) {
+ Record record = results.getRecord(i);
+ System.out.write(record.getContent());
+ }
+ conn.Dispose();
+ }
}
package org.yaz4j;
-public class ZoomImplementationException extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
+public class ZoomImplementationException extends RuntimeException {
- public ZoomImplementationException()
- {
- super();
- }
-
- public ZoomImplementationException(String message )
- {
- super( message );
- }
+ private static final long serialVersionUID = 1L;
+
+ public ZoomImplementationException() {
+ super();
+ }
+
+ public ZoomImplementationException(String message) {
+ super(message);
+ }
}
package yaz4jtest;
+
import org.junit.*;
import static org.junit.Assert.*;
import java.util.*;
public class ConnectionTest {
- @Test
- public void testConnection() {
- org.yaz4j.Connection con = new org.yaz4j.Connection("z3950.indexdata.dk:210/gils", 0);
- assertNotNull(con);
- con.setSyntax("sutrs");
- org.yaz4j.PrefixQuery pqf = new org.yaz4j.PrefixQuery("@attr 1=4 utah");
- assertNotNull(pqf);
- org.yaz4j.ResultSet s = con.Search(pqf);
- assertNotNull(s);
- assertEquals(s.getSize(), 9);
- org.yaz4j.Record rec = s.getRecord(0);
- assertNotNull(rec);
- byte [] content = rec.getContent();
- // first SUTRS record
- assertEquals(content.length, 1940);
- assertEquals(content[0], 103);
- assertEquals(rec.getSyntax(), "SUTRS");
- assertEquals(rec.getDatabase(), "gils");
- }
+ @Test
+ public void testConnection() {
+ org.yaz4j.Connection con = new org.yaz4j.Connection("z3950.indexdata.dk:210/gils", 0);
+ assertNotNull(con);
+ con.setSyntax("sutrs");
+ org.yaz4j.PrefixQuery pqf = new org.yaz4j.PrefixQuery("@attr 1=4 utah");
+ assertNotNull(pqf);
+ org.yaz4j.ResultSet s = con.Search(pqf);
+ assertNotNull(s);
+ assertEquals(s.getSize(), 9);
+ org.yaz4j.Record rec = s.getRecord(0);
+ assertNotNull(rec);
+ byte[] content = rec.getContent();
+ // first SUTRS record
+ assertEquals(content.length, 1940);
+ assertEquals(content[0], 103);
+ assertEquals(rec.getSyntax(), "SUTRS");
+ assertEquals(rec.getDatabase(), "gils");
+
+ }
}
package yaz4jtest;
+
import org.junit.*;
import static org.junit.Assert.*;
import org.yaz4j.*;
* @author adam
*/
public class DinosaurTest {
+
@Test
public void test() {
Connection con = new Connection("z3950.loc.gov:7090/voyager", 0);
ResultSet set = con.Search(pqf);
assertNotNull(set);
Record rec = set.getRecord(0);
- assertNotNull(rec);
- // System.out.println(rec.render());
+ assertNotNull(rec);
+ // System.out.println(rec.render());
}
}