diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java index 919fb5a2c021e0ced6366fe3685a8ae00a3f8962..5e47c8becb4bd489de8d0a727edda4d7964cc899 100644 --- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java +++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java @@ -1,5 +1,4 @@ package eu.hbp.mip.controllers; - import eu.hbp.mip.utils.HTTPUtil; import com.google.gson.Gson; @@ -9,6 +8,8 @@ import eu.hbp.mip.model.User; import eu.hbp.mip.model.UserInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,8 +21,11 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; + import eu.hbp.mip.utils.UserActionLogging; +import org.springframework.web.bind.annotation.*; + import java.util.*; import java.io.IOException; @@ -78,4 +82,25 @@ public class MiningApi { return new ResponseEntity<>("Not found", HttpStatus.BAD_REQUEST); } } + + @ApiOperation(value = "Perform an non persisted algorithm on Exareme", response = String.class) + @RequestMapping(value = "/exareme/{algorithmName}", method = RequestMethod.POST) + public ResponseEntity runExaremeAlgorithm( + @RequestBody List<HashMap<String, String>> queryList, + @ApiParam(value = "algorithmName", required = true) @PathVariable("algorithmName") String algorithmName + ) { + UserActionLogging.LogAction("Run algo", ""); + + String query = gson.toJson(queryList); + String url = miningExaremeQueryUrl + "/" + algorithmName; + + try { + StringBuilder results = new StringBuilder(); + int code = HTTPUtil.sendPost(url, query, results); + + return ResponseEntity.ok(gson.toJson(results.toString())); + } catch (IOException e) { + return new ResponseEntity<>("Not found", HttpStatus.BAD_REQUEST); + } + } }