×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: ActionScript
Posted by: Ali Abbasi
Added: Jan 28, 2016 4:23 PM
Views: 6
Tags: no tags
  1. //***************************************************************************************************************************************************
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.rmi.registry.LocateRegistry    ;
  6. import java.rmi.server.UnicastRemoteObject ;
  7. import java.sql.Statement     ;
  8. import java.sql.ResultSet     ;
  9. import java.sql.Connection    ;
  10. import java.sql.DriverManager ;
  11. import java.text.DateFormat;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Date;
  14.  
  15. //***************************************************************************************************************************************************
  16.  
  17.  
  18.  
  19.  
  20. //***************************************************************************************************************************************************
  21.  
  22. public class ServerUtilitiesImplementation implements ServerUtilitiesInterface
  23. {
  24.   //=================================================================================================================================================
  25.  
  26.     Statement statement;
  27.     BufferedWriter file;
  28.     DateFormat dateFormat;
  29.     Date date;
  30.  
  31.   //=================================================================================================================================================
  32.  
  33.   public ServerUtilitiesImplementation()
  34.   {
  35.      
  36.     dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
  37.        
  38.  
  39.  
  40.     String driver   = "com.mysql.jdbc.Driver";
  41.     String url      = "jdbc:mysql://localhost:3306/ceng443" ;
  42.     String username = "root";
  43.     String password = "root";
  44.     try
  45.     {
  46.         file = new BufferedWriter( new FileWriter( "log.txt" ) ) ;
  47.        
  48.         date = new Date();
  49.         file.write( "'"+ dateFormat.format(date) +"' Start Connecting to Mysql in adress '"+ url +"'" ) ;
  50.         file.newLine() ;
  51.         file.flush();
  52.        
  53.        
  54.         Class.forName( driver ) ;
  55.         Connection connection = DriverManager.getConnection( url , username , password );
  56.         statement = connection.createStatement();
  57.        
  58.         date = new Date();
  59.         file.write( "'"+ dateFormat.format(date) +"' Connecting is successful " ) ;
  60.         file.newLine() ;
  61.         file.flush();
  62.     }
  63.     catch (Exception ex)
  64.     {
  65.         System.err.println( "Error: " + ex.toString() ) ;
  66.         try
  67.         {
  68.         date = new Date();
  69.         file.write( "'"+ dateFormat.format(date) +"' problem with Connecting to Mysql " ) ;
  70.         file.newLine() ;
  71.         file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  72.         file.newLine() ;
  73.         file.flush();
  74.         }catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  75.     }
  76.   }
  77.   //=================================================================================================================================================
  78.  
  79.   @Override
  80.   public String getMimeType ( String fileExtension )
  81.   {
  82.     ResultSet resultset = null;
  83.     try
  84.     {
  85.         resultset = statement.executeQuery(" select cMimeType from mimetypes where cFileExtension = '"+ fileExtension +"' ");
  86.         date = new Date();
  87.         file.write( "'"+ dateFormat.format(date) +"' send 'Select' query to get type of '"+ fileExtension +"' " ) ;
  88.         file.newLine() ;
  89.         file.flush();
  90.         while ( resultset.next() )
  91.         {
  92.             date = new Date();
  93.             file.write( "'"+ dateFormat.format(date) +"' the asked file extention is: '"+ fileExtension +"' " ) ;
  94.             file.newLine() ;
  95.             file.write( "'"+ dateFormat.format(date) +"' the mime type is: '"+ resultset.getString( "cMimeType" ) +"' " ) ;
  96.             file.newLine() ;
  97.             file.flush();
  98.             return resultset.getString( "cMimeType" ) ;
  99.         }  
  100.     }
  101.     catch (Exception ex)
  102.     {
  103.         System.err.println( "Error: " + ex.toString() ) ;
  104.         try
  105.         {
  106.             date = new Date();
  107.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to get type of '"+ fileExtension +"' " ) ;
  108.             file.newLine() ;
  109.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  110.             file.newLine() ;
  111.             file.flush();
  112.         }
  113.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  114.     }
  115.    
  116.     return null;
  117.   }
  118.  
  119.   //=================================================================================================================================================
  120.  
  121.   @Override
  122.   public String getStatusReason ( int statusCode )       
  123.   {
  124.     ResultSet resultset = null;
  125.     try
  126.     {
  127.         resultset = statement.executeQuery(" select cReason from statusreasons where cStatusCode = '"+ statusCode +"' ");
  128.         date = new Date();
  129.         file.write( "'"+ dateFormat.format(date) +"' send 'Select' query to get status reason of '"+ statusCode +"' " ) ;
  130.         file.newLine() ;
  131.         file.flush();
  132.         while ( resultset.next() )
  133.         {
  134.             date = new Date();
  135.             file.write( "'"+ dateFormat.format(date) +"' the asked status code is: '"+ statusCode +"' " ) ;
  136.             file.newLine() ;
  137.             file.write( "'"+ dateFormat.format(date) +"' the status reason is '"+ resultset.getString( "cReason" ) +"' " ) ;
  138.             file.newLine() ;
  139.             file.flush();
  140.             return resultset.getString( "cReason" ) ;
  141.         }  
  142.     }
  143.     catch (Exception ex)
  144.     {
  145.         System.err.println( "Error: " + ex.toString() ) ;
  146.         try
  147.         {
  148.             date = new Date();
  149.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to get status reason of '"+ statusCode +"' " ) ;
  150.             file.newLine() ;
  151.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  152.             file.newLine() ;
  153.             file.flush();
  154.         }
  155.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  156.     }
  157.     return null;
  158.   }
  159.  
  160.   //=================================================================================================================================================
  161.  
  162.   @Override
  163.   public boolean isAdPage ( String fileName )
  164.   {
  165.     ResultSet resultset = null;
  166.     try
  167.     {
  168.         resultset = statement.executeQuery(" select cPage from hitcounts ");
  169.         date = new Date();
  170.         file.write( "'"+ dateFormat.format(date) +"' send 'Select' query to checking isAdPage of '"+ fileName +"' " ) ;
  171.         file.newLine() ;
  172.         file.flush();
  173.         while ( resultset.next() )
  174.         {
  175.             if( resultset.getString( "cPage" ).equals(fileName))
  176.             {
  177.                 date = new Date();
  178.                 file.write( "'"+ dateFormat.format(date) +"' the asked page is '"+ fileName +"' " ) ;
  179.                 file.newLine() ;
  180.                 file.write( "'"+ dateFormat.format(date) +"' the result for this page is TRUE " ) ;
  181.                 file.newLine() ;
  182.                 file.flush();
  183.                 return true;
  184.             }
  185.         }  
  186.     }
  187.     catch (Exception ex)
  188.     {
  189.         System.err.println( "Error: " + ex.toString() ) ;
  190.         try
  191.         {
  192.             date = new Date();
  193.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to checking isAdPage of '"+ fileName +"' " ) ;
  194.             file.newLine() ;
  195.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  196.             file.newLine() ;
  197.             file.flush();
  198.         }
  199.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  200.     }
  201.     try
  202.     {
  203.         date = new Date();
  204.         file.write( "'"+ dateFormat.format(date) +"' the asked page is '"+ fileName +"' " ) ;
  205.         file.newLine() ;
  206.         file.write( "'"+ dateFormat.format(date) +"' the result for this page is FALSE " ) ;
  207.         file.newLine() ;
  208.         file.flush();
  209.     }
  210.     catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  211.     return false;
  212.   }
  213.  
  214.   //=================================================================================================================================================
  215.  
  216.   @Override
  217.   public int getHitCount ( String fileName )
  218.   {
  219.     ResultSet resultset = null;
  220.     try
  221.     {
  222.         resultset = statement.executeQuery(" select cCount from hitcounts where cPage = '"+ fileName +"' ");
  223.         date = new Date();
  224.         file.write( "'"+ dateFormat.format(date) +"' send 'Select' query to get hit counts of '"+ fileName +"' " ) ;
  225.         file.newLine() ;
  226.         file.flush();
  227.         while ( resultset.next() )
  228.         {
  229.             date = new Date();
  230.             file.write( "'"+ dateFormat.format(date) +"' the hit counts of asked file is '"+ resultset.getInt( "cCount" ) +"' " ) ;
  231.             file.newLine() ;
  232.             file.flush();
  233.             return resultset.getInt( "cCount" ) ;
  234.         }  
  235.     }
  236.     catch (Exception ex)
  237.     {
  238.         System.err.println( "Error: " + ex.toString() ) ;
  239.         try
  240.         {
  241.             date = new Date();
  242.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to get hit counts of '"+ fileName +"' " ) ;
  243.             file.newLine() ;
  244.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  245.             file.newLine() ;
  246.             file.flush();
  247.         }
  248.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  249.     }
  250.     return -1;
  251.   }
  252.  
  253.   //=================================================================================================================================================
  254.  
  255.   @Override
  256.   public void incrementHitCount ( String fileName )
  257.   {
  258.     int tempHitCounts = 0;
  259.     tempHitCounts = getHitCount(fileName) + 1;
  260.     try
  261.     {
  262.         statement.executeUpdate(" update hitcounts set cCount = '"+ tempHitCounts +"' where cPage = '"+ fileName +"' ");
  263.         date = new Date();
  264.         file.write( "'"+ dateFormat.format(date) +"' send 'Update' query to increase hit counts of '"+ fileName +"' " ) ;
  265.         file.newLine() ;
  266.         file.write( "'"+ dateFormat.format(date) +"' the hit counts of requested file now increase to '"+ tempHitCounts +"' " ) ;
  267.         file.newLine() ;
  268.         file.flush();
  269.     }
  270.     catch (Exception ex)
  271.     {
  272.         System.err.println( "Error: " + ex.toString() ) ;
  273.         try
  274.         {
  275.             date = new Date();
  276.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to increase hit counts of '"+ fileName +"' " ) ;
  277.             file.newLine() ;
  278.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  279.             file.newLine() ;
  280.             file.flush();
  281.         }
  282.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  283.     }
  284.   }
  285.  
  286.   //=================================================================================================================================================
  287.  
  288.   @Override
  289.   public String getNextAd ( String category )
  290.   {
  291.     ResultSet resultset = null;
  292.     String firstCase = null;
  293.     try
  294.     {
  295.         resultset = statement.executeQuery(" select * from advertisements ");
  296.         while ( resultset.next() )
  297.         {
  298.             String result     = resultset.getString( "cAdvertisement" );
  299.             String parts []   = result.split( "/" );
  300.             String adCategory = parts[0].trim();
  301.            
  302.             if( adCategory.equals(category) && firstCase == null)
  303.             {
  304.                 firstCase = result;
  305.             }
  306.             if( adCategory.equals(category) && resultset.getInt("cFlag") == 0)
  307.             {
  308.                 statement.executeUpdate(" update advertisements set cFlag = '1' where cAdvertisement = '"+ result +"' ");
  309.                
  310.                 date = new Date();
  311.                 file.write( "'"+ dateFormat.format(date) +"' getting the next advertisment in '"+ category +"' category " ) ;
  312.                 file.newLine() ;
  313.                 file.write( "'"+ dateFormat.format(date) +"' next advertisment in '"+ category +"' category is '"+ result +"' " ) ;
  314.                 file.newLine() ;
  315.                 file.flush();
  316.                
  317.                 return result;
  318.             }
  319.         }
  320.         statement.executeUpdate(" update advertisements set cFlag = '0' where cAdvertisement like '"+ category + "%" +"'");
  321.         statement.executeUpdate(" update advertisements set cFlag = '1' where cAdvertisement = '"+ firstCase +"' ");
  322.        
  323.         date = new Date();
  324.         file.write( "'"+ dateFormat.format(date) +"' getting the next advertisment in '"+ category +"' category " ) ;
  325.         file.newLine() ;
  326.         file.write( "'"+ dateFormat.format(date) +"' next advertisment in '"+ category +"' category is '"+ firstCase +"' " ) ;
  327.         file.newLine() ;
  328.         file.flush();
  329.        
  330.         return firstCase;
  331.     }
  332.     catch (Exception ex)
  333.     {
  334.         System.err.println( "Error: " + ex.toString() ) ;
  335.         try
  336.         {
  337.             date = new Date();
  338.             file.write( "'"+ dateFormat.format(date) +"' problem in getting next advertisment of '"+ category +"' category " ) ;
  339.             file.newLine() ;
  340.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  341.             file.newLine() ;
  342.             file.flush();
  343.         }
  344.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  345.     }
  346.     return null;
  347.    
  348.   }
  349.  
  350.   //=================================================================================================================================================
  351.  
  352.   @Override
  353.   public String getAllExtensions ( String type )
  354.   {
  355.     ResultSet resultset = null;
  356.     String extensions = "";
  357.     try
  358.     {
  359.         resultset = statement.executeQuery(" select cFileExtension from mimetypes where cMimeType like  '"+ type + "%" +"'");
  360.         date = new Date();
  361.         file.write( "'"+ dateFormat.format(date) +"' send 'Select' query to get all extensions of '"+ type +"' " ) ;
  362.         file.newLine() ;
  363.         file.flush();
  364.         date = new Date();
  365.         file.write( "'"+ dateFormat.format(date) +"' the asked file types extension is: '"+ type +"' " ) ;
  366.         file.newLine() ;
  367.         while ( resultset.next() )
  368.         {
  369.             file.write( "'"+ dateFormat.format(date) +"' one of extensions is: '"+ resultset.getString( "cFileExtension" ) +"' " ) ;
  370.             file.newLine() ;
  371.             file.flush();
  372.             extensions = extensions + " " + resultset.getString( "cFileExtension" ) ;
  373.         }  
  374.         return extensions;
  375.     }
  376.     catch (Exception ex)
  377.     {
  378.         System.err.println( "Error: " + ex.toString() ) ;
  379.         try
  380.         {
  381.             date = new Date();
  382.             file.write( "'"+ dateFormat.format(date) +"' problem in sending query to get all extensions of '"+ type +"' " ) ;
  383.             file.newLine() ;
  384.             file.write( "'"+ dateFormat.format(date) +"' Error:'"+ ex.toString()+"' " ) ;
  385.             file.newLine() ;
  386.             file.flush();
  387.         }
  388.         catch ( Exception exception ){System.err.println( "Error: " + exception.toString() ) ;}
  389.     }
  390.     return null;
  391.   }
  392.  
  393.   //=================================================================================================================================================
  394.  
  395.   public static void main ( String args[] ) throws Exception
  396.   {
  397.     String name = "ServerUtilitiesImplementation" ;
  398.     ServerUtilitiesImplementation obj  = new ServerUtilitiesImplementation();
  399.     ServerUtilitiesInterface stub = (ServerUtilitiesInterface) UnicastRemoteObject.exportObject( obj , 0 );
  400.     LocateRegistry.getRegistry().rebind( name , stub ) ;
  401.    
  402.     System.out.println( "RMI server ready" ) ;
  403.   }
  404.  
  405.   //=================================================================================================================================================
  406. }
  407.  
  408. //***************************************************************************************************************************************************
  409.  
  410.