Loading pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ <groupId>es.redmic.lib</groupId> <artifactId>elasticsearch-lib</artifactId> <packaging>jar</packaging> <version>0.10.0</version> <version>0.10.0-feature-parentChildIndex</version> <name>elasticsearch-lib</name> <properties> Loading src/main/java/es/redmic/elasticsearchlib/common/repository/IRWBaseESRepository.java +8 −0 Original line number Diff line number Diff line Loading @@ -29,9 +29,17 @@ public interface IRWBaseESRepository<TModel extends BaseES<?>> { EventApplicationResult save(TModel modelToIndex); EventApplicationResult save(TModel modelToIndex, String parentId); EventApplicationResult update(TModel modelToIndex); EventApplicationResult update(TModel modelToIndex, String parentId); EventApplicationResult update(String id, XContentBuilder doc); EventApplicationResult update(String id, String parentId, XContentBuilder doc); EventApplicationResult delete(String id); EventApplicationResult delete(String id, String parentId); } src/main/java/es/redmic/elasticsearchlib/common/utils/ElasticPersistenceUtils.java +34 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { protected static String SCRIPT_ENGINE = "groovy"; public EventApplicationResult save(String index, String type, TModel model, String id) { return save(index, type, model, id, null); } public EventApplicationResult save(String index, String type, TModel model, String id, String parentId) { // @formatter:off Loading @@ -71,6 +75,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { .id(id) .setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { request.parent(parentId); } // @formatter:on try { Loading @@ -84,6 +92,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { } public EventApplicationResult update(String index, String type, TModel model, String id) { return update(index, type, model, id, null); } public EventApplicationResult update(String index, String type, TModel model, String id, String parentId) { // @formatter:off Loading @@ -92,6 +104,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { .fetchSource(false) .setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { updateRequest.parent(parentId); } // @formatter:on try { Loading @@ -108,6 +124,11 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { public EventApplicationResult update(String index, String type, String id, XContentBuilder doc) { return update(index, type, id, null, doc); } public EventApplicationResult update(String index, String type, String id, String parentId, XContentBuilder doc) { // @formatter:off UpdateRequest updateRequest = new UpdateRequest(index, type, id) Loading @@ -117,6 +138,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { // @formatter:on if (parentId != null) { updateRequest.parent(parentId); } try { ESProvider.getClient().update(updateRequest, RequestOptions.DEFAULT); } catch (Exception e) { Loading @@ -129,8 +154,17 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { public EventApplicationResult delete(String index, String type, String id) { return delete(index, type, id, null); } public EventApplicationResult delete(String index, String type, String id, String parentId) { DeleteRequest deleteRequest = new DeleteRequest(index, type, id).setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { deleteRequest.parent(parentId); } try { ESProvider.getClient().delete(deleteRequest, RequestOptions.DEFAULT); return new EventApplicationResult(true); Loading src/main/java/es/redmic/elasticsearchlib/data/repository/RWDataESRepository.java +28 −4 Original line number Diff line number Diff line Loading @@ -50,6 +50,12 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext @Override public EventApplicationResult save(TModel modelToIndex) { return save(modelToIndex, null); } @Override public EventApplicationResult save(TModel modelToIndex, String parentId) { EventApplicationResult checkInsert = checkInsertConstraintsFulfilled(modelToIndex); if (!checkInsert.isSuccess()) { Loading @@ -57,12 +63,18 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext } return elasticPersistenceUtils.save(getIndex(modelToIndex), getType(), modelToIndex, modelToIndex.getId().toString()); modelToIndex.getId().toString(), parentId); } @Override public EventApplicationResult update(TModel modelToIndex) { return update(modelToIndex, null); } @Override public EventApplicationResult update(TModel modelToIndex, String parentId) { EventApplicationResult checkUpdate = checkUpdateConstraintsFulfilled(modelToIndex); if (!checkUpdate.isSuccess()) { Loading @@ -70,25 +82,37 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext } return elasticPersistenceUtils.update(getIndex(modelToIndex), getType(), modelToIndex, modelToIndex.getId().toString()); modelToIndex.getId().toString(), parentId); } @Override public EventApplicationResult update(String id, XContentBuilder doc) { return elasticPersistenceUtils.update(getIndex()[0], getType(), id, doc); return update(id, null, doc); } @Override public EventApplicationResult update(String id, String parentId, XContentBuilder doc) { return elasticPersistenceUtils.update(getIndex()[0], getType(), id, parentId, doc); } @Override public EventApplicationResult delete(String id) { return delete(id, null); } @Override public EventApplicationResult delete(String id, String parentId) { EventApplicationResult checkDelete = checkDeleteConstraintsFulfilled(id); if (!checkDelete.isSuccess()) { return checkDelete; } return elasticPersistenceUtils.delete(getIndex()[0], getType(), id); return elasticPersistenceUtils.delete(getIndex()[0], getType(), id, parentId); } /* Loading Loading
pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ <groupId>es.redmic.lib</groupId> <artifactId>elasticsearch-lib</artifactId> <packaging>jar</packaging> <version>0.10.0</version> <version>0.10.0-feature-parentChildIndex</version> <name>elasticsearch-lib</name> <properties> Loading
src/main/java/es/redmic/elasticsearchlib/common/repository/IRWBaseESRepository.java +8 −0 Original line number Diff line number Diff line Loading @@ -29,9 +29,17 @@ public interface IRWBaseESRepository<TModel extends BaseES<?>> { EventApplicationResult save(TModel modelToIndex); EventApplicationResult save(TModel modelToIndex, String parentId); EventApplicationResult update(TModel modelToIndex); EventApplicationResult update(TModel modelToIndex, String parentId); EventApplicationResult update(String id, XContentBuilder doc); EventApplicationResult update(String id, String parentId, XContentBuilder doc); EventApplicationResult delete(String id); EventApplicationResult delete(String id, String parentId); }
src/main/java/es/redmic/elasticsearchlib/common/utils/ElasticPersistenceUtils.java +34 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { protected static String SCRIPT_ENGINE = "groovy"; public EventApplicationResult save(String index, String type, TModel model, String id) { return save(index, type, model, id, null); } public EventApplicationResult save(String index, String type, TModel model, String id, String parentId) { // @formatter:off Loading @@ -71,6 +75,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { .id(id) .setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { request.parent(parentId); } // @formatter:on try { Loading @@ -84,6 +92,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { } public EventApplicationResult update(String index, String type, TModel model, String id) { return update(index, type, model, id, null); } public EventApplicationResult update(String index, String type, TModel model, String id, String parentId) { // @formatter:off Loading @@ -92,6 +104,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { .fetchSource(false) .setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { updateRequest.parent(parentId); } // @formatter:on try { Loading @@ -108,6 +124,11 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { public EventApplicationResult update(String index, String type, String id, XContentBuilder doc) { return update(index, type, id, null, doc); } public EventApplicationResult update(String index, String type, String id, String parentId, XContentBuilder doc) { // @formatter:off UpdateRequest updateRequest = new UpdateRequest(index, type, id) Loading @@ -117,6 +138,10 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { // @formatter:on if (parentId != null) { updateRequest.parent(parentId); } try { ESProvider.getClient().update(updateRequest, RequestOptions.DEFAULT); } catch (Exception e) { Loading @@ -129,8 +154,17 @@ public class ElasticPersistenceUtils<TModel extends BaseES<?>> { public EventApplicationResult delete(String index, String type, String id) { return delete(index, type, id, null); } public EventApplicationResult delete(String index, String type, String id, String parentId) { DeleteRequest deleteRequest = new DeleteRequest(index, type, id).setRefreshPolicy(RefreshPolicy.IMMEDIATE); if (parentId != null) { deleteRequest.parent(parentId); } try { ESProvider.getClient().delete(deleteRequest, RequestOptions.DEFAULT); return new EventApplicationResult(true); Loading
src/main/java/es/redmic/elasticsearchlib/data/repository/RWDataESRepository.java +28 −4 Original line number Diff line number Diff line Loading @@ -50,6 +50,12 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext @Override public EventApplicationResult save(TModel modelToIndex) { return save(modelToIndex, null); } @Override public EventApplicationResult save(TModel modelToIndex, String parentId) { EventApplicationResult checkInsert = checkInsertConstraintsFulfilled(modelToIndex); if (!checkInsert.isSuccess()) { Loading @@ -57,12 +63,18 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext } return elasticPersistenceUtils.save(getIndex(modelToIndex), getType(), modelToIndex, modelToIndex.getId().toString()); modelToIndex.getId().toString(), parentId); } @Override public EventApplicationResult update(TModel modelToIndex) { return update(modelToIndex, null); } @Override public EventApplicationResult update(TModel modelToIndex, String parentId) { EventApplicationResult checkUpdate = checkUpdateConstraintsFulfilled(modelToIndex); if (!checkUpdate.isSuccess()) { Loading @@ -70,25 +82,37 @@ public abstract class RWDataESRepository<TModel extends BaseES<?>, TQueryDTO ext } return elasticPersistenceUtils.update(getIndex(modelToIndex), getType(), modelToIndex, modelToIndex.getId().toString()); modelToIndex.getId().toString(), parentId); } @Override public EventApplicationResult update(String id, XContentBuilder doc) { return elasticPersistenceUtils.update(getIndex()[0], getType(), id, doc); return update(id, null, doc); } @Override public EventApplicationResult update(String id, String parentId, XContentBuilder doc) { return elasticPersistenceUtils.update(getIndex()[0], getType(), id, parentId, doc); } @Override public EventApplicationResult delete(String id) { return delete(id, null); } @Override public EventApplicationResult delete(String id, String parentId) { EventApplicationResult checkDelete = checkDeleteConstraintsFulfilled(id); if (!checkDelete.isSuccess()) { return checkDelete; } return elasticPersistenceUtils.delete(getIndex()[0], getType(), id); return elasticPersistenceUtils.delete(getIndex()[0], getType(), id, parentId); } /* Loading