org.codelibs.fess.es.config.bsbhv.BsFileConfigBhv Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fess Show documentation
Show all versions of fess Show documentation
Fess is Full tExt Search System.
/*
* Copyright 2012-2019 CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.es.config.bsbhv;
import java.util.List;
import java.util.Map;
import org.codelibs.fess.es.config.allcommon.EsAbstractBehavior;
import org.codelibs.fess.es.config.allcommon.EsAbstractEntity.RequestOptionCall;
import org.codelibs.fess.es.config.bsentity.dbmeta.FileConfigDbm;
import org.codelibs.fess.es.config.cbean.FileConfigCB;
import org.codelibs.fess.es.config.exentity.FileConfig;
import org.dbflute.Entity;
import org.dbflute.bhv.readable.CBCall;
import org.dbflute.bhv.readable.EntityRowHandler;
import org.dbflute.cbean.ConditionBean;
import org.dbflute.cbean.result.ListResultBean;
import org.dbflute.cbean.result.PagingResultBean;
import org.dbflute.exception.IllegalBehaviorStateException;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.util.DfTypeUtil;
import org.elasticsearch.action.bulk.BulkRequestBuilder;
import org.elasticsearch.action.delete.DeleteRequestBuilder;
import org.elasticsearch.action.index.IndexRequestBuilder;
/**
* @author ESFlute (using FreeGen)
*/
public abstract class BsFileConfigBhv extends EsAbstractBehavior {
// ===================================================================================
// Control Override
// ================
@Override
public String asTableDbName() {
return asEsIndexType();
}
@Override
protected String asEsIndex() {
return ".fess_config.file_config";
}
@Override
public String asEsIndexType() {
return "file_config";
}
@Override
public String asEsSearchType() {
return "file_config";
}
@Override
public FileConfigDbm asDBMeta() {
return FileConfigDbm.getInstance();
}
@Override
protected RESULT createEntity(Map source, Class extends RESULT> entityType) {
try {
final RESULT result = entityType.newInstance();
result.setAvailable(DfTypeUtil.toBoolean(source.get("available")));
result.setBoost(DfTypeUtil.toFloat(source.get("boost")));
result.setConfigParameter(DfTypeUtil.toString(source.get("configParameter")));
result.setCreatedBy(DfTypeUtil.toString(source.get("createdBy")));
result.setCreatedTime(DfTypeUtil.toLong(source.get("createdTime")));
result.setDepth(DfTypeUtil.toInteger(source.get("depth")));
result.setDescription(DfTypeUtil.toString(source.get("description")));
result.setExcludedDocPaths(DfTypeUtil.toString(source.get("excludedDocPaths")));
result.setExcludedPaths(DfTypeUtil.toString(source.get("excludedPaths")));
result.setIncludedDocPaths(DfTypeUtil.toString(source.get("includedDocPaths")));
result.setIncludedPaths(DfTypeUtil.toString(source.get("includedPaths")));
result.setIntervalTime(DfTypeUtil.toInteger(source.get("intervalTime")));
result.setMaxAccessCount(DfTypeUtil.toLong(source.get("maxAccessCount")));
result.setName(DfTypeUtil.toString(source.get("name")));
result.setNumOfThread(DfTypeUtil.toInteger(source.get("numOfThread")));
result.setPaths(DfTypeUtil.toString(source.get("paths")));
result.setPermissions(toStringArray(source.get("permissions")));
result.setSortOrder(DfTypeUtil.toInteger(source.get("sortOrder")));
result.setTimeToLive(DfTypeUtil.toInteger(source.get("timeToLive")));
result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
result.setVirtualHosts(toStringArray(source.get("virtualHosts")));
return updateEntity(source, result);
} catch (InstantiationException | IllegalAccessException e) {
final String msg = "Cannot create a new instance: " + entityType.getName();
throw new IllegalBehaviorStateException(msg, e);
}
}
protected RESULT updateEntity(Map source, RESULT result) {
return result;
}
// ===================================================================================
// Select
// ======
public int selectCount(CBCall cbLambda) {
return facadeSelectCount(createCB(cbLambda));
}
public OptionalEntity selectEntity(CBCall cbLambda) {
return facadeSelectEntity(createCB(cbLambda));
}
protected OptionalEntity facadeSelectEntity(FileConfigCB cb) {
return doSelectOptionalEntity(cb, typeOfSelectedEntity());
}
protected OptionalEntity doSelectOptionalEntity(FileConfigCB cb, Class extends ENTITY> tp) {
return createOptionalEntity(doSelectEntity(cb, tp), cb);
}
@Override
public FileConfigCB newConditionBean() {
return new FileConfigCB();
}
@Override
protected Entity doReadEntity(ConditionBean cb) {
return facadeSelectEntity(downcast(cb)).orElse(null);
}
public FileConfig selectEntityWithDeletedCheck(CBCall cbLambda) {
return facadeSelectEntityWithDeletedCheck(createCB(cbLambda));
}
public OptionalEntity selectByPK(String id) {
return facadeSelectByPK(id);
}
protected OptionalEntity facadeSelectByPK(String id) {
return doSelectOptionalByPK(id, typeOfSelectedEntity());
}
protected ENTITY doSelectByPK(String id, Class extends ENTITY> tp) {
return doSelectEntity(xprepareCBAsPK(id), tp);
}
protected FileConfigCB xprepareCBAsPK(String id) {
assertObjectNotNull("id", id);
return newConditionBean().acceptPK(id);
}
protected OptionalEntity doSelectOptionalByPK(String id, Class extends ENTITY> tp) {
return createOptionalEntity(doSelectByPK(id, tp), id);
}
@Override
protected Class extends FileConfig> typeOfSelectedEntity() {
return FileConfig.class;
}
@Override
protected Class typeOfHandlingEntity() {
return FileConfig.class;
}
@Override
protected Class typeOfHandlingConditionBean() {
return FileConfigCB.class;
}
public ListResultBean selectList(CBCall cbLambda) {
return facadeSelectList(createCB(cbLambda));
}
public PagingResultBean selectPage(CBCall cbLambda) {
// #pending same?
return (PagingResultBean) facadeSelectList(createCB(cbLambda));
}
public void selectCursor(CBCall cbLambda, EntityRowHandler entityLambda) {
facadeSelectCursor(createCB(cbLambda), entityLambda);
}
public void selectBulk(CBCall cbLambda, EntityRowHandler> entityLambda) {
delegateSelectBulk(createCB(cbLambda), entityLambda, typeOfSelectedEntity());
}
// ===================================================================================
// Update
// ======
public void insert(FileConfig entity) {
doInsert(entity, null);
}
public void insert(FileConfig entity, RequestOptionCall opLambda) {
entity.asDocMeta().indexOption(opLambda);
doInsert(entity, null);
}
public void update(FileConfig entity) {
doUpdate(entity, null);
}
public void update(FileConfig entity, RequestOptionCall opLambda) {
entity.asDocMeta().indexOption(opLambda);
doUpdate(entity, null);
}
public void insertOrUpdate(FileConfig entity) {
doInsertOrUpdate(entity, null, null);
}
public void insertOrUpdate(FileConfig entity, RequestOptionCall opLambda) {
entity.asDocMeta().indexOption(opLambda);
doInsertOrUpdate(entity, null, null);
}
public void delete(FileConfig entity) {
doDelete(entity, null);
}
public void delete(FileConfig entity, RequestOptionCall opLambda) {
entity.asDocMeta().deleteOption(opLambda);
doDelete(entity, null);
}
public int queryDelete(CBCall cbLambda) {
return doQueryDelete(createCB(cbLambda), null);
}
public int[] batchInsert(List list) {
return batchInsert(list, null, null);
}
public int[] batchInsert(List list, RequestOptionCall call) {
return batchInsert(list, call, null);
}
public int[] batchInsert(List list, RequestOptionCall call,
RequestOptionCall entityCall) {
return doBatchInsert(new BulkList<>(list, call, entityCall), null);
}
public int[] batchUpdate(List list) {
return batchUpdate(list, null, null);
}
public int[] batchUpdate(List list, RequestOptionCall call) {
return batchUpdate(list, call, null);
}
public int[] batchUpdate(List list, RequestOptionCall call,
RequestOptionCall entityCall) {
return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
}
public int[] batchDelete(List list) {
return batchDelete(list, null, null);
}
public int[] batchDelete(List list, RequestOptionCall call) {
return batchDelete(list, call, null);
}
public int[] batchDelete(List list, RequestOptionCall call,
RequestOptionCall entityCall) {
return doBatchDelete(new BulkList<>(list, call, entityCall), null);
}
// #pending create, modify, remove
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy