diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 7111ab8..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,54 +0,0 @@ -# This file generated from a template file maintained in the ivoatex repository. -# To create and install it into a project repository, do: -# make github-preview -# git commit -# git push -# -name: Check the IVOA document - -env: - doc_name: ProposalDM - -on: - pull_request: - types: [opened, synchronize, reopened] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - - name: Checkout the repository - uses: actions/checkout@v4 - with: - submodules: true - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'adopt' - - - name: Setup dependencies - run: | - sudo apt update - sudo apt install texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended xsltproc latexmk cm-super inkscape graphviz - sudo snap install pdftk - - - name: Build the document - run: | - ./gradlew vodmlDoc - make -C std - - - name: Check the output - run: | - test -f std/${{ env.doc_name }}.pdf - test -f std/${{ env.doc_name }}.bbl - - - name: Keep the PDF artefact - uses: actions/upload-artifact@v1 - with: - name: PDF Preview - path: std/${{ env.doc_name }}.pdf diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2d6935c..1b452e4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: distribution: 'adopt' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Run the tests run: | diff --git a/build.gradle.kts b/build.gradle.kts index bef1d8f..51b34cc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - id("net.ivoa.vo-dml.vodmltools") version "0.5.10" + id("net.ivoa.vo-dml.vodmltools") version "0.5.12" `maven-publish` id("io.github.gradle-nexus.publish-plugin") version "1.1.0" signing @@ -8,7 +8,7 @@ plugins { } group = "org.javastro.ivoa.dm" -version = "0.6.1-SNAPSHOT" +version = "0.6.2-SNAPSHOT" vodml { @@ -120,7 +120,7 @@ dependencies { testImplementation("com.h2database:h2:2.1.214") // try out h2 // testImplementation("org.apache.derby:derby:10.14.2.0") - testImplementation("org.javastro:jaxbjpa-utils:0.1.2") + testImplementation("org.javastro:jaxbjpa-utils:0.2.3") testRuntimeOnly("org.postgresql:postgresql:42.3.3") } diff --git a/src/main/vo-dml/proposalManagement.vo-dml.xml b/src/main/vo-dml/proposalManagement.vo-dml.xml index e0b46e7..67286bb 100644 --- a/src/main/vo-dml/proposalManagement.vo-dml.xml +++ b/src/main/vo-dml/proposalManagement.vo-dml.xml @@ -9,7 +9,7 @@ Proposal Management Paul Harrison 0.6 - 2024-10-29T12:22:58Z + 2024-11-18T20:47:38Z null IVOA-v1.0.vo-dml.xml @@ -683,18 +683,9 @@ SubmittedProposal SubmittedProposal an instance of a proposal that has been submitted - - SubmittedProposal.proposal - proposal - the proposal that was submitted - - proposal:ObservingProposal - - - 1 - 1 - - + + proposal:AbstractProposal + SubmittedProposal.config config @@ -751,7 +742,7 @@ proposalManagement:ProposalReview - 1 + 0 -1 diff --git a/src/main/vo-dml/proposaldm.vo-dml.xml b/src/main/vo-dml/proposaldm.vo-dml.xml index 3acd9a8..e830761 100644 --- a/src/main/vo-dml/proposaldm.vo-dml.xml +++ b/src/main/vo-dml/proposaldm.vo-dml.xml @@ -12,7 +12,7 @@ Proposal Paul Harrison 0.6 - 2024-11-01T15:05:39Z + 2024-11-19T14:08:21Z null IVOA-v1.0.vo-dml.xml @@ -196,12 +196,12 @@ - - ObservingProposal - ObservingProposal - a complete proposal + + AbstractProposal + AbstractProposal + base proposal - ObservingProposal.title + AbstractProposal.title title the proposal title @@ -213,7 +213,7 @@ - ObservingProposal.summary + AbstractProposal.summary summary a short summary/abstract of the proposal @@ -225,7 +225,7 @@ - ObservingProposal.scientificJustification + AbstractProposal.scientificJustification scientificJustification scientific justification @@ -237,7 +237,7 @@ - ObservingProposal.technicalJustification + AbstractProposal.technicalJustification technicalJustification technical justification @@ -249,7 +249,7 @@ - ObservingProposal.investigators + AbstractProposal.investigators investigators the person(s) making the proposal @@ -261,7 +261,7 @@ - ObservingProposal.kind + AbstractProposal.kind kind the type of proposal @@ -273,7 +273,7 @@ - ObservingProposal.relatedProposals + AbstractProposal.relatedProposals relatedProposals @@ -285,7 +285,7 @@ - ObservingProposal.supportingDocuments + AbstractProposal.supportingDocuments supportingDocuments any additional documents @@ -298,7 +298,7 @@ true - ObservingProposal.targets + AbstractProposal.targets targets the targets of the proposal @@ -310,7 +310,7 @@ - ObservingProposal.fields + AbstractProposal.fields fields the fields observed in the proposal @@ -322,7 +322,7 @@ - ObservingProposal.technicalGoals + AbstractProposal.technicalGoals technicalGoals the technical goals of the proposal @@ -335,7 +335,7 @@ true - ObservingProposal.observations + AbstractProposal.observations observations the proposed observations @@ -347,18 +347,14 @@ true - - ObservingProposal.submitted - submitted - whether the proposal is submitted - - ivoa:boolean - - - 0 - 1 - - + + + ObservingProposal + ObservingProposal + a complete proposal + + proposal:AbstractProposal + RelatedProposal @@ -369,7 +365,7 @@ proposal the related proposal - proposal:ObservingProposal + proposal:AbstractProposal 1 @@ -504,7 +500,7 @@ ivoid the registry identifier for the organization - ivoa:ivorn + ivoa:ivoid 0 diff --git a/src/main/vodsl/proposalManagement.vodsl b/src/main/vodsl/proposalManagement.vodsl index bf5b9e6..d47f13d 100644 --- a/src/main/vodsl/proposalManagement.vodsl +++ b/src/main/vodsl/proposalManagement.vodsl @@ -129,13 +129,13 @@ mode references ObservingMode "The observing mode"; //IMPL this is what allows the observation to be tied to multiple observatories. } - otype SubmittedProposal "an instance of a proposal that has been submitted" { - proposal references proposal:ObservingProposal "the proposal that was submitted"; //IMPL this is a reference - this is a slight hack as we really want a composition to "freeze" the original proposal - this messes with the original references in the proposal as then they become contained. + otype SubmittedProposal -> proposal:AbstractProposal "an instance of a proposal that has been submitted" { + // proposal references proposal:ObservingProposal "the proposal that was submitted"; //IMPL this is a reference - this is a slight hack as we really want a composition to "freeze" the original proposal - this messes with the original references in the proposal as then they become contained. config : ObservationConfiguration @* as composition ""; submissionDate : ivoa:datetime "the date that the proposal was submitted"; successful : ivoa:boolean "the proposal can go on to allocation"; reviewsCompleteDate : ivoa:datetime "the date when all the proposals are due"; - reviews : ProposalReview @+ as composition "the reviews"; + reviews : ProposalReview @* as composition "the reviews"; } diff --git a/src/main/vodsl/proposaldm.vodsl b/src/main/vodsl/proposaldm.vodsl index 08409a0..cd89f27 100644 --- a/src/main/vodsl/proposaldm.vodsl +++ b/src/main/vodsl/proposaldm.vodsl @@ -21,7 +21,7 @@ observations, although the intention is that information about targets etc. coul Survey "Part of a large programme" } - otype ObservingProposal "a complete proposal" + abstract otype AbstractProposal "base proposal" { ^title: ivoa:string "the proposal title" ; summary: ivoa:string "a short summary/abstract of the proposal" ; @@ -35,13 +35,18 @@ observations, although the intention is that information about targets etc. coul fields: Field @* as composition "the fields observed in the proposal"; technicalGoals: TechnicalGoal @+ as ordered composition "the technical goals of the proposal"; observations : Observation @+ as ordered composition "the proposed observations"; - submitted: ivoa:boolean @? "whether the proposal is submitted"; //note that submitted proposals are not expected to be editable.. made optional to allow for not setting for not submitted proposals + // submitted: ivoa:boolean @? "whether the proposal is submitted"; //note that submitted proposals are not expected to be editable.. made optional to allow for not setting for not submitted proposals } + otype ObservingProposal -> AbstractProposal "a complete proposal" { + + } + + otype RelatedProposal "a related proposal" // note that this is being done to follow the vodml aggregation pattern { - proposal references ObservingProposal "the related proposal" ; + proposal references AbstractProposal "the related proposal" ; //IMPL could also put information about the type of relationship } @@ -71,7 +76,7 @@ observations, although the intention is that information about targets etc. coul { name: ivoa:string "The name of the organization"; address : ivoa:string ""; - ivoid : ivoa:ivorn @? "the registry identifier for the organization"; // IMPL perhaps do this more + ivoid : ivoa:ivoid @? "the registry identifier for the organization"; // IMPL perhaps do this more wikiId : WikiDataId @? "the wikidata id for the Organization"; } diff --git a/src/test/java/org/ivoa/dm/proposal/prop/AbstractProposalTest.java b/src/test/java/org/ivoa/dm/proposal/prop/AbstractProposalTest.java index 8bed326..9fa5c08 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/AbstractProposalTest.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/AbstractProposalTest.java @@ -280,7 +280,10 @@ public static ObservingProposal cloneProposal(ObservingProposal p) private ProposalCycle doTacWork() { final ProposalCycle cycle = ex.getCycle(); ObservingProposal prop = ex.getProposal(); - SubmittedProposal sprop = ex.submitProposal(cloneProposal(prop)); + ProposalModel pm = new ProposalModel(); + pm.createContext(); + SubmittedProposal sprop = ex.submitProposal(prop); + sprop.updateClonedReferences(); ex.allocateProposal(sprop); return cycle; diff --git a/src/test/java/org/ivoa/dm/proposal/prop/BaseExample.java b/src/test/java/org/ivoa/dm/proposal/prop/BaseExample.java index e9dfec9..13007e5 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/BaseExample.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/BaseExample.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.function.Consumer; -import org.ivoa.dm.ivoa.Ivorn; +import org.ivoa.dm.ivoa.Ivoid; import org.ivoa.dm.ivoa.RealQuantity; import org.ivoa.dm.ivoa.StringIdentifier; import org.ivoa.dm.proposal.management.CommitteeMember; @@ -20,7 +20,6 @@ import org.ivoa.dm.proposal.management.TAC; import org.ivoa.dm.proposal.management.TacRole; import org.ivoa.dm.proposal.management.Telescope; -import org.ivoa.dm.stc.coords.CartesianCoordSpace; import org.ivoa.dm.stc.coords.SpaceFrame; import org.ivoa.dm.stc.coords.SpaceSys; import org.ivoa.dm.stc.coords.StdRefLocation; @@ -29,13 +28,13 @@ public abstract class BaseExample { /** SPACE_SYS. */ - - protected final SpaceSys GEO_SYS = new SpaceSys(new CartesianCoordSpace(),new SpaceFrame(new StdRefLocation("TOPOCENTER"), "ICRS", null, ""));//FIXME - this should really define the frame better - STC coords library should have some standard model instances... + //IMPL - removed the CartesianCoordSpace from the definitions below because you have to include the axis definitions which is a pain.... + protected final SpaceSys GEO_SYS = new SpaceSys().withFrame(new SpaceFrame(new StdRefLocation("TOPOCENTER"), "ICRS", null, ""));//FIXME - this should really define the frame better - STC coords library should have some standard model instances... - protected final SpaceSys ICRS_SYS = new SpaceSys(new CartesianCoordSpace(),new SpaceFrame(new StdRefLocation("TOPOCENTER"), "ICRS", null, ""));//FIXME - this should really define the frame better - STC coords library should have some standard model instances... + protected final SpaceSys ICRS_SYS = new SpaceSys().withFrame(new SpaceFrame(new StdRefLocation("TOPOCENTER"), "ICRS", null, ""));//FIXME - this should really define the frame better - STC coords library should have some standard model instances... protected final Organization[] institutes = { - new Organization("org", "org address",new Ivorn("ivo://org/anorg"), null),//TODO is null same as not setting? - new Organization("org2", "org2 address",new Ivorn("ivo://org/org2"), null) + new Organization("org", "org address",new Ivoid("ivo://org/anorg"), null),//TODO is null same as not setting? + new Organization("org2", "org2 address",new Ivoid("ivo://org/org2"), null) }; diff --git a/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExample.java b/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExample.java index d0101dc..978a191 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExample.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExample.java @@ -5,7 +5,7 @@ import org.ivoa.dm.proposal.management.*; import org.ivoa.dm.stc.coords.PolStateEnum; -import org.ivoa.dm.ivoa.Ivorn; +import org.ivoa.dm.ivoa.Ivoid; import org.ivoa.dm.ivoa.RealQuantity; import java.util.*; @@ -69,7 +69,7 @@ public EmerlinExample () { Stream.of(telescopes).filter(t -> !notK.contains(t.getName())).map(t -> new TelescopeArrayMember(t)).collect(Collectors.toList())); observatory = createObservatory(obs -> { obs.address = "on earth"; - obs.ivoid = new Ivorn("ivo://obs/anobs"); + obs.ivoid = new Ivoid("ivo://obs/anobs"); obs.name = "Jodrell Bank"; obs.homePage = "https://www.e-merlin.ac.uk"; obs.telescopes = Arrays.asList(telescopes); @@ -120,11 +120,11 @@ public EmerlinExample () { public SubmittedProposal submitProposal(ObservingProposal frozenProposal) { // "submit" proposal - frozenProposal.setSubmitted(true); List obsConfigs = makeList( new ObservationConfiguration(frozenProposal.getObservations(),obsModes[0]) ); + final SubmittedProposal submittedProposal = new SubmittedProposal( frozenProposal, obsConfigs,new GregorianCalendar(2022, 3, 14).getTime(), false, new GregorianCalendar(2022, 4, 30).getTime(), null ); cycle.setSubmittedProposals( makeList(submittedProposal)); 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 a876c1e..95d52b0 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/EmerlinExampleTest.java @@ -28,6 +28,7 @@ import org.ivoa.dm.proposal.management.TAC; import org.ivoa.dm.stc.coords.SpaceSys; +import jakarta.persistence.Query; import jakarta.persistence.TypedQuery; @@ -173,26 +174,57 @@ public void testJacksonOjectIds( ) throws JsonProcessingException { TAC ntac2 = ProposalModel.jsonMapper().readValue(njn, TAC.class); } - - @org.junit.jupiter.api.Test + + @org.junit.jupiter.api.Test public void testDbQuery() throws JsonProcessingException { - - jakarta.persistence.EntityManager em = setupH2Db(ProposalModel.pu_name()); - em.getTransaction().begin(); - - final ProposalCycle cycle = ex.getCycle(); - cycle.persistRefs(em); - em.persist(cycle); - em.getTransaction().commit(); - - TypedQuery q = em.createQuery("SELECT o FROM TAC o", TAC.class); - TAC tac = q.getSingleResult(); - System.out.println(tac.getMembers().get(0).getId()); - String json = ProposalManagementModel.jsonMapper().writeValueAsString(tac); - System.out.println(json); + + jakarta.persistence.EntityManager em = setupH2Db(ProposalModel.pu_name()); + em.getTransaction().begin(); + + final ProposalCycle cycle = ex.getCycle(); + cycle.persistRefs(em); + em.persist(cycle); + em.getTransaction().commit(); + + TypedQuery q = em.createQuery("SELECT o FROM TAC o", TAC.class); + TAC tac = q.getSingleResult(); + System.out.println(tac.getMembers().get(0).getId()); + String json = ProposalManagementModel.jsonMapper().writeValueAsString(tac); + System.out.println(json); } - + @org.junit.jupiter.api.Test + public void testDbDelete() throws JsonProcessingException { + + jakarta.persistence.EntityManager em = setupH2Db(ProposalModel.pu_name()); + em.getTransaction().begin(); + + final ProposalCycle cycle = ex.getCycle(); + ObservingProposal prop = ex.getProposal(); + prop.persistRefs(em); + cycle.persistRefs(em); + em.persist(cycle); + em.persist(prop); + em.getTransaction().commit(); + + TypedQuery q = em.createQuery("SELECT o FROM TAC o", TAC.class); + TAC tac = q.getSingleResult(); + System.out.println(tac.getMembers().get(0).getId()); + String json = ProposalManagementModel.jsonMapper().writeValueAsString(tac); + System.out.println(json); + + + + TypedQuery qp = em.createQuery("select o from ObservingProposal o", ObservingProposal.class); + ObservingProposal propIn = qp.getSingleResult(); + propIn.forceLoad(); + em.getTransaction().begin(); + + propIn.delete(em); + em.getTransaction().commit(); + + } + @org.junit.jupiter.api.Test public void testListupdate() { jakarta.persistence.EntityManager em = setupH2Db(ProposalModel.pu_name()); diff --git a/src/test/java/org/ivoa/dm/proposal/prop/FullExample.java b/src/test/java/org/ivoa/dm/proposal/prop/FullExample.java index 316bc3f..89e5832 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/FullExample.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/FullExample.java @@ -40,11 +40,12 @@ public FullExample() { proposal = new ExampleProposal().getProposal(); for(TACFunctions obs : observatories) { ObservingProposal clonedProposal = AbstractProposalTest.cloneProposal(proposal); - clonedProposal.setSubmitted(true); + ProposalManagementModel m = new ProposalManagementModel(); + m.createContext(); SubmittedProposal submittedProposal = obs.submitProposal(clonedProposal); + submittedProposal.updateClonedReferences(); obs.allocateProposal(submittedProposal); model.addContent(obs.getCycle()); - model.addReference(proposal); // add back the 'original' proposal } } @@ -56,7 +57,8 @@ public FullExample() { public void saveTodB(EntityManager em) { model.management().persistRefs(em); em.flush(); - for(Class cc:model.descriptor().contentClasses()) + em.persist(proposal); + for(Class cc:model.management().description().contentClasses()) { for(Object c:model.getContent(cc)) { diff --git a/src/test/java/org/ivoa/dm/proposal/prop/FullExampleTest.java b/src/test/java/org/ivoa/dm/proposal/prop/FullExampleTest.java index ea8dd4e..b701d0e 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/FullExampleTest.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/FullExampleTest.java @@ -15,12 +15,15 @@ import org.ivoa.dm.proposal.management.ProposalCycle; import org.ivoa.dm.proposal.management.ProposalManagementModel; +import org.ivoa.dm.proposal.management.SubmittedProposal; import org.ivoa.vodml.testing.AutoDBRoundTripTest; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import jakarta.persistence.TypedQuery; + /** * Test the FullExample . * @author Paul Harrison (paul.harrison@manchester.ac.uk) @@ -86,9 +89,9 @@ public ProposalManagementModel createModel() { */ @Override public void testModel(ProposalManagementModel m) { - List props = m.getContent(ObservingProposal.class); + List props = m.getContent(ProposalCycle.class); assertTrue(props.size() > 0); - assertTrue(props.stream().filter(p -> p.submitted ==null?true:!p.submitted).count()> 0, "at least one unsubmitted proposal"); + assertTrue(props.stream().filter(p -> !p.getSubmittedProposals().isEmpty()).count()> 0, "at least one submitted proposal"); } @@ -103,6 +106,18 @@ public void testDBSave() { example.saveTodB(em); em.getTransaction().commit(); dumpDbData(em, "fullexample.sql"); + TypedQuery qp = em.createQuery("SELECT o FROM ObservingProposal o ", ObservingProposal.class); + List proposals = qp.getResultList(); + assertEquals(1,proposals.size(), "number of unsubmitted proposals"); + TypedQuery qs = em.createQuery("SELECT o FROM SubmittedProposal o ", SubmittedProposal.class); + List submittedProposals = qs.getResultList(); + assertEquals(2, submittedProposals.size(), "number of submitted proposals"); + TypedQuery qsrc = em.createQuery("SELECT o FROM Target o",Target.class); + List targets = qsrc.getResultList(); + assertEquals(3, targets.size(), "number of targets"); + + + } } diff --git a/src/test/java/org/ivoa/dm/proposal/prop/LCOExample.java b/src/test/java/org/ivoa/dm/proposal/prop/LCOExample.java index aca3a46..691d48f 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/LCOExample.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/LCOExample.java @@ -10,7 +10,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import org.ivoa.dm.ivoa.Ivorn; +import org.ivoa.dm.ivoa.Ivoid; import org.ivoa.dm.proposal.management.AllocatedProposal; import org.ivoa.dm.proposal.management.AllocationGrade; import org.ivoa.dm.proposal.management.AvailableResources; @@ -50,7 +50,7 @@ public LCOExample() { observatory = createObservatory(obs -> { obs.address = "on earth"; - obs.ivoid = new Ivorn("ivo://obs/anobs"); + obs.ivoid = new Ivoid("ivo://obs/anobs"); obs.name = "Las Cumbres Observatory"; obs.telescopes = Arrays.asList(telescopes); diff --git a/src/test/java/org/ivoa/dm/proposal/prop/NOTexample.java b/src/test/java/org/ivoa/dm/proposal/prop/NOTexample.java index 3dea25c..61d1cf5 100644 --- a/src/test/java/org/ivoa/dm/proposal/prop/NOTexample.java +++ b/src/test/java/org/ivoa/dm/proposal/prop/NOTexample.java @@ -17,7 +17,7 @@ import java.util.GregorianCalendar; import java.util.List; -import org.ivoa.dm.ivoa.Ivorn; +import org.ivoa.dm.ivoa.Ivoid; import org.ivoa.dm.ivoa.RealQuantity; import org.ivoa.dm.proposal.management.AllocatedBlock; import org.ivoa.dm.proposal.management.AllocatedProposal; @@ -45,11 +45,7 @@ */ public class NOTexample extends BaseObservatoryExample implements TACFunctions { - - - private static final double c = 299792458.0; - - + private static final double c = 299792458.0; /** * @param centwl in nm * @param fwhm in nm @@ -119,7 +115,7 @@ public NOTexample() { observatory = createObservatory(obs -> { obs.address = "on earth"; - obs.ivoid = new Ivorn("ivo://obs/anobs"); + obs.ivoid = new Ivoid("ivo://obs/anobs"); obs.homePage="https://www.not.iac.es"; obs.name = "Nordic Optical Telescope"; obs.telescopes = Arrays.asList(telescopes); @@ -177,7 +173,6 @@ private ObservingMode makeObsMode(String name, Instrument i, Filter f){ */ @Override public SubmittedProposal submitProposal(ObservingProposal frozenProposal) { - frozenProposal.setSubmitted(true); List obsConfigs = makeList( new ObservationConfiguration(frozenProposal.getObservations(),obsModes[0]) ); diff --git a/std/ivoatex b/std/ivoatex index 4600b84..8f1c8d6 160000 --- a/std/ivoatex +++ b/std/ivoatex @@ -1 +1 @@ -Subproject commit 4600b84c811b53a6ee5645723824f75102d2190c +Subproject commit 8f1c8d6797c8514e705fd82b106fe8c5f2a55f63