Manage scheduler and cob jobs
This commit is contained in:
committed by
Arnold Gálovics
parent
6bd21e71be
commit
744d38c588
+16
@@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.cob.api;
|
package org.apache.fineract.cob.api;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.media.ArraySchema;
|
import io.swagger.v3.oas.annotations.media.ArraySchema;
|
||||||
@@ -29,6 +30,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
|||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
@@ -69,6 +71,20 @@ public class ConfigureBusinessStepResource {
|
|||||||
private final ConfigJobParameterService configJobParameterService;
|
private final ConfigJobParameterService configJobParameterService;
|
||||||
private final PortfolioCommandSourceWritePlatformService commandWritePlatformService;
|
private final PortfolioCommandSourceWritePlatformService commandWritePlatformService;
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/names")
|
||||||
|
@Produces({ MediaType.APPLICATION_JSON })
|
||||||
|
@Operation(summary = "List Business Jobs", description = "Returns the configured Business Jobs")
|
||||||
|
@ApiResponses({
|
||||||
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(array = @ArraySchema(schema = @Schema(implementation = ConfigureBusinessStepResourceSwagger.GetBusinessJobConfigResponse.class)))) })
|
||||||
|
public String retrieveAllConfiguredBusinessJobs(@Context final UriInfo uriInfo) {
|
||||||
|
|
||||||
|
List<String> businessJobNames = configJobParameterService.getAllConfiguredJobNames();
|
||||||
|
final Gson gson = new Gson();
|
||||||
|
|
||||||
|
return gson.toJson(businessJobNames);
|
||||||
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("{jobName}/steps")
|
@Path("{jobName}/steps")
|
||||||
@Consumes({ MediaType.APPLICATION_JSON })
|
@Consumes({ MediaType.APPLICATION_JSON })
|
||||||
|
|||||||
+9
@@ -27,6 +27,15 @@ final class ConfigureBusinessStepResourceSwagger {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Schema(description = "GetBusinessJobConfigResponse")
|
||||||
|
public static final class GetBusinessJobConfigResponse {
|
||||||
|
|
||||||
|
private GetBusinessJobConfigResponse() {}
|
||||||
|
|
||||||
|
public List<String> businessJobs;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Schema(description = "GetBusinessStepConfigResponse")
|
@Schema(description = "GetBusinessStepConfigResponse")
|
||||||
public static final class GetBusinessStepConfigResponse {
|
public static final class GetBusinessStepConfigResponse {
|
||||||
|
|
||||||
|
|||||||
+5
@@ -21,8 +21,13 @@ package org.apache.fineract.cob.domain;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
|
||||||
public interface BatchBusinessStepRepository extends JpaRepository<BatchBusinessStep, Long>, JpaSpecificationExecutor<BatchBusinessStep> {
|
public interface BatchBusinessStepRepository extends JpaRepository<BatchBusinessStep, Long>, JpaSpecificationExecutor<BatchBusinessStep> {
|
||||||
|
|
||||||
List<BatchBusinessStep> findAllByJobName(String jobName);
|
List<BatchBusinessStep> findAllByJobName(String jobName);
|
||||||
|
|
||||||
|
@Query("SELECT DISTINCT bbs.jobName FROM BatchBusinessStep bbs")
|
||||||
|
List<String> findConfiguredJobNames();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.cob.service;
|
package org.apache.fineract.cob.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import org.apache.fineract.cob.data.JobBusinessStepConfigData;
|
import org.apache.fineract.cob.data.JobBusinessStepConfigData;
|
||||||
import org.apache.fineract.cob.data.JobBusinessStepDetail;
|
import org.apache.fineract.cob.data.JobBusinessStepDetail;
|
||||||
import org.apache.fineract.infrastructure.core.api.JsonCommand;
|
import org.apache.fineract.infrastructure.core.api.JsonCommand;
|
||||||
@@ -30,4 +31,7 @@ public interface ConfigJobParameterService {
|
|||||||
CommandProcessingResult updateStepConfigByJobName(JsonCommand command, String jobName);
|
CommandProcessingResult updateStepConfigByJobName(JsonCommand command, String jobName);
|
||||||
|
|
||||||
JobBusinessStepDetail getAvailableBusinessStepsByJobName(String jobName);
|
JobBusinessStepDetail getAvailableBusinessStepsByJobName(String jobName);
|
||||||
|
|
||||||
|
List<String> getAllConfiguredJobNames();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -91,4 +91,10 @@ public class ConfigJobParameterServiceImpl implements ConfigJobParameterService
|
|||||||
jobBusinessStepDetail.setAvailableBusinessSteps(availableBusinessSteps);
|
jobBusinessStepDetail.setAvailableBusinessSteps(availableBusinessSteps);
|
||||||
return jobBusinessStepDetail;
|
return jobBusinessStepDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getAllConfiguredJobNames() {
|
||||||
|
return batchBusinessStepRepository.findConfiguredJobNames();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user