@ -9,9 +9,12 @@
				@@ -9,9 +9,12 @@
					 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					package  engine.db.handlers ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					import  engine.gameManager.DbManager ;  
			
		
	
		
			
				
					import  engine.objects.PromotionClass ;  
			
		
	
		
			
				
					import  org.pmw.tinylog.Logger ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					import  java.sql.Connection ;  
			
		
	
		
			
				
					import  java.sql.PreparedStatement ;  
			
		
	
		
			
				
					import  java.sql.ResultSet ;  
			
		
	
		
			
				
					import  java.sql.SQLException ;  
			
		
	
		
			
				
					import  java.util.ArrayList ;  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -24,31 +27,59 @@ public class dbPromotionClassHandler extends dbHandlerBase {
				@@ -24,31 +27,59 @@ public class dbPromotionClassHandler extends dbHandlerBase {
					 
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  ArrayList < Integer >  GET_ALLOWED_RUNES ( final  PromotionClass  pc )  {   
			
		
	
		
			
				
					        ArrayList < Integer >  runes  =  new  ArrayList < > ( ) ;   
			
		
	
		
			
				
					        prepareCallable ( "SELECT * FROM `static_rune_promotionrunereq` WHERE `promoID`=?" ) ;   
			
		
	
		
			
				
					        setInt ( 1 ,  pc . getObjectUUID ( ) ) ;   
			
		
	
		
			
				
					        try  {   
			
		
	
		
			
				
					            ResultSet  rs  =  executeQuery ( ) ;   
			
		
	
		
			
				
					            while  ( rs . next ( ) )  {   
			
		
	
		
			
				
					                runes . add ( rs . getInt ( "runereqID" ) ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        ArrayList < Integer >  runeList  =  new  ArrayList < > ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "SELECT * FROM `static_rune_promotionrunereq` WHERE `promoID`=?" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            preparedStatement . setInt ( 1 ,  pc . getObjectUUID ( ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            ResultSet  rs  =  preparedStatement . executeQuery ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            while  ( rs . next ( ) )   
			
		
	
		
			
				
					                runeList . add ( rs . getInt ( "runereqID" ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( "Failed to retrieve Allowed Runes for PromotionClass "  +  pc . getObjectUUID ( )  +  ". Error number: "  +  e . getErrorCode ( ) ,  e ) ;   
			
		
	
		
			
				
					            return  null ;   
			
		
	
		
			
				
					        }  finally  {   
			
		
	
		
			
				
					            closeCallable ( ) ;   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        return  runes ;   
			
		
	
		
			
				
					        return  runeList ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  PromotionClass  GET_PROMOTION_CLASS ( final  int  objectUUID )  {   
			
		
	
		
			
				
					        prepareCallable ( "SELECT * FROM `static_rune_promotion` WHERE `ID` = ?" ) ;   
			
		
	
		
			
				
					        setInt ( 1 ,  objectUUID ) ;   
			
		
	
		
			
				
					        return  ( PromotionClass )  getObjectSingle ( objectUUID ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        PromotionClass  promotionClass  =  null ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "SELECT * FROM `static_rune_promotion` WHERE `ID` = ?" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            preparedStatement . setInt ( 1 ,  objectUUID ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            ResultSet  rs  =  preparedStatement . executeQuery ( ) ;   
			
		
	
		
			
				
					            promotionClass  =  ( PromotionClass )  getObjectFromRs ( rs ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        return  promotionClass ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					      
			
		
	
		
			
				
					    public  ArrayList < PromotionClass >  GET_ALL_PROMOTIONS ( )  {   
			
		
	
		
			
				
							prepareCallable ( "SELECT * FROM `static_rune_promotion`" ) ;   
			
		
	
		
			
				
							return  getObjectList ( ) ;   
			
		
	
		
			
				
						}   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        ArrayList < PromotionClass >  promotionList  =  new  ArrayList < > ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "SELECT * FROM `static_rune_promotion`" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            ResultSet  rs  =  preparedStatement . executeQuery ( ) ;   
			
		
	
		
			
				
					            promotionList  =  getObjectsFromRs ( rs ,  30 ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        return  promotionList ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					}