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();
}
}
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;
}
Aggregations