Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/Datacage.java @ 6661:05395533fe82
fix issue1415: Update state of artifact when storing artifact.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 25 Jul 2013 12:06:09 +0200 |
parents | af13ceeba52a |
children | 7b2b81974018 |
comparison
equal
deleted
inserted
replaced
6660:8a1afe974fb0 | 6661:05395533fe82 |
---|---|
68 "collection.item.id.nextval"; | 68 "collection.item.id.nextval"; |
69 private String SQL_INSERT_COLLECTION_ITEM = "insert.collection.item"; | 69 private String SQL_INSERT_COLLECTION_ITEM = "insert.collection.item"; |
70 private String SQL_ARTIFACT_ID_NEXTVAL = "artifact.id.nextval"; | 70 private String SQL_ARTIFACT_ID_NEXTVAL = "artifact.id.nextval"; |
71 private String SQL_INSERT_ARTIFACT = "insert.artifact"; | 71 private String SQL_INSERT_ARTIFACT = "insert.artifact"; |
72 private String SQL_ARTIFACT_DATA_ID_NEXTVAL = "artifact.data.id.nextval"; | 72 private String SQL_ARTIFACT_DATA_ID_NEXTVAL = "artifact.data.id.nextval"; |
73 private String SQL_UPDATE_ARTIFACT_STATE = "update.artifact.state"; | |
73 private String SQL_INSERT_ARTIFACT_DATA = "insert.artifact.data"; | 74 private String SQL_INSERT_ARTIFACT_DATA = "insert.artifact.data"; |
74 private String SQL_OUT_ID_NEXTVALUE = "out.id.nextval"; | 75 private String SQL_OUT_ID_NEXTVALUE = "out.id.nextval"; |
75 private String SQL_INSERT_OUT = "insert.out"; | 76 private String SQL_INSERT_OUT = "insert.out"; |
76 private String SQL_FACET_ID_NEXTVAL = "facet.id.nextval"; | 77 private String SQL_FACET_ID_NEXTVAL = "facet.id.nextval"; |
77 private String SQL_INSERT_FACET = "insert.facet"; | 78 private String SQL_INSERT_FACET = "insert.facet"; |
380 sql.get(SQL_INSERT_COLLECTION_ITEM); | 381 sql.get(SQL_INSERT_COLLECTION_ITEM); |
381 SQL_ARTIFACT_ID_NEXTVAL = sql.get(SQL_ARTIFACT_ID_NEXTVAL); | 382 SQL_ARTIFACT_ID_NEXTVAL = sql.get(SQL_ARTIFACT_ID_NEXTVAL); |
382 SQL_INSERT_ARTIFACT = sql.get(SQL_INSERT_ARTIFACT); | 383 SQL_INSERT_ARTIFACT = sql.get(SQL_INSERT_ARTIFACT); |
383 SQL_ARTIFACT_DATA_ID_NEXTVAL = sql.get(SQL_ARTIFACT_DATA_ID_NEXTVAL); | 384 SQL_ARTIFACT_DATA_ID_NEXTVAL = sql.get(SQL_ARTIFACT_DATA_ID_NEXTVAL); |
384 SQL_INSERT_ARTIFACT_DATA = sql.get(SQL_INSERT_ARTIFACT_DATA); | 385 SQL_INSERT_ARTIFACT_DATA = sql.get(SQL_INSERT_ARTIFACT_DATA); |
386 SQL_UPDATE_ARTIFACT_STATE = sql.get(SQL_UPDATE_ARTIFACT_STATE); | |
385 SQL_OUT_ID_NEXTVALUE = sql.get(SQL_OUT_ID_NEXTVALUE); | 387 SQL_OUT_ID_NEXTVALUE = sql.get(SQL_OUT_ID_NEXTVALUE); |
386 SQL_INSERT_OUT = sql.get(SQL_INSERT_OUT); | 388 SQL_INSERT_OUT = sql.get(SQL_INSERT_OUT); |
387 SQL_FACET_ID_NEXTVAL = sql.get(SQL_FACET_ID_NEXTVAL); | 389 SQL_FACET_ID_NEXTVAL = sql.get(SQL_FACET_ID_NEXTVAL); |
388 SQL_INSERT_FACET = sql.get(SQL_INSERT_FACET); | 390 SQL_INSERT_FACET = sql.get(SQL_INSERT_FACET); |
389 SQL_UPDATE_COLLECTION_NAME = sql.get(SQL_UPDATE_COLLECTION_NAME); | 391 SQL_UPDATE_COLLECTION_NAME = sql.get(SQL_UPDATE_COLLECTION_NAME); |
606 } | 608 } |
607 | 609 |
608 // write new data | 610 // write new data |
609 storeData(res[0], flys); | 611 storeData(res[0], flys); |
610 storeOuts(res[0], flys, context); | 612 storeOuts(res[0], flys, context); |
613 storeState(res[0], flys); | |
611 } | 614 } |
612 | 615 |
613 public void createdUser( | 616 public void createdUser( |
614 final User user, | 617 final User user, |
615 Backend backend, | 618 Backend backend, |
882 if (!exec.runWrite()) { | 885 if (!exec.runWrite()) { |
883 log.error("changing name failed"); | 886 log.error("changing name failed"); |
884 } | 887 } |
885 } | 888 } |
886 | 889 |
890 /** Update state of artifact. */ | |
891 protected void storeState( | |
892 final int artifactId, | |
893 final D4EArtifact artifact) { | |
894 SQLExecutor.Instance exec = sqlExecutor.new Instance() { | |
895 @Override | |
896 public boolean doIt() throws SQLException { | |
897 prepareStatement(SQL_UPDATE_ARTIFACT_STATE); | |
898 stmnt.setInt(1, artifactId); | |
899 stmnt.setString(2, artifact.getCurrentStateId()); | |
900 stmnt.execute(); | |
901 conn.commit(); | |
902 return true; | |
903 } | |
904 }; | |
905 | |
906 if (!exec.runWrite()) { | |
907 log.error("storing state of artifact failed ("+artifactId+","+artifact.getCurrentStateId()+")"); | |
908 } | |
909 } | |
910 | |
887 protected void storeData( | 911 protected void storeData( |
888 final int artifactId, | 912 final int artifactId, |
889 D4EArtifact artifact | 913 D4EArtifact artifact |
890 ) { | 914 ) { |
891 final Collection<StateData> data = artifact.getAllData(); | 915 final Collection<StateData> data = artifact.getAllData(); |