From 0dabe22c9d7b2e5560831c6347a401ed3b00608b Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Thu, 29 Nov 2018 15:15:47 +0000 Subject: [PATCH] =?utf8?q?Feature=20#107=20Folyamat=20futtat=C3=A1s=20?= =?utf8?q?=C3=A9s=20monitoroz=C3=A1s=20kiaj=C3=A1nl=C3=A1sa=20WS-en?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31359 --- .../run-mediacube-server-bsh.launch | 2 +- .../src/user/jobengine/db/JSONBase.java | 2 +- .../MediaCubeService.java} | 46 +++++++++++++++++-- .../jobengine/osgi/rest/RESTApplications.java | 4 +- 4 files changed, 47 insertions(+), 7 deletions(-) rename server/user.jobengine.osgi.services/src/user/jobengine/osgi/{rest/jobengine/JobengineService.java => mediacube/MediaCubeService.java} (70%) diff --git a/server/-configuration/run-mediacube-server-bsh.launch b/server/-configuration/run-mediacube-server-bsh.launch index f81b80d9..73dd62c3 100644 --- a/server/-configuration/run-mediacube-server-bsh.launch +++ b/server/-configuration/run-mediacube-server-bsh.launch @@ -19,7 +19,7 @@ - + diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/JSONBase.java b/server/user.jobengine.osgi.db/src/user/jobengine/db/JSONBase.java index 93b4da48..f35936de 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/JSONBase.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/db/JSONBase.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import user.commons.EntityBase; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type") -@JsonSubTypes({ @Type(WorkflowAction.class), @Type(MasterId.class) }) +@JsonSubTypes({ @Type(WorkflowAction.class), @Type(MasterId.class), @Type(Media.class) }) public class JSONBase extends EntityBase { } \ No newline at end of file diff --git a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/jobengine/JobengineService.java b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java similarity index 70% rename from server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/jobengine/JobengineService.java rename to server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java index b7053bff..a5b0ce8a 100644 --- a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/jobengine/JobengineService.java +++ b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java @@ -1,4 +1,8 @@ -package user.jobengine.osgi.rest.jobengine; +package user.jobengine.osgi.mediacube; + +import java.sql.ResultSetMetaData; +import java.util.ArrayList; +import java.util.List; import javax.ws.rs.Consumes; import javax.ws.rs.GET; @@ -13,8 +17,12 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.eclipse.core.runtime.adaptor.EclipseStarter; +import com.ibm.nosql.json.api.BasicDBObject; + import user.commons.MediaCubeMarker; import user.jobengine.db.IItemManager; +import user.jobengine.db.IResultSetConsumer; +import user.jobengine.db.IStatementDecorator; import user.jobengine.db.Item; import user.jobengine.db.JSONBase; import user.jobengine.osgi.rest.ComponentBinder; @@ -22,12 +30,12 @@ import user.jobengine.server.IJobEngine; @Path("/jobengine") @SuppressWarnings("restriction") -public class JobengineService { +public class MediaCubeService { private static final Logger logger = LogManager.getLogger(); private IItemManager itemManager = ComponentBinder.getItemManager(); - public JobengineService() { + public MediaCubeService() { //logger.info("Created"); } @@ -79,6 +87,38 @@ public class JobengineService { return result; } + @GET + @Path("/media") + @Consumes({ MediaType.APPLICATION_JSON }) + @Produces({ MediaType.APPLICATION_JSON }) + public Response getMedia(@QueryParam("mediaHouseId") String mediaHouseId) { + Response result = null; + try { + if (itemManager == null) + throw new Exception("No ItemManager found"); + + List items = new ArrayList<>(); + String sql = "select * from VW_ITEMS where mediafilehouseid = ? order by mediafilehouseid"; + IStatementDecorator decorator = ps -> { + ps.setString(1, mediaHouseId); + }; + IResultSetConsumer consumer = rs -> { + ResultSetMetaData metaData = rs.getMetaData(); + BasicDBObject o = new BasicDBObject(); + for (int i = 1; i <= metaData.getColumnCount(); i++) { + o.put(metaData.getColumnName(i), rs.getObject(i)); + } + items.add(o); + return true; + }; + itemManager.executeQuery(sql, consumer, decorator); + result = Response.ok(items).build(); + } catch (Exception e) { + result = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); + } + return result; + } + @GET @Path("/halt") public Response halt() { diff --git a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/RESTApplications.java b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/RESTApplications.java index ab81c22f..66a40075 100644 --- a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/RESTApplications.java +++ b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/RESTApplications.java @@ -6,7 +6,7 @@ import java.util.Set; import javax.ws.rs.core.Application; -import user.jobengine.osgi.rest.jobengine.JobengineService; +import user.jobengine.osgi.mediacube.MediaCubeService; import user.jobengine.osgi.rest.octopus.OctopusRESTService; public class RESTApplications extends Application { @@ -19,6 +19,6 @@ public class RESTApplications extends Application { @Override public Set> getClasses() { - return new HashSet<>(Arrays.asList(OctopusRESTService.class, JobengineService.class, JacksonJsonProvider.class, TextMessageBodyReaderWriter.class)); + return new HashSet<>(Arrays.asList(OctopusRESTService.class, MediaCubeService.class, JacksonJsonProvider.class, TextMessageBodyReaderWriter.class)); } } -- 2.54.0