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