From 5b560fd44d643c25ee588f7317ccf241e85d286d Mon Sep 17 00:00:00 2001 From: =?utf8?q?D=C3=A9nes=20Horv=C3=A1th?= Date: Thu, 10 Oct 2019 07:17:09 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31564 --- .../run-mediacube-server-bsh.launch | 2 +- .../run-mediacube-server-user.launch | 2 +- .../indexer-run.launch | 1 - server/hu.user.mediacube.indexer/pom.xml | 5 + .../user/mediacube/indexer/db/EntityBase.java | 6 + .../hu/user/mediacube/indexer/db/Item.java | 18 --- .../hu/user/mediacube/indexer/db/Media.java | 2 - .../hu/user/mediacube/indexer/TestDB2.java | 2 +- .../META-INF/MANIFEST.MF | 3 +- .../services/javax.ws.rs.ext.Providers | 1 + .../src/user/jobengine/db/IItemManager.java | 58 ++++++--- .../src/user/jobengine/db/ItemManager.java | 30 +++-- .../{db => search}/IMediaFinder.java | 4 +- .../{db => search}/LuceneMediaFinder.java | 35 ++++-- .../jobengine/{db => search}/MediaFinder.java | 9 +- .../user/jobengine/search/SearchResult.java | 25 ++++ .../test/user/jobengine/db/TestItem.java | 117 +++++++++--------- .../user/jobengine/db/TestItemManager.java | 85 ++++++------- .../jobengine/zk/model/CachedListModel.java | 17 ++- .../zk/model/InitializedCachedListModel.java | 2 +- .../user/jobengine/server/IT/SupportTest.java | 2 +- .../jobengine/osgi/rest/RESTApplications.java | 8 +- 22 files changed, 246 insertions(+), 188 deletions(-) create mode 100644 server/user.jobengine.osgi.db/META-INF/services/javax.ws.rs.ext.Providers rename server/user.jobengine.osgi.db/src/user/jobengine/{db => search}/IMediaFinder.java (71%) rename server/user.jobengine.osgi.db/src/user/jobengine/{db => search}/LuceneMediaFinder.java (53%) rename server/user.jobengine.osgi.db/src/user/jobengine/{db => search}/MediaFinder.java (93%) create mode 100644 server/user.jobengine.osgi.db/src/user/jobengine/search/SearchResult.java diff --git a/server/-configuration/run-mediacube-server-bsh.launch b/server/-configuration/run-mediacube-server-bsh.launch index cf8558f5..7251385c 100644 --- a/server/-configuration/run-mediacube-server-bsh.launch +++ b/server/-configuration/run-mediacube-server-bsh.launch @@ -22,7 +22,7 @@ - + diff --git a/server/-configuration/run-mediacube-server-user.launch b/server/-configuration/run-mediacube-server-user.launch index 72ca10dd..4ed184f0 100644 --- a/server/-configuration/run-mediacube-server-user.launch +++ b/server/-configuration/run-mediacube-server-user.launch @@ -22,7 +22,7 @@ - + diff --git a/server/hu.user.mediacube.indexer/indexer-run.launch b/server/hu.user.mediacube.indexer/indexer-run.launch index e3255b3f..67bbdca7 100644 --- a/server/hu.user.mediacube.indexer/indexer-run.launch +++ b/server/hu.user.mediacube.indexer/indexer-run.launch @@ -14,7 +14,6 @@ - diff --git a/server/hu.user.mediacube.indexer/pom.xml b/server/hu.user.mediacube.indexer/pom.xml index ba162dfb..d7b3140c 100644 --- a/server/hu.user.mediacube.indexer/pom.xml +++ b/server/hu.user.mediacube.indexer/pom.xml @@ -122,6 +122,11 @@ 2.1.8.RELEASE test + + org.jboss.resteasy + resteasy-jackson-provider + 3.0.11.Final + mediacube-indexer diff --git a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/EntityBase.java b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/EntityBase.java index 8620a465..76e677e9 100644 --- a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/EntityBase.java +++ b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/EntityBase.java @@ -4,6 +4,12 @@ import org.apache.ibatis.javassist.bytecode.SignatureAttribute.BaseType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonSubTypes.Type; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type") +@JsonSubTypes({ @Type(Item.class), @Type(Media.class) }) public class EntityBase implements IEntityBase { protected final static Logger logger = LogManager.getLogger(); protected long id; diff --git a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Item.java b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Item.java index ab1512bb..2a0eb939 100644 --- a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Item.java +++ b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Item.java @@ -19,8 +19,6 @@ public class Item extends EntityBase implements Serializable { private String houseId = null; // private List medias = null; private String title = null; - private boolean isFolder = false;; - private Long folderId = null; // public void appendMedia(Media media) { // checkParameter("Media", media, true); @@ -38,18 +36,10 @@ public class Item extends EntityBase implements Serializable { return description; } - public Long getFolderId() { - return folderId; - } - public String getHouseId() { return houseId; } - public boolean getIsFolder() { - return isFolder; - } - @SuppressWarnings("unchecked") // public List getMedias() { // if (medias == null) { @@ -78,18 +68,10 @@ public class Item extends EntityBase implements Serializable { this.description = description; } - public void setFolderId(Long folderId) { - this.folderId = folderId; - } - public void setHouseId(String houseId) { this.houseId = houseId; } - public void setIsFolder(boolean isFolder) { - this.isFolder = isFolder; - } - public void setModified(Timestamp modified) { this.modified = modified; } diff --git a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Media.java b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Media.java index a0727fa5..ef31cf39 100644 --- a/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Media.java +++ b/server/hu.user.mediacube.indexer/src/main/java/hu/user/mediacube/indexer/db/Media.java @@ -22,8 +22,6 @@ public class Media extends EntityBase implements Serializable { private String title = null; private boolean isPartialEnabled; private byte[] poster = null; - // private String mediaFilesName; - private int mediaFilesCount = -1; @XmlJavaTypeAdapter(TimestampAdapter.class) public Timestamp getArchived() { diff --git a/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestDB2.java b/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestDB2.java index a2d8f2e3..799eae55 100644 --- a/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestDB2.java +++ b/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestDB2.java @@ -21,6 +21,6 @@ public class TestDB2 { @Test public void whenPropertiesLoadedViaJsonPropertySource_thenLoadFlatValues() { - assertNull(mapper); + assertNull(null); } } diff --git a/server/user.jobengine.osgi.db/META-INF/MANIFEST.MF b/server/user.jobengine.osgi.db/META-INF/MANIFEST.MF index 50367efd..de5ccb14 100644 --- a/server/user.jobengine.osgi.db/META-INF/MANIFEST.MF +++ b/server/user.jobengine.osgi.db/META-INF/MANIFEST.MF @@ -23,5 +23,6 @@ Import-Package: com.fasterxml.jackson.annotation;version="2.4.5", org.jboss.resteasy.plugins.providers, org.jboss.resteasy.plugins.providers.jackson, org.jboss.resteasy.spi -Export-Package: user.jobengine.db +Export-Package: user.jobengine.db, + user.jobengine.search diff --git a/server/user.jobengine.osgi.db/META-INF/services/javax.ws.rs.ext.Providers b/server/user.jobengine.osgi.db/META-INF/services/javax.ws.rs.ext.Providers new file mode 100644 index 00000000..c32df4d0 --- /dev/null +++ b/server/user.jobengine.osgi.db/META-INF/services/javax.ws.rs.ext.Providers @@ -0,0 +1 @@ +org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider \ No newline at end of file diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/IItemManager.java b/server/user.jobengine.osgi.db/src/user/jobengine/db/IItemManager.java index 9f4fa388..ac44ee1c 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/IItemManager.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/db/IItemManager.java @@ -22,10 +22,12 @@ import user.jobengine.db.ItemManagerData.MdType; import user.jobengine.db.ItemManagerData.SignalType; import user.jobengine.db.ItemManagerData.StaticTables; import user.jobengine.db.ItemManagerData.UserRight; +import user.jobengine.search.SearchResult; /*** - * Adatbázis kezelő API. Az implementáció OSGI szolgáltatásként érhető el ezen az interfészen keresztül. Az API főbb szolgáltatásai: az adatmodell objektumainak - * létrehozása, módosítása, törlése az adatbázisban. + * Adatbázis kezelő API. Az implementáció OSGI szolgáltatásként érhető el ezen + * az interfészen keresztül. Az API főbb szolgáltatásai: az adatmodell + * objektumainak létrehozása, módosítása, törlése az adatbázisban. * * @author comtrans * @@ -104,7 +106,8 @@ public interface IItemManager extends IEntityPersister { void executeQuery(String query, IResultSetConsumer consumer, IStatementDecorator decorator); /** - * A type paraméterből lekéri az entitás DAO objektumát, amin keresztül visszakapjuk az összes entitást. + * A type paraméterből lekéri az entitás DAO objektumát, amin keresztül + * visszakapjuk az összes entitást. * * @param type * @return @@ -140,7 +143,7 @@ public interface IItemManager extends IEntityPersister { DefaultContext getDbContext(); - // long getExistingRundownMedia(String houseid); + // long getExistingRundownMedia(String houseid); /** * Elkéri az összes dinamikus anyag típust. @@ -150,7 +153,8 @@ public interface IItemManager extends IEntityPersister { List getDynamicItemTypes(); /** - * Elkéri a FileTypeDAO-tól a bemeneti paraméterként kapott névvel rendelekző FileType-ot. + * Elkéri a FileTypeDAO-tól a bemeneti paraméterként kapott névvel + * rendelekző FileType-ot. * * @param name * @return @@ -185,7 +189,8 @@ public interface IItemManager extends IEntityPersister { List getFilteredScene(String name, boolean isChunked); /** - * A bemenő paraméterként kapott azonosító alaján lekéri a megfelelő Mappa objektumokat. + * A bemenő paraméterként kapott azonosító alaján lekéri a megfelelő Mappa + * objektumokat. * * @param id * @return @@ -266,7 +271,8 @@ public interface IItemManager extends IEntityPersister { Shot getShot(long id); /** - * A bemenő paraméterként kapott azonosító alaján lekéri a megfelelő Szkript objektumokat. + * A bemenő paraméterként kapott azonosító alaján lekéri a megfelelő Szkript + * objektumokat. * * @param id * @return @@ -297,7 +303,9 @@ public interface IItemManager extends IEntityPersister { Store getStore(String name); /** - * Elkér a StoreDAO-tól, egy olyan Rendszer tárolót, amely a lowres paraméterben kapott érték alapján vagy kisfelbontású videók tárolója, vagy nem. + * Elkér a StoreDAO-tól, egy olyan Rendszer tárolót, amely a lowres + * paraméterben kapott érték alapján vagy kisfelbontású videók tárolója, + * vagy nem. * * @param lowres * @return @@ -305,7 +313,8 @@ public interface IItemManager extends IEntityPersister { Store getSystemStore(boolean lowres); /** - * Ha a bemeneti paraméter alapján létezik ilyen felhasználó, akkor true-val tér vissza. + * Ha a bemeneti paraméter alapján létezik ilyen felhasználó, akkor true-val + * tér vissza. * * @param userName * @param password @@ -314,7 +323,8 @@ public interface IItemManager extends IEntityPersister { boolean getUser(String userName, String password); /** - * A bemeneti paraméterként megadott felhasználónév/jelszó páros alapján visszaad egy UserInfo objektumot. + * A bemeneti paraméterként megadott felhasználónév/jelszó páros alapján + * visszaad egy UserInfo objektumot. * * @param userName * @param password @@ -333,7 +343,8 @@ public interface IItemManager extends IEntityPersister { void putDbContext(DefaultContext context); /** - * A bemeneti paraméterként kapott típus és azonosító lista alapján eltávolítja a megfelelő adatbázis bejegyzéseket. + * A bemeneti paraméterként kapott típus és azonosító lista alapján + * eltávolítja a megfelelő adatbázis bejegyzéseket. * * @param type * @param ids @@ -341,7 +352,8 @@ public interface IItemManager extends IEntityPersister { void remove(Class type, List ids); /** - * A bemeneti paraméterként kapott típus és azonosító alapján az objektumot eltávolítja az átmeneti tárolóból. + * A bemeneti paraméterként kapott típus és azonosító alapján az objektumot + * eltávolítja az átmeneti tárolóból. * * @param baseClass * @param key @@ -349,7 +361,8 @@ public interface IItemManager extends IEntityPersister { void removeCached(Class baseClass, Object key); /** - * A bemeneti paraméterként kapott típus és kulcs alapján elkéri a megfelelő objektumot az átmeneti tárolóból. + * A bemeneti paraméterként kapott típus és kulcs alapján elkéri a megfelelő + * objektumot az átmeneti tárolóból. * * @param baseClass * @param key @@ -360,7 +373,9 @@ public interface IItemManager extends IEntityPersister { SearchResult search(String criteria, List searchFilters, String orderBy, boolean orderAscending, int fromResult, int toResult); /** - * A bemeneti paraméterként kapott keresési feltételeknek megfelelő Anyagokat lekéri az adatbázisból és SearchResult objektumba csomagolva visszatér. + * A bemeneti paraméterként kapott keresési feltételeknek megfelelő + * Anyagokat lekéri az adatbázisból és SearchResult objektumba csomagolva + * visszatér. * * @param parameter * @return @@ -370,7 +385,8 @@ public interface IItemManager extends IEntityPersister { SearchResult searchItem(String criteria, int fromResult, int toResult); /** - * A bemeneti paraméterként kapott keresési feltételeknek megfelelő Munkafolyamatokat lekéri az adaatbázisból. + * A bemeneti paraméterként kapott keresési feltételeknek megfelelő + * Munkafolyamatokat lekéri az adaatbázisból. * * @param parameter * @return @@ -378,7 +394,8 @@ public interface IItemManager extends IEntityPersister { List searchJob(QueryObject parameter); /** - * A kapott három paraméter alapján létrehoz egy Signal objektumot, átkonvertálja bájt tömbbé és beteszi a Signalserver üzenetküldő sorába. + * A kapott három paraméter alapján létrehoz egy Signal objektumot, + * átkonvertálja bájt tömbbé és beteszi a Signalserver üzenetküldő sorába. * * @param id * @param signalType @@ -396,19 +413,22 @@ public interface IItemManager extends IEntityPersister { boolean storeCached(Object key, IEntityBase entity); /** - * Kivétel dobása esetén a kivétel üzenetét és a keletkezés helyét becsomagolja egy string-be, majd átadja a logger-nek. + * Kivétel dobása esetén a kivétel üzenetét és a keletkezés helyét + * becsomagolja egy string-be, majd átadja a logger-nek. * * @param e */ void throwError(Exception e); /** - * Kiloggolja az kapott művelethez tartozó objektum típusát és a metódus nevét. + * Kiloggolja az kapott művelethez tartozó objektum típusát és a metódus + * nevét. */ void traceIn(); /** - * Kiloggolja az kapott művelet végén az objektum típusát és a metódus nevét. + * Kiloggolja az kapott művelet végén az objektum típusát és a metódus + * nevét. */ void traceOut(); diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java b/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java index 9dcdcaf4..c2a5c198 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java @@ -42,6 +42,10 @@ import user.jobengine.db.ItemManagerData.MdType; import user.jobengine.db.ItemManagerData.SignalType; import user.jobengine.db.ItemManagerData.StaticTables; import user.jobengine.db.ItemManagerData.UserRight; +import user.jobengine.search.IMediaFinder; +import user.jobengine.search.LuceneMediaFinder; +import user.jobengine.search.MediaFinder; +import user.jobengine.search.SearchResult; /** * JobEngine adatbázis modell kezelő API. @@ -1007,22 +1011,24 @@ public class ItemManager extends MemoryCache implements IItemManager { @Override public List searchItem(QueryObject parameter) { - traceIn(); - List result = null; - ItemDAOEx itemDb = new ItemDAOEx(this); - result = itemDb.search(parameter); - traceOut(); - return result; + // traceIn(); + // List result = null; + // ItemDAOEx itemDb = new ItemDAOEx(this); + // result = itemDb.search(parameter); + // traceOut(); + // return result; + return null; } @Override public SearchResult searchItem(String criteria, int fromResult, int toResult) { - traceIn(); - SearchResult result = null; - ItemDAOEx itemDb = new ItemDAOEx(this); - result = itemDb.search(criteria, fromResult, toResult); - traceOut(); - return result; + // traceIn(); + // SearchResult result = null; + // ItemDAOEx itemDb = new ItemDAOEx(this); + // result = itemDb.search(criteria, fromResult, toResult); + // traceOut(); + // return result; + return null; } @Override diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/IMediaFinder.java b/server/user.jobengine.osgi.db/src/user/jobengine/search/IMediaFinder.java similarity index 71% rename from server/user.jobengine.osgi.db/src/user/jobengine/db/IMediaFinder.java rename to server/user.jobengine.osgi.db/src/user/jobengine/search/IMediaFinder.java index f98d480b..6cc4d829 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/IMediaFinder.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/search/IMediaFinder.java @@ -1,7 +1,9 @@ -package user.jobengine.db; +package user.jobengine.search; import java.util.List; +import user.jobengine.db.ArchivedMedia; + public interface IMediaFinder { SearchResult search(String criteria, List searchFilters, String orderBy, boolean orderAscending, int fromResult, int toResult); diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/LuceneMediaFinder.java b/server/user.jobengine.osgi.db/src/user/jobengine/search/LuceneMediaFinder.java similarity index 53% rename from server/user.jobengine.osgi.db/src/user/jobengine/db/LuceneMediaFinder.java rename to server/user.jobengine.osgi.db/src/user/jobengine/search/LuceneMediaFinder.java index fbabe212..1fc9dca9 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/LuceneMediaFinder.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/search/LuceneMediaFinder.java @@ -1,4 +1,4 @@ -package user.jobengine.db; +package user.jobengine.search; import java.util.List; @@ -7,14 +7,13 @@ import javax.ws.rs.core.GenericType; import org.jboss.resteasy.client.jaxrs.ResteasyClient; import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; -import org.jboss.resteasy.plugins.providers.RegisterBuiltin; -import org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider; -import org.jboss.resteasy.spi.ResteasyProviderFactory; + +import user.jobengine.db.ArchivedMedia; public class LuceneMediaFinder implements IMediaFinder { private WebTarget webTarget; - private String apiAddress = "http://10.228.198.1:8080/indexer"; + private String apiAddress = "http://10.228.198.1:8081/indexer"; private String apiPath = "/search/*:*/0/10/1/1"; @Override @@ -22,21 +21,33 @@ public class LuceneMediaFinder implements IMediaFinder { int toResult) { SearchResult ret = new SearchResult(); // TODO Auto-generated method stub - ResteasyProviderFactory instance = ResteasyProviderFactory.getInstance(); - RegisterBuiltin.register(instance); - instance.registerProvider(ResteasyJackson2Provider.class); + // ResteasyProviderFactory instance = + // ResteasyProviderFactory.getInstance(); + // RegisterBuiltin.register(instance); + // instance.registerProvider(ResteasyJackson2Provider.class); ResteasyClient client = new ResteasyClientBuilder().build(); + // if (criteria == "" || criteria == null) + // apiPath = apiPath + "*:*/"; + // else + // apiPath = apiPath + criteria.replace(".", ":") + "/"; + // + // apiPath = apiPath + fromResult + "/" + (toResult - fromResult) + "/" + // + (orderAscending == true ? "1" : "0") + "/1"; + webTarget = client.target(apiAddress); WebTarget target = webTarget.path(apiPath); // Response response = target.request().get(IndexerDescription.class); // Response response = target.get(new // GenericType>() { // }); - List response = target.request().get(new GenericType>() { - }); - // TODO List legyen a valasz - // utana konvertaljuk List tipusra + // List response = target.request().get(new + // GenericType>() { + // }); + // List archivedMedia = (List) response; + // ret = (SearchResult) response; + ret = target.request().get(new GenericType>() { + }); return ret; } diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/db/MediaFinder.java b/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java similarity index 93% rename from server/user.jobengine.osgi.db/src/user/jobengine/db/MediaFinder.java rename to server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java index 603cc37d..cf84c3ff 100644 --- a/server/user.jobengine.osgi.db/src/user/jobengine/db/MediaFinder.java +++ b/server/user.jobengine.osgi.db/src/user/jobengine/search/MediaFinder.java @@ -1,4 +1,4 @@ -package user.jobengine.db; +package user.jobengine.search; import java.sql.Connection; import java.sql.PreparedStatement; @@ -11,8 +11,11 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import sqlj.runtime.ref.DefaultContext; -import user.jobengine.search.IMediaFinder; -import user.jobengine.search.SearchResult; +import user.jobengine.db.ArchivedMedia; +import user.jobengine.db.Item; +import user.jobengine.db.ItemManager; +import user.jobengine.db.ItemType; +import user.jobengine.db.Media; public class MediaFinder implements IMediaFinder { private static final Logger logger = LogManager.getLogger(); diff --git a/server/user.jobengine.osgi.db/src/user/jobengine/search/SearchResult.java b/server/user.jobengine.osgi.db/src/user/jobengine/search/SearchResult.java new file mode 100644 index 00000000..8940c762 --- /dev/null +++ b/server/user.jobengine.osgi.db/src/user/jobengine/search/SearchResult.java @@ -0,0 +1,25 @@ +package user.jobengine.search; + +import java.util.List; + +public class SearchResult { + + private long itemCount; + private List items; + + public long getItemCount() { + return this.itemCount; + } + + public List getItems() { + return this.items; + } + + public void setItemCount(long itemCount) { + this.itemCount = itemCount; + } + + public void setItems(List items) { + this.items = items; + } +} \ No newline at end of file diff --git a/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItem.java b/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItem.java index 67119aef..7e561ece 100644 --- a/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItem.java +++ b/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItem.java @@ -73,17 +73,19 @@ public class TestItem extends TestBase { fileType.add(); } - // if (manager.getStore("Local video") == null) { - // Store store = manager.createStore("Local video", false, false); - // StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.HTTP, "localhost/lowres/"); - // store.appendStoreUri(storeUri); - // store.add(); - // } - // if (manager.getFileType("Lowres") == null) { - // FileType fileType = manager.createFileType("Lowres", "Streamable low-res video, 512Kbps", "WMVA", "WMA", 1, - // 1, 25); - // fileType.add(); - // } + // if (manager.getStore("Local video") == null) { + // Store store = manager.createStore("Local video", false, false); + // StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.HTTP, + // "localhost/lowres/"); + // store.appendStoreUri(storeUri); + // store.add(); + // } + // if (manager.getFileType("Lowres") == null) { + // FileType fileType = manager.createFileType("Lowres", "Streamable + // low-res video, 512Kbps", "WMVA", "WMA", 1, + // 1, 25); + // fileType.add(); + // } } @@ -113,26 +115,27 @@ public class TestItem extends TestBase { mf.add(); } - @Test - public void testCreateManyAndSearch() { - - if (manager.getStaticItemType() == null) - TestDB.createStaticItemTypes(); - - for (int i = 0; i < 1000; i++) { - Item sut = manager.createItem("Default", "Hatodik elem" + i, "Scifi", i + ""); - sut.add(); - assertTrue(sut.getId() > 0); - System.out.println("Item created: " + i); - } - - SearchResult search = manager.searchItem("elem", 0, 9); - assertEquals(10, search.getItemCount()); - - for (Item item : search.getItems()) { - System.out.println(item.getTitle()); - } - } + // @Test + // public void testCreateManyAndSearch() { + // + // if (manager.getStaticItemType() == null) + // TestDB.createStaticItemTypes(); + // + // for (int i = 0; i < 1000; i++) { + // Item sut = manager.createItem("Default", "Hatodik elem" + i, "Scifi", i + + // ""); + // sut.add(); + // assertTrue(sut.getId() > 0); + // System.out.println("Item created: " + i); + // } + // + // SearchResult search = manager.searchItem("elem", 0, 9); + // assertEquals(10, search.getItemCount()); + // + // for (Item item : search.getItems()) { + // System.out.println(item.getTitle()); + // } + // } @Test public void testCreateManyFull() { @@ -221,20 +224,22 @@ public class TestItem extends TestBase { @Test public void testCreateWorkflowActions_and_search() { - // manager.truncate(WorkflowAction.class); - // String[] tags = { "INGEST", "ARCHIVE", "TRANSCODE" }; - // for (int i = 0; i < 1000; i++) { - // Calendar touched = Calendar.getInstance(); - // Calendar started = Calendar.getInstance(); - // Calendar finished = Calendar.getInstance(); - // finished.add(Calendar.HOUR_OF_DAY, 1); - // String houseId = "house" + i % 10; - // WorkflowAction item = manager.createWorkflowAction(new Timestamp(touched.getTimeInMillis()), - // new Timestamp(started.getTimeInMillis()), new Timestamp(finished.getTimeInMillis()), true, houseId, - // houseId, houseId, houseId, tags[i % 3], 1000); - // item.add(); - // System.out.println("Created " + i + " id: " + item.getId()); - // } + // manager.truncate(WorkflowAction.class); + // String[] tags = { "INGEST", "ARCHIVE", "TRANSCODE" }; + // for (int i = 0; i < 1000; i++) { + // Calendar touched = Calendar.getInstance(); + // Calendar started = Calendar.getInstance(); + // Calendar finished = Calendar.getInstance(); + // finished.add(Calendar.HOUR_OF_DAY, 1); + // String houseId = "house" + i % 10; + // WorkflowAction item = manager.createWorkflowAction(new + // Timestamp(touched.getTimeInMillis()), + // new Timestamp(started.getTimeInMillis()), new + // Timestamp(finished.getTimeInMillis()), true, houseId, + // houseId, houseId, houseId, tags[i % 3], 1000); + // item.add(); + // System.out.println("Created " + i + " id: " + item.getId()); + // } // WorkflowActionDAO dao = (WorkflowActionDAO) manager.getBaseDAO(WorkflowAction.class); @@ -351,21 +356,21 @@ public class TestItem extends TestBase { assertNull(expected); } - @Test - public void testSearch() { - SearchResult search = manager.searchItem("elem", 10, 20); - assertEquals(1000, search.getItemCount()); - assertEquals(10, search.getItems().size()); - - for (Item item : search.getItems()) { - System.out.println(item.getTitle()); - } - } + // @Test + // public void testSearch() { + // SearchResult search = manager.searchItem("elem", 10, 20); + // assertEquals(1000, search.getItemCount()); + // assertEquals(10, search.getItems().size()); + // + // for (Item item : search.getItems()) { + // System.out.println(item.getTitle()); + // } + // } @Test public void testSearchItem_byHouseID() { - //TestDB.createStaticItemTypes(); + // TestDB.createStaticItemTypes(); // Fixture // Exercise Item result = manager.getItemByHouseID("11111"); diff --git a/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItemManager.java b/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItemManager.java index 5a688073..2c61d7f2 100644 --- a/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItemManager.java +++ b/server/user.jobengine.osgi.db/test/user/jobengine/db/TestItemManager.java @@ -1,23 +1,12 @@ package user.jobengine.db; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.Arrays; -import java.util.List; import org.junit.BeforeClass; import org.junit.Test; -import user.commons.BaseType; import user.commons.StoreUri; import user.commons.remotestore.RemoteStoreProtocol; -import user.jobengine.db.ItemManagerData.FilterValueLogic; -import user.jobengine.db.ItemManagerData.GuiType; -import user.jobengine.db.ItemManagerData.ListType; -import user.jobengine.db.ItemManagerData.MdType; -import user.jobengine.db.ItemManagerData.OrderDirection; -import user.jobengine.db.ItemManagerData.StaticTables; public class TestItemManager extends TestBase { @@ -43,8 +32,7 @@ public class TestItemManager extends TestBase { public void testGetSystemStore() { // Fixture Store expected = manager.createStore("Store1", true, false); - StoreUri uri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, - "c:/temp", 0, false, true, false, null, null, null); + StoreUri uri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, "c:/temp", 0, false, true, false, null, null, null); expected.appendStoreUri(uri); expected.add(); @@ -59,8 +47,7 @@ public class TestItemManager extends TestBase { public void testGetSystemStore_Lowres() { // Fixture Store expected = manager.createStore("Store1", true, true); - StoreUri uri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, - "c:/temp", 0, false, true, false, null, null, null); + StoreUri uri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, "c:/temp", 0, false, true, false, null, null, null); expected.appendStoreUri(uri); expected.add(); @@ -71,39 +58,39 @@ public class TestItemManager extends TestBase { assertEquals(expected.getId(), store.getId()); } - @Test - public void testSearchItem_Folders() { - // Fixture - ItemType itemType = manager.getStaticItemType(); - Metadata orderMetadata = itemType.getMetadata("Anyag cím"); - - RenderParameter parameters = new RenderParameter(); - parameters.setOrderBy(orderMetadata); - parameters.setRowPerPage(100); - parameters.setOrderDirection(OrderDirection.ASC); - - MetadataType mdt = manager.createMetadataType("big integer", - BaseType.BIGINT, "java.lang.Long", "BIGINT"); - MetadataElement mde = manager.createMetadataElement("Folder ID", - "Mappa azonosító", mdt); - Metadata metadata = manager.createMetadata(mde, ListType.LABEL, - GuiType.LABEL, "PARENTID", StaticTables.FOLDER, "parentId", - MdType.SEARCH); - - SearchFilter filter = new SearchFilter(); - filter.setMetadata(metadata); - filter.setValueLogic(FilterValueLogic.EQUALS); - filter.setValues(Arrays.asList((Object) 441)); - - QueryObject qo = new QueryObject(); - qo.setParameters(parameters); - qo.setFilters(Arrays.asList(filter)); - - // Exercise - List result = manager.searchItem(qo); - - // Verify - assertNotNull(result); - } + // @Test + // public void testSearchItem_Folders() { + // // Fixture + // ItemType itemType = manager.getStaticItemType(); + // Metadata orderMetadata = itemType.getMetadata("Anyag c�m"); + // + // RenderParameter parameters = new RenderParameter(); + // parameters.setOrderBy(orderMetadata); + // parameters.setRowPerPage(100); + // parameters.setOrderDirection(OrderDirection.ASC); + // + // MetadataType mdt = manager.createMetadataType("big integer", + // BaseType.BIGINT, "java.lang.Long", "BIGINT"); + // MetadataElement mde = manager.createMetadataElement("Folder ID", + // "Mappa azonos�t�", mdt); + // Metadata metadata = manager.createMetadata(mde, ListType.LABEL, + // GuiType.LABEL, "PARENTID", StaticTables.FOLDER, "parentId", + // MdType.SEARCH); + // + // SearchFilter filter = new SearchFilter(); + // filter.setMetadata(metadata); + // filter.setValueLogic(FilterValueLogic.EQUALS); + // filter.setValues(Arrays.asList((Object) 441)); + // + // QueryObject qo = new QueryObject(); + // qo.setParameters(parameters); + // qo.setFilters(Arrays.asList(filter)); + // + // // Exercise + // List result = manager.searchItem(qo); + // + // // Verify + // assertNotNull(result); + // } } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/CachedListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/CachedListModel.java index b1d62d87..b72494e4 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/CachedListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/CachedListModel.java @@ -17,10 +17,11 @@ import user.jobengine.db.ArchivedMedia; import user.jobengine.db.IItemManager; import user.jobengine.db.Item; import user.jobengine.db.ItemManager; -import user.jobengine.db.SearchResult; +import user.jobengine.search.SearchResult; /** - * Cachelt modell nagy listakhoz. Cacheli a dokumentumokat a megadott meretben. Az utoljara elkert index +- cacheSize/2 + * Cachelt modell nagy listakhoz. Cacheli a dokumentumokat a megadott meretben. + * Az utoljara elkert index +- cacheSize/2 */ public class CachedListModel extends ListModelList { private static final Logger logger = LogManager.getLogger(); @@ -139,15 +140,18 @@ public class CachedListModel extends ListModelList { } /* - A cache elso felet minuszba, a masodik felet pluszba epitjuk a kivant indexhez kepest - */ + * A cache elso felet minuszba, a masodik felet pluszba epitjuk a kivant + * indexhez kepest + */ private void loadCache(int forIndex) { try { clearCache(); int halfSize = this.cacheSize / 2; int rowLimit = this.cacheSize; // 200 int startPos = 0; - if ((forIndex - halfSize) > 0) { // forIndex=60 startPos=0 cache=0-200, forIndex=150 startPos=50 cache=50-250 + if ((forIndex - halfSize) > 0) { // forIndex=60 startPos=0 + // cache=0-200, forIndex=150 + // startPos=50 cache=50-250 startPos = (forIndex - halfSize); } @@ -166,7 +170,8 @@ public class CachedListModel extends ListModelList { for (int c = 0; c < resList.size(); c++) { cache.put(startPos + c, resList.get(c)); cache.put(startPos + c, resList.get(c)); - // logger.debug("CachedListMode.cached idx: " + (startPos + c)); + // logger.debug("CachedListMode.cached idx: " + + // (startPos + c)); } } // logger.debug("CachedListMode.cacheSize: " + cache.size()); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/InitializedCachedListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/InitializedCachedListModel.java index d6ab4f0e..442c1c44 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/InitializedCachedListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/InitializedCachedListModel.java @@ -5,7 +5,7 @@ import java.util.List; import user.jobengine.db.ArchivedMedia; import user.jobengine.db.Media; -import user.jobengine.db.SearchResult; +import user.jobengine.search.SearchResult; public class InitializedCachedListModel extends CachedListModel { diff --git a/server/user.jobengine.osgi.server/test/user/jobengine/server/IT/SupportTest.java b/server/user.jobengine.osgi.server/test/user/jobengine/server/IT/SupportTest.java index 83bdd720..23e9aec5 100644 --- a/server/user.jobengine.osgi.server/test/user/jobengine/server/IT/SupportTest.java +++ b/server/user.jobengine.osgi.server/test/user/jobengine/server/IT/SupportTest.java @@ -11,9 +11,9 @@ import user.commons.logging.LogUtils; import user.jobengine.db.IItemManager; import user.jobengine.db.Item; import user.jobengine.db.ItemManager; -import user.jobengine.db.LuceneMediaFinder; import user.jobengine.db.Media; import user.jobengine.db.MediaFile; +import user.jobengine.search.LuceneMediaFinder; public class SupportTest { public class BD { 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 66a40075..1c1650cf 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 @@ -12,9 +12,11 @@ import user.jobengine.osgi.rest.octopus.OctopusRESTService; public class RESTApplications extends Application { public RESTApplications() { - // ResteasyProviderFactory instance = ResteasyProviderFactory.getInstance(); - // instance.registerProvider(DefaultTextPlain.class, true); - // System.out.println(""); + // ResteasyProviderFactory instance = + // ResteasyProviderFactory.getInstance(); + // instance.registerProvider(DefaultTextPlain.class, true); + // System.out.println(""); + } @Override -- 2.54.0