home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / sybase / starbuck / samples.z / IDir_Walker.wxc < prev    next >
Text File  |  1996-12-10  |  8KB  |  252 lines

  1. Save Format v1.3
  2. @begin ClassFile "IDir_Walker"
  3.  Exported 0;
  4.  Abstract 0;
  5.  Interface 0;
  6.  PackageName "";
  7.  Language "Java";
  8.  
  9.  @begin UserFunction "IDir_Walker()"
  10.   Compiler 1;
  11.   GencodeSrcLine 12;
  12.   FunctionName "IDir_Walker::IDir_Walker()";
  13.  @end;
  14.  
  15.  @begin UserFunction "main(String args[])"
  16.   Compiler 1;
  17.   GencodeFunction 1;
  18.   GencodeSrcLine 16;
  19.   FunctionName "IDir_Walker::main(String args[])";
  20.  @end;
  21.  
  22.  @begin UserFunction "CreateMainForm()"
  23.   Compiler 1;
  24.   GencodeFunction 1;
  25.   GencodeSrcLine 23;
  26.   FunctionName "IDir_Walker::CreateMainForm()";
  27.  @end;
  28.  
  29.  @begin UserFunction "StartApp(String args[])"
  30.   Compiler 1;
  31.   GencodeSrcLine 26;
  32.   FunctionName "IDir_Walker::StartApp(String args[])";
  33.  @end;
  34.  
  35.  @begin UserFunction "RunApp(String args[])"
  36.   Compiler 1;
  37.   GencodeSrcLine 34;
  38.   FunctionName "IDir_Walker::RunApp(String args[])";
  39.  @end;
  40.  
  41.  @begin UserFunction "EndApp(String args[])"
  42.   Compiler 1;
  43.   GencodeSrcLine 152;
  44.   FunctionName "IDir_Walker::EndApp(String args[])";
  45.  @end;
  46.  
  47.  @begin HPPPrefixBlock
  48. @begin-code HPPPrefix
  49.  
  50. // add your custom import statements here
  51. import java.io.*;
  52. import java.util.*;
  53.  
  54. @end-code;
  55.   GencodeSrcLine 6;
  56.  @end;
  57.  
  58.  @begin ClassContentsBlock
  59. @begin-code ClassContents
  60.  
  61.     // add your data members here
  62.     WebConnection server;
  63.  
  64. @end-code;
  65.   GencodeSrcLine 155;
  66.  @end;
  67.  
  68. @begin-code BaseClassList
  69.  
  70. extends Object
  71.  
  72. @end-code;
  73.  
  74. @begin-code GeneratedClassContents
  75.  
  76.  
  77. @end-code;
  78.  
  79. @begin-code Code "IDir_Walker::IDir_Walker()"
  80.  
  81.     public @CLASSNAME@()
  82.     {
  83.         super();
  84.     }
  85.  
  86. @end-code;
  87.  
  88. @begin-code Code "IDir_Walker::main(String args[])"
  89.  
  90.     public static void main(String args[])
  91.     {
  92.         @@CLASSNAME@ app = new @CLASSNAME@();
  93.         app.StartApp(args);
  94.         app.RunApp(args);
  95.         app.EndApp(args);
  96.     }
  97.  
  98. @end-code;
  99.  
  100. @begin-code Code "IDir_Walker::CreateMainForm()"
  101.  
  102.     public void CreateMainForm()
  103.     {
  104.     }
  105.  
  106. @end-code;
  107.  
  108. @begin-code Code "IDir_Walker::StartApp(String args[])"
  109.  
  110.     public void StartApp(String args[])
  111.     {
  112.         server = new WebConnection(args);
  113.         if (! server.getConnected() ) {
  114.             System.err.println("Connection to Server failed");
  115.             System.exit(2);
  116.         }       
  117.     }
  118.  
  119. @end-code;
  120.  
  121. @begin-code Code "IDir_Walker::RunApp(String args[])"
  122.  
  123.     public void RunApp(String args[])
  124.     {
  125.         //CreateMainForm();
  126.         try {        
  127.             server.writeln( "<CENTER><H1>Java ISAPI Directory Tree Walker Sample" ); 
  128.             server.writeln( "<P>\n<BR>\n<HR>\n<BR>" );
  129.         
  130.         
  131.             String directory = null;
  132.             Vector dirList = new Vector( 100 );
  133.                 
  134.             if( server.getIsPostMethod() ) {
  135.                 directory = server.getFormVariable( "directory" );
  136.             } else {
  137.                 directory = server.getQueryVariable( "directory" );
  138.             }            
  139.             
  140.         
  141.             // If no directory specified, print an error message
  142.             if( directory.equals( null ) || directory.equals( new String( "" ) ) ) {
  143.                 server.writeln( "<H2>No directory specified" );
  144.                 return;
  145.             }
  146.         
  147.         
  148.             // Create and check if actually is a directory       
  149.             File currentDir = new File( directory );                
  150.             if( !currentDir.isDirectory() ) {
  151.                 server.writeln( "<H2>Directory " + directory + " doesn't exist." );
  152.                 return;
  153.             }    
  154.                                       
  155.  
  156.             // Add directory to the list
  157.             dirList.addElement( currentDir );
  158.         
  159.             for( ; dirList.size() > 0 ; ) {            
  160.                 // Get and remove the first dir off the list            
  161.                 File cwd = ( File ) dirList.firstElement(); 
  162.                 dirList.removeElementAt( 0 );
  163.             
  164.                 String[] fileList = cwd.list();
  165.  
  166.                 // Print out the current directory and the table headers
  167.                 server.writeln( "<P>" );
  168.                 server.write( "<CENTER><H2>Directory: " );
  169.                 server.write( cwd.toString() );
  170.                 server.writeln( "</H2></CENTER>" );
  171.         
  172.                 server.writeln( "<CENTER><TABLE BORDER=4 BGCOLOR=WHITE>" );        
  173.                 server.writeln( "<TR>" );
  174.                 server.writeln( "<TH>Name</TH>" );
  175.                 server.writeln( "<TH>Type</TH>" );
  176.                 server.writeln( "<TH>Read</TH>" );
  177.                 server.writeln( "<TH>Write</TH>" );
  178.                 server.writeln( "<TH>Length</TH>" );
  179.                 server.writeln( "<TH>Last Modified</TH>" );
  180.                 server.writeln( "</TR>" );
  181.                     
  182.                 for( int row=0; row<fileList.length; row++ ) {
  183.                     String fileName = fileList[row];                
  184.                     File aFile = new File( cwd, fileName );
  185.             
  186.                     server.writeln( "<TR>" );
  187.  
  188.                     server.write( "<TD>" );
  189.                     server.write( fileName );               
  190.                     server.writeln( "</TD>" );
  191.             
  192.                     // Check if file is a file or a directory
  193.                     // If it's a directory, add to the list
  194.                     if( aFile.isDirectory() ) {
  195.                         server.writeln( "<TD>Directory</TD>" );
  196.                         dirList.addElement( aFile );
  197.                     } else if( aFile.isFile() ) {
  198.                         server.writeln( "<TD>File</TD>" );
  199.                     } else {
  200.                         server.writeln( "<TD>Unknown</TD>" );
  201.                     }
  202.             
  203.                     // Check if file is readable
  204.                     if( aFile.canRead() ) {
  205.                         server.writeln( "<TD>Yes</TD>" );
  206.                     } else {
  207.                         server.writeln( "<TD>No</TD>" );
  208.                     }
  209.             
  210.                     // Check if file is writable
  211.                     if( aFile.canWrite() ) {
  212.                         server.writeln( "<TD>Yes</TD>" );
  213.                     } else {
  214.                         server.writeln( "<TD>No</TD>" );
  215.                     }
  216.             
  217.                     // Get length of file
  218.                     server.write( "<TD>" );
  219.                     server.write( Long.toString( aFile.length() ) );
  220.                     server.writeln( "</TD>" );
  221.             
  222.                     // Get the 'last modified' date and time of file            
  223.                     server.write( "<TD>" );
  224.                     server.write( (new Date( aFile.lastModified() )).toLocaleString() );
  225.                     server.writeln( "</TD>" );
  226.             
  227.                     server.writeln( "</TR>" );                               
  228.                 }
  229.         
  230.                 server.writeln( "</TABLE></CENTER>" );                        
  231.             }
  232.             server.writeln( "<P>\n<BR>\n<HR>\n<BR>" );                
  233.  
  234.         } catch( WebServiceException e ) {
  235.             server.writeln( "<H2>WebService Exception: " + e.getMessage() );
  236.         } catch( Exception e ) {
  237.             server.writeln( "<H2>Exception: " + e.getMessage() );
  238.         }
  239.         
  240.     }
  241.  
  242. @end-code;
  243.  
  244. @begin-code Code "IDir_Walker::EndApp(String args[])"
  245.  
  246.     public void EndApp(String args[])
  247.     {
  248.     }
  249.  
  250. @end-code;
  251. @end;
  252.