|
|
@@ -143,10 +143,10 @@ public class BasicResourceHandler implements ResourceHandler {
|
|
|
String wsType = resourceDescriptor.getWsType();
|
|
|
if (wsType.equals(ResourceDescriptor.TYPE_FOLDER)) {
|
|
|
resource = new Folder();
|
|
|
+ resource.setUri(resourceDescriptor.getUriString());
|
|
|
} else {
|
|
|
resource = toFileResource(resourceDescriptor);
|
|
|
}
|
|
|
- resource.setUri(resourceDescriptor.getUriString());
|
|
|
resource.setName(resourceDescriptor.getName());
|
|
|
resource.setLabel(resourceDescriptor.getLabel());
|
|
|
resource.setDescription(resourceDescriptor.getDescription());
|
|
|
@@ -157,10 +157,23 @@ public class BasicResourceHandler implements ResourceHandler {
|
|
|
|
|
|
private FileResource toFileResource(ResourceDescriptor resourceDescriptor) {
|
|
|
FileResource fileResource = new FileResource();
|
|
|
- fileResource.setFileType(resourceDescriptor.getWsType());
|
|
|
+ String wsType = resourceDescriptor.getWsType();
|
|
|
+ fileResource.setFileType(wsType);
|
|
|
if (resourceDescriptor.hasData()) {
|
|
|
fileResource.setData(resourceDescriptor.getData());
|
|
|
}
|
|
|
+ String uriString = resourceDescriptor.getUriString();
|
|
|
+ if (!uriString.toLowerCase().matches("^[\\s\\S]+\\.[\\S]+$")) {
|
|
|
+ // 针对以下类型,自动添加文件后缀
|
|
|
+ if (wsType.equals(ResourceDescriptor.TYPE_JRXML) || wsType.equals(ResourceDescriptor.TYPE_JAR)
|
|
|
+ || wsType.equals(ResourceDescriptor.TYPE_XML) || wsType.equals(ResourceDescriptor.TYPE_JSON)
|
|
|
+ || wsType.equals(ResourceDescriptor.TYPE_CSS)) {
|
|
|
+ uriString += "." + wsType;
|
|
|
+ } else {
|
|
|
+ throw new IllegalStateException("请指定文件后缀");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fileResource.setUri(uriString);
|
|
|
return fileResource;
|
|
|
}
|
|
|
|