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 * UserVisitStatusFactory.java 021 */ 022 023package com.echothree.model.data.user.server.factory; 024 025import com.echothree.model.data.user.common.pk.UserVisitPK; 026 027import com.echothree.model.data.user.server.entity.UserVisit; 028 029import com.echothree.model.data.user.common.UserVisitStatusConstants; 030import com.echothree.model.data.user.common.pk.UserVisitStatusPK; 031import com.echothree.model.data.user.server.value.UserVisitStatusValue; 032import com.echothree.model.data.user.server.entity.UserVisitStatus; 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 UserVisitStatusFactory 061 implements BaseFactory<UserVisitStatusPK, UserVisitStatus> { 062 063 //final private static Log log = LogFactory.getLog(UserVisitStatusFactory.class); 064 065 final private static String SQL_SELECT_READ_ONLY = "SELECT uvisst_uservisitstatusid, uvisst_uvis_uservisitid, uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence FROM uservisitstatuses WHERE uvisst_uservisitstatusid = ?"; 066 final private static String SQL_SELECT_READ_WRITE = "SELECT uvisst_uservisitstatusid, uvisst_uvis_uservisitid, uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence FROM uservisitstatuses WHERE uvisst_uservisitstatusid = ? FOR UPDATE"; 067 final private static String SQL_INSERT = "INSERT INTO uservisitstatuses (uvisst_uservisitstatusid, uvisst_uvis_uservisitid, uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence) VALUES (?, ?, ?, ?, ?, ?)"; 068 final private static String SQL_UPDATE = "UPDATE uservisitstatuses SET uvisst_uvis_uservisitid = ?, uvisst_uservisitcommandsequence = ?, uvisst_uservisitcachedsearchsequence = ?, uvisst_uservisitcampaignsequence = ?, uvisst_uservisittracksequence = ? WHERE uvisst_uservisitstatusid = ?"; 069 final private static String SQL_DELETE = "DELETE FROM uservisitstatuses WHERE uvisst_uservisitstatusid = ?"; 070 final private static String SQL_VALID = "SELECT COUNT(*) FROM uservisitstatuses WHERE uvisst_uservisitstatusid = ?"; 071 072 final private static String PK_COLUMN = "uvisst_uservisitstatusid"; 073 final private static String ALL_COLUMNS = "uvisst_uservisitstatusid, uvisst_uvis_uservisitid, uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence"; 074 final public static String TABLE_NAME = "uservisitstatuses"; 075 076 final public static String UVISST_USERVISITSTATUSID = "uvisst_uservisitstatusid"; 077 final public static String UVISST_UVIS_USERVISITID = "uvisst_uvis_uservisitid"; 078 final public static String UVISST_USERVISITCOMMANDSEQUENCE = "uvisst_uservisitcommandsequence"; 079 final public static String UVISST_USERVISITCACHEDSEARCHSEQUENCE = "uvisst_uservisitcachedsearchsequence"; 080 final public static String UVISST_USERVISITCAMPAIGNSEQUENCE = "uvisst_uservisitcampaignsequence"; 081 final public static String UVISST_USERVISITTRACKSEQUENCE = "uvisst_uservisittracksequence"; 082 083 final private static EntityIdGenerator entityIdGenerator = new EntityIdGenerator(UserVisitStatusConstants.COMPONENT_VENDOR_NAME, UserVisitStatusConstants.ENTITY_TYPE_NAME); 084 085 /** Creates a new instance of UserVisitStatusFactory */ 086 protected UserVisitStatusFactory() { 087 super(); 088 } 089 090 public static UserVisitStatusFactory getInstance() { 091 return CDI.current().select(UserVisitStatusFactory.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 UserVisitStatusConstants.COMPONENT_VENDOR_NAME; 112 } 113 114 @Override 115 public String getEntityTypeName() { 116 return UserVisitStatusConstants.ENTITY_TYPE_NAME; 117 } 118 119 public PreparedStatement prepareStatement(String query) { 120 return ThreadSession.currentSession().prepareStatement(UserVisitStatusFactory.class, query); 121 } 122 123 public UserVisitStatusPK getNextPK() { 124 return new UserVisitStatusPK(entityIdGenerator.getNextEntityId()); 125 } 126 127 public Set<UserVisitStatusPK> getPKsFromResultSetAsSet(ResultSet rs) 128 throws PersistenceDatabaseException { 129 Set<UserVisitStatusPK> _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<UserVisitStatusPK> getPKsFromResultSetAsList(ResultSet rs) 143 throws PersistenceDatabaseException { 144 java.util.List<UserVisitStatusPK> _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 UserVisitStatusPK getPKFromResultSet(ResultSet rs) 158 throws PersistenceDatabaseException { 159 UserVisitStatusPK _result; 160 161 try { 162 long uvisst_uservisitstatusid = rs.getLong(UVISST_USERVISITSTATUSID); 163 Long _entityId = rs.wasNull() ? null : uvisst_uservisitstatusid; 164 165 _result = new UserVisitStatusPK(_entityId); 166 } catch (SQLException se) { 167 throw new PersistenceDatabaseException(se); 168 } 169 170 return _result; 171 } 172 173 public java.util.List<UserVisitStatusValue> getValuesFromPKs(Session session, Collection<UserVisitStatusPK> pks) 174 throws PersistenceDatabaseException { 175 java.util.List<UserVisitStatusValue> _values = new ArrayList<>(pks.size()); 176 177 for(UserVisitStatusPK _pk: pks) { 178 _values.add(getValueFromPK(session, _pk)); 179 } 180 181 return _values; 182 } 183 184 public UserVisitStatusValue getValueFromPK(Session session, UserVisitStatusPK pk) 185 throws PersistenceDatabaseException { 186 UserVisitStatusValue _value; 187 188 // See if we already have the entity in the session cache 189 UserVisitStatus _entity = (UserVisitStatus)session.getEntity(pk); 190 if(_entity == null) 191 _value = getEntityFromPK(session, EntityPermission.READ_ONLY, pk).getUserVisitStatusValue(); 192 else 193 _value = _entity.getUserVisitStatusValue(); 194 195 return _value; 196 } 197 198 public java.util.List<UserVisitStatusValue> getValuesFromResultSet(Session session, ResultSet rs) 199 throws PersistenceDatabaseException { 200 java.util.List<UserVisitStatusValue> _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 UserVisitStatusValue getValueFromResultSet(Session session, ResultSet rs) 214 throws PersistenceDatabaseException { 215 UserVisitStatusValue _value; 216 217 try { 218 Long uvisst_uservisitstatusid = rs.getLong(UVISST_USERVISITSTATUSID); 219 UserVisitStatusPK _pk = new UserVisitStatusPK(uvisst_uservisitstatusid); 220 221 // See if we already have the entity in the session cache 222 UserVisitStatus _entity = (UserVisitStatus)session.getEntity(_pk); 223 224 if(_entity == null) { 225 Long uvisst_uvis_uservisitid = rs.getLong(UVISST_UVIS_USERVISITID); 226 if(rs.wasNull()) 227 uvisst_uvis_uservisitid = null; 228 229 Integer uvisst_uservisitcommandsequence = rs.getInt(UVISST_USERVISITCOMMANDSEQUENCE); 230 if(rs.wasNull()) 231 uvisst_uservisitcommandsequence = null; 232 233 Integer uvisst_uservisitcachedsearchsequence = rs.getInt(UVISST_USERVISITCACHEDSEARCHSEQUENCE); 234 if(rs.wasNull()) 235 uvisst_uservisitcachedsearchsequence = null; 236 237 Integer uvisst_uservisitcampaignsequence = rs.getInt(UVISST_USERVISITCAMPAIGNSEQUENCE); 238 if(rs.wasNull()) 239 uvisst_uservisitcampaignsequence = null; 240 241 Integer uvisst_uservisittracksequence = rs.getInt(UVISST_USERVISITTRACKSEQUENCE); 242 if(rs.wasNull()) 243 uvisst_uservisittracksequence = null; 244 245 _value = new UserVisitStatusValue(_pk, new UserVisitPK(uvisst_uvis_uservisitid), uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence); 246 } else 247 _value = _entity.getUserVisitStatusValue(); 248 } catch (SQLException se) { 249 throw new PersistenceDatabaseException(se); 250 } 251 252 return _value; 253 } 254 255 public java.util.List<UserVisitStatus> getEntitiesFromPKs(EntityPermission entityPermission, Collection<UserVisitStatusPK> pks) 256 throws PersistenceDatabaseException { 257 return getEntitiesFromPKs(ThreadSession.currentSession(), entityPermission, pks); 258 } 259 260 public java.util.List<UserVisitStatus> getEntitiesFromPKs(Session session, EntityPermission entityPermission, Collection<UserVisitStatusPK> pks) 261 throws PersistenceDatabaseException { 262 java.util.List<UserVisitStatus> _entities = new ArrayList<>(pks.size()); 263 264 for(UserVisitStatusPK _pk: pks) { 265 _entities.add(getEntityFromPK(session, entityPermission, _pk)); 266 } 267 268 return _entities; 269 } 270 271 public UserVisitStatus getEntityFromValue(EntityPermission entityPermission, UserVisitStatusValue value) { 272 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, value.getPrimaryKey()); 273 } 274 275 public UserVisitStatus getEntityFromValue(Session session, EntityPermission entityPermission, UserVisitStatusValue value) { 276 return getEntityFromPK(session, entityPermission, value.getPrimaryKey()); 277 } 278 279 public UserVisitStatus getEntityFromPK(EntityPermission entityPermission, UserVisitStatusPK pk) 280 throws PersistenceDatabaseException { 281 return getEntityFromPK(ThreadSession.currentSession(), entityPermission, pk); 282 } 283 284 public UserVisitStatus getEntityFromCache(Session session, UserVisitStatusPK pk) { 285 UserVisitStatusValue _value = (UserVisitStatusValue)session.getValueCache().get(pk); 286 287 return _value == null ? null : new UserVisitStatus(_value, EntityPermission.READ_ONLY); 288 } 289 290 public UserVisitStatus getEntityFromPK(Session session, EntityPermission entityPermission, UserVisitStatusPK pk) 291 throws PersistenceDatabaseException { 292 UserVisitStatus _entity; 293 294 // See if we already have the entity in the session cache 295 _entity = (UserVisitStatus)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<UserVisitStatusPK> getPKsFromQueryAsSet(PreparedStatement ps, final Object... params) 338 throws PersistenceDatabaseException { 339 Set<UserVisitStatusPK> _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<UserVisitStatusPK> getPKsFromQueryAsList(PreparedStatement ps, final Object... params) 366 throws PersistenceDatabaseException { 367 java.util.List<UserVisitStatusPK> _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 UserVisitStatusPK getPKFromQuery(PreparedStatement ps, final Object... params) 394 throws PersistenceDatabaseException { 395 UserVisitStatusPK _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<UserVisitStatus> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 424 throws PersistenceDatabaseException { 425 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 426 427 return getEntitiesFromQuery(session, entityPermission, ps, params); 428 } 429 430 public java.util.List<UserVisitStatus> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 431 throws PersistenceDatabaseException { 432 Session session = ThreadSession.currentSession(); 433 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 434 435 return getEntitiesFromQuery(session, entityPermission, ps, params); 436 } 437 438 public java.util.List<UserVisitStatus> getEntitiesFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 439 throws PersistenceDatabaseException { 440 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 441 442 return getEntitiesFromQuery(session, entityPermission, ps); 443 } 444 445 public java.util.List<UserVisitStatus> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 446 throws PersistenceDatabaseException { 447 Session session = ThreadSession.currentSession(); 448 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 449 450 return getEntitiesFromQuery(session, entityPermission, ps); 451 } 452 453 public java.util.List<UserVisitStatus> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps) 454 throws PersistenceDatabaseException { 455 return getEntitiesFromQuery(ThreadSession.currentSession(), entityPermission, ps); 456 } 457 458 public java.util.List<UserVisitStatus> 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<UserVisitStatus> getEntitiesFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 464 throws PersistenceDatabaseException { 465 java.util.List<UserVisitStatus> _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 UserVisitStatus getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 492 throws PersistenceDatabaseException { 493 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 494 495 return getEntityFromQuery(session, entityPermission, ps, params); 496 } 497 498 public UserVisitStatus getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 499 throws PersistenceDatabaseException { 500 Session session = ThreadSession.currentSession(); 501 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 502 503 return getEntityFromQuery(session, entityPermission, ps, params); 504 } 505 506 public UserVisitStatus getEntityFromQuery(Session session, EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 507 throws PersistenceDatabaseException { 508 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 509 510 return getEntityFromQuery(session, entityPermission, ps); 511 } 512 513 public UserVisitStatus getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 514 throws PersistenceDatabaseException { 515 Session session = ThreadSession.currentSession(); 516 PreparedStatement ps = session.prepareStatement(UserVisitStatusFactory.class, queryMap.get(entityPermission)); 517 518 return getEntityFromQuery(session, entityPermission, ps); 519 } 520 521 public UserVisitStatus getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps) 522 throws PersistenceDatabaseException { 523 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps); 524 } 525 526 public UserVisitStatus getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 527 throws PersistenceDatabaseException { 528 return getEntityFromQuery(ThreadSession.currentSession(), entityPermission, ps, params); 529 } 530 531 public UserVisitStatus getEntityFromQuery(Session session, EntityPermission entityPermission, PreparedStatement ps, final Object... params) 532 throws PersistenceDatabaseException { 533 UserVisitStatus _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<UserVisitStatus> getEntitiesFromResultSet(EntityPermission entityPermission, ResultSet rs) 562 throws PersistenceDatabaseException { 563 return getEntitiesFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 564 } 565 566 public java.util.List<UserVisitStatus> getEntitiesFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 567 throws PersistenceDatabaseException { 568 java.util.List<UserVisitStatus> _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 UserVisitStatus getEntityFromResultSet(EntityPermission entityPermission, ResultSet rs) 582 throws PersistenceDatabaseException { 583 return getEntityFromResultSet(ThreadSession.currentSession(), entityPermission, rs); 584 } 585 586 public UserVisitStatus getEntityFromResultSet(Session session, EntityPermission entityPermission, ResultSet rs) 587 throws PersistenceDatabaseException { 588 UserVisitStatus _entity; 589 590 try { 591 Long uvisst_uservisitstatusid = rs.getLong(UVISST_USERVISITSTATUSID); 592 UserVisitStatusPK _pk = new UserVisitStatusPK(uvisst_uservisitstatusid); 593 594 // See if we already have the entity in the session cache 595 _entity = (UserVisitStatus)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 uvisst_uvis_uservisitid = rs.getLong(UVISST_UVIS_USERVISITID); 613 if(rs.wasNull()) 614 uvisst_uvis_uservisitid = null; 615 616 Integer uvisst_uservisitcommandsequence = rs.getInt(UVISST_USERVISITCOMMANDSEQUENCE); 617 if(rs.wasNull()) 618 uvisst_uservisitcommandsequence = null; 619 620 Integer uvisst_uservisitcachedsearchsequence = rs.getInt(UVISST_USERVISITCACHEDSEARCHSEQUENCE); 621 if(rs.wasNull()) 622 uvisst_uservisitcachedsearchsequence = null; 623 624 Integer uvisst_uservisitcampaignsequence = rs.getInt(UVISST_USERVISITCAMPAIGNSEQUENCE); 625 if(rs.wasNull()) 626 uvisst_uservisitcampaignsequence = null; 627 628 Integer uvisst_uservisittracksequence = rs.getInt(UVISST_USERVISITTRACKSEQUENCE); 629 if(rs.wasNull()) 630 uvisst_uservisittracksequence = null; 631 632 UserVisitStatusValue _value = new UserVisitStatusValue(_pk, uvisst_uvis_uservisitid == null? null: new UserVisitPK(uvisst_uvis_uservisitid), uvisst_uservisitcommandsequence, uvisst_uservisitcachedsearchsequence, uvisst_uservisitcampaignsequence, uvisst_uservisittracksequence); 633 _entity = new UserVisitStatus(_value, entityPermission); 634 } 635 636 if(!foundInSessionCache) { 637 if(entityPermission.equals(EntityPermission.READ_ONLY)) { 638 session.putReadOnlyEntity(_pk, _entity); 639 session.getValueCache().put(_entity.getUserVisitStatusValue()); 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 UserVisitStatus create(Session session, UserVisit userVisit, Integer userVisitCommandSequence, Integer userVisitCachedSearchSequence, Integer userVisitCampaignSequence, Integer userVisitTrackSequence) 652 throws PersistenceDatabaseException, PersistenceNotNullException { 653 return create(session, userVisit == null ? null : userVisit.getPrimaryKey(), userVisitCommandSequence, userVisitCachedSearchSequence, userVisitCampaignSequence, userVisitTrackSequence); 654 } 655 656 public UserVisitStatus create(UserVisit userVisit, Integer userVisitCommandSequence, Integer userVisitCachedSearchSequence, Integer userVisitCampaignSequence, Integer userVisitTrackSequence) 657 throws PersistenceDatabaseException, PersistenceNotNullException { 658 return create(ThreadSession.currentSession(), userVisit == null ? null : userVisit.getPrimaryKey(), userVisitCommandSequence, userVisitCachedSearchSequence, userVisitCampaignSequence, userVisitTrackSequence); 659 } 660 661 private void bindForCreate(PreparedStatement _ps, UserVisitStatusValue _value) 662 throws SQLException { 663 _ps.setLong(1, _value.getEntityId()); 664 665 UserVisitPK uvisst_uvis_uservisitid = _value.getUserVisitPK(); 666 if(uvisst_uvis_uservisitid == null) 667 _ps.setNull(2, Types.BIGINT); 668 else 669 _ps.setLong(2, uvisst_uvis_uservisitid.getEntityId()); 670 671 Integer uvisst_uservisitcommandsequence = _value.getUserVisitCommandSequence(); 672 if(uvisst_uservisitcommandsequence == null) 673 _ps.setNull(3, Types.INTEGER); 674 else 675 _ps.setInt(3, uvisst_uservisitcommandsequence); 676 677 Integer uvisst_uservisitcachedsearchsequence = _value.getUserVisitCachedSearchSequence(); 678 if(uvisst_uservisitcachedsearchsequence == null) 679 _ps.setNull(4, Types.INTEGER); 680 else 681 _ps.setInt(4, uvisst_uservisitcachedsearchsequence); 682 683 Integer uvisst_uservisitcampaignsequence = _value.getUserVisitCampaignSequence(); 684 if(uvisst_uservisitcampaignsequence == null) 685 _ps.setNull(5, Types.INTEGER); 686 else 687 _ps.setInt(5, uvisst_uservisitcampaignsequence); 688 689 Integer uvisst_uservisittracksequence = _value.getUserVisitTrackSequence(); 690 if(uvisst_uservisittracksequence == null) 691 _ps.setNull(6, Types.INTEGER); 692 else 693 _ps.setInt(6, uvisst_uservisittracksequence); 694 695 } 696 697 public UserVisitStatus create(Session session, UserVisitPK userVisitPK, Integer userVisitCommandSequence, Integer userVisitCachedSearchSequence, Integer userVisitCampaignSequence, Integer userVisitTrackSequence) 698 throws PersistenceDatabaseException, PersistenceNotNullException { 699 UserVisitStatusPK _pk = getNextPK(); 700 UserVisitStatusValue _value = new UserVisitStatusValue(_pk, userVisitPK, userVisitCommandSequence, userVisitCachedSearchSequence, userVisitCampaignSequence, userVisitTrackSequence); 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 UserVisitStatus _entity = new UserVisitStatus(_value, EntityPermission.READ_ONLY); 723 session.putReadOnlyEntity(_pk, _entity); 724 725 return _entity; 726 } 727 728 public UserVisitStatus create(UserVisitPK userVisitPK, Integer userVisitCommandSequence, Integer userVisitCachedSearchSequence, Integer userVisitCampaignSequence, Integer userVisitTrackSequence) 729 throws PersistenceDatabaseException, PersistenceNotNullException { 730 return create(ThreadSession.currentSession(), userVisitPK, userVisitCommandSequence, userVisitCachedSearchSequence, userVisitCampaignSequence, userVisitTrackSequence); 731 } 732 733 public void create(Session session, Collection<UserVisitStatusValue> _values) 734 throws PersistenceDatabaseException, PersistenceNotNullException { 735 int _size = _values.size(); 736 737 if(_size > 0) { 738 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 739 List<UserVisitStatusValue> _cacheValues = new ArrayList<>(_size); 740 741 try { 742 for(UserVisitStatusValue _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 UserVisitStatus _cacheEntity = new UserVisitStatus(_cacheValue, EntityPermission.READ_ONLY); 770 771 session.putReadOnlyEntity(_cacheValue.getPrimaryKey(), _cacheEntity); 772 }); 773 } 774 } 775 776 public void create(Collection<UserVisitStatusValue> _values) 777 throws PersistenceDatabaseException, PersistenceNotNullException { 778 create(ThreadSession.currentSession(), _values); 779 } 780 781 private boolean bindForStore(PreparedStatement _ps, UserVisitStatusValue _value) 782 throws SQLException { 783 boolean _hasBeenModified = _value.hasBeenModified(); 784 785 if(_hasBeenModified) { 786 UserVisitPK uvisst_uvis_uservisitid = _value.getUserVisitPK(); 787 if(uvisst_uvis_uservisitid == null) 788 _ps.setNull(1, Types.BIGINT); 789 else 790 _ps.setLong(1, uvisst_uvis_uservisitid.getEntityId()); 791 792 Integer uvisst_uservisitcommandsequence = _value.getUserVisitCommandSequence(); 793 if(uvisst_uservisitcommandsequence == null) 794 _ps.setNull(2, Types.INTEGER); 795 else 796 _ps.setInt(2, uvisst_uservisitcommandsequence); 797 798 Integer uvisst_uservisitcachedsearchsequence = _value.getUserVisitCachedSearchSequence(); 799 if(uvisst_uservisitcachedsearchsequence == null) 800 _ps.setNull(3, Types.INTEGER); 801 else 802 _ps.setInt(3, uvisst_uservisitcachedsearchsequence); 803 804 Integer uvisst_uservisitcampaignsequence = _value.getUserVisitCampaignSequence(); 805 if(uvisst_uservisitcampaignsequence == null) 806 _ps.setNull(4, Types.INTEGER); 807 else 808 _ps.setInt(4, uvisst_uservisitcampaignsequence); 809 810 Integer uvisst_uservisittracksequence = _value.getUserVisitTrackSequence(); 811 if(uvisst_uservisittracksequence == null) 812 _ps.setNull(5, Types.INTEGER); 813 else 814 _ps.setInt(5, uvisst_uservisittracksequence); 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, UserVisitStatus entity) 826 throws PersistenceDatabaseException { 827 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 828 829 try { 830 UserVisitStatusValue _value = entity.getUserVisitStatusValue(); 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<UserVisitStatus> 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(UserVisitStatus entity : entities) { 859 if(bindForStore(_ps, entity.getUserVisitStatusValue())) { 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.getUserVisitStatusValue()); 882 }); 883 } 884 } catch (SQLException se) { 885 throw new PersistenceDatabaseException(se); 886 } 887 } 888 } 889 890 @Override 891 public void store(Collection<UserVisitStatus> entities) 892 throws PersistenceDatabaseException { 893 store(ThreadSession.currentSession(), entities); 894 } 895 896 @Override 897 public void remove(Session session, UserVisitStatus entity) 898 throws PersistenceDatabaseException { 899 remove(session, entity.getPrimaryKey()); 900 } 901 902 @Override 903 public void remove(Session session, UserVisitStatusPK 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<UserVisitStatusPK> 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(UserVisitStatusPK 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<UserVisitStatusPK> pks) 977 throws PersistenceDatabaseException { 978 remove(ThreadSession.currentSession(), pks); 979 } 980 981 @Override 982 public boolean validPK(Session session, UserVisitStatusPK 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}