home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / samples.z / IDir_Walker.wxc < prev    next >
Text File  |  1997-01-28  |  7KB  |  253 lines

  1. Save Format v2.0(1)
  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 153;
  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 156;
  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.setResponseHeader( "Content-Type", "text/html" );            
  128.             server.writeln( "<CENTER><H1>Java ISAPI / NSAPI Directory Tree Walker Sample" ); 
  129.             server.writeln( "<P>\n<BR>\n<HR>\n<BR>" );
  130.  
  131.  
  132.             String directory = null;
  133.             Vector dirList = new Vector( 100 );
  134.  
  135.             if( server.getIsPostMethod() ) {
  136.                 directory = server.getFormVariable( "directory" );
  137.             } else {
  138.                 directory = server.getQueryVariable( "directory" );
  139.             }            
  140.  
  141.  
  142.             // If no directory specified, print an error message
  143.             if( directory.equals( null ) || directory.equals( new String( "" ) ) ) {
  144.                 server.writeln( "<H2>No directory specified" );
  145.                 return;
  146.             }
  147.  
  148.  
  149.             // Create and check if actually is a directory       
  150.             File currentDir = new File( directory );                
  151.             if( !currentDir.isDirectory() ) {
  152.                 server.writeln( "<H2>Directory " + directory + " doesn't exist." );
  153.                 return;
  154.             }    
  155.  
  156.  
  157.             // Add directory to the list
  158.             dirList.addElement( currentDir );
  159.  
  160.             for( ; dirList.size() > 0 ; ) {            
  161.                 // Get and remove the first dir off the list            
  162.                 File cwd = ( File ) dirList.firstElement(); 
  163.                 dirList.removeElementAt( 0 );
  164.  
  165.                 String[] fileList = cwd.list();
  166.  
  167.                 // Print out the current directory and the table headers
  168.                 server.writeln( "<P>" );
  169.                 server.write( "<CENTER><H2>Directory: " );
  170.                 server.write( cwd.toString() );
  171.                 server.writeln( "</H2></CENTER>" );
  172.  
  173.                 server.writeln( "<CENTER><TABLE BORDER=4 BGCOLOR=WHITE>" );        
  174.                 server.writeln( "<TR>" );
  175.                 server.writeln( "<TH>Name</TH>" );
  176.                 server.writeln( "<TH>Type</TH>" );
  177.                 server.writeln( "<TH>Read</TH>" );
  178.                 server.writeln( "<TH>Write</TH>" );
  179.                 server.writeln( "<TH>Length</TH>" );
  180.                 server.writeln( "<TH>Last Modified</TH>" );
  181.                 server.writeln( "</TR>" );
  182.  
  183.                 for( int row=0; row<fileList.length; row++ ) {
  184.                     String fileName = fileList[row];                
  185.                     File aFile = new File( cwd, fileName );
  186.  
  187.                     server.writeln( "<TR>" );
  188.  
  189.                     server.write( "<TD>" );
  190.                     server.write( fileName );               
  191.                     server.writeln( "</TD>" );
  192.  
  193.                     // Check if file is a file or a directory
  194.                     // If it's a directory, add to the list
  195.                     if( aFile.isDirectory() ) {
  196.                         server.writeln( "<TD>Directory</TD>" );
  197.                         dirList.addElement( aFile );
  198.                     } else if( aFile.isFile() ) {
  199.                         server.writeln( "<TD>File</TD>" );
  200.                     } else {
  201.                         server.writeln( "<TD>Unknown</TD>" );
  202.                     }
  203.  
  204.                     // Check if file is readable
  205.                     if( aFile.canRead() ) {
  206.                         server.writeln( "<TD>Yes</TD>" );
  207.                     } else {
  208.                         server.writeln( "<TD>No</TD>" );
  209.                     }
  210.  
  211.                     // Check if file is writable
  212.                     if( aFile.canWrite() ) {
  213.                         server.writeln( "<TD>Yes</TD>" );
  214.                     } else {
  215.                         server.writeln( "<TD>No</TD>" );
  216.                     }
  217.  
  218.                     // Get length of file
  219.                     server.write( "<TD>" );
  220.                     server.write( Long.toString( aFile.length() ) );
  221.                     server.writeln( "</TD>" );
  222.  
  223.                     // Get the 'last modified' date and time of file            
  224.                     server.write( "<TD>" );
  225.                     server.write( (new Date( aFile.lastModified() )).toLocaleString() );
  226.                     server.writeln( "</TD>" );
  227.  
  228.                     server.writeln( "</TR>" );                               
  229.                 }
  230.  
  231.                 server.writeln( "</TABLE></CENTER>" );                        
  232.             }
  233.             server.writeln( "<P>\n<BR>\n<HR>\n<BR>" );                
  234.  
  235.         } catch( WebServiceException e ) {
  236.             server.writeln( "<H2>WebService Exception: " + e.getMessage() );
  237.         } catch( Exception e ) {
  238.             server.writeln( "<H2>Exception: " + e.getMessage() );
  239.         }
  240.  
  241.     }
  242.  
  243. @end-code;
  244.  
  245. @begin-code Code "IDir_Walker::EndApp(String args[])"
  246.  
  247.     public void EndApp(String args[])
  248.     {
  249.     }
  250.  
  251. @end-code;
  252. @end;
  253.