Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/importer/common/AbstractSeriesImport.java @ 9650:a2a42a6bac6b
Importer (s/u-info) extensions:
outer try/catch for parse and log of line no,
catching parsing exception if not enough value fields,
parsing error and warning log messages with line number,
detecting and rejecting duplicate data series,
better differentiation between error and warning log messages
author | mschaefer |
---|---|
date | Mon, 23 Mar 2020 14:57:03 +0100 |
parents | 4c5eeaff554c |
children |
comparison
equal
deleted
inserted
replaced
9649:295b3cb5ebc8 | 9650:a2a42a6bac6b |
---|---|
97 | 97 |
98 public int getValueCount() { | 98 public int getValueCount() { |
99 return this.values.size(); | 99 return this.values.size(); |
100 } | 100 } |
101 | 101 |
102 public void addValue(final KMLINE value) { | 102 public boolean addValue(final KMLINE value) { |
103 this.values.add(value); | 103 this.values.add(value); |
104 return true; | |
104 } | 105 } |
105 | 106 |
106 public int getValueStoreCount(final StoreMode mode) { | 107 public int getValueStoreCount(final StoreMode mode) { |
107 return this.valueStoreCount.get(mode).intValue(); | 108 return this.valueStoreCount.get(mode).intValue(); |
108 } | 109 } |
142 */ | 143 */ |
143 protected SERIES getPeer(final River river) { | 144 protected SERIES getPeer(final River river) { |
144 if (this.peer != null) | 145 if (this.peer != null) |
145 return this.peer; | 146 return this.peer; |
146 final Session session = ImporterSession.getInstance().getDatabaseSession(); | 147 final Session session = ImporterSession.getInstance().getDatabaseSession(); |
147 final List<SERIES> rows = querySeriesItem(session, river); | 148 final List<SERIES> rows = querySeriesItem(session, river, false); |
148 if (rows.isEmpty()) { | 149 if (rows.isEmpty()) { |
149 getLog().info("Create new database instance"); | 150 getLog().info("Create new database instance"); |
150 this.peer = createSeriesItem(river); | 151 this.peer = createSeriesItem(river); |
151 session.save(this.peer); | 152 session.save(this.peer); |
152 this.storeMode = StoreMode.INSERT; | 153 this.storeMode = StoreMode.INSERT; |
156 } | 157 } |
157 return this.peer; | 158 return this.peer; |
158 } | 159 } |
159 | 160 |
160 /** | 161 /** |
161 * Queries the series item(s) from the database | 162 * Queries the series item(s) from the database<br> |
163 * if specified and necessary, the parent is also queried by properties instead of using its getPeer method | |
162 */ | 164 */ |
163 public abstract List<SERIES> querySeriesItem(final Session session, final River river); | 165 public abstract List<SERIES> querySeriesItem(final Session session, final River river, final boolean doQueryParent); |
164 | 166 |
165 /** | 167 /** |
166 * Creates a new value item | 168 * Creates a new value item |
167 */ | 169 */ |
168 public abstract SERIES createSeriesItem(final River river); | 170 public abstract SERIES createSeriesItem(final River river); |