From f6b4ae3c71454adce448cd425d2a0bd11bbd39a3 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Fri, 14 Jul 2017 23:39:08 +0200 Subject: [PATCH] fixed bug with LAZY fetch of ElementCollections --- build.sbt | 14 +++++-- .../com/oggio88/jpacrepo/model/PkgData.java | 37 ++++++++++--------- .../com/oggio88/jpacrepo/pacbase/Parser.java | 16 ++++---- .../jpacrepo/service/PacmanWebService.java | 1 + .../WEB-INF/jboss-web.xml | 0 5 files changed, 38 insertions(+), 30 deletions(-) rename src/main/{resources => webapp}/WEB-INF/jboss-web.xml (100%) diff --git a/build.sbt b/build.sbt index 256a4f5..291be48 100644 --- a/build.sbt +++ b/build.sbt @@ -10,13 +10,15 @@ scalaVersion := "2.12.2" libraryDependencies += "org.tukaani" % "xz" % "1.6" libraryDependencies += "org.apache.commons" % "commons-compress" % "1.14" libraryDependencies += "org.projectlombok" % "lombok" % "1.16.18" % "provided" -//libraryDependencies += "javax" % "javaee-api" % "7.0" % "provided" -libraryDependencies += "javax" % "javaee-api" % "7.0" +libraryDependencies += "javax" % "javaee-api" % "7.0" % "provided" +//libraryDependencies += "javax" % "javaee-api" % "7.0 " libraryDependencies += "junit" % "junit" % "4.12" % "test" libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test" libraryDependencies += "com.thoughtworks.xstream" % "xstream" % "1.4.10" libraryDependencies += "commons-io" % "commons-io" % "2.5" % "test" +libraryDependencies += "org.jboss" % "jboss-ejb-client" % "4.0.0.CR5" % "test" + //libraryDependencies += "org.jboss.resteasy" % "resteasy-jaxrs" % "3.1.3.Final" % "test" //libraryDependencies += "org.jboss.resteasy" % "resteasy-client" % "3.1.3.Final" @@ -34,13 +36,17 @@ libraryDependencies += "org.jboss.resteasy" % "resteasy-jaxb-provider" % "3.0.11 enablePlugins(WarPlugin) +artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) => + artifact.name + "-" + module.revision + "." + artifact.extension +} + val wildflyUsername = SettingKey[String]("wildfly-username", "The account username to use to connect to wildfly with jboss-cli.sh") val wildflyPassword = SettingKey[String]("wildfly-password", "The account password to use to connect to wildfly with jboss-cli.sh") val wildflyURL = SettingKey[String]("wildfly-url", "The username to use to connect to wildfly with jboss-cli.sh") -wildflyUsername := "admin" +wildflyUsername := "root" wildflyPassword := "123456" -wildflyURL := "localhost:9990" +wildflyURL := "localhost:1234" val deploy2Wildfly = TaskKey[Unit]("deploy2Wildfly", "Deploy to a wildfly server instance", KeyRanks.ATask) diff --git a/src/main/java/com/oggio88/jpacrepo/model/PkgData.java b/src/main/java/com/oggio88/jpacrepo/model/PkgData.java index 8772eb8..f0803b9 100644 --- a/src/main/java/com/oggio88/jpacrepo/model/PkgData.java +++ b/src/main/java/com/oggio88/jpacrepo/model/PkgData.java @@ -4,6 +4,7 @@ import javax.persistence.*; import javax.xml.bind.annotation.XmlRootElement; import java.util.Date; import java.util.List; +import java.util.Set; /** * Created by walter on 22/03/15. @@ -12,8 +13,8 @@ import java.util.List; @Entity @XmlRootElement -@NamedQuery(name="searchById", query = "SELECT p FROM PkgData p WHERE p.id = :id") -@Table(indexes = { @Index(columnList = "md5sum", unique = true), @Index(columnList = "fileName", unique = true) }) +@NamedQuery(name = "searchById", query = "SELECT p FROM PkgData p WHERE p.id = :id") +@Table(indexes = {@Index(columnList = "md5sum", unique = true), @Index(columnList = "fileName", unique = true)}) public class PkgData { @Id @@ -46,29 +47,29 @@ public class PkgData public String fileName; - @ElementCollection(fetch = FetchType.LAZY) - public List replaces; + @ElementCollection(fetch = FetchType.EAGER) + public Set replaces; - @ElementCollection(fetch = FetchType.LAZY) - public List conflict; + @ElementCollection(fetch = FetchType.EAGER) + public Set conflict; - @ElementCollection(fetch = FetchType.LAZY) - public List provides; + @ElementCollection(fetch = FetchType.EAGER) + public Set provides; - @ElementCollection(fetch = FetchType.LAZY) - public List depend; + @ElementCollection(fetch = FetchType.EAGER) + public Set depend; - @ElementCollection(fetch = FetchType.LAZY) - public List optdepend; + @ElementCollection(fetch = FetchType.EAGER) + public Set optdepend; - @ElementCollection(fetch = FetchType.LAZY) - public List makedepend; + @ElementCollection(fetch = FetchType.EAGER) + public Set makedepend; - @ElementCollection(fetch = FetchType.LAZY) - public List makeopkgopt; + @ElementCollection(fetch = FetchType.EAGER) + public Set makeopkgopt; - @ElementCollection(fetch = FetchType.LAZY) - public List backup; + @ElementCollection(fetch = FetchType.EAGER) + public Set backup; @Temporal(TemporalType.TIMESTAMP) public Date updTimestamp; diff --git a/src/main/java/com/oggio88/jpacrepo/pacbase/Parser.java b/src/main/java/com/oggio88/jpacrepo/pacbase/Parser.java index ac564ee..5adca94 100644 --- a/src/main/java/com/oggio88/jpacrepo/pacbase/Parser.java +++ b/src/main/java/com/oggio88/jpacrepo/pacbase/Parser.java @@ -78,7 +78,7 @@ public class Parser data.arch = propMap.get(key).get(0); break; case "replaces": - data.replaces = propMap.get(key); + data.replaces = new HashSet(propMap.get(key)); break; case "packager": data.packager = propMap.get(key).get(0); @@ -102,25 +102,25 @@ public class Parser data.description = propMap.get(key).get(0); break; case "provides": - data.provides = propMap.get(key); + data.provides = new HashSet(propMap.get(key)); break; case "conflict": - data.conflict = propMap.get(key); + data.conflict = new HashSet(propMap.get(key)); break; case "backup": - data.backup = propMap.get(key); + data.backup = new HashSet(propMap.get(key)); break; case "optdepend": - data.optdepend = propMap.get(key); + data.optdepend = new HashSet(propMap.get(key)); break; case "depend": - data.depend = propMap.get(key); + data.depend = new HashSet(propMap.get(key)); break; case "makedepend": - data.makedepend = propMap.get(key); + data.makedepend = new HashSet(propMap.get(key)); break; case "makepkgopt": - data.makeopkgopt = propMap.get(key); + data.makeopkgopt = new HashSet(propMap.get(key)); break; case "pkgbase": data.base = propMap.get(key).get(0); diff --git a/src/main/java/com/oggio88/jpacrepo/service/PacmanWebService.java b/src/main/java/com/oggio88/jpacrepo/service/PacmanWebService.java index af2e1f0..ff7056a 100644 --- a/src/main/java/com/oggio88/jpacrepo/service/PacmanWebService.java +++ b/src/main/java/com/oggio88/jpacrepo/service/PacmanWebService.java @@ -73,6 +73,7 @@ public class PacmanWebService } else if (name != null || arch != null || version != null) { + QueryEngine qe = new QueryEngine(PkgData.class); qe.select(); if (name != null) qe.where("name", "=", name); diff --git a/src/main/resources/WEB-INF/jboss-web.xml b/src/main/webapp/WEB-INF/jboss-web.xml similarity index 100% rename from src/main/resources/WEB-INF/jboss-web.xml rename to src/main/webapp/WEB-INF/jboss-web.xml