wudi пре 6 месеци
родитељ
комит
d3c054d762

+ 3 - 2
src/main/java/com/mokasz/image_pool/algorithm/OpenCvService.java

@@ -13,10 +13,11 @@ public class OpenCvService {
         Loader.load(opencv_java.class);
     }
     private final PHash pHash = PHash.create();
+    private static final int HashLength = 8;
 
     private static void transformMatToArrayOfFloat(Mat mat, float[] floats) {
-        if (mat.width() != 8 || mat.height() != 1) throw new RuntimeException("Matrix dimension is not 1x8");
-        for (int i = 0; i < 8; i++) {
+        if (mat.width() != HashLength || mat.height() != 1) throw new RuntimeException("Matrix dimension is not 1x8");
+        for (int i = 0; i < HashLength; i++) {
             floats[i] = (float) mat.get(0, i)[0];
         }
     }

+ 44 - 0
src/main/java/com/mokasz/image_pool/restful/controller/PoolController.java

@@ -0,0 +1,44 @@
+package com.mokasz.image_pool.restful.controller;
+
+import com.mokasz.image_pool.restful.entity.Pool;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.support.GeneratedKeyHolder;
+import org.springframework.jdbc.support.KeyHolder;
+import org.springframework.web.bind.annotation.*;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.List;
+
+@RestController
+@RequestMapping("/service/pool")
+public class PoolController {
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+
+    @ResponseStatus(HttpStatus.CREATED)
+    @PutMapping("/")
+    public Pool create (@RequestParam("name") String name) {
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(con -> {
+            PreparedStatement ps = con.prepareStatement("INSERT INTO image_pool.pools (pool_description, created) VALUES(?, NOW())");
+            ps.setString(1, name);
+            return ps;
+        }, keyHolder);
+        Number key = keyHolder.getKey();
+        logger.info("{}", key);
+        return jdbcTemplate.queryForObject("SELECT * FROM image_pool.pools WHERE pool_id = ?", Pool.class, key.intValue());
+    }
+
+    @GetMapping("/")
+    public List<Pool> list () {
+        List<Pool> pools = jdbcTemplate.query("SELECT * FROM image_pool.pools",
+                (ResultSet rs, int num) -> new Pool(rs.getInt("pool_id"), rs.getString("pool_name"), rs.getTimestamp("created")));
+        return pools;
+    }
+}

+ 12 - 0
src/main/java/com/mokasz/image_pool/restful/entity/Pool.java

@@ -0,0 +1,12 @@
+package com.mokasz.image_pool.restful.entity;
+
+import lombok.Data;
+
+import java.sql.Timestamp;
+
+@Data
+public class Pool {
+    private final int pool_id;
+    private final String pool_description;
+    private final Timestamp created;
+}