FindClass returning NULL
Hi,
I have a servlet deployed in Tomcat (v5.0.12) that invokes a C++ DLL written by me. Some other Java classes that are used by my Servlet are stored in a folder C:\MyClasses (in a package called com.batra.amit). The folder C:\MyClasses is in Tomcat's CLASSPATH.
In my C++ DLL, I do a jclass myClass = pEnv->FindClass("com/batra/amit/MyClass"); but it returns NULL.
I have verified the following:
1. The directory structure is correct, i.e. C:\MyClasses\com\batra\amit
2. There is a "package com.batra.amit;" statement at the beginning of MyClass.java
3. The DLL is indeed getting loaded and executed in the VC++ debugger.
Still the FindClass method returns nil. I am unable to figure out the reason for the same. I am using JDK v1.4.2_01-b06 on Windows 2000 (SP4) workstation.
Regards,
Amit
Hi Guys,
I tried out both the solutions that you posted, but the problem got solved in another manner. I will describe that how.
Earlier I too was thinking that the JEnv::FindClass method was returning NULL since it was unable to load the class looking up the CLASSPATH. But further examination revealed something else.
I found a sentence in small print in the JNI Tutorial telling that if you call a Java method that threw an exception (from native code), and you do not "handle" this excepiton in your native code, then the result of future JNI calls would be unpredictable.
Following this I started examining the exceptions after every Java method call from my native code and after fixing a java.io.IOException being thrown by a call to the constructor of FileInputStream, my problem got resolved.
The only lesson I learnt from this is to read the fine print more carefully. Perhaps something as important as this should have been printed in bold in the JNI Tutorial.
I will award you each two Duke $$ for attempting to help me out.
Regards,
Amit
Similar Messages
-
I m trying to create a class using FindClass method.
Calling method as below.
(*env).FindClass("Class Name goes here..")
But the method returns null value.
I have got so many native methods in my application. But only for this native method im facing this kind of pbm.
Kindly any one could tell me wht would be the reason for this????????
regards,
SapnaShould be in the format:
C:
(*env)->FindClass(env,"full/package/to/classname");
C++
env->FindClass("full/package/to/classname"); -
EjbFindByPrimaryKey returns null
Hello,
We are writing an BMP in 6.1 SP 2. The ejbLoad perfectly loads the data.
From the Remote using the getPrimaryKey() to get the PrimaryKey. That key
is passed to the findByPrimaryKey(PK) call. But, it returns the following.
I have the db-is-shared to false in weblogic-ejb-jar.xml. It looks like it
is returning null and I don't understand why it is doing like this. Whether
it is because, it is not able to find the object through the
findByPrimaryKey or I am making any mistakes.
I even system.out.println inside the ejbFindByPrimaryKey and the key is not
null, it is having the value. Any help is greatly appreciated.
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 1
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - refresh - 1 : PFINA - false
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@e5a5f - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
Start server side stack trace:
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
at
weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.
java:443)
at
weblogic.ejb20.manager.BaseEntityManager.remoteFindByPrimaryKey(BaseEntityMa
nager.java:376)
at
weblogic.ejb20.internal.EntityEJBHome.findByPrimaryKey(EntityEJBHome.java:33
2)
at
mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl.findByPrimaryKey(RBMCustomBean_oc
yn82_HomeImpl.java:99)
at mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at
weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166)
at
weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:92)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:112)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy80.findByPrimaryKey(Unknown Source)
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:173)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
JSP Exception : java.lang.NullPointerException
java.lang.NullPointerException
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:181)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks,
GaneshSentence fragments.
Missing predicates.
It's a bit hard trying to understand your questions.
In BMP you write the ejbFindByPrimaryKey method. Your job in that method is
to verify that it exists in the DB and throw an ObjectNotFoundException if
not. You return the valid PK (the one passed in) if it does exist. So, what
exactly is returning null?
"Ganapathy Sankaran" <[email protected]> wrote in message
news:[email protected]...
Hello,
We are writing an BMP in 6.1 SP 2. The ejbLoad perfectly loads the data.
From the Remote using the getPrimaryKey() to get the PrimaryKey. That key
is passed to the findByPrimaryKey(PK) call. But, it returns thefollowing.
I have the db-is-shared to false in weblogic-ejb-jar.xml. It looks like it
is returning null and I don't understand why it is doing like this.Whether
it is because, it is not able to find the object through the
findByPrimaryKey or I am making any mistakes.
I even system.out.println inside the ejbFindByPrimaryKey and the key isnot
null, it is having the value. Any help is greatly appreciated.
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 1
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - refresh - 1 : PFINA - false
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@10a07 - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
mcar.ejb.rbm.RBMCustomBean_ocyn82_Impl - ejbFindByPrimaryKey - 2
mcar.ejb.rbm.RBMCustomPK@e5a5f - PFINA
Did not find for the CUID another : PFINA
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
Start server side stack trace:
java.rmi.RemoteException: The findByPrimaryKey method from home:
mcar.ejb.rbm.RBMCustomHome was passed: null, but it returned null
at
weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityManager.
java:443)
at
weblogic.ejb20.manager.BaseEntityManager.remoteFindByPrimaryKey(BaseEntityMa
nager.java:376)
at
weblogic.ejb20.internal.EntityEJBHome.findByPrimaryKey(EntityEJBHome.java:33
2)
at
mcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl.findByPrimaryKey(RBMCustomBean_oc
yn82_HomeImpl.java:99)
atmcar.ejb.rbm.RBMCustomBean_ocyn82_HomeImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:93)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at
weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166)
at
weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:92)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:112)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:262)
at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
:229)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy80.findByPrimaryKey(Unknown Source)
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:173)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
JSP Exception : java.lang.NullPointerException
java.lang.NullPointerException
at
jsp_servlet.__HMqwestagentform._jspService(__HMqwestagentform.java:181)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:265)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:304)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:2495)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2204)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks,
Ganesh -
FindNode returning Null And XML Not Accepting Special Characters
Hi All,
i am trying the get the attribute value in the element "ns4:InfoCFDi" using FindNode method, but the method is returning NULL. I used the same code for other sample as well and was successfull. but for this specific XML file(which is below) I am getting a Null.
i can get till S:Body, but when i try to use FindNode for ":Body/s4:ResponseGeneraCFDi" I get Null value.
And I used "S:Body/*[local-name()=" | "ns4:ResponseGeneraCFDi" | "]";
as mentioned in other post but still no success.
==>I Have one more question relating to special characters. I need to use characters such as - ó in my XML to read as well as write. When I try to read i am getting XML parse error and when writing, i cannot open the file properly.
Your help is much appreciated.
My code is here:
Local XmlDoc &inXMLDoc, &reqxmldoc;
Local XmlNode &RecordNode;
&inXMLDoc = CreateXmlDoc();
&ret = &inXMLDoc.ParseXmlFromURL("D:\Agnel\Mexico Debit Memo\REALRESPONSE.xml");
If &ret Then
&RecordNode = &inXMLDoc.DocumentElement.FindNode("" );
If &RecordNode.IsNull Then
Warning MsgGet(0, 0, "Agnel FindNode not found.");
rem MessageBox(0, "", 0, 0, "FindNode not found");
Else
&qrValue = &RecordNode.GetAttributeValue("asignaFolio ");
Warning MsgGet(0, 0, "asignaFolio." | &qrValue);
End-If;
Else
Warning MsgGet(0, 0, "Error. ParseXmlString");
End-If;
XML File:
- <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
- <S:Body>
- <ns4:ResponseGeneraCFDi xmlns="http://www.xxl.com/ns/xsd/bf/rxx/52" xmlns:ns2="http://www.sat.gob.mx/cfd/3" xmlns:ns3="http://www.xx/ns/bf/conector/1&quo t; xmlns:ns4="http://www.xx/ns/xsd/bfxx/xx/32&qu ot; xmlns:ns5="http://www.xxcom/ns/xsd/bf/xxxxx&q uot; xmlns:ns6="http://wwwxx.com/ns/referenceID/v1">
- <ns3:Result version="1">
<ns3:Message message="Proceso realizado con exito." code="0" />
</ns3:Result>
- <ns4:InfoCFDi noCertificadoSAT="20001000000100003992" refId="STORFAC20121022085611" fechaTimbrado="2012-10-22T08:56:45" qr=" "
uuid="a37a7d92-a17e-49f4-8e4d-51c983587acb" version="3.2" tipo="XML" archivo="xxx" sello="B8WjuhYLouSZJ6LU2EjxZ0a4IKyIENZNBx4Lb4 jkcAk6wA+EM477yz91/iDdsON0jm8xibBfom5hvHsH7ZK1ps3NnAXWr1LW 7ctmGsvYKAMvkCx/yOVzJTKFM2hN+OqCTE0WVfgv690vVy2CDQWKlMxbK+3idwG4t OKCMelrN9c=" fecha="2012-10-22T08:56:44" folio="281" serie="IICC">
<InfoEspecial valor="Este documento es una representacin impresa de un CFDI." atributo="leyendaImpresion" />
<InfoEspecial valor="||1.0|a37a7d92-a17e-49f4-8e4d-51c983587acb|2012-10-22T08:56:45|B8WjuhYLouSZJ6LU2EjxZ0a4IKyIENZNBx4Lb4 jkcAk6wA+EM477yz91/iDdsON0jm8xibBfom5hvHsH7ZK1ps3NnAXWr1LW 7ctmGsvYKAMvkCx/yOVzJTKFM2hN+OqCTE0WVfgv690vVy2CDQWKlMxbK+3idwG4t OKCMelrN9c=|20001000000100003992||" atributo="cadenaOriginal" />
<InfoEspecial valor="Doscientos dieciocho mil cuatrocientos setenta y cinco pesos 00/100 M.N." atributo="totalConLetra" />
</ns4:InfoCFDi>
</ns4:ResponseGeneraCFDi>
</S:Body>
</S:Envelope>
TIAFirst of all you have to supply a value you want to search for and this has to be the complete path to the value. You're saying you already tried that, but can you paste the code which you used for that? I don't see the path mentioned in the code you posted.
*FindNode*
Syntax
FindNode(Path)
Description
Use the FindNode method to return a reference to an XmlNode.
The path is specified as the list of tag names, to the node that you want to find, each separated by a slash (/).
Parameters
Path
Specify the tag names up to and including the name of the node that you want returned, starting with a slash and each separated by a slash (/). This is known as the XPath query language.>
Another option would be this snippet of code:
&InfoCFDiArray = GetElementsByTagName("ns4:InfoCFDi");
&InfoCFDiNode = &InfoCFDiArray [1];
&attValue = &InfoCFDiNode.GetAttributeValue("noCertificadoSAT")
Warning(&attValue);
It creates an array of XML Nodes which match the name "ns4:InfoCFDi". Since there's only one in the XML it's safe to assume it will be the one and only node in the array. I've assigned that node to the variable &InfoCFDiNode and use that to retrieve the attribute "noCertificadoSAT" value. The warning message should display the value supplied there.
Concering the special characters; you will have to change the encoding of the XML. Peoplecode sets this to UTF-8 by default, but doesn't include this in the header. There's a little hack for that somewhere on the web, I'll see if I can find it. -
Kff.where returns 'null' and causes sql error - looking for a work around
Hello,
I am using BI 5.6.3 in EBS (11.5.10.2)
I have created a kff.where as follows:
<lexical
type="oracle.apps.fnd.flex.kff.where"
name="lp_location_where_clause"
comment="Comment"
application_short_name="OFA"
id_flex_code="LOC#"
id_flex_num=":lp_location_flex_structure"
code_combination_table_alias="loc"
segments="ALL"
operator="BETWEEN"
operand1=":p_location_low"
operand2=":p_location_high"/>
</lexicals>
Everything works fine, as long as I have a values for the p_location_low and p_location_high. However, this is a parameter that comes in from a concurrent program and is optional. When the user doesn't pick a value, :p_location_low is the concatenated delimiters for the location '..'.
When this runs, the kff.where is returning null which causes 'Invalid Relational Operation error' because 'AND null' is not valid.
Warning in the log is :[091910_025232517][][STATEMENT] !!Warning: FlexAPI returns null for 'x_where_expression' lexical definition...
Does anyone have a workaround for this since making the parameter required is not an option for my users?
Thanks for reading.In your SQL*Plus session, make sure you
SQL> set define offbefore trying to create the Java stored procedure. SQL*Plus assumes that any string that begins with an & is a substitution variable unless you tell it that you have no substitution variables (via set define off).
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
HelpSet.findHelpSet() returns null, and trapping ID errors
I was having a problem initializing JavaHelp. HelpSet.findHelpSet() was returning null. I searched the forum, and found it was a common problem, but the answers were unhelpful. The answers pointed to a problem with CLASSPATH, but offered little in the way of advice for a newbie like myself on how to deal with it.
A second issue concerns HelpBroker.enableHelpOnButton(). If you feed it a bogus ID, it throws an exception, and there's no way to trap it and fail gracefully. JHUG doesn't provide much in the way of alternatives.
Now, having done a bit of research and testing, I'm willing to share a cookbook formula for what worked for me.
I'm working in a project directory that contains MyApp.jar and the Help subdirectory, including Help/Help.hs. My first step is to copy jh.jar to the project directory.
Next, in the manifest file used to generate MyApp.jar, I add the line:
Class-Path: jh.jar Help/I'm working with Eclipse, so in Eclipse, I use Project - Properties - Java Build Path - Libraries to add JAR file jh.jar, and Class Folder Tony/Help
I define the following convenience class:
public class HelpAction extends AbstractAction
private static HelpBroker helpBroker = null;
private String label = null;
public HelpAction( String name, String label )
super( name );
this.label = label;
public void actionPerformed( ActionEvent event )
displayHelp( label );
public static boolean displayHelp( String label )
if ( helpBroker == null )
Utils.reportError( "Help package not initialized!" );
return false;
try
helpBroker.setCurrentID( label );
helpBroker.setDisplayed( true );
return true;
catch ( Exception e )
Utils.reportError( e, "Help for " + label + " not found" );
return false;
public static boolean initialize( String hsName )
URL hsURL = HelpSet.findHelpSet( null, hsName );
if ( hsURL == null )
Utils.reportError( "Can't find helpset " + hsName );
return false;
try
HelpSet helpSet = new HelpSet( null, hsURL );
helpBroker = helpSet.createHelpBroker();
catch ( HelpSetException e )
Utils.reportError( e, "Can't open helpset " + hsName );
return false;
return true;
}If you use this class in your own code, you'll want to replace Utils.reportError() with something of your own devising.
Finally, in my GUI class, I use the following:
JPanel panel = ...
JMenu menu = ...
JToolbar toolbar = ...
HelpAction.initialize( "Help.hs" )
Action gsAction = new HelpAction( "Getting Started Guide", "gs.top" );
menu.add( gsAction );
JButton helpButton = new HelpAction( "Help", "man.top" );
toolbar.add( helpButton );
InputMap imap = panel.getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT );
imap.put( KeyStroke.getKeyStroke( "F1" ), "F1help" );
ActionMap amap = panel.getActionMap();
amap.put( "F1help", new HelpAction( null, "man.top" ) );Sorry, the sixth-from-last line of my example should read,
JButton helpButton = new JButton( new HelpAction( "Help", "man.top" ) ); -
Why does getParameter("uri") returns null ???
Hi !
JAVA can be rather frustrating and I have run of of dukes. How about IOU ?
Unfortunately none of the previous questions in the db shed light on my problem.
I am trying to get at the "uri" and I have the following code fragment :
package com.developer;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
public class proptest extends HttpServlet
public void doGet( HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
PrintWriter out = resp.getWriter();
out.println("Parameter Name: " + req.getParameter("uri"));
public void init() throws ServletException
// initialie the servlet here. Use ServletConfig object to get
// initialization parameters...
ServletConfig config = getServletConfig();
// ... more stuff ...
}Hi!
In case anyone stumbles upon this in the database, I worked aroung it by using req.getRequestURI().
However I still do not know why getParameter() returns null. It would be useful e.g. if you want to display a list of all request params e.g.:
// stub code follows...
java.util.Enumeration enum = rea.getParameterNames();
while (enum.hasMoreElements())
String name = (String) enum.nextElement();
System.out.println("Parameter "+name + " " + req.getParameter(name))
...For me, nope, all nulls. If it works for you , do tell me.
Also if you look at the "bugs db" there seems to be a number of issues concerning getParameter(). -
Why ResultSet getDate() method returns null when querying .csv file?
Here is the full code:
import java.sql.*;
import java.sql.Types;
import java.sql.Date;
import myjava.support.CachedRowSetMaker;
import javax.sql.rowset.CachedRowSet;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
class jdbc2{
final private String s1="SELECT top 10 [DATE], [ADJ CLOSE] FROM [vwo-1.csv]";
private ResultSet result=null;
private Connection conn=null;
public static void main(String[] args) throws SQLException{
jdbc2 db=new jdbc2();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
db.conn = DriverManager.getConnection("jdbc:odbc:STOCK_DATA");
PreparedStatement sql=db.conn.prepareStatement(db.s1);
db.result=sql.executeQuery();
// check column names and types using the ResultSetMetaData object.
ResultSetMetaData metaData = db.result.getMetaData();
System.out.println("Table Name : " + metaData.getTableName(2));
System.out.println("Field\t\tDataType");
for (int i = 0; i < metaData.getColumnCount(); i++) {
System.out.print(metaData.getColumnName(i + 1) + "\t");
System.out.println(metaData.getColumnTypeName(i+1));
System.out.print(metaData.getColumnName(1) + "\t"+metaData.getColumnName(2)+"\n");
while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
catch (Exception e) {
System.out.println("Error: " + e.getMessage());
finally {
db.result.close();
db.conn.close();
Everything works well, until getting to the block
while (db.result.next()){
System.out.print(db.result.getDate("DATE", Calendar.getInstance()));
System.out.format("\t%,.2f\n", db.result.getFloat("Adj Close"));
The getDate("DATE", Calendar.getInstance())); always returns null, instead of the date value in the vwo-1.csv.
Even though I change it to
java.sql.Date d=db.result.getDate("DATE") and convert to String using .toString(), I still gets nulls. The dollar amount in "Adj Close" field is fine, no problem.
The .csv fils is downloaded from YahooFinace.
Can anyone review the code and shed some light as to what I did wrong?
Thanks alot.CREATE TABLE `login` (
`username` varchar(40) DEFAULT NULL,
`password` varchar(40) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `amount` (
`amountid` int(11) NOT NULL,
`receiptid` int(11) DEFAULT NULL,
`loanid` int(11) DEFAULT NULL,
`amount` bigint(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`paymentid` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
PRIMARY KEY (`amountid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `applicationfee` (
`applicationfeeid` int(11) DEFAULT NULL,
`applicationamount` int(11) DEFAULT NULL,
`applicationfee` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `category` (
`categoryid` int(11) DEFAULT NULL,
`categoryname` varchar(40) DEFAULT NULL,
`categorydescription` varchar(500) DEFAULT NULL,
`cattype` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `commission` (
`commissionid` int(11) DEFAULT NULL,
`bussiness` int(11) DEFAULT NULL,
`commission` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `customer` (
`cacno` int(11) NOT NULL DEFAULT '0',
`name` varchar(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`cphone` varchar(40) DEFAULT NULL,
`cmobile` varchar(40) DEFAULT NULL,
`caddress` varchar(500) DEFAULT NULL,
`cstatus` varchar(20) DEFAULT NULL,
`cphoto` longblob,
`pid` int(11) DEFAULT NULL,
PRIMARY KEY (`cacno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `daybook` (
`closingbal` varchar(40) DEFAULT NULL,
`date` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `extraincome` (
`categoryid` int(11) NOT NULL,
`receiptid` int(11) DEFAULT NULL,
`date` date DEFAULT NULL,
`amountid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `employee` (
`empno` int(11) DEFAULT NULL,
`empname` varchar(40) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sal` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `image` (
`id` int(11) DEFAULT NULL,
`image` blob
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `loan` (
`loanid` int(11) NOT NULL DEFAULT '0',
`loanamt` varchar(40) DEFAULT NULL,
`payableamount` double DEFAULT NULL,
`installment` int(11) DEFAULT NULL,
`payableinstallments` int(11) DEFAULT NULL,
`monthlyinstallment` varchar(20) DEFAULT NULL,
`surityname` varchar(20) DEFAULT NULL,
`applicationfeeid` int(11) DEFAULT NULL,
`interestrate` float DEFAULT NULL,
`issuedate` date DEFAULT NULL,
`duedate` date DEFAULT NULL,
`nextduedate` date DEFAULT NULL,
`cacno` int(11) DEFAULT NULL,
`cname` varchar(20) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
`interestamt` double DEFAULT NULL,
`pendingamt` float DEFAULT NULL,
PRIMARY KEY (`loanid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `md` (
`mdid` int(11) NOT NULL DEFAULT '0',
`mdname` varchar(40) DEFAULT NULL,
`mdphoto` varchar(100) DEFAULT NULL,
`mdphone` varchar(40) DEFAULT NULL,
`mdmobile` varchar(40) DEFAULT NULL,
`mdaddress` varchar(500) DEFAULT NULL,
PRIMARY KEY (`mdid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `partner` (
`pid` int(11) NOT NULL DEFAULT '0',
`pname` varchar(40) DEFAULT NULL,
`paddress` varchar(500) DEFAULT NULL,
`pphoto` varchar(100) DEFAULT NULL,
`pphone` varchar(40) DEFAULT NULL,
`pmobile` varchar(40) DEFAULT NULL,
`pstatus` varchar(20) DEFAULT NULL,
`mdid` int(11) DEFAULT NULL,
`mdname` varchar(40) DEFAULT NULL,
`date` date DEFAULT NULL,
`nextpaydate` date DEFAULT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `partnerinvested` (
`pid` int(11) DEFAULT NULL,
`pname` varchar(20) DEFAULT NULL,
`receiptid` int(11) DEFAULT NULL,
`date` date DEFAULT NULL,
`amountinvested` int(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`amountid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `payments` (
`paymentid` int(11) NOT NULL,
`categoryid` int(11) DEFAULT NULL,
`particulars` varchar(100) DEFAULT NULL,
`amountid` int(11) DEFAULT NULL,
`paymentdate` date DEFAULT NULL,
PRIMARY KEY (`paymentid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `receipts` (
`receiptid` int(11) DEFAULT NULL,
`paiddate` date DEFAULT NULL,
`amountid` int(11) DEFAULT NULL,
`loanid` int(11) DEFAULT NULL,
`latefee` int(11) DEFAULT NULL,
`installment` int(11) DEFAULT NULL,
`cacno` int(11) DEFAULT NULL,
`cname` varchar(40) DEFAULT NULL,
`pid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; -
Why getResource of jar in classpath returns null?
When i iterate through the jars in the classpath and try to turn them into URL's via the getResources(), they all return null. What am I doing wrong?
(NOTE: It does print out the classpath properly when i print that out)
String classPath = System.getProperty( "java.class.path" );
String delim = System.getProperty( "path.separator" );
String[] locations = classPath.split( delim );
for ( int i = 0; i < locations.length; i++ )
/* ** It doesn't work with either of these statments: ** */
//This one tries the full path (e.g. /home/me/test/some.jar)
//Enumeration en = getClass().getClassLoader().getResources( locations[ i ].substring( locations[ i ] );
//This one tries to use just the local name of the jar (e.g. test.jar)
Enumeration en = getClass().getClassLoader().getResources( locations[ i ].substring( locations[ i ].lastIndexOf( '/' ) + 1 ) );
//This just prints null
while ( en.hasMoreElements(); ) System.out.println( en.nextElement() );
}Edited by: 6tr6tr on Dec 4, 2008 5:46 PM
Edited by: 6tr6tr on Dec 4, 2008 5:47 PMWhat you are doing doesn't make sense. The resource locations within a JAR file are relative to the package directory structure within the JAR file, not to its own absolute location on the disk. And you seem to be expecting to retrieve a JAR file from within a JAR file. This makes no sense either.
-
Request.getCookies() returns null, not 0 length array
(reposted from J2EE forum)
Just upgraded to 9ias with Embedded OC4J and we were getting a NullPointerException.
Our previous calls to request.getCookies() AKA http://java.sun.com/products/servlet/2.1/api/javax.servlet.http.HttpServletRequest.html#getCookies()
would return an an array of Cookie Objects or an array of zero length if there are no cookies.
When we upgraded to 9ias, we got the NPE.
Know why?
OC4J implementation of HttpServletRequest doesn't return a zero length array, it returns a null object when there are no cookies!!!
So we had to change our code to catch this.
Not a big problem, and it's fixed now, but it was a problem nonetheless.
Any reason/rationale for why this was done this way? Anyone? Bueller?Josh,
According to Servlet Spec 2.3 (page 193) SRV 15.1.3.2 Methods for (HttpServletRequest SRV.15.1.3) getCookies() returns null if no cookies present. So we are compliant to the spec.
regards
Debu Panda
Oracle That's strange that the NPE problem didn't occurr until deleting cookies on OC4J, then.
Thanks for responding! -
Get textFrame by label returns null and anchored objects
I have the following two functions:
function getByLabel(page, label)
for(var i=0; i < page.allPageItems.length; i++)
if( page.allPageItems[i].label == label )
return page.allPageItems[i];
and
Object.prototype.findItems = function(/*obj*/props)
if( !('everyItem' in this) )
throw new Error("Error: " + this + " is not a collection.");
var ret = this.everyItem().getElements(),
i = ret.length,
e, p;
while( i-- && e=ret[i] )
for( p in props )
if( (p in e) && e[p]===props[p] ) continue;
ret.splice(i,1);
return ret;
In my page structure, I got one main text frame (the content area) and two vertical text fromes on the sides of the page. There is also a small box textframe on top of the page. All these textboxes EXCEPT the main text frame are ALL "ANCHORED objects". I had to make them anchored objects, eitherwise after importing data, the boxes would jump around. (Example, the small box textframe that is on the top would get moved to the content area textframe etc). Not sure if using anchored objects is the proper way to fix this.
When I try to get the small box text frame, it does not work using the findItems (returns null) but it works fine with the getByLabel method. Why is that?
The calling syntax is:
for( i=0 ; i < doc.pages.length ; ++i )
var page = doc.pages.item(i);
var textFrame = getByLabel(page, 'lblSection' ); //This works
// var textFrame = page.textFrames.findItems({ label: 'lblSection' })[0]; This does not work, returns null
if( textFrame != null )
textFrame.parentStory.contents = "";(function () {
// Per the InDesign Scripting Guide, app.activeScript is only
// valid when a script is directly executed from InDesign, not
// from the ESTK, so a try/catch block is recommended to handle
// it.
var d;
try {
d = app.activeScript.parent.parent.fsName;
} catch (e) {
d = Folder.appPackage.parent.fsName+"/Scripts";
return d; -
Need Help :: Current row attribute value returning null
Hi Frds,
I am facing the problem that
Current row attribute value returning null............ even though value is there..... plz.. he
This is the code in PFR
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("queryBtn")!= null)
String pPersonId = pageContext.getParameter("ctrlPersonId");
String rowReference = pageContext.getParameter(EVENT_SOURCE_ROW_REFERENCE);
OptionsVORowImpl curRow = ( OptionsVORowImpl) am.findRowByRef(rowReference);
String dtlsItem = (String)curRow.getFlexValue(); /* this is returning null value */
/* here creating the hashmap and calling the page with the hashmap*/
Thanks & Regards,
jaya
Message was edited by: 9d452cf7-d17f-4d1e-8e0e-b22539ea8810Hi Jaya,
You want to catch Flexfield values?
Try below code for catch value.
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("queryBtn")!= null)
OADescriptiveFlexBean dfb = (OADescriptiveFlexBean)webBean.findChildRecursive("flexDFF"); //get the DFF bean
OAWebBean dffbean = (OAWebBean)dfb.findChildRecursive("flexDFF0"); //get the field that applies to the attribute1 column that is being rendered
OAMessageStyledTextBean Stylebean = (OAMessageStyledTextBean)dffbean;
String dtlsItem = (String)Stylebean.getText(pageContext);
/* here creating the hashmap and calling the page with the hashmap*/
Thanks,
Dilip -
A getName method allways returns null, why?
I have an
ArrayList<Animals> array_list = new ArrayList<Animals>();
LinkedList<Animals> linked_list = new LinkedList<Animals>();
I want the getName() method in class NewListener to be accessed from the class NextListener which extends NewListener, and therefor should get access to the method. But when I run the program, it allways returns null. Why?
class NewListener implements ActionListener
public String name;
public void actionPerformed(ActionEvent e)
String str_name = showInputDialog(this,"Animal name: ",null);
if(str_name == null)
return;
for(int i=0; i<array_list.size(); i++)
if(array_list.get(i).getName().equalsIgnoreCase(str_name))
setName(str_name); // set the name with the setName() method
linked_list.add(array_list.get(i));
public void setName(String name)
this.name=name;
public String getName()
return name; // this line returns "null"
// return "Hello"; // this line works and returns "Hello"
class NextListener extends NewListener implements ActionListener
public void actionPerformed(ActionEvent e)
try
linked_list .removeFirst();
}catch(NoSuchElementException er)
System.out.println("Numerical value");
String info = getName()+" is in line"; // Why does the getName() method in the NewListener allways return a null?
showMessageDialog(this, info, "Notice", INFORMATION_MESSAGE);
}{code}Roxxor wrote:
Ok, I changed the name to private and I also tried with
public void setName(String name)
System.out.println("setting name on " + this + " to " + name); // <--- ADD THIS LINE
this.name=name;
}and it works. So this.name SHOULD get the value of name, but it doesn�t.
So the question is: why does getName() return null?Your code is doing exactly what you're telling it to do. One or more of your assumptions is wrong. Keep digging. Add more print statements.
Above all, you must drop the attitude that "it should work." There's a bug in your code. You have to find it. Repeating the mantra "It should work" is simply going to put blinders on and make it almost impossible to find your error. Instead, you have to think, "What did I do wrong?" and "If getName is returning null, then setName was never called or was called with null." -
MessageBroker.getMessageBroker(null) returns null.. why?
Hello
I have seen lot of posts regarding this but no clear reason why this would happen. My server runs under Tomcat 6.0.33. In a spearate thread, I try to get MessageBroker msgBroker = MessageBroker.getMessageBroker(null); but it always returns null. In my web.xml, there is a valid servlet MessageBrokerServlet with load-on-startup = 1. In one of the posts Rohit suggested copy jta.jar to tomcat libs but it doesnot help either. I tried to wait 30 secs or so in my thread before invoking MessageBroker.getMessageBroker(null) and also tried to set param-name messageBrokerId in web.xml, but none seems to help.. please help...
Also tried MessageBroker broker = FlexContext.getMessageBroker() in the init() of my Servlet but it is also null.
thanks
Rupak
Message was edited by: RupakKhuranaIt is resolved now. Upon careful examination of the log, I found that the MessageBrokerServlet was indeed throwing an exception due to a wrong tag being used in messaging-config.xml file..
-
Naming.lookup() returns null???? Why??
I read about this in a previous forum but there was no answer given to someones question about it. Sometimes Naming.lookup() returns null and a later call will succeed. Is there a recognised reason for this? Is it a recognised bug or undocumented feature?
I have seen some sample RMI source on the Internet and sometimes the code checks for null and gives and error. The sample programs from Sun regarding RMI don't check for null.
Has anyone ever encountered this and found a way around it?
Thanks for you help,
Anthonyhi
are you using an Activatable object??
then, it can happens, since you won't have your object until the ActivationSytem is running.
And it takes little time for the activation system to run.
If u are using an 'Activatable object, i will suggest to write a loop in which you check if hte ActivationSystem was started.
something like this
boolean display = false;
ActivationGroupID agi = null;
while(true) {
try {
if(!display) {
System.err.println("Trying to connect to ActivationSystem...");
display = !display;
agi = ActivationGroup.getSystem().registerGroup(exampleGroup);
break;
} catch(Exception e) {
continue;
}
Maybe you are looking for
-
I have a package called voiceexpert which contains three classes: Disease, DiagnosingEngine and Symptoms which is a JavaBean. Symptoms makes use of Disease and DiagnosingEngine objects. voiceexpert is stored in the directory: c:\diagapp3 I compiled S
-
Write back - how OBIEE decides insert or update action ?
Hello I have a question regarding write-back. I have both an insert and update statement in my template file. I want to give the users ability to insert new rows and update existing ones. I am able to do both, but sometimes the insert/update behavior
-
Accesing Oracle_Home in 11g
Please kindly help out; im looking for ORACLE_HOME...my OS is Window7 while my DB is Oracle 11g Express Edition
-
Dear all, Is there any Standared Z object for personnel area based. the Requirement is we have to give the payslip authorization i.e the t code is PC00_M40_CEDT client wants to give this as region wise. can u please tell for this if there is any
-
SSRS 2008 R2 I have a reported with 2 nested groups. Top Level - Product Category Second Level - Warehouse When the report runs it should only show the Product Category groups. When the + is clicked next to Product Category it should show the Warehou