No offense, but I would prefer that this email address not be sent to.

Please delete references to it,

and use:

stargate7thsym...@live.co.uk

instead.

Also, I am a source for help with genuine problems/

code problems.

I am unfortunately not a source as a debugger!

:)




----- Original Message ----- From: "Thufir" <hawat.thu...@gmail.com>
To: <ecs-user@jakarta.apache.org>
Sent: Friday, February 27, 2009 9:29 PM
Subject: null pointer


Would there a be a better approach to this class?

It's just supposed to output a result set. however, since there has to be an update mechanism, I figured that might as well be incorporated as well.

One thing I notice is that there's no real need to extend table, so I think I'm taking maybe a bad approach.

Also, I'm getting a null pointer error further down, commented in CAPS. At first the data is good, then a null value. Oh, maybe the start of a nonexistent column? Not sure.


import a00720398.util.EnumOfMethods;
import java.awt.Color;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.ecs.html.*;

public class SimpleResultSetTable extends Table {

   private static final boolean isPretty = true;
   private static final long serialVersionUID = 1L;
   private TR tr = new TR();
   private ResultSet resultSet = null;
   private ResultSetMetaData resultSetMetaData = null;
   private int colCount = 1;
private static Logger logger = Logger.getLogger
(SimpleResultSetTable.class.getName()); //Controller.class.getName()


   private Form getDeleteButtonForm(int id) {
       EnumOfMethods enumVal = EnumOfMethods.D;
       String action = "/Assignment";
       String method = "get";
       Form form = new DeleteButtonForm(action, method, enumVal, id);
       return form;
   }
private void header() throws SQLException {
       for (int i = 1; i <= colCount; i++) {
           TH th = new TH();
           th.setPrettyPrint(isPretty);
           th.addElement(resultSetMetaData.getColumnName(i));
           addElement(th);
       }
   }

   private String getHex(Color color){
       return Integer.toHexString(color.getRGB() & 0x00ffffff);
   }
private Form getElementForm(){
       Form form = new ElementForm();
       return form;
   }
private void data() throws SQLException {
       resultSet.beforeFirst();
       while (resultSet.next()) {
           tr = new TR();
           tr.setPrettyPrint(isPretty);
           int i = resultSet.getRow();
           Color color = (i % 2 == 0) ? Color.LIGHT_GRAY : Color.GRAY;
           String colorString = getHex(color);
           tr.setBgColor(colorString);

           for (int j = 1; j <= colCount; j++) {
               TD td = new TD();
               td.setPrettyPrint(isPretty);
               String element =  resultSet.getString(j);//String.valueOf
(j); //
               if (j == 1) {
                   int id = Integer.parseInt(element);
                   Form form = this.getDeleteButtonForm(id);
                   td.addElement(form);
               } else {

                   //NULL POINTER ERROR RIGHT HERE
                   //I'M NOT SURE WHY ELEMENT IS LITERALLY NULL,
                   //BUT IT IS.  THERE'S GOOD DATA AT FIRST, THEN
                   //A NULL VALUE

                   logger.log(Level.WARNING, "why null?\t" + element);
                  Form form = new ElementForm(element, 1,2);
                  //form.addElement(element);
                   td.addElement(form);
               }
               tr.addElement(td);
               addElement(tr);
           }
       }
   }

   public SimpleResultSetTable(ResultSet rs) throws SQLException {
       setBorder(1);
       setPrettyPrint(isPretty);
       resultSet = rs;
       resultSetMetaData = rs.getMetaData();
       colCount = resultSetMetaData.getColumnCount();
       header();
       data();
   }
}




thanks,

Thufir


---------------------------------------------------------------------
To unsubscribe, e-mail: ecs-user-unsubscr...@jakarta.apache.org
For additional commands, e-mail: ecs-user-h...@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ecs-user-unsubscr...@jakarta.apache.org
For additional commands, e-mail: ecs-user-h...@jakarta.apache.org

Reply via email to