use of org.dbflute.logic.manage.freegen.DfFreeGenRequest in project dbflute-core by dbflute.
the class DfFreeGenTask method removeESFluteDoneRequest.
protected void removeESFluteDoneRequest() {
final List<DfFreeGenRequest> doneList = new ArrayList<DfFreeGenRequest>();
for (DfFreeGenRequest request : _freeGenRequestList) {
final Object la = request.getOptionMap().get("isESFlute");
if (la != null && (boolean) la) {
doneList.add(request);
}
}
_log.info("...Removing esflute requests: " + doneList.size());
for (DfFreeGenRequest request : doneList) {
_freeGenRequestList.remove(request);
}
}
use of org.dbflute.logic.manage.freegen.DfFreeGenRequest in project dbflute-core by dbflute.
the class DfFreeGenTask method initControlContext.
// ===================================================================================
// Prepare Generation
// ==================
@Override
public Context initControlContext() throws Exception {
_log.info("");
_log.info("...Preparing generation of free generate");
final StringBuilder sb = new StringBuilder();
for (DfFreeGenRequest request : _freeGenRequestList) {
sb.append(ln()).append("[").append(request.getRequestName()).append("]");
sb.append(ln()).append(" resource : ").append(request.getResource());
sb.append(ln()).append(" output : ").append(request.getOutput());
final String tableMapExp = Srl.cut(request.getOptionMap().toString(), 3000, "...");
// possible too big
sb.append(ln()).append(" tableMap : ").append(tableMapExp);
}
_log.info(sb.toString());
return createVelocityContext();
}
use of org.dbflute.logic.manage.freegen.DfFreeGenRequest in project dbflute-core by dbflute.
the class DfFreeGenTask method removeLastaFluteDoneRequest.
protected void removeLastaFluteDoneRequest() {
final List<DfFreeGenRequest> doneList = new ArrayList<DfFreeGenRequest>();
for (DfFreeGenRequest request : _freeGenRequestList) {
final Object la = request.getOptionMap().get("isLastaFlute");
if (la != null && (boolean) la) {
doneList.add(request);
}
}
_log.info("...Removing lastaflute requests: " + doneList.size());
for (DfFreeGenRequest request : doneList) {
_freeGenRequestList.remove(request);
}
}
use of org.dbflute.logic.manage.freegen.DfFreeGenRequest in project dbflute-core by dbflute.
the class DfPropTableLoader method createReader.
// ===================================================================================
// Properties Reader
// =================
protected JavaPropertiesReader createReader(String requestName, DfFreeGenResource resource, Map<String, Object> tableMap, Map<String, DfFreeGenRequest> requestMap) {
final String resourceFile = resource.getResourceFile();
final String title = requestName + ":" + resourceFile;
final JavaPropertiesReader reader = new JavaPropertiesReader(title, new JavaPropertiesStreamProvider() {
public InputStream provideStream() throws IOException {
return new FileInputStream(new File(resourceFile));
}
}).encodeAsUTF8();
final String extendsPropRequestKey = "extendsPropRequest";
String extendsPropRequest = (String) tableMap.get(extendsPropRequestKey);
final List<String> extendsPropFileList;
if (extendsPropRequest != null) {
extendsPropFileList = new ArrayList<String>();
while (true) {
final DfFreeGenRequest extendsRequest = requestMap.get(extendsPropRequest);
if (extendsRequest == null) {
throwFreeGenPropExtendsRequestNotFoundException(requestName, extendsPropRequest, requestMap);
}
if (!extendsRequest.isResourceTypeProp()) {
throwFreeGenPropExtendsRequestNotPropException(requestName, extendsPropRequest, extendsRequest);
}
final String extendsFile = extendsRequest.getResource().getResourceFile();
extendsPropFileList.add(extendsFile);
final Map<String, Object> extendsTableMap = extendsRequest.getOptionMap();
extendsPropRequest = (String) extendsTableMap.get(extendsPropRequestKey);
if (extendsPropRequest == null) {
break;
}
}
} else {
// for compatible
@SuppressWarnings("unchecked") final List<String> castList = (List<String>) tableMap.get("extendsPropFileList");
extendsPropFileList = castList;
}
if (extendsPropFileList != null && !extendsPropFileList.isEmpty()) {
for (String extendsPropFile : extendsPropFileList) {
final String resolvedFile = resource.resolveBaseDir(extendsPropFile);
final String extendsTitle = requestName + ":" + extendsPropFile;
reader.extendsProperties(extendsTitle, new JavaPropertiesStreamProvider() {
public InputStream provideStream() throws IOException {
return new FileInputStream(new File(resolvedFile));
}
});
}
}
if (isProperty("isCheckImplicitOverride", tableMap)) {
reader.checkImplicitOverride();
}
if (isProperty("isUseNonNumberVariable", tableMap)) {
reader.useNonNumberVariable();
}
@SuppressWarnings("unchecked") final List<String> variableExceptList = (List<String>) tableMap.get("variableExceptList");
if (variableExceptList != null) {
reader.useVariableExcept(DfCollectionUtil.newHashSet(variableExceptList));
}
if (isProperty("isSuppressVariableOrder", tableMap) || getLittleAdjustmentProperties().isCompatibleFreeGenPropVariableNotOrdered()) {
reader.suppressVariableOrder();
}
return reader;
}
use of org.dbflute.logic.manage.freegen.DfFreeGenRequest in project dbflute-core by dbflute.
the class DfPropTableLoader method loadTable.
// ===================================================================================
// Load Table
// ==========
// ; resourceMap = map:{
// ; resourceType = PROP
// ; resourceFile = ../../../sea.properties
// }
// ; outputMap = map:{
// ; templateFile = MessageDef.vm
// ; outputDirectory = ../src/main/java
// ; package = org.dbflute...
// ; className = MessageDef
// }
// ; optionMap = map:{
// ; exceptKeyList = list:{ prefix:config. }
// ; groupingKeyMap = map:{ label = prefix:label. }
// ; extendsPropRequest = FooProp
// ; extendsPropFileList = list:{ ../../../bar.properties }
// ; isCheckImplicitOverride = false
// }
@Override
public DfFreeGenMetaData loadTable(String requestName, DfFreeGenResource resource, DfFreeGenMapProp mapProp) {
final Map<String, Object> tableMap = mapProp.getOptionMap();
final Map<String, DfFreeGenRequest> requestMap = mapProp.getRequestMap();
final JavaPropertiesReader reader = createReader(requestName, resource, tableMap, requestMap);
final JavaPropertiesResult result;
try {
result = reader.read();
} catch (RuntimeException e) {
final Map<String, Map<String, String>> mappingMap = mapProp.getMappingMap();
throwFreeGenPropReadFailureException(requestName, resource, tableMap, mappingMap, e);
// unreachable
return null;
}
final String resourceFile = resource.getResourceFile();
// #for_now used?
final String tableName = buildTableName(resourceFile);
final List<Map<String, Object>> columnList = toMapList(result, tableMap);
return DfFreeGenMetaData.asOnlyOne(tableMap, tableName, columnList);
}
Aggregations