Skip to content

Commit

Permalink
[10983][refactor] ResourcesController
Browse files Browse the repository at this point in the history
  • Loading branch information
liguotian committed Jul 15, 2022
1 parent d41dac0 commit ce66590
Show file tree
Hide file tree
Showing 21 changed files with 1,653 additions and 244 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ public class BaseController {
* @param pageSize page size
* @return check result code
*/
public Result checkPageParams(int pageNo, int pageSize) {
Result result = new Result();
public <T> Result<T> checkPageParams(int pageNo, int pageSize) {
Result<T> result = new Result<>();
Status resultEnum = Status.SUCCESS;
String msg = Status.SUCCESS.getMsg();
if (pageNo <= 0) {
Expand Down Expand Up @@ -198,8 +198,8 @@ public Result success(Object totalList, Integer currentPage,
* @param msg result message
* @return error result code
*/
public Result error(Integer code, String msg) {
Result result = new Result();
public <T> Result<T> error(Integer code, String msg) {
Result<T> result = new Result<>();
result.setCode(code);
result.setMsg(msg);
return result;
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package org.apache.dolphinscheduler.api.dto.resources;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.dolphinscheduler.spi.enums.ResourceType;

import java.io.Serializable;

/**
* @author lgt
* @date 2022/7/15 : 11:37
*/
@Data
@ApiModel(value = "CREATE_RESOURCE_NOTES")
public class CreateDirectoryRequest implements Serializable {

private static final long serialVersionUID = 2158023425391177729L;

@ApiModelProperty(name = "type", value = "RESOURCE_TYPE", required = true, example = "FILE")
private ResourceType type;

@ApiModelProperty(name = "name", value = "RESOURCE_NAME", required = true)
private String name;

@ApiModelProperty(name = "description", value = "RESOURCE_DESC")
private String description;

@ApiModelProperty(name = "pid", value = "RESOURCE_PID", required = true, example = "10")
private int pid;

@ApiModelProperty(name = "currentDir", value = "RESOURCE_CURRENT_DIR", required = true ,example = "firstDir")
private String currentDir;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.apache.dolphinscheduler.api.dto.resources;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.dolphinscheduler.spi.enums.ResourceType;

import java.io.Serializable;

/**
* @author lgt
* @date 2022/7/15 : 13:35
*/
@Data
public class CreateResourceRequest implements Serializable {

private static final long serialVersionUID = -4751002150934450475L;

@ApiModelProperty(name = "type", value = "RESOURCE_TYPE", notes = "FILE , UDF", required = true, example = "FILE")
private ResourceType type;

@ApiModelProperty(name = "fileName", value = "RESOURCE_NAME", required = true)
private String fileName;

@ApiModelProperty(name = "suffix", value = "SUFFIX", required = true)
private String suffix;

@ApiModelProperty(name = "description", value = "RESOURCE_DESC")
private String description;

@ApiModelProperty(name = "pid", value = "RESOURCE_PID", required = true, example = "10")
private int pid;

@ApiModelProperty(name = "content", value = "CONTENT", required = true)
private String content;

@ApiModelProperty(name = "currentDir", value = "RESOURCE_CURRENT_DIR", required = true, example = "firstDir")
private String currentDir;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package org.apache.dolphinscheduler.api.dto.resources;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.dolphinscheduler.common.enums.UdfType;

import java.io.Serializable;

/**
* @author lgt
* @date 2022/7/15 : 15:08
*/
@Data
public class CreateUdfRequest implements Serializable {

private static final long serialVersionUID = 808084395565216909L;

@ApiModelProperty(name = "type", value = "UDF_TYPE", required = true, dataType = "UdfType", example = "HIVE,SPARK")
private UdfType type;

@ApiModelProperty(name = "funcName", value = "FUNC_NAME", required = true, dataType = "String" ,example = "evaluate")
private String funcName;

@ApiModelProperty(name = "className", value = "CLASS_NAME", required = true, dataType = "String" ,example = "GetLength")
private String className;

@ApiModelProperty(name = "argTypes", value = "ARG_TYPES", dataType = "String" , example = "String")
private String argTypes;

@ApiModelProperty(name = "database", value = "DATABASE_NAME", dataType = "String" , example = "db")
private String database;

@ApiModelProperty(name = "description", value = "UDF_DESC", dataType = "String", example = "description")
private String description;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.apache.dolphinscheduler.api.dto.resources;

import lombok.Data;

import java.io.Serializable;

/**
* @author lgt
* @date 2022/7/15 : 14:34
*/
@Data
public class ResourceContent implements Serializable {

private static final long serialVersionUID = 7030124374980790556L;

private String content;

private String alias;

private String fileName;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.apache.dolphinscheduler.api.dto.resources;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
* @author lgt
* @date 2022/7/15 : 15:01
*/

@Data
public class UpdateResourceContentRequest implements Serializable {


private static final long serialVersionUID = 915936285961774517L;

@ApiModelProperty(name = "content", value = "CONTENT", required = true, example = "content")
private String content;
}
Original file line number Diff line number Diff line change
Expand Up @@ -512,8 +512,8 @@ public Map<String, Object> getDependentInfo(String projectName, String processDe
public Map<String, Object> getResourcesFileInfo(String programType, String fullName) {
Map<String, Object> result = new HashMap<>();

Result<Object> resources = resourceService.queryResourceByProgramType(dummyAdminUser, ResourceType.FILE, ProgramType.valueOf(programType));
List<ResourceComponent> resourcesComponent = (List<ResourceComponent>) resources.getData();
Result<List<ResourceComponent>> resources = resourceService.queryResourceByProgramType(dummyAdminUser, ResourceType.FILE, ProgramType.valueOf(programType));
List<ResourceComponent> resourcesComponent = resources.getData();
List<ResourceComponent> namedResources = resourcesComponent.stream().filter(s -> fullName.equals(s.getFullName())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(namedResources)) {
String msg = String.format("Can not find valid resource by program type %s and name %s", programType, fullName);
Expand All @@ -536,13 +536,13 @@ public Map<String, Object> getResourcesFileInfo(String programType, String fullN
public Map<String, Object> queryResourcesFileInfo(String userName, String fullName) {
Map<String, Object> result = new HashMap<>();
User user = usersService.queryUser(userName);
Result<Object> resourceResponse = resourceService.queryResource(user, fullName, null, ResourceType.FILE);
Result<Resource> resourceResponse = resourceService.queryResource(user, fullName, null, ResourceType.FILE);
if (resourceResponse.getCode() != Status.SUCCESS.getCode()) {
String msg = String.format("Can not find valid resource by name %s", fullName);
logger.error(msg);
throw new IllegalArgumentException(msg);
}
Resource resource = (Resource) resourceResponse.getData();
Resource resource = resourceResponse.getData();
result.put("id", resource.getId());
result.put("name", resource.getFullName());
return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,14 @@ public interface BaseService {
*/
void putMsg(Result<Object> result, Status status, Object... statusParams);

/**
* copy result msg from source to target
*
* @param source source result
* @param target target result
*/
void copyMsg(Result source, Result target);

/**
* check
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@

package org.apache.dolphinscheduler.api.service;

import org.apache.dolphinscheduler.api.dto.resources.ResourceComponent;
import org.apache.dolphinscheduler.api.dto.resources.ResourceContent;
import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.enums.ProgramType;
import org.apache.dolphinscheduler.dao.entity.Resource;
import org.apache.dolphinscheduler.dao.entity.UdfFunc;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.spi.enums.ResourceType;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;
Expand All @@ -43,12 +49,12 @@ public interface ResourcesService {
* @param currentDir current directory
* @return create directory result
*/
Result<Object> createDirectory(User loginUser,
String name,
String description,
ResourceType type,
int pid,
String currentDir);
Result<Resource> createDirectory(User loginUser,
String name,
String description,
ResourceType type,
int pid,
String currentDir);

/**
* create resource
Expand All @@ -62,7 +68,7 @@ Result<Object> createDirectory(User loginUser,
* @param currentDir current directory
* @return create result code
*/
Result<Object> createResource(User loginUser,
Result<Resource> createResource(User loginUser,
String name,
String desc,
ResourceType type,
Expand All @@ -80,7 +86,7 @@ Result<Object> createResource(User loginUser,
* @param file resource file
* @return update result code
*/
Result<Object> updateResource(User loginUser,
Result<Resource> updateResource(User loginUser,
int resourceId,
String name,
String desc,
Expand All @@ -97,7 +103,7 @@ Result<Object> updateResource(User loginUser,
* @param pageSize page size
* @return resource list page
*/
Result queryResourceListPaging(User loginUser, int directoryId, ResourceType type, String searchVal, Integer pageNo, Integer pageSize);
Result<PageInfo<Resource>> queryResourceListPaging(User loginUser, int directoryId, ResourceType type, String searchVal, Integer pageNo, Integer pageSize);

/**
* query resource list
Expand All @@ -106,7 +112,7 @@ Result<Object> updateResource(User loginUser,
* @param type resource type
* @return resource list
*/
Map<String, Object> queryResourceList(User loginUser, ResourceType type);
Result<List<ResourceComponent>> queryResourceList(User loginUser, ResourceType type);

/**
* query resource list by program type
Expand All @@ -115,7 +121,7 @@ Result<Object> updateResource(User loginUser,
* @param type resource type
* @return resource list
*/
Result<Object> queryResourceByProgramType(User loginUser, ResourceType type, ProgramType programType);
Result<List<ResourceComponent>> queryResourceByProgramType(User loginUser, ResourceType type, ProgramType programType);

/**
* delete resource
Expand Down Expand Up @@ -143,7 +149,7 @@ Result<Object> updateResource(User loginUser,
* @param type resource type
* @return true if the resource full name or pid not exists, otherwise return false
*/
Result<Object> queryResource(User loginUser,String fullName,Integer id,ResourceType type);
Result<Resource> queryResource(User loginUser,String fullName,Integer id,ResourceType type);

/**
* view resource file online
Expand All @@ -153,7 +159,7 @@ Result<Object> updateResource(User loginUser,
* @param limit limit
* @return resource content
*/
Result<Object> readResource(User loginUser,int resourceId, int skipLineNum, int limit);
Result<ResourceContent> readResource(User loginUser, int resourceId, int skipLineNum, int limit);

/**
* create resource file online
Expand All @@ -166,7 +172,7 @@ Result<Object> updateResource(User loginUser,
* @param content content
* @return create result code
*/
Result<Object> onlineCreateResource(User loginUser, ResourceType type, String fileName, String fileSuffix, String desc, String content,int pid,String currentDirectory);
Result<Resource> onlineCreateResource(User loginUser, ResourceType type, String fileName, String fileSuffix, String desc, String content,int pid,String currentDirectory);

/**
* create or update resource.
Expand All @@ -178,7 +184,7 @@ Result<Object> updateResource(User loginUser,
* @param content content of resource
* @return create result code
*/
Result<Object> onlineCreateOrUpdateResourceWithDir(User loginUser, String fileFullName, String desc, String content);
Result<Resource> onlineCreateOrUpdateResourceWithDir(User loginUser, String fileFullName, String desc, String content);

/**
* create or update resource.
Expand Down Expand Up @@ -217,7 +223,7 @@ Result<Object> updateResource(User loginUser,
* @param userId user id
* @return unauthorized result code
*/
Map<String, Object> authorizeResourceTree(User loginUser, Integer userId);
Result<List<ResourceComponent>> authorizeResourceTree(User loginUser, Integer userId);

/**
* unauthorized file
Expand All @@ -235,7 +241,7 @@ Result<Object> updateResource(User loginUser,
* @param userId user id
* @return unauthorized result code
*/
Map<String, Object> unauthorizedUDFFunction(User loginUser, Integer userId);
Result<List<UdfFunc>> unauthorizedUDFFunction(User loginUser, Integer userId);

/**
* authorized udf function
Expand All @@ -244,7 +250,7 @@ Result<Object> updateResource(User loginUser,
* @param userId user id
* @return authorized result code
*/
Map<String, Object> authorizedUDFFunction(User loginUser, Integer userId);
Result<List<UdfFunc>> authorizedUDFFunction(User loginUser, Integer userId);

/**
* authorized file
Expand All @@ -253,13 +259,13 @@ Result<Object> updateResource(User loginUser,
* @param userId user id
* @return authorized result
*/
Map<String, Object> authorizedFile(User loginUser, Integer userId);
Result<List<ResourceComponent>> authorizedFile(User loginUser, Integer userId);

/**
* get resource by id
* @param resourceId resource id
* @return resource
*/
Result<Object> queryResourceById(User loginUser, Integer resourceId);
Result<Resource> queryResourceById(User loginUser, Integer resourceId);

}
Loading

0 comments on commit ce66590

Please sign in to comment.