From 3db91f4120d1afe5ebe44655164327293aa9355d Mon Sep 17 00:00:00 2001 From: Paul Harrison Date: Fri, 26 Jul 2024 13:11:47 +0100 Subject: [PATCH] update to vodml plugin 0.5.5 problems with deeply buried lazy loaded children fixed in latest coordinateDM --- build.gradle.kts | 6 +-- .../dm/proposal/prop/EmerlinExampleTest.java | 37 +++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9955622..b1e1607 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.kotlin.dsl.accessors.runtime.addDependencyTo plugins { - id("net.ivoa.vo-dml.vodmltools") version "0.5.4" + id("net.ivoa.vo-dml.vodmltools") version "0.5.5" `maven-publish` id("io.github.gradle-nexus.publish-plugin") version "1.1.0" signing @@ -9,7 +9,7 @@ plugins { } group = "org.javastro.ivoa.dm" -version = "0.5.0-SNAPSHOT" +version = "0.5.1-SNAPSHOT" vodml { @@ -103,7 +103,7 @@ tasks.withType { duplicatesStrategy = DuplicatesStrategy.INCLUDE } //IMPL b dependencies { api("org.javastro.ivoa.vo-dml:ivoa-base:1.1-SNAPSHOT") - api("org.javastro.ivoa.dm:coordinateDM:1.1.1-SNAPSHOT") + api("org.javastro.ivoa.dm:coordinateDM:1.1.2-SNAPSHOT") // implementation("org.javastro:ivoa-entities:0.9.3-SNAPSHOT") testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") testRuntimeOnly("org.junit.platform:junit-platform-launcher") diff --git a/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java b/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java index 30a0399..e285fd4 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java @@ -76,6 +76,37 @@ public void testDeleteTarget() { em.getTransaction().commit(); + } + + + @org.junit.jupiter.api.Test + public void testObservationTarget() { + jakarta.persistence.EntityManager em = setupH2Db(ProposalModel.pu_name()); + em.getTransaction().begin(); + final ObservingProposal proposal = ex.getProposal(); + proposal.persistRefs(em); + em.persist(proposal); + em.getTransaction().commit(); + //copy obs + em.getTransaction().begin(); + TypedQuery q = em.createQuery("SELECT o FROM ObservingProposal o", ObservingProposal.class); + List res = q.getResultList(); + ObservingProposal prop = res.get(0); + prop.forceLoad(); + Observation obs = prop.observations.get(0); + Observation obs2 = obs.copyMe(); + em.persist(obs2); + prop.addToObservations(obs2); + em.merge(prop); + em.getTransaction().commit(); + //delete target + em.getTransaction().begin(); + assertNotNull(obs.target); + + em.remove(obs.target.get(0)); // TODO perhaps really want to investigate list member deletion more... + em.getTransaction().commit(); + + } @org.junit.jupiter.api.Test @@ -257,11 +288,17 @@ public void testCopy() { ProposalModel model = new ProposalModel(); model.createContext(); final ObservingProposal proposal = ex.getProposal(); + model.addContent(proposal); + model.processReferences(); final ObservingProposal cprop = new ObservingProposal(proposal); cprop.updateClonedReferences(); proposal.observations.get(0).target.get(0).sourceName="changed"; assertEquals("fictional", cprop.observations.get(0).target.get(0).sourceName); + Observation obs = proposal.getObservations().get(0); + Observation obs2 = obs.copyMe(); + TargetObservation tobs2 = (TargetObservation) obs2; + assertNotNull(tobs2); }