diff --git a/build.xml b/build.xml
index 62d10d6..74514cc 100644
--- a/build.xml
+++ b/build.xml
@@ -36,6 +36,7 @@
+
@@ -64,6 +65,7 @@
+
diff --git a/pom.xml b/pom.xml
index 3f82685..95ff89a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
indextank-java
jar
Indextank Java Client
- 1.0.8-SNAPSHOT
+ 1.0.11-SNAPSHOT
Java client for Indextank search engine
http://www.indextank.com
diff --git a/src/main/java/com/flaptor/indextank/apiclient/ApiClient.java b/src/main/java/com/flaptor/indextank/apiclient/ApiClient.java
index 2a29a26..2397636 100644
--- a/src/main/java/com/flaptor/indextank/apiclient/ApiClient.java
+++ b/src/main/java/com/flaptor/indextank/apiclient/ApiClient.java
@@ -4,6 +4,7 @@
import java.util.List;
import com.flaptor.indextank.apiclient.IndexTankClient.Index;
+import com.flaptor.indextank.apiclient.IndexTankClient.IndexConfiguration;
public interface ApiClient {
@@ -13,7 +14,7 @@ public interface ApiClient {
Index createIndex(String indexName) throws IOException, IndexAlreadyExistsException,
MaximumIndexesExceededException;
- Index createIndex(String indexName, boolean publicSearch) throws IOException,
+ Index createIndex(String indexName, IndexConfiguration conf) throws IOException,
IndexAlreadyExistsException, MaximumIndexesExceededException;
void deleteIndex(String indexName) throws IOException,
diff --git a/src/main/java/com/flaptor/indextank/apiclient/Index.java b/src/main/java/com/flaptor/indextank/apiclient/Index.java
index f32c554..b559a61 100644
--- a/src/main/java/com/flaptor/indextank/apiclient/Index.java
+++ b/src/main/java/com/flaptor/indextank/apiclient/Index.java
@@ -4,6 +4,8 @@
import java.util.Date;
import java.util.Map;
+import com.flaptor.indextank.apiclient.IndexTankClient.IndexConfiguration;
+
public interface Index {
@@ -23,15 +25,15 @@ void deleteBySearch(IndexTankClient.Query query) throws IOException,
* Creates this index.
*
* @param publicSearch
- * enable public search for this index
+ * enable public search for this index. if null, public search will be disabled.
* @throws IndexAlreadyExistsException
* If it already existed
* @throws MaximumIndexesExceededException
* If the account has reached the limit
*/
- void create(boolean publicSearch) throws IOException, IndexAlreadyExistsException,
- MaximumIndexesExceededException;
-
+ void create(IndexConfiguration conf) throws IOException, IndexAlreadyExistsException,
+ MaximumIndexesExceededException;
+
/**
* Creates this index.
*
@@ -45,6 +47,15 @@ void create(boolean publicSearch) throws IOException, IndexAlreadyExistsExceptio
void create() throws IOException, IndexAlreadyExistsException,
MaximumIndexesExceededException;
+
+ /**
+ * Update this index.
+ *
+ * @throws IndexDoesNotExistException*
+ * if the index does not exist
+ */
+ void update(IndexConfiguration conf) throws IOException, IndexDoesNotExistException;
+
/**
* Delete this index
*
@@ -218,14 +229,19 @@ Map listFunctions() throws IndexDoesNotExistException,
* @throws IOException
*/
boolean hasStarted() throws IOException, IndexDoesNotExistException;
+
+ String getStatus() throws IOException, IndexDoesNotExistException;
String getCode() throws IOException, IndexDoesNotExistException;
Date getCreationTime() throws IOException, IndexDoesNotExistException;
+
+ boolean isPublicSearchEnabled() throws IOException, IndexDoesNotExistException;
void refreshMetadata() throws IOException, IndexDoesNotExistException;
Map getMetadata() throws IOException,
IndexDoesNotExistException;
+
}
diff --git a/src/main/java/com/flaptor/indextank/apiclient/IndexAlreadyExistsException.java b/src/main/java/com/flaptor/indextank/apiclient/IndexAlreadyExistsException.java
index ba3b492..a6b9ffb 100644
--- a/src/main/java/com/flaptor/indextank/apiclient/IndexAlreadyExistsException.java
+++ b/src/main/java/com/flaptor/indextank/apiclient/IndexAlreadyExistsException.java
@@ -4,6 +4,11 @@
public class IndexAlreadyExistsException extends Exception {
+
+ public IndexAlreadyExistsException(String message) {
+ super(message);
+ }
+
public IndexAlreadyExistsException(HttpCodeException source) {
super(source.getMessage());
}
diff --git a/src/main/java/com/flaptor/indextank/apiclient/IndexDoesNotExistException.java b/src/main/java/com/flaptor/indextank/apiclient/IndexDoesNotExistException.java
index bdf316b..5dddb46 100644
--- a/src/main/java/com/flaptor/indextank/apiclient/IndexDoesNotExistException.java
+++ b/src/main/java/com/flaptor/indextank/apiclient/IndexDoesNotExistException.java
@@ -4,7 +4,12 @@
public class IndexDoesNotExistException extends Exception {
+
public IndexDoesNotExistException(HttpCodeException source) {
super(source.getMessage());
}
+
+ public IndexDoesNotExistException(String message) {
+ super(message);
+ }
}
diff --git a/src/main/java/com/flaptor/indextank/apiclient/IndexTankClient.java b/src/main/java/com/flaptor/indextank/apiclient/IndexTankClient.java
index 610f8d1..aef3c89 100644
--- a/src/main/java/com/flaptor/indextank/apiclient/IndexTankClient.java
+++ b/src/main/java/com/flaptor/indextank/apiclient/IndexTankClient.java
@@ -273,12 +273,15 @@ public static class SearchResults {
public final float searchTime;
public final List