Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java @ 989:f3be883325ce
Add artifacts into datacage db at initial scan.
flys-artifacts/trunk@2421 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 29 Jul 2011 07:56:28 +0000 |
parents | dbe39e1fb5e7 |
children | e573c4715d81 |
comparison
equal
deleted
inserted
replaced
988:dbe39e1fb5e7 | 989:f3be883325ce |
---|---|
38 private String SQL_INSERT_COLLECTION = "insert.collection"; | 38 private String SQL_INSERT_COLLECTION = "insert.collection"; |
39 private String SQL_ARTIFACT_BY_GID = "artifact.by.gid"; | 39 private String SQL_ARTIFACT_BY_GID = "artifact.by.gid"; |
40 private String SQL_COLLECTION_ITEM_ID_NEXTVAL = | 40 private String SQL_COLLECTION_ITEM_ID_NEXTVAL = |
41 "collection.item.id.nextval"; | 41 "collection.item.id.nextval"; |
42 private String SQL_INSERT_COLLECTION_ITEM = "insert.collection.item"; | 42 private String SQL_INSERT_COLLECTION_ITEM = "insert.collection.item"; |
43 private String SQL_ARTIFACT_ID_NEXTVAL = "artifact.id.nextval"; | |
44 private String SQL_INSERT_ARTIFACT = "insert.artifact"; | |
43 | 45 |
44 | 46 |
45 protected SQLExecutor sqlExecutor; | 47 protected SQLExecutor sqlExecutor; |
46 | 48 |
47 public class InitialScan | 49 public class InitialScan |
111 | 113 |
112 return null; | 114 return null; |
113 } | 115 } |
114 | 116 |
115 protected void storeArtifact( | 117 protected void storeArtifact( |
116 String artifactId, | 118 final String artifactId, |
117 Integer collectionId, | 119 Integer collectionId, |
118 FLYSArtifact artifact | 120 final FLYSArtifact artifact |
119 ) { | 121 ) { |
120 Integer aId = getId(artifacts, artifactId, SQL_ARTIFACT_BY_GID); | 122 Integer aId = getId(artifacts, artifactId, SQL_ARTIFACT_BY_GID); |
121 | 123 |
122 if (aId != null) { | 124 if (aId != null) { |
123 // We've already stored it. Just create the collection item. | 125 // We've already stored it. Just create the collection item. |
124 storeCollectionItem(collectionId, aId); | 126 storeCollectionItem(collectionId, aId); |
125 return; | 127 return; |
126 } | 128 } |
127 // We need to write it to database | 129 // We need to write it to database |
130 | |
131 final Integer [] res = new Integer[1]; | |
132 | |
133 SQLExecutor.Instance exec = sqlExecutor.new Instance() { | |
134 @Override | |
135 public boolean doIt() throws SQLException { | |
136 prepareStatement(SQL_ARTIFACT_ID_NEXTVAL); | |
137 result = stmnt.executeQuery(); | |
138 if (!result.next()) { | |
139 return false; | |
140 } | |
141 res[0] = result.getInt(1); | |
142 reset(); | |
143 prepareStatement(SQL_INSERT_ARTIFACT); | |
144 stmnt.setInt (1, res[0]); | |
145 stmnt.setString(2, artifactId); | |
146 stmnt.setString(3, artifact.getCurrentStateId()); | |
147 stmnt.execute(); | |
148 return true; | |
149 } | |
150 }; | |
151 | |
152 if (!exec.runWrite()) { | |
153 log.error("storing of artifact failed."); | |
154 return; | |
155 } | |
156 | |
157 artifacts.put(artifactId, aId = res[0]); | |
158 | |
159 storeCollectionItem(collectionId, aId); | |
160 | |
161 // store data, outs and facets | |
128 // TODO: Implement me! | 162 // TODO: Implement me! |
129 } | 163 } |
130 | 164 |
131 protected void storeCollectionItem( | 165 protected void storeCollectionItem( |
132 final Integer collectionId, | 166 final Integer collectionId, |
268 SQL_ARTIFACT_BY_GID = sql.get(SQL_ARTIFACT_BY_GID); | 302 SQL_ARTIFACT_BY_GID = sql.get(SQL_ARTIFACT_BY_GID); |
269 SQL_COLLECTION_ITEM_ID_NEXTVAL = | 303 SQL_COLLECTION_ITEM_ID_NEXTVAL = |
270 sql.get(SQL_COLLECTION_ITEM_ID_NEXTVAL); | 304 sql.get(SQL_COLLECTION_ITEM_ID_NEXTVAL); |
271 SQL_INSERT_COLLECTION_ITEM = | 305 SQL_INSERT_COLLECTION_ITEM = |
272 sql.get(SQL_INSERT_COLLECTION_ITEM); | 306 sql.get(SQL_INSERT_COLLECTION_ITEM); |
307 SQL_ARTIFACT_ID_NEXTVAL = sql.get(SQL_ARTIFACT_ID_NEXTVAL); | |
308 SQL_INSERT_ARTIFACT = sql.get(SQL_INSERT_ARTIFACT); | |
273 } | 309 } |
274 | 310 |
275 @Override | 311 @Override |
276 public void systemUp(GlobalContext context) { | 312 public void systemUp(GlobalContext context) { |
277 log.debug("systemUp"); | 313 log.debug("systemUp"); |