001// -------------------------------------------------------------------------------- 002// Copyright 2002-2025 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016// Generated File -- DO NOT EDIT BY HAND 017// -------------------------------------------------------------------------------- 018 019/** 020 * UnitOfMeasureEquivalentFactory.java 021 */ 022 023package com.echothree.model.data.uom.server.factory; 024 025import com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK; 026 027import com.echothree.model.data.uom.server.entity.UnitOfMeasureType; 028 029import com.echothree.model.data.uom.common.UnitOfMeasureEquivalentConstants; 030import com.echothree.model.data.uom.common.pk.UnitOfMeasureEquivalentPK; 031import com.echothree.model.data.uom.server.value.UnitOfMeasureEquivalentValue; 032import com.echothree.model.data.uom.server.entity.UnitOfMeasureEquivalent; 033import com.echothree.util.common.exception.PersistenceDatabaseException; 034import com.echothree.util.common.exception.PersistenceDatabaseUpdateException; 035import com.echothree.util.common.exception.PersistenceNotNullException; 036import com.echothree.util.server.persistence.BaseFactory; 037import com.echothree.util.server.persistence.EntityIdGenerator; 038import com.echothree.util.server.persistence.EntityPermission; 039import com.echothree.util.server.persistence.PersistenceDebugFlags; 040import com.echothree.util.server.persistence.Session; 041import com.echothree.util.server.persistence.ThreadSession; 042import java.sql.PreparedStatement; 043import java.sql.ResultSet; 044import java.sql.SQLException; 045import java.sql.Types; 046import java.io.ByteArrayInputStream; 047import java.io.StringReader; 048import java.util.ArrayList; 049import java.util.Collection; 050import java.util.HashSet; 051import java.util.List; 052import java.util.Map; 053import java.util.Set; 054import javax.enterprise.context.ApplicationScoped; 055import javax.enterprise.inject.spi.CDI; 056import org.apache.commons.logging.Log; 057import org.apache.commons.logging.LogFactory; 058 059@ApplicationScoped 060public class UnitOfMeasureEquivalentFactory 061 implements BaseFactory<UnitOfMeasureEquivalentPK, UnitOfMeasureEquivalent> { 062 063 //final private static Log log = LogFactory.getLog(UnitOfMeasureEquivalentFactory.class); 064 065 final private static String SQL_SELECT_READ_ONLY = "SELECT uomeq_unitofmeasureequivalentid, uomeq_fromunitofmeasuretypeid, uomeq_tounitofmeasuretypeid, uomeq_toquantity, uomeq_fromtime, uomeq_thrutime FROM unitofmeasureequivalents WHERE uomeq_unitofmeasureequivalentid = ?"; 066 final private static String SQL_SELECT_READ_WRITE = "SELECT uomeq_unitofmeasureequivalentid, uomeq_fromunitofmeasuretypeid, uomeq_tounitofmeasuretypeid, uomeq_toquantity, uomeq_fromtime, uomeq_thrutime FROM unitofmeasureequivalents WHERE uomeq_unitofmeasureequivalentid = ? FOR UPDATE"; 067 final private static String SQL_INSERT = "INSERT INTO unitofmeasureequivalents (uomeq_unitofmeasureequivalentid, uomeq_fromunitofmeasuretypeid, uomeq_tounitofmeasuretypeid, uomeq_toquantity, uomeq_fromtime, uomeq_thrutime) VALUES (?, ?, ?, ?, ?, ?)"; 068 final private static String SQL_UPDATE = "UPDATE unitofmeasureequivalents SET uomeq_fromunitofmeasuretypeid = ?, uomeq_tounitofmeasuretypeid = ?, uomeq_toquantity = ?, uomeq_fromtime = ?, uomeq_thrutime = ? WHERE uomeq_unitofmeasureequivalentid = ?"; 069 final private static String SQL_DELETE = "DELETE FROM unitofmeasureequivalents WHERE uomeq_unitofmeasureequivalentid = ?"; 070 final private static String SQL_VALID = "SELECT COUNT(*) FROM unitofmeasureequivalents WHERE uomeq_unitofmeasureequivalentid = ?"; 071 072 final private static String PK_COLUMN = "uomeq_unitofmeasureequivalentid"; 073 final private static String ALL_COLUMNS = "uomeq_unitofmeasureequivalentid, uomeq_fromunitofmeasuretypeid, uomeq_tounitofmeasuretypeid, uomeq_toquantity, uomeq_fromtime, uomeq_thrutime"; 074 final public static String TABLE_NAME = "unitofmeasureequivalents"; 075 076 final public static String UOMEQ_UNITOFMEASUREEQUIVALENTID = "uomeq_unitofmeasureequivalentid"; 077 final public static String UOMEQ_FROMUNITOFMEASURETYPEID = "uomeq_fromunitofmeasuretypeid"; 078 final public static String UOMEQ_TOUNITOFMEASURETYPEID = "uomeq_tounitofmeasuretypeid"; 079 final public static String UOMEQ_TOQUANTITY = "uomeq_toquantity"; 080 final public static String UOMEQ_FROMTIME = "uomeq_fromtime"; 081 final public static String UOMEQ_THRUTIME = "uomeq_thrutime"; 082 083 final private static EntityIdGenerator entityIdGenerator = new EntityIdGenerator(UnitOfMeasureEquivalentConstants.COMPONENT_VENDOR_NAME, UnitOfMeasureEquivalentConstants.ENTITY_TYPE_NAME); 084 085 /** Creates a new instance of UnitOfMeasureEquivalentFactory */ 086 protected UnitOfMeasureEquivalentFactory() { 087 super(); 088 } 089 090 public static UnitOfMeasureEquivalentFactory getInstance() { 091 return CDI.current().select(UnitOfMeasureEquivalentFactory.class).get(); 092 } 093 094 @Override 095 public String getPKColumn() { 096 return PK_COLUMN; 097 } 098 099 @Override 100 public String getAllColumns() { 101 return ALL_COLUMNS; 102 } 103 104 @Override 105 public String getTableName() { 106 return TABLE_NAME; 107 } 108 109 @Override 110 public String getComponentVendorName() { 111 return UnitOfMeasureEquivalentConstants.COMPONENT_VENDOR_NAME; 112 } 113 114 @Override 115 public String getEntityTypeName() { 116 return UnitOfMeasureEquivalentConstants.ENTITY_TYPE_NAME; 117 } 118 119 public PreparedStatement prepareStatement(String query) { 120 return ThreadSession.currentSession().prepareStatement(UnitOfMeasureEquivalentFactory.class, query); 121 } 122 123 public UnitOfMeasureEquivalentPK getNextPK() { 124 return new UnitOfMeasureEquivalentPK(entityIdGenerator.getNextEntityId()); 125 } 126 127 public Set<UnitOfMeasureEquivalentPK> getPKsFromResultSetAsSet(ResultSet rs) 128 throws PersistenceDatabaseException { 129 Set<UnitOfMeasureEquivalentPK> _result = new HashSet<>(); 130 131 try { 132 while(rs.next()) { 133 _result.add(getPKFromResultSet(rs)); 134 } 135 } catch (SQLException se) { 136 throw new PersistenceDatabaseException(se); 137 } 138 139 return _result; 140 } 141 142 public java.util.List<UnitOfMeasureEquivalentPK> getPKsFromResultSetAsList(ResultSet rs) 143 throws PersistenceDatabaseException { 144 java.util.List<UnitOfMeasureEquivalentPK> _result = new ArrayList<>(); 145 146 try { 147 while(rs.next()) { 148 _result.add(getPKFromResultSet(rs)); 149 } 150 } catch (SQLException se) { 151 throw new PersistenceDatabaseException(se); 152 } 153 154 return _result; 155 } 156 157 public UnitOfMeasureEquivalentPK getPKFromResultSet(ResultSet rs) 158 throws PersistenceDatabaseException { 159 UnitOfMeasureEquivalentPK _result; 160 161 try { 162 long uomeq_unitofmeasureequivalentid = rs.getLong(UOMEQ_UNITOFMEASUREEQUIVALENTID); 163 Long _entityId = rs.wasNull() ? null : uomeq_unitofmeasureequivalentid; 164 165 _result = new UnitOfMeasureEquivalentPK(_entityId); 166 } catch (SQLException se) { 167 throw new PersistenceDatabaseException(se); 168 } 169 170 return _result; 171 } 172 173 public java.util.List<UnitOfMeasureEquivalentValue> getValuesFromPKs(Session session, Collection<UnitOfMeasureEquivalentPK> pks) 174 throws PersistenceDatabaseException { 175 java.util.List<UnitOfMeasureEquivalentValue> _values = new ArrayList<>(pks.size()); 176 177 for(UnitOfMeasureEquivalentPK _pk: pks) { 178 _values.add(getValueFromPK(session, _pk)); 179 } 180 181 return _values; 182 } 183 184 public UnitOfMeasureEquivalentValue getValueFromPK(Session session, UnitOfMeasureEquivalentPK pk) 185 throws PersistenceDatabaseException { 186 UnitOfMeasureEquivalentValue _value; 187 188 // See if we already have the entity in the session cache 189 UnitOfMeasureEquivalent _entity = (UnitOfMeasureEquivalent)session.getEntity(pk); 190 if(_entity == null) 191 _value = getEntityFromPK(session, EntityPermission.READ_ONLY, pk).getUnitOfMeasureEquivalentValue(); 192 else 193 _value = _entity.getUnitOfMeasureEquivalentValue(); 194 195 return _value; 196 } 197 198 public java.util.List<UnitOfMeasureEquivalentValue> getValuesFromResultSet(Session session, ResultSet rs) 199 throws PersistenceDatabaseException { 200 java.util.List<UnitOfMeasureEquivalentValue> _result = new ArrayList<>(); 201 202 try { 203 while(rs.next()) { 204 _result.add(getValueFromResultSet(session, rs)); 205 } 206 } catch (SQLException se) { 207 throw new PersistenceDatabaseException(se); 208 } 209 210 return _result; 211 } 212 213 public UnitOfMeasureEquivalentValue getValueFromResultSet(Session session, ResultSet rs) 214 throws PersistenceDatabaseException { 215 UnitOfMeasureEquivalentValue _value; 216 217 try { 218 Long uomeq_unitofmeasureequivalentid = rs.getLong(UOMEQ_UNITOFMEASUREEQUIVALENTID); 219 UnitOfMeasureEquivalentPK _pk = new UnitOfMeasureEquivalentPK(uomeq_unitofmeasureequivalentid); 220 221 // See if we already have the entity in the session cache 222 UnitOfMeasureEquivalent _entity = (UnitOfMeasureEquivalent)session.getEntity(_pk); 223 224 if(_entity == null) { 225 Long uomeq_fromunitofmeasuretypeid = rs.getLong(UOMEQ_FROMUNITOFMEASURETYPEID); 226 if(rs.wasNull()) 227 uomeq_fromunitofmeasuretypeid = null; 228 229 Long uomeq_tounitofmeasuretypeid = rs.getLong(UOMEQ_TOUNITOFMEASURETYPEID); 230 if(rs.wasNull()) 231 uomeq_tounitofmeasuretypeid = null; 232 233 Long uomeq_toquantity = rs.getLong(UOMEQ_TOQUANTITY); 234 if(rs.wasNull()) 235 uomeq_toquantity = null; 236 237 Long uomeq_fromtime = rs.getLong(UOMEQ_FROMTIME); 238 if(rs.wasNull()) 239 uomeq_fromtime = null; 240 241 Long uomeq_thrutime = rs.getLong(UOMEQ_THRUTIME); 242 if(rs.wasNull()) 243 uomeq_thrutime = null; 244 245 _value = new UnitOfMeasureEquivalentValue(_pk, new UnitOfMeasureTypePK(uomeq_fromunitofmeasuretypeid), new UnitOfMeasureTypePK(uomeq_tounitofmeasuretypeid), uomeq_toquantity, uomeq_fromtime, uomeq_thrutime); 246 } else 247 _value = _entity.getUnitOfMeasureEquivalentValue(); 248 } catch (SQLException se) { 249 throw new PersistenceDatabaseException(se); 250 } 251 252 return _value; 253 } 254 255 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromPKs(EntityPermission entityPermission, Collection<UnitOfMeasureEquivalentPK> pks) 256 throws PersistenceDatabaseException { 257 return getEntitiesFromPKs(ThreadSession.currentSession(), entityPermission, pks); 258 } 259 260 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromPKs(Session session, EntityPermission entityPermission, Collection<UnitOfMeasureEquivalentPK> pks) 261 throws PersistenceDatabaseException { 262 java.util.List<UnitOfMeasureEquivalent> _entities = new ArrayList<>(pks.size()); 263 264 for(UnitOfMeasureEquivalentPK _pk: pks) { 265 _entities.add(getEntityFromPK(session, entityPermission, _pk)); 266 } 267 268 return _entities; 269 } 270 271 public UnitOfMeasureEquivalent getEntityFromValue(EntityPermission entityPermission, UnitOfMeasureEquivalentValue value) { 272 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, value.getPrimaryKey()); 273 } 274 275 public UnitOfMeasureEquivalent getEntityFromValue(Session session, EntityPermission entityPermission, UnitOfMeasureEquivalentValue value) { 276 return getEntityFromPK(session, entityPermission, value.getPrimaryKey()); 277 } 278 279 public UnitOfMeasureEquivalent getEntityFromPK(EntityPermission entityPermission, UnitOfMeasureEquivalentPK pk) 280 throws PersistenceDatabaseException { 281 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, pk); 282 } 283 284 public UnitOfMeasureEquivalent getEntityFromCache(Session session, UnitOfMeasureEquivalentPK pk) { 285 UnitOfMeasureEquivalentValue _value = (UnitOfMeasureEquivalentValue)session.getValueCache().get(pk); 286 287 return _value == null ? null : new UnitOfMeasureEquivalent(_value, EntityPermission.READ_ONLY); 288 } 289 290 public UnitOfMeasureEquivalent getEntityFromPK(Session session, EntityPermission entityPermission, UnitOfMeasureEquivalentPK pk) 291 throws PersistenceDatabaseException { 292 UnitOfMeasureEquivalent _entity; 293 294 // See if we already have the entity in the session cache 295 _entity = (UnitOfMeasureEquivalent)session.getEntity(pk); 296 if(_entity != null) { 297 // If the requested permission is READ_WRITE, and the cached permission is 298 // READ_ONLY, then pretend that the cached object wasn't found, and create 299 // a new entity that is READ_WRITE. 300 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 301 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 302 _entity = null; 303 } 304 } 305 306 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 307 _entity = getEntityFromCache(session, pk); 308 } 309 310 if(_entity == null) { 311 PreparedStatement _ps = session.prepareStatement(entityPermission.equals(EntityPermission.READ_ONLY)? SQL_SELECT_READ_ONLY: SQL_SELECT_READ_WRITE); 312 long _entityId = pk.getEntityId(); 313 ResultSet _rs = null; 314 315 try { 316 _ps.setLong(1, _entityId); 317 _rs = _ps.executeQuery(); 318 if(_rs.next()) { 319 _entity = getEntityFromResultSet(session, entityPermission, _rs); 320 } 321 } catch (SQLException se) { 322 throw new PersistenceDatabaseException(se); 323 } finally { 324 if(_rs != null) { 325 try { 326 _rs.close(); 327 } catch (SQLException se) { 328 // do nothing 329 } 330 } 331 } 332 } 333 334 return _entity; 335 } 336 337 public Set<UnitOfMeasureEquivalentPK> getPKsFromQueryAsSet(PreparedStatement ps, final Object... params) 338 throws PersistenceDatabaseException { 339 Set<UnitOfMeasureEquivalentPK> _pks; 340 ResultSet _rs = null; 341 342 try { 343 if(params.length != 0) { 344 Session.setQueryParams(ps, params); 345 } 346 347 _rs = ps.executeQuery(); 348 _pks = getPKsFromResultSetAsSet(_rs); 349 _rs.close(); 350 } catch (SQLException se) { 351 throw new PersistenceDatabaseException(se); 352 } finally { 353 if(_rs != null) { 354 try { 355 _rs.close(); 356 } catch (SQLException se) { 357 // do nothing 358 } 359 } 360 } 361 362 return _pks; 363 } 364 365 public java.util.List<UnitOfMeasureEquivalentPK> getPKsFromQueryAsList(PreparedStatement ps, final Object... params) 366 throws PersistenceDatabaseException { 367 java.util.List<UnitOfMeasureEquivalentPK> _pks; 368 ResultSet _rs = null; 369 370 try { 371 if(params.length != 0) { 372 Session.setQueryParams(ps, params); 373 } 374 375 _rs = ps.executeQuery(); 376 _pks = getPKsFromResultSetAsList(_rs); 377 _rs.close(); 378 } catch (SQLException se) { 379 throw new PersistenceDatabaseException(se); 380 } finally { 381 if(_rs != null) { 382 try { 383 _rs.close(); 384 } catch (SQLException se) { 385 // do nothing 386 } 387 } 388 } 389 390 return _pks; 391 } 392 393 public UnitOfMeasureEquivalentPK getPKFromQuery(PreparedStatement ps, final Object... params) 394 throws PersistenceDatabaseException { 395 UnitOfMeasureEquivalentPK _pk = null; 396 ResultSet _rs = null; 397 398 try { 399 if(params.length != 0) { 400 Session.setQueryParams(ps, params); 401 } 402 403 _rs = ps.executeQuery(); 404 if(_rs.next()) { 405 _pk = getPKFromResultSet(_rs); 406 } 407 _rs.close(); 408 } catch (SQLException se) { 409 throw new PersistenceDatabaseException(se); 410 } finally { 411 if(_rs != null) { 412 try { 413 _rs.close(); 414 } catch (SQLException se) { 415 // do nothing 416 } 417 } 418 } 419 420 return _pk; 421 } 422 423 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 424 throws PersistenceDatabaseException { 425 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 426 427 return getEntitiesFromQuery(session, entityPermission, ps, params); 428 } 429 430 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 431 throws PersistenceDatabaseException { 432 Session session = ThreadSession.currentSession(); 433 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 434 435 return getEntitiesFromQuery(session, entityPermission, ps, params); 436 } 437 438 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 439 throws PersistenceDatabaseException { 440 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 441 442 return getEntitiesFromQuery(session, entityPermission, ps); 443 } 444 445 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 446 throws PersistenceDatabaseException { 447 Session session = ThreadSession.currentSession(); 448 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 449 450 return getEntitiesFromQuery(session, entityPermission, ps); 451 } 452 453 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps) 454 throws PersistenceDatabaseException { 455 return getEntitiesFromQuery(ThreadSession.currentSession(), entityPermission, ps); 456 } 457 458 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 459 throws PersistenceDatabaseException { 460 return getEntitiesFromQuery(ThreadSession.currentSession(), entityPermission, ps, params); 461 } 462 463 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 464 throws PersistenceDatabaseException { 465 java.util.List<UnitOfMeasureEquivalent> _entities; 466 ResultSet _rs = null; 467 468 try { 469 if(params.length != 0) { 470 Session.setQueryParams(ps, params); 471 } 472 473 _rs = ps.executeQuery(); 474 _entities = getEntitiesFromResultSet(session, entityPermission, _rs); 475 _rs.close(); 476 } catch (SQLException se) { 477 throw new PersistenceDatabaseException(se); 478 } finally { 479 if(_rs != null) { 480 try { 481 _rs.close(); 482 } catch (SQLException se) { 483 // do nothing 484 } 485 } 486 } 487 488 return _entities; 489 } 490 491 public UnitOfMeasureEquivalent getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 492 throws PersistenceDatabaseException { 493 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 494 495 return getEntityFromQuery(session, entityPermission, ps, params); 496 } 497 498 public UnitOfMeasureEquivalent getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 499 throws PersistenceDatabaseException { 500 Session session = ThreadSession.currentSession(); 501 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 502 503 return getEntityFromQuery(session, entityPermission, ps, params); 504 } 505 506 public UnitOfMeasureEquivalent getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 507 throws PersistenceDatabaseException { 508 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 509 510 return getEntityFromQuery(session, entityPermission, ps); 511 } 512 513 public UnitOfMeasureEquivalent getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 514 throws PersistenceDatabaseException { 515 Session session = ThreadSession.currentSession(); 516 PreparedStatement ps = session.prepareStatement(UnitOfMeasureEquivalentFactory.class, queryMap.get(entityPermission)); 517 518 return getEntityFromQuery(session, entityPermission, ps); 519 } 520 521 public UnitOfMeasureEquivalent getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps) 522 throws PersistenceDatabaseException { 523 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps); 524 } 525 526 public UnitOfMeasureEquivalent getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 527 throws PersistenceDatabaseException { 528 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps, params); 529 } 530 531 public UnitOfMeasureEquivalent getEntityFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 532 throws PersistenceDatabaseException { 533 UnitOfMeasureEquivalent _entity = null; 534 ResultSet _rs = null; 535 536 try { 537 if(params.length != 0) { 538 Session.setQueryParams(ps, params); 539 } 540 541 _rs = ps.executeQuery(); 542 if(_rs.next()) { 543 _entity = getEntityFromResultSet(session, entityPermission, _rs); 544 } 545 _rs.close(); 546 } catch (SQLException se) { 547 throw new PersistenceDatabaseException(se); 548 } finally { 549 if(_rs != null) { 550 try { 551 _rs.close(); 552 } catch (SQLException se) { 553 // do nothing 554 } 555 } 556 } 557 558 return _entity; 559 } 560 561 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromResultSet(EntityPermission entityPermission, ResultSet rs) 562 throws PersistenceDatabaseException { 563 return getEntitiesFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 564 } 565 566 public java.util.List<UnitOfMeasureEquivalent> getEntitiesFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 567 throws PersistenceDatabaseException { 568 java.util.List<UnitOfMeasureEquivalent> _result = new ArrayList<>(); 569 570 try { 571 while(rs.next()) { 572 _result.add(getEntityFromResultSet(session, entityPermission, rs)); 573 } 574 } catch (SQLException se) { 575 throw new PersistenceDatabaseException(se); 576 } 577 578 return _result; 579 } 580 581 public UnitOfMeasureEquivalent getEntityFromResultSet(EntityPermission entityPermission, ResultSet rs) 582 throws PersistenceDatabaseException { 583 return getEntityFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 584 } 585 586 public UnitOfMeasureEquivalent getEntityFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 587 throws PersistenceDatabaseException { 588 UnitOfMeasureEquivalent _entity; 589 590 try { 591 Long uomeq_unitofmeasureequivalentid = rs.getLong(UOMEQ_UNITOFMEASUREEQUIVALENTID); 592 UnitOfMeasureEquivalentPK _pk = new UnitOfMeasureEquivalentPK(uomeq_unitofmeasureequivalentid); 593 594 // See if we already have the entity in the session cache 595 _entity = (UnitOfMeasureEquivalent)session.getEntity(_pk); 596 if(_entity != null) { 597 // If the requested permission is READ_WRITE, and the cached permission is 598 // READ_ONLY, then pretend that the cached object wasn't found, and create 599 // a new entity that is READ_WRITE. 600 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 601 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 602 _entity = null; 603 } 604 } 605 boolean foundInSessionCache = _entity != null; 606 607 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 608 _entity = getEntityFromCache(session, _pk); 609 } 610 611 if(_entity == null) { 612 Long uomeq_fromunitofmeasuretypeid = rs.getLong(UOMEQ_FROMUNITOFMEASURETYPEID); 613 if(rs.wasNull()) 614 uomeq_fromunitofmeasuretypeid = null; 615 616 Long uomeq_tounitofmeasuretypeid = rs.getLong(UOMEQ_TOUNITOFMEASURETYPEID); 617 if(rs.wasNull()) 618 uomeq_tounitofmeasuretypeid = null; 619 620 Long uomeq_toquantity = rs.getLong(UOMEQ_TOQUANTITY); 621 if(rs.wasNull()) 622 uomeq_toquantity = null; 623 624 Long uomeq_fromtime = rs.getLong(UOMEQ_FROMTIME); 625 if(rs.wasNull()) 626 uomeq_fromtime = null; 627 628 Long uomeq_thrutime = rs.getLong(UOMEQ_THRUTIME); 629 if(rs.wasNull()) 630 uomeq_thrutime = null; 631 632 UnitOfMeasureEquivalentValue _value = new UnitOfMeasureEquivalentValue(_pk, uomeq_fromunitofmeasuretypeid == null? null: new UnitOfMeasureTypePK(uomeq_fromunitofmeasuretypeid), uomeq_tounitofmeasuretypeid == null? null: new UnitOfMeasureTypePK(uomeq_tounitofmeasuretypeid), uomeq_toquantity, uomeq_fromtime, uomeq_thrutime); 633 _entity = new UnitOfMeasureEquivalent(_value, entityPermission); 634 } 635 636 if(!foundInSessionCache) { 637 if(entityPermission.equals(EntityPermission.READ_ONLY)) { 638 session.putReadOnlyEntity(_pk, _entity); 639 session.getValueCache().put(_entity.getUnitOfMeasureEquivalentValue()); 640 } else { 641 session.putReadWriteEntity(_pk, _entity); 642 } 643 } 644 } catch (SQLException se) { 645 throw new PersistenceDatabaseException(se); 646 } 647 648 return _entity; 649 } 650 651 public UnitOfMeasureEquivalent create(Session session, UnitOfMeasureType fromUnitOfMeasureType, UnitOfMeasureType toUnitOfMeasureType, Long toQuantity, Long fromTime, Long thruTime) 652 throws PersistenceDatabaseException, PersistenceNotNullException { 653 return create(session, fromUnitOfMeasureType == null ? null : fromUnitOfMeasureType.getPrimaryKey(), toUnitOfMeasureType == null ? null : toUnitOfMeasureType.getPrimaryKey(), toQuantity, fromTime, thruTime); 654 } 655 656 public UnitOfMeasureEquivalent create(UnitOfMeasureType fromUnitOfMeasureType, UnitOfMeasureType toUnitOfMeasureType, Long toQuantity, Long fromTime, Long thruTime) 657 throws PersistenceDatabaseException, PersistenceNotNullException { 658 return create(ThreadSession.currentSession(), fromUnitOfMeasureType == null ? null : fromUnitOfMeasureType.getPrimaryKey(), toUnitOfMeasureType == null ? null : toUnitOfMeasureType.getPrimaryKey(), toQuantity, fromTime, thruTime); 659 } 660 661 private void bindForCreate(PreparedStatement _ps, UnitOfMeasureEquivalentValue _value) 662 throws SQLException { 663 _ps.setLong(1, _value.getEntityId()); 664 665 UnitOfMeasureTypePK uomeq_fromunitofmeasuretypeid = _value.getFromUnitOfMeasureTypePK(); 666 if(uomeq_fromunitofmeasuretypeid == null) 667 _ps.setNull(2, Types.BIGINT); 668 else 669 _ps.setLong(2, uomeq_fromunitofmeasuretypeid.getEntityId()); 670 671 UnitOfMeasureTypePK uomeq_tounitofmeasuretypeid = _value.getToUnitOfMeasureTypePK(); 672 if(uomeq_tounitofmeasuretypeid == null) 673 _ps.setNull(3, Types.BIGINT); 674 else 675 _ps.setLong(3, uomeq_tounitofmeasuretypeid.getEntityId()); 676 677 Long uomeq_toquantity = _value.getToQuantity(); 678 if(uomeq_toquantity == null) 679 _ps.setNull(4, Types.BIGINT); 680 else 681 _ps.setLong(4, uomeq_toquantity); 682 683 Long uomeq_fromtime = _value.getFromTime(); 684 if(uomeq_fromtime == null) 685 _ps.setNull(5, Types.BIGINT); 686 else 687 _ps.setLong(5, uomeq_fromtime); 688 689 Long uomeq_thrutime = _value.getThruTime(); 690 if(uomeq_thrutime == null) 691 _ps.setNull(6, Types.BIGINT); 692 else 693 _ps.setLong(6, uomeq_thrutime); 694 695 } 696 697 public UnitOfMeasureEquivalent create(Session session, UnitOfMeasureTypePK fromUnitOfMeasureTypePK, UnitOfMeasureTypePK toUnitOfMeasureTypePK, Long toQuantity, Long fromTime, Long thruTime) 698 throws PersistenceDatabaseException, PersistenceNotNullException { 699 UnitOfMeasureEquivalentPK _pk = getNextPK(); 700 UnitOfMeasureEquivalentValue _value = new UnitOfMeasureEquivalentValue(_pk, fromUnitOfMeasureTypePK, toUnitOfMeasureTypePK, toQuantity, fromTime, thruTime); 701 702 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 703 704 try { 705 bindForCreate(_ps, _value); 706 707 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 708 int _count = _ps.executeUpdate(); 709 710 if(_count != 1) { 711 throw new PersistenceDatabaseUpdateException("insert failed, _count = " + _count); 712 } 713 } else { 714 _ps.executeUpdate(); 715 } 716 717 session.getValueCache().put(_value); 718 } catch (SQLException se) { 719 throw new PersistenceDatabaseException(se); 720 } 721 722 UnitOfMeasureEquivalent _entity = new UnitOfMeasureEquivalent(_value, EntityPermission.READ_ONLY); 723 session.putReadOnlyEntity(_pk, _entity); 724 725 return _entity; 726 } 727 728 public UnitOfMeasureEquivalent create(UnitOfMeasureTypePK fromUnitOfMeasureTypePK, UnitOfMeasureTypePK toUnitOfMeasureTypePK, Long toQuantity, Long fromTime, Long thruTime) 729 throws PersistenceDatabaseException, PersistenceNotNullException { 730 return create(ThreadSession.currentSession(), fromUnitOfMeasureTypePK, toUnitOfMeasureTypePK, toQuantity, fromTime, thruTime); 731 } 732 733 public void create(Session session, Collection<UnitOfMeasureEquivalentValue> _values) 734 throws PersistenceDatabaseException, PersistenceNotNullException { 735 int _size = _values.size(); 736 737 if(_size > 0) { 738 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 739 List<UnitOfMeasureEquivalentValue> _cacheValues = new ArrayList<>(_size); 740 741 try { 742 for(UnitOfMeasureEquivalentValue _value : _values) { 743 _value.setEntityId(entityIdGenerator.getNextEntityId()); 744 bindForCreate(_ps, _value); 745 746 _ps.addBatch(); 747 748 _cacheValues.add(_value); 749 } 750 751 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 752 int[] _counts = _ps.executeBatch(); 753 754 for(int _countOffset = 0 ; _countOffset < _size ; _countOffset++) { 755 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 756 throw new PersistenceDatabaseUpdateException("batch insert failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 757 } 758 } 759 } else { 760 _ps.executeBatch(); 761 } 762 763 _ps.clearBatch(); 764 } catch (SQLException se) { 765 throw new PersistenceDatabaseException(se); 766 } 767 768 _cacheValues.forEach((_cacheValue) -> { 769 UnitOfMeasureEquivalent _cacheEntity = new UnitOfMeasureEquivalent(_cacheValue, EntityPermission.READ_ONLY); 770 771 session.putReadOnlyEntity(_cacheValue.getPrimaryKey(), _cacheEntity); 772 }); 773 } 774 } 775 776 public void create(Collection<UnitOfMeasureEquivalentValue> _values) 777 throws PersistenceDatabaseException, PersistenceNotNullException { 778 create(ThreadSession.currentSession(), _values); 779 } 780 781 private boolean bindForStore(PreparedStatement _ps, UnitOfMeasureEquivalentValue _value) 782 throws SQLException { 783 boolean _hasBeenModified = _value.hasBeenModified(); 784 785 if(_hasBeenModified) { 786 UnitOfMeasureTypePK uomeq_fromunitofmeasuretypeid = _value.getFromUnitOfMeasureTypePK(); 787 if(uomeq_fromunitofmeasuretypeid == null) 788 _ps.setNull(1, Types.BIGINT); 789 else 790 _ps.setLong(1, uomeq_fromunitofmeasuretypeid.getEntityId()); 791 792 UnitOfMeasureTypePK uomeq_tounitofmeasuretypeid = _value.getToUnitOfMeasureTypePK(); 793 if(uomeq_tounitofmeasuretypeid == null) 794 _ps.setNull(2, Types.BIGINT); 795 else 796 _ps.setLong(2, uomeq_tounitofmeasuretypeid.getEntityId()); 797 798 Long uomeq_toquantity = _value.getToQuantity(); 799 if(uomeq_toquantity == null) 800 _ps.setNull(3, Types.BIGINT); 801 else 802 _ps.setLong(3, uomeq_toquantity); 803 804 Long uomeq_fromtime = _value.getFromTime(); 805 if(uomeq_fromtime == null) 806 _ps.setNull(4, Types.BIGINT); 807 else 808 _ps.setLong(4, uomeq_fromtime); 809 810 Long uomeq_thrutime = _value.getThruTime(); 811 if(uomeq_thrutime == null) 812 _ps.setNull(5, Types.BIGINT); 813 else 814 _ps.setLong(5, uomeq_thrutime); 815 816 _ps.setLong(6, _value.getPrimaryKey().getEntityId()); 817 818 _value.clearHasBeenModified(); 819 } 820 821 return _hasBeenModified; 822 } 823 824 @Override 825 public void store(Session session, UnitOfMeasureEquivalent entity) 826 throws PersistenceDatabaseException { 827 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 828 829 try { 830 UnitOfMeasureEquivalentValue _value = entity.getUnitOfMeasureEquivalentValue(); 831 832 if(bindForStore(_ps, _value)) { 833 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 834 int _count = _ps.executeUpdate(); 835 836 if(_count != 1) { 837 throw new PersistenceDatabaseUpdateException("update failed, _count = " + _count); 838 } 839 } else { 840 _ps.executeUpdate(); 841 } 842 843 session.getValueCache().put(_value); 844 } 845 } catch (SQLException se) { 846 throw new PersistenceDatabaseException(se); 847 } 848 } 849 850 @Override 851 public void store(Session session, Collection<UnitOfMeasureEquivalent> entities) 852 throws PersistenceDatabaseException { 853 if(entities.size() > 0) { 854 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 855 int _modifiedEntities = 0; 856 857 try { 858 for(UnitOfMeasureEquivalent entity : entities) { 859 if(bindForStore(_ps, entity.getUnitOfMeasureEquivalentValue())) { 860 _ps.addBatch(); 861 _modifiedEntities++; 862 } 863 } 864 865 if(_modifiedEntities != 0) { 866 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 867 int[] _counts = _ps.executeBatch(); 868 869 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 870 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 871 throw new PersistenceDatabaseUpdateException("batch update failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 872 } 873 } 874 } else { 875 _ps.executeBatch(); 876 } 877 878 _ps.clearBatch(); 879 880 entities.forEach((entity) -> { 881 session.getValueCache().put(entity.getUnitOfMeasureEquivalentValue()); 882 }); 883 } 884 } catch (SQLException se) { 885 throw new PersistenceDatabaseException(se); 886 } 887 } 888 } 889 890 @Override 891 public void store(Collection<UnitOfMeasureEquivalent> entities) 892 throws PersistenceDatabaseException { 893 store(ThreadSession.currentSession(), entities); 894 } 895 896 @Override 897 public void remove(Session session, UnitOfMeasureEquivalent entity) 898 throws PersistenceDatabaseException { 899 remove(session, entity.getPrimaryKey()); 900 } 901 902 @Override 903 public void remove(Session session, UnitOfMeasureEquivalentPK pk) 904 throws PersistenceDatabaseException { 905 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 906 long _entityId = pk.getEntityId(); 907 908 try { 909 _ps.setLong(1, _entityId); 910 911 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 912 int _count = _ps.executeUpdate(); 913 914 if(_count != 1) { 915 throw new PersistenceDatabaseUpdateException("remove failed, _count = " + _count); 916 } 917 } else { 918 _ps.executeUpdate(); 919 } 920 921 session.getValueCache().remove(pk); 922 } catch (SQLException se) { 923 throw new PersistenceDatabaseException(se); 924 } 925 926 session.removed(pk, false); 927 } 928 929 @Override 930 public void remove(Session session, Collection<UnitOfMeasureEquivalentPK> pks) 931 throws PersistenceDatabaseException { 932 if(pks.size() > 0) { 933 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 934 int _modifiedEntities = 0; 935 936 try { 937 for(UnitOfMeasureEquivalentPK pk : pks) { 938 long _entityId = pk.getEntityId(); 939 940 _ps.setLong(1, _entityId); 941 942 _ps.addBatch(); 943 _modifiedEntities++; 944 } 945 946 if(_modifiedEntities != 0) { 947 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 948 int[] _counts = _ps.executeBatch(); 949 950 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 951 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 952 throw new PersistenceDatabaseUpdateException("batch remove failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 953 } 954 } 955 } else { 956 _ps.executeBatch(); 957 } 958 959 _ps.clearBatch(); 960 961 pks.forEach((pk) -> { 962 session.getValueCache().remove(pk); 963 }); 964 } 965 } catch (SQLException se) { 966 throw new PersistenceDatabaseException(se); 967 } 968 969 pks.forEach((pk) -> { 970 session.removed(pk, true); 971 }); 972 } 973 } 974 975 @Override 976 public void remove(Collection<UnitOfMeasureEquivalentPK> pks) 977 throws PersistenceDatabaseException { 978 remove(ThreadSession.currentSession(), pks); 979 } 980 981 @Override 982 public boolean validPK(Session session, UnitOfMeasureEquivalentPK pk) 983 throws PersistenceDatabaseException { 984 boolean valid = false; 985 PreparedStatement _ps = session.prepareStatement(SQL_VALID); 986 ResultSet _rs = null; 987 988 try { 989 _ps.setLong(1, pk.getEntityId()); 990 991 _rs = _ps.executeQuery(); 992 if(_rs.next()) { 993 long _count = _rs.getLong(1); 994 if(_rs.wasNull()) 995 _count = 0; 996 997 if(_count == 1) 998 valid = true; 999 } 1000 } catch (SQLException se) { 1001 throw new PersistenceDatabaseException(se); 1002 } finally { 1003 if(_rs != null) { 1004 try { 1005 _rs.close(); 1006 } catch (SQLException se) { 1007 // do nothing 1008 } 1009 } 1010 } 1011 1012 return valid; 1013 } 1014 1015}