Search in sources :

Example 1 with JavaPropertiesStreamProvider

use of org.dbflute.helper.jprop.JavaPropertiesStreamProvider in project dbflute-core by dbflute.

the class DfPropHtmlManager method prepareExtendsProperties.

protected void prepareExtendsProperties(DfPropHtmlRequest request, JavaPropertiesReader reader, DfPropHtmlFileAttribute extendsAttribute) {
    DfPropHtmlFileAttribute current = extendsAttribute;
    while (true) {
        if (current == null) {
            break;
        }
        final File extendsFile = current.getPropertiesFile();
        final String extendsFileKey = buildFileKey(current.getEnvType(), extendsFile);
        final String extendsTitle = extendsFileKey + ":" + extendsFile.getPath();
        reader.extendsProperties(extendsTitle, new JavaPropertiesStreamProvider() {

            public InputStream provideStream() throws IOException {
                return new FileInputStream(extendsFile);
            }
        });
        current = current.getExtendsAttribute();
    }
    if (request.isCheckImplicitOverride()) {
        reader.checkImplicitOverride();
    }
}
Also used : JavaPropertiesStreamProvider(org.dbflute.helper.jprop.JavaPropertiesStreamProvider) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) IOException(java.io.IOException) File(java.io.File) FileInputStream(java.io.FileInputStream)

Example 2 with JavaPropertiesStreamProvider

use of org.dbflute.helper.jprop.JavaPropertiesStreamProvider 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)

Aggregations

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