Confidential - Acme Engineering

             Resource Standard Metrics™ for C, C++, C# and Java
                   Version 7.75 - mSquaredTechnologies.com

  License Type: Shareware Evaluation License
  Licensed To : Shareware End User - Distribute Freely
  License No. : SW1380                          License Date: Dec 05, 1998
  Build Date  : Aug 16 2009                         Run Date: Aug 16, 2009 
  ©1996-2009 M Squared Technologies LLC™  
  ________________________________________________________________________

  License File: C:\Program Files\MSquared\M2 RSM\rsm.lic
  Config. File: C:\Program Files\MSquared\M2 RSM\rsm.cfg
  Command Line: -H -SDetermine Line LOC Report -d Rolodex.java 

                          Determine Line LOC Report

                  ~~ Determine Source vs. LOC Algorithms ~~

  File: Rolodex.java
  ________________________________________________________________________


  Line 1: 
  LOC Type(s): Blank

  Line 2: package rolodex;
  LOC Type(s): LOC Effective Logical

  Line 3: import rolodex.Contact;
  LOC Type(s): LOC Effective Logical

  Line 4: import java.util.LinkedList;
  LOC Type(s): LOC Effective Logical

  Line 5: import java.io.FileInputStream;
  LOC Type(s): LOC Effective Logical

  Line 6: import java.io.FileOutputStream;
  LOC Type(s): LOC Effective Logical

  Line 7: import java.io.File;
  LOC Type(s): LOC Effective Logical

  Line 8: import java.io.ObjectInputStream;
  LOC Type(s): LOC Effective Logical

  Line 9: import java.io.ObjectOutputStream;
  LOC Type(s): LOC Effective Logical

  Line 10: 
  LOC Type(s): Blank

  Line 11: public class Rolodex
  LOC Type(s): LOC Effective

  Line 12: {
  LOC Type(s): LOC Non-Effective

  Line 13: 
  LOC Type(s): Blank

  Line 14: private LinkedList rololist = new LinkedList();
  LOC Type(s): LOC Effective Logical

  Line 15: 
  LOC Type(s): Blank

  Line 16: public Rolodex()
  LOC Type(s): LOC Effective

  Line 17: {
  LOC Type(s): LOC Non-Effective

  Line 18: System.out.println ( "Rolodex" );
  LOC Type(s): LOC Effective Logical

  Line 19: } 
  LOC Type(s): LOC Non-Effective

  Line 20: 
  LOC Type(s): Blank

  Line 21: public boolean open ( String datafilename )
  LOC Type(s): LOC Effective

  Line 22: {
  LOC Type(s): LOC Non-Effective

  Line 23: System.out.println ( "Open Rolodex" );
  LOC Type(s): LOC Effective Logical

  Line 24: 
  LOC Type(s): Blank

  Line 25: FileInputStream inputfile = null;
  LOC Type(s): LOC Effective Logical

  Line 26: ObjectInputStream ois = null;
  LOC Type(s): LOC Effective Logical

  Line 27: 
  LOC Type(s): Blank

  Line 28: File f = new File ( datafilename );
  LOC Type(s): LOC Effective Logical

  Line 29: if ( f.exists() )
  LOC Type(s): LOC Effective

  Line 30: {
  LOC Type(s): LOC Non-Effective

  Line 31: // open the input file stream
  LOC Type(s): Java Comment

  Line 32: if ( f.canRead() )
  LOC Type(s): LOC Effective

  Line 33: {
  LOC Type(s): LOC Non-Effective

  Line 34: try
  LOC Type(s): LOC Effective

  Line 35: {
  LOC Type(s): LOC Non-Effective

  Line 36: inputfile = new FileInputStream ( f );
  LOC Type(s): LOC Effective Logical

  Line 37: }
  LOC Type(s): LOC Non-Effective

  Line 38: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 39: {
  LOC Type(s): LOC Non-Effective

  Line 40: System.err.println ( "Cannot Open or Currupted File: " + datafilename );
  LOC Type(s): LOC Effective Logical

  Line 41: return(false);            
  LOC Type(s): LOC Effective Logical

  Line 42: }
  LOC Type(s): LOC Non-Effective

  Line 43: }
  LOC Type(s): LOC Non-Effective

  Line 44: else
  LOC Type(s): LOC Effective

  Line 45: {
  LOC Type(s): LOC Non-Effective

  Line 46: System.err.println ( "Cannot Read From File: " + datafilename );
  LOC Type(s): LOC Effective Logical

  Line 47: return(false);
  LOC Type(s): LOC Effective Logical

  Line 48: }
  LOC Type(s): LOC Non-Effective

  Line 49: 
  LOC Type(s): Blank

  Line 50: // read from the file to the list
  LOC Type(s): Java Comment

  Line 51: try
  LOC Type(s): LOC Effective

  Line 52: {
  LOC Type(s): LOC Non-Effective

  Line 53: ois = new ObjectInputStream ( inputfile );
  LOC Type(s): LOC Effective Logical

  Line 54: }
  LOC Type(s): LOC Non-Effective

  Line 55: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 56: {
  LOC Type(s): LOC Non-Effective

  Line 57: System.err.println ( "Cannot open input stream for object read." );
  LOC Type(s): LOC Effective Logical

  Line 58: return(false);       
  LOC Type(s): LOC Effective Logical

  Line 59: }
  LOC Type(s): LOC Non-Effective

  Line 60: 
  LOC Type(s): Blank

  Line 61: Object testo = null;
  LOC Type(s): LOC Effective Logical

  Line 62: try 
  LOC Type(s): LOC Effective

  Line 63: {
  LOC Type(s): LOC Non-Effective

  Line 64: testo = ois.readObject();
  LOC Type(s): LOC Effective Logical

  Line 65: }
  LOC Type(s): LOC Non-Effective

  Line 66: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 67: {
  LOC Type(s): LOC Non-Effective

  Line 68: System.err.println ( "Cannot read Rolodex List" );
  LOC Type(s): LOC Effective Logical

  Line 69: return(false);       
  LOC Type(s): LOC Effective Logical

  Line 70: }
  LOC Type(s): LOC Non-Effective

  Line 71: 
  LOC Type(s): Blank

  Line 72: if ( testo instanceof LinkedList )
  LOC Type(s): LOC Effective

  Line 73: {
  LOC Type(s): LOC Non-Effective

  Line 74: rololist = (LinkedList)testo;
  LOC Type(s): LOC Effective Logical

  Line 75: }
  LOC Type(s): LOC Non-Effective

  Line 76: System.out.println ( "Rolodex " + datafilename + " Opened" );
  LOC Type(s): LOC Effective Logical

  Line 77: }    
  LOC Type(s): LOC Non-Effective

  Line 78: return(true);
  LOC Type(s): LOC Effective Logical

  Line 79: }
  LOC Type(s): LOC Non-Effective

  Line 80: 
  LOC Type(s): Blank

  Line 81: public boolean close( String datafilename )
  LOC Type(s): LOC Effective

  Line 82: {
  LOC Type(s): LOC Non-Effective

  Line 83: System.out.println ( "Close Rolodex" );
  LOC Type(s): LOC Effective Logical

  Line 84: 
  LOC Type(s): Blank

  Line 85: FileOutputStream outputfile = null;
  LOC Type(s): LOC Effective Logical

  Line 86: ObjectOutputStream oos = null;
  LOC Type(s): LOC Effective Logical

  Line 87: 
  LOC Type(s): Blank

  Line 88: File f = new File ( datafilename );
  LOC Type(s): LOC Effective Logical

  Line 89: try
  LOC Type(s): LOC Effective

  Line 90: {
  LOC Type(s): LOC Non-Effective

  Line 91: outputfile = new FileOutputStream ( f );
  LOC Type(s): LOC Effective Logical

  Line 92: }
  LOC Type(s): LOC Non-Effective

  Line 93: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 94: {
  LOC Type(s): LOC Non-Effective

  Line 95: System.err.println ( "Cannot Create File: " + datafilename );
  LOC Type(s): LOC Effective Logical

  Line 96: return(false);            
  LOC Type(s): LOC Effective Logical

  Line 97: }
  LOC Type(s): LOC Non-Effective

  Line 98: 
  LOC Type(s): Blank

  Line 99: // write list
  LOC Type(s): Java Comment

  Line 100: try
  LOC Type(s): LOC Effective

  Line 101: {
  LOC Type(s): LOC Non-Effective

  Line 102: oos = new ObjectOutputStream ( outputfile );
  LOC Type(s): LOC Effective Logical

  Line 103: }
  LOC Type(s): LOC Non-Effective

  Line 104: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 105: {
  LOC Type(s): LOC Non-Effective

  Line 106: System.err.println ( "Cannot open output stream for object write." );
  LOC Type(s): LOC Effective Logical

  Line 107: return(false);       
  LOC Type(s): LOC Effective Logical

  Line 108: }
  LOC Type(s): LOC Non-Effective

  Line 109: 
  LOC Type(s): Blank

  Line 110: try 
  LOC Type(s): LOC Effective

  Line 111: {
  LOC Type(s): LOC Non-Effective

  Line 112: oos.writeObject( (Object)rololist );
  LOC Type(s): LOC Effective Logical

  Line 113: }
  LOC Type(s): LOC Non-Effective

  Line 114: catch ( Exception e )
  LOC Type(s): LOC Effective

  Line 115: {
  LOC Type(s): LOC Non-Effective

  Line 116: System.err.println ( "Cannot write Rolodex List" );
  LOC Type(s): LOC Effective Logical

  Line 117: return(false);       
  LOC Type(s): LOC Effective Logical

  Line 118: }
  LOC Type(s): LOC Non-Effective

  Line 119: System.out.println ( "Rolodex " + datafilename + " Closed" );
  LOC Type(s): LOC Effective Logical

  Line 120: return(true);
  LOC Type(s): LOC Effective Logical

  Line 121: }
  LOC Type(s): LOC Non-Effective

  Line 122: 
  LOC Type(s): Blank

  Line 123: public void add(Contact c)
  LOC Type(s): LOC Effective

  Line 124: {
  LOC Type(s): LOC Non-Effective

  Line 125: rololist.add(c);
  LOC Type(s): LOC Effective Logical

  Line 126: }
  LOC Type(s): LOC Non-Effective

  Line 127: 
  LOC Type(s): Blank

  Line 128: public int addContacts()
  LOC Type(s): LOC Effective

  Line 129: {
  LOC Type(s): LOC Non-Effective

  Line 130: int newcontacts = 0;
  LOC Type(s): LOC Effective Logical

  Line 131: while (true)
  LOC Type(s): LOC Effective

  Line 132: {
  LOC Type(s): LOC Non-Effective

  Line 133: Contact newc = new Contact();
  LOC Type(s): LOC Effective Logical

  Line 134: if ( newc.getName().length() == 0 )
  LOC Type(s): LOC Effective

  Line 135: {
  LOC Type(s): LOC Non-Effective

  Line 136: break;
  LOC Type(s): LOC Effective Logical

  Line 137: }
  LOC Type(s): LOC Non-Effective

  Line 138: else
  LOC Type(s): LOC Effective

  Line 139: {
  LOC Type(s): LOC Non-Effective

  Line 140: add(newc);
  LOC Type(s): LOC Effective Logical

  Line 141: newcontacts++;
  LOC Type(s): LOC Effective Logical

  Line 142: }
  LOC Type(s): LOC Non-Effective

  Line 143: }
  LOC Type(s): LOC Non-Effective

  Line 144: return(newcontacts);
  LOC Type(s): LOC Effective Logical

  Line 145: }
  LOC Type(s): LOC Non-Effective

  Line 146: 
  LOC Type(s): Blank

  Line 147: public void show()
  LOC Type(s): LOC Effective

  Line 148: {
  LOC Type(s): LOC Non-Effective

  Line 149: for ( int i=0; i<rololist.size(); i++ )
  LOC Type(s): LOC Effective Logical

  Line 150: {
  LOC Type(s): LOC Non-Effective

  Line 151: ((Contact)rololist.get(i)).show();
  LOC Type(s): LOC Effective Logical

  Line 152: }
  LOC Type(s): LOC Non-Effective

  Line 153: }
  LOC Type(s): LOC Non-Effective

  Line 154: 
  LOC Type(s): Blank

  Line 155: static public void main ( String args[] )
  LOC Type(s): LOC Effective

  Line 156: {
  LOC Type(s): LOC Non-Effective

  Line 157: Rolodex rolo = new Rolodex();
  LOC Type(s): LOC Effective Logical

  Line 158: 
  LOC Type(s): Blank

  Line 159: if ( args.length < 1 )
  LOC Type(s): LOC Effective

  Line 160: {
  LOC Type(s): LOC Non-Effective

  Line 161: System.err.println ( "Usage: java rolodex.Rolodex datafile" );
  LOC Type(s): LOC Effective Logical

  Line 162: System.exit(1);
  LOC Type(s): LOC Effective Logical

  Line 163: }
  LOC Type(s): LOC Non-Effective

  Line 164: else
  LOC Type(s): LOC Effective

  Line 165: {
  LOC Type(s): LOC Non-Effective

  Line 166: if ( rolo.open(args[0]) == false )
  LOC Type(s): LOC Effective

  Line 167: {
  LOC Type(s): LOC Non-Effective

  Line 168: System.err.println ( "Error: Failed to open Rolodex" );  
  LOC Type(s): LOC Effective Logical

  Line 169: System.exit(1);
  LOC Type(s): LOC Effective Logical

  Line 170: }
  LOC Type(s): LOC Non-Effective

  Line 171: }
  LOC Type(s): LOC Non-Effective

  Line 172: 
  LOC Type(s): Blank

  Line 173: rolo.show();
  LOC Type(s): LOC Effective Logical

  Line 174: rolo.addContacts();
  LOC Type(s): LOC Effective Logical

  Line 175: rolo.show();
  LOC Type(s): LOC Effective Logical

  Line 176: rolo.close(args[0]);
  LOC Type(s): LOC Effective Logical

  Line 177: 
  LOC Type(s): Blank

  Line 178: }
  LOC Type(s): LOC Non-Effective

  Line 179: }
  LOC Type(s): LOC Non-Effective

  Line 180: 
  LOC Type(s): Blank

  Line 181: 
  LOC Type(s): Blank
  ------------------------------------------------------------------------

                          ~~ Total File Summary ~~

  LOC 154      eLOC 92       lLOC 62       Comment 3        Lines      181
  ________________________________________________________________________
  End of File: Rolodex.java



  ------------------------------------------------------------------------

                     ~~ Total Metrics For 1 Files ~~

  ------------------------------------------------------------------------

                         ~~ Total Project Summary ~~

  LOC 154      eLOC 92       lLOC 62       Comment 3        Lines      181
  Average per File, metric/1 files
  LOC 154      eLOC 92       lLOC 62       Comment 3        Lines      181

  ------------------------------------------------------------------------

                             ~~ File Summary ~~

  C Source Files *.c ....:          0  C/C++ Include Files *.h:          0
  C++ Source Files *.c* .:          0  C++ Include Files *.h* :          0
  C# Source Files *.cs ..:          0  Java Source File *.jav*:          1
  Other Source Files ....:          0
  Total File Count ......:          1


          Shareware evaluation licenses process only 20 files.
          Paid licenses enable processing for an unlimited number of files.

  ________________________________________________________________________

          Confidential - Acme Engineering