* @author jakub
*/
public class Connection implements Closeable {
-
- private String host;
- private int port;
+ private final String host;
+ private final int port;
protected SWIGTYPE_p_ZOOM_connection_p zoomConnection;
//connection is initially closed
protected boolean closed = true;
* @param port port of the server
*/
public Connection(String host, int port) {
+ if (host == null)
+ throw new NullPointerException("host cannot be null");
this.host = host;
this.port = port;
zoomConnection = yaz4jlib.ZOOM_connection_create(null);
@Deprecated
public ResultSet search(String query, QueryType queryType) throws
ZoomException {
- if (closed) {
+ if (query == null)
+ throw new NullPointerException("query cannot be null");
+ if (queryType == null)
+ throw new NullPointerException("queryType cannot be null");
+ if (closed)
throw new IllegalStateException("Connection is closed.");
- }
SWIGTYPE_p_ZOOM_query_p yazQuery = null;
if (queryType == QueryType.CQLQuery) {
yazQuery = yaz4jlib.ZOOM_query_create();
* @throws ZoomException protocol or network-level error
*/
public ResultSet search(Query query) throws ZoomException {
- if (closed) {
+ if (query == null)
+ throw new NullPointerException("query cannot be null");
+ if (closed)
throw new IllegalStateException("Connection is closed.");
- }
SWIGTYPE_p_ZOOM_resultset_p yazResultSet = yaz4jlib.ZOOM_connection_search(
zoomConnection, query.query);
ZoomException err = ExceptionUtil.getError(zoomConnection, host,
*/
@Deprecated
public ScanSet scan(String query) throws ZoomException {
- if (closed) {
+ if (query == null)
+ throw new NullPointerException("query cannot be null");
+ if (closed)
throw new IllegalStateException("Connection is closed.");
- }
SWIGTYPE_p_ZOOM_scanset_p yazScanSet = yaz4jlib.ZOOM_connection_scan(
zoomConnection, query);
ZoomException err = ExceptionUtil.getError(zoomConnection, host, port);
* @throws ZoomException a protocol or network-level error
*/
public ScanSet scan(Query query) throws ZoomException {
- if (closed) {
+ if (query == null)
+ throw new NullPointerException("query cannot be null");
+ if (closed)
throw new IllegalStateException("Connection is closed.");
- }
SWIGTYPE_p_ZOOM_scanset_p yazScanSet = yaz4jlib.ZOOM_connection_scan1(
zoomConnection, query.query);
ZoomException err = ExceptionUtil.getError(zoomConnection, host, port);
/**
* Closes the connection.
*/
+ @Override
public void close() {
yaz4jlib.ZOOM_connection_close(zoomConnection);
closed = true;
* @return connection (self) for chainability
*/
public Connection option(String name, String value) {
+ if (name == null)
+ throw new NullPointerException("option name cannot be null");
yaz4jlib.ZOOM_connection_option_set(zoomConnection, name, value);
return this;
}
* @return option value
*/
public String option(String name) {
+ if (name == null)
+ throw new NullPointerException("option name cannot be null");
return yaz4jlib.ZOOM_connection_option_get(zoomConnection, name);
}
--- /dev/null
+package org.yaz4j;
+
+import org.junit.*;
+import static org.junit.Assert.*;
+import org.yaz4j.exception.*;
+
+@SuppressWarnings("deprecation")
+public class NullPointersTest {
+
+ @Test
+ public void testNullPointers1() {
+ try {
+ Connection conn = new Connection(null, 0);
+ conn.connect();
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+ }
+ }
+
+ @Test
+ public void testNullPointers2() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers3() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(null, null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers4() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new CQLQuery(null));
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers5() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new PrefixQuery(null));
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers6() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(null, Connection.QueryType.CQLQuery);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers7() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(null, Connection.QueryType.PrefixQuery);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers8() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ScanSet s = conn.scan((String) null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers9() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ScanSet s = conn.scan((Query) null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers10() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ScanSet s = conn.scan(new PrefixQuery(null));
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers11() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ScanSet s = conn.scan(new CQLQuery(null));
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers12() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ conn.option(null, null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers13() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ String opt = conn.option(null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers14() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ conn.option("some", null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers15() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new PrefixQuery("@attr 1=4 water"));
+ s.sort(null, null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers16() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new PrefixQuery("@attr 1=4 water"));
+ s.sort("some", null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers17() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new PrefixQuery("@attr 1=4 water"));
+ Record r = s.getRecord(0);
+ r.get(null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers18() {
+ try {
+ Connection conn = new Connection("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ ResultSet s = conn.search(new PrefixQuery("@attr 1=4 water"));
+ Record r = s.getRecord(0);
+ byte[] b = r.get("unknownType");
+ String str = new String(b);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointers19() {
+ try {
+ ConnectionExtended conn = new ConnectionExtended("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ Package p = conn.getPackage(null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointer20() {
+ try {
+ ConnectionExtended conn = new ConnectionExtended("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ Package p = conn.getPackage("some");
+ p.option("some", null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointer21() {
+ try {
+ ConnectionExtended conn = new ConnectionExtended("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ Package p = conn.getPackage("some");
+ p.option(null);
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+
+ }
+ }
+
+ @Test
+ public void testNullPointer22() {
+ try {
+ ConnectionExtended conn = new ConnectionExtended("z3950.indexdata.dk:210/gils", 0);
+ conn.setSyntax("sutrs");
+ conn.connect();
+ Package create = conn.getPackage("create"); //db create
+ create.option("databaseName", "yaz4j");
+ create.send();
+ Package drop = conn.getPackage("drop");
+ drop.send();
+ } catch (ZoomException ze) {
+ fail(ze.getMessage());
+ } catch (NullPointerException npe) {
+ System.out.println("Caught expected NPE: " +npe.getMessage());
+ }
+ }
+
+
+
+}