Search in sources :

Example 1 with DfFreeGenRequest

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);
    }
}
Also used : ArrayList(java.util.ArrayList) DfFreeGenRequest(org.dbflute.logic.manage.freegen.DfFreeGenRequest)

Example 2 with DfFreeGenRequest

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();
}
Also used : DfFreeGenRequest(org.dbflute.logic.manage.freegen.DfFreeGenRequest)

Example 3 with DfFreeGenRequest

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);
    }
}
Also used : ArrayList(java.util.ArrayList) DfFreeGenRequest(org.dbflute.logic.manage.freegen.DfFreeGenRequest)

Example 4 with DfFreeGenRequest

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;
}
Also used : JavaPropertiesStreamProvider(org.dbflute.helper.jprop.JavaPropertiesStreamProvider) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) IOException(java.io.IOException) DfFreeGenRequest(org.dbflute.logic.manage.freegen.DfFreeGenRequest) FileInputStream(java.io.FileInputStream) JavaPropertiesReader(org.dbflute.helper.jprop.JavaPropertiesReader) ArrayList(java.util.ArrayList) List(java.util.List) File(java.io.File)

Example 5 with DfFreeGenRequest

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);
}
Also used : JavaPropertiesResult(org.dbflute.helper.jprop.JavaPropertiesResult) JavaPropertiesReader(org.dbflute.helper.jprop.JavaPropertiesReader) DfFreeGenRequest(org.dbflute.logic.manage.freegen.DfFreeGenRequest) Map(java.util.Map)

Aggregations

DfFreeGenRequest (org.dbflute.logic.manage.freegen.DfFreeGenRequest)6 ArrayList (java.util.ArrayList)3 JavaPropertiesReader (org.dbflute.helper.jprop.JavaPropertiesReader)2 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 List (java.util.List)1 Map (java.util.Map)1 JavaPropertiesResult (org.dbflute.helper.jprop.JavaPropertiesResult)1 JavaPropertiesStreamProvider (org.dbflute.helper.jprop.JavaPropertiesStreamProvider)1 DfFreeGenInitializer (org.dbflute.logic.manage.freegen.DfFreeGenInitializer)1