Need suggestions on this custom class

I have a simple class (SQLTask) that generisizes execution of a INSERT/UPDATE/DELETE statement.
The main problem is that when the elements of the list
are null. I do not know the type/class of the null object
so as to bind it properly. In my bindNull method below
I bind it as stmt.setNull(n, Types.NULL) which does not
work. I don't want to change the ArrayList datastructure
because it really simplifies client calls.
Any suggestions?
public class SQLTask {
private static final Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("America/Chicago"));
private List params = new ArrayList();
private String sql;
public SQLTask(String sql, List params) {
this.sql = sql;
this.params = params;
public void save(Transaction tt) throws SQLException {
PreparedStatement stmt = tt.prepareStatement(sql);
int n = 1;
for (Iterator itr = params.iterator(); itr.hasNext(); ) {
Object value = itr.next();
bindParams(n++, stmt, value);
int rows = stmt.executeUpdate();
log.debug(rows+" were affected by the sql "+sql);
private void bindParams(int n,PreparedStatement stmt, Object value) throws SQLException {
if (value == null) {
bindNull(n, stmt, value);
return;
try {
if (value.getClass().equals(Integer.class)) {
stmt.setInt(n, ((Integer)value).intValue());
}else if (value.getClass().equals(Long.class)) {
stmt.setLong(n, ((Long)value).intValue());
}else if (value.getClass().equals(Float.class)) {
stmt.setFloat(n, ((Float)value).intValue());
}else if (value.getClass().equals(Double.class)) {
stmt.setDouble(n, ((Double)value).intValue());
}else if (value.getClass().equals(String.class)) {
stmt.setString(n, (String)value);
} else if (value.getClass().equals(Date.class)) {
stmt.setTimestamp(n, new java.sql.Timestamp(((Date)value).getTime()), calendar);
} catch(ClassCastException e) {
throw new SQLException("ClassCastException while binding parameters value "+value+" of class "+value.getClass());
private void bindNull(int n,PreparedStatement stmt, Object key) throws SQLException {
stmt.setNull(n, Types.NULL)

Where do you close the statement?
Where do you close the statement when there is an exception?
What happens to the connection when there is an exception?

Similar Messages

  • Adding info blocks in a custom class for Factsheet

    Hi Experts,
    I need to create a custom class by copying the standard class 'CL_CRM_CCKPT_PROCESS_OPEN'  which should accept input as Activity Types. At present this class only accepts Number of months as Input. This added input field should accept individual multiple values & Ranges and F4 help also needs to be attached for the field.
    I would like to know how to add this new input field to the class 'CL_CRM_CCKPT_PROCESS_OPEN' .
    Any valuable help would be appreciated & points would be rewarded generously for the same.
    Regards,
    Sangeeta.

    Hi,
    You can copy and include your fields in the class using transaction SE24.
    According to your subject  line you are trying to modify an existing factsheet display you own data. I would suggest instead of creating a modifying an existing class, implement your own function module and call this function module directly from the smartform used to for factsheet. This is an easier way to implement modification of factsheets instead of using the classes and displaying the data.
    Reward with points if this helps.
    Regards,
    Gaurav Gera

  • Help understanding custom class to access local sqlite db

    Hi;
    I'm using FB 4.5.
    I'm following a tutorial out of the Adobe Air 1.5 Cookbook. From Chapter 10 in case you're familiar. But I assume there is a common method without having to have the Cookbook in your possession.
    The example employs a custom class, and button presses for all the processes involved in the example. I'm trying to figure out how I can modify this example for my purposes. Loading the dataprovider is the result of a button click.
    I'm new to Flex and OOP is still not a clear picture in my mind, but I can sort of see how this project works, using getter/setter methods.
    Using this custom class, how can I load existing data upon startup?
    Thanks
    Kristin

    I posted this link http://forums.adobe.com/thread/890517?tstart=150
    in this thread http://forums.adobe.com/thread/893508?tstart=30
    which was then continued here http://forums.adobe.com/thread/894123?tstart=0

  • Need help calling and looping custom classes

    Hi, I am writing a code with custom classes in it and another program that calls upon all of the classes in the first program. I can get the second one (L6) to call upon and execute all of the classes of the first (Foreign). However, I need the second one to loop until quit is selected from the menu on Foreign and I can't seem to figure out how to do it. Here are the codes:
    L6:
    public class lab6
    public static void main(String[] args)
    Foreign camount = new Foreign();
    camount = new Foreign();
    camount.get();
    camount.print();
    camount.intake();
    camount.convert();
    camount.vertprint();
    System.out.println(camount);
    Foreign:
    import java.util.Scanner;
    public class Foreign
    private String country;
    private int choice;
    private float dollars;
    private float conversionValue;
    private float conversionAmount;
    public Foreign()
    country = "null";
    choice = 0;
    dollars = 0;
    conversionValue = 0;
    conversionAmount = 0;
    public void get()
         Scanner Keyboard = new Scanner(System.in);
              System.out.println("Foreign Exchange\n\n");
    System.out.println("1 = U.S. to Canada");
    System.out.println("2 = U.S. to Mexico");
    System.out.println("3 = U.S. to Japan");
    System.out.println("4 = U.S. to Euro");
    System.out.println("0 = Quit");
    System.out.print("\nEnter your choice: ");
    choice = Keyboard.nextInt();
    public void print()
    System.out.print("\nYou chose " + choice);
    public void intake()
         Scanner Keyboard = new Scanner(System.in);
              if (choice >= 1 && choice <= 4)
    switch (choice)
              case 1: System.out.println("\nU.S. to Canada");
                        conversionValue = 1.1225f;
                        country = ("Canadian Dollars");
                        break;
              case 2: System.out.println("\nU.S. to Mexico");
                        conversionValue = 10.9685f;
                        country = ("Mexican Pesos");
    break;
              case 3: System.out.println("\nU.S. to Japan");
                        conversionValue = 118.47f;
                        country = ("Japanese Yen");
    break;
              case 4: System.out.println("\nU.S. to Euro");
                        conversionValue = 0.736377f;
                        country = ("European Union Euros");
    break;
                   System.out.print("\nEnter U.S. dollar amount: ");
              dollars = Keyboard.nextFloat();
    public void convert()
    conversionAmount = conversionValue * dollars;
    public void vertprint()
    System.out.println("\nCountry = " + country);
    System.out.println("Rate = " + conversionValue);
    System.out.println("Dollars = " + dollars);
    System.out.println("Value = " + conversionAmount);
    public String toString()
    String line;
    line = "\n" + country + " " + conversionValue + " " + dollars + " " + conversionAmount;
    return line;
    I appreciate any help anyone can give me. This is driving me crazy. Thanks.

    1. first you need to write method to get choice value from Foreign class.
    simply add this method.
       public class Foreign {
          // ... Add this
          public int getChoice() {
             return choice;
       }2. Then in your main, you can obtain with previos method.
    public static void main(String[] args) {
       Foreign camount = new Foreign();
       // remove this. you alredy create an instance in last statement.
       //camount = new Foreign();
       int choice = 0;
       do {
          camount.get();
          choice = camount.getChoice();
          // your process...
       } while (choice != 0);
    }

  • ICloud password works on everything but erasing all data. I got a new iPhone and need to wipe this one but am not sure how else to do this since the password is not working. Any suggestions?

    iCloud password works on everything but erasing all data. I got a new iPhone and need to wipe this one but am not sure how else to do this since the password is not working. Any suggestions?

    Firefox also makes regular backups of your bookmarks in a folder named bookmarkbackups in your personal settings folder. You can restore the backup to your new Firefox, but unlike importing the HTML-format file, it is a complete drop-in replacement, so if you have saved new bookmarks you do not want to lose, the export/import method may work better for you.
    By default, Windows hides your personal settings folder so the easiest way to access it is from inside Firefox. You can use either:
    * "3-bar" menu button > "?" button > Troubleshooting Information
    * (menu bar) Help > Troubleshooting Information
    * type or paste about:support in the address bar and press Enter
    In the first table on the page, click the "Show Folder" button. This will launch a window showing your Firefox settings files.
    You might want to back up this whole folder if you have other data you want to preserve from your XP computer.
    Either way, you should find the bookmarkbackups folder here and when you click into it, find maybe 10 files with dates in their names.
    The procedure to restore the file once you have it on removable media or some other convenient place is described in this article: [[Restore bookmarks from backup or move them to another computer]].
    Regarding the other files and what you might find of use: [[Recovering important data from an old profile]].

  • We are using EBS 12.1.3.  When we input a sales order from a customer we input the sales order and specify the date the customer wants it.  This isn't always the date that we intend on manufacturing it though.  I need to put a customer due date in, but be

    We are using EBS 12.1.3.  When we input a sales order from a customer we input the sales order and specify the date the customer wants it.  This isn't always the date that we intend on manufacturing it though.  I need to put a customer due date in, but be able to put a date in another field that MRP can read in the event we choose to manufacture based on another date.  For example, early.
    Any help would be appreciated.

    What you are experiencing is 100% related to Malware.
    Sometimes a problem with Firefox may be a result of malware installed on your computer, that you may not be aware of.
    You can try these free programs to scan for malware, which work with your existing antivirus software:
    * [http://www.microsoft.com/security/scanner/default.aspx Microsoft Safety Scanner]
    * [http://www.malwarebytes.org/products/malwarebytes_free/ MalwareBytes' Anti-Malware]
    * [http://support.kaspersky.com/faq/?qid=208283363 TDSSKiller - AntiRootkit Utility]
    * [http://www.surfright.nl/en/hitmanpro/ Hitman Pro]
    * [http://www.eset.com/us/online-scanner/ ESET Online Scanner]
    [http://windows.microsoft.com/MSE Microsoft Security Essentials] is a good permanent antivirus for Windows 7/Vista/XP if you don't already have one.
    Further information can be found in the [[Troubleshoot Firefox issues caused by malware]] article.
    Did this fix your problems? Please report back to us!

  • "Unable to Connect" using Firefox and Windows 7. Have tried all the suggestions on this website to no avail. I need firefox for my work! Please help!

    "Unable to Connect" using Firefox and Windows 7. Have tried all the suggestions on this website to no avail. I need firefox for my work! Please help!
    == This happened ==
    Every time Firefox opened
    == Since I downloaded Firefox

    same here my AV is ESET, i already unblock it but no use can't connect to the internet..

  • FormsCentral retiring in July???!!!  Are you freaking kidding me?  My clients use this feature all the time.  What do you suggest I do now?  What service do I go with that is comparable to it?  I need help with this asap!

    FormsCentral retiring in July???!!!  Are you freaking kidding me?  My clients use this feature all the time.  What do you suggest I do now?  What service do I go with that is comparable to it?  I need help with this asap!

    I would suggest checking out http://www.logiforms.com. They have really good PDF support for both hosted PDF's and generating PDFs. You can:
    populate PDF forms from a web form submission
    Merge multiple PDF's together using conditional logic
    Include uploaded images in the generated PDF
    Get Electronic signatures on PDF's
    Use conditional logic when creating PDF's
    Convert HTML to PDF. You design in HTML and CSS and use form field wildcards and generate the PDF
    More of the PDF features are explained here:
    PDF Form Creator | PDF Form Maker | V3.Logiforms.com
    They are also offering a 25% discount to anyone coming from Forms Central...

  • HT5037 I have downloaded and installed this tool, but it's still telling me I need to update. Any suggestions why this isn't working for me? I have a Macbook Pro.

    I have downloaded and installed the iPhoto tool to update so my pictures transfer over, but it's still telling me I need to update. Any suggestions why this isn't working for me? I have a Macbook Pro.

    You have to download and RUN the iPhoto library upgrade - then launch iPhoto - If you had iPhoto '08 or earlier (version 7.x.x) - the upgrade is installed in the utilities folder of your Applications folder
    LN

  • I started to have connectivity issues with a linksys router.  The linksys rep suggested ...Check from Apple if they have some particular ports for the Apple TV that we might need to open on the router, anyone have any suggestions for this?

    I started to have connectivity issues with a linksys router.  The linksys rep suggested ...Check from Apple if they have some particular ports for the Apple TV that we might need to open on the router, anyone have any suggestions for this?

    Hi RonWM,
    Thanks for visiting Apple Support Communities.
    This article lists the ports that are used by the Apple TV:
    Apple TV: TCP and UDP ports and protocols used
    http://support.apple.com/kb/HT2463
    Best Regards,
    Jeremy

  • Use of deployment classpath or shared-libraries to pick-up "custom" classes

    Hi,
    I’m trying to determine an approach to dealing with how classes are found in a deployed ADF application via classpath, etc. I’ve tried to explain the situation below as best I can so it’s clear. If you have any comments/suggestions as to how this could be done, it would be much appreciated
    Current Application structure:
    Consists of an application initially deployed to OC4J 10.1.3.4 using an alesco-wss.ear file
    Application contains a single Web Module, initially deployed as wss.war file within the alesco-wss.ear file above.
    The Web Module (wss) was built in JDeveloper 10.1.3.4 using 2 projects, a Model and ViewController project, and uses ADFBC.
    The Model project seems to also generate an alesco-model.jar file in the /WEB-INF/lib/ folder, even though Model classes are in the /WEB-INF/classes/ folder below?
    Exploded structure of application on application server looks something like:
    applications/alesco-wss/META-INF/
    /application.xml <- specifies settings for the Application such as Web Module settings
    /wss/
    /app/ <- directory containing application .jspx pages protected by security
    /images/ <- directory containing application images
    /infrastructure/ <- directory containing .jspx files for login, logout and error reduced security
    /skins/ <- directory containing Skin image, CSS and other files
    /WEB-INF/
    /classes/ <- directory containing application runtime class files as per package sub-directories
    /lib/ <- JAR files used by application (could move some to shared-libaries?) – seems to contain alesco-model.jar
    /regions/ <- directory containing .jspx pages used for Regions within JSPX template page
    /templates/ <- directory containing template .jspx pages used for development (not really required for deployment)
    /adf-faces-config.xml
    /adf-faces-skins.xml
    /faces-config.xml
    /faces-config-backing.xml
    /faces-config-nav.xml
    /region-metadata.xml
    /web.xml
    testpage.jspx <- Publicly accessible page just to test
    The application runs successfully using the above deployment structure.
    We plan to use the exploded deployment structure so that updates to pages, etc. can be applied individually rather than requiring construction and re-deployment of complete .EAR or .JAR files.
    What I’m trying to determine/establish is whether there is a mechanism to cater for a customisation of a class, where such a class would be used instead of the original class, perhaps using a classpath mechanism or shared library?
    For example, say there is a class “talent2.alesco.model.libraries.ModelUtil.class”, this would in the above structure be found under:
    applications/alesco-wss/META-INF/classes/talent2/alesco/model/libraries/ModelUtil.class
    Classes using the above class would import “talent2.alesco.model.libraries.ModelUtil”, so they effectively use that full-reference to the class (talent2.alesco.model.libraries as a path, either expanded or within a JAR).
    From the Oracle Containers for J2EE Developer’s Guide 10.1.3 page 3-17, it lists the following:
    Table 3–1 Configuration Options Affecting Class Visibility
    Classloader Configuration Option
    Configured shared library <code-source> in server.xml
    <import-shared-library> in server.xml
    app-name.root <import-shared-library> in orion-application.xml
    <library> jars/directories in orion-application.xml
    <ejb> JARs in orion-application.xml
    RAR file: all JARs at the root.
    RAR file: <native-library> directory paths.
    Manifest Class-Path of above JARs
    app-name.web.web-mod-name WAR file: Manifest Class-Path
    WAR file: WEB-INF/classes
    WAR file: WEB-INF/lib/ all JARs
    <classpath> jars/directories in orion-web.xml
    Manifest Class-Path of above jars.
    search-local-classes-first attribute in orion-web.xml
    Shared libraries are inherited from the app root.
    We have reasons why we prefer not to use .JAR files for these “non-standard” or “replaced” classes, so prefer an option that doesn’t involve creating a .JAR file.
    Our ideal solution would be to have such classes placed in an alternate directory that is referred to in a classpath such that IF a class exists in that location, it will be used instead of the one in the WEB-INF/classes/ directories, and if not such class is found it would then locate it in the WEB-INF/classes/ directories.
    - Can a classpath be set to look for such classes in a directory?
    - Do the classes have to replicate the original package directory structure within that directory (<dir>/talent2/alesco/model/libraries)?
    - If the class were put in such a directory, without replicating the original package directory structure, I assume the referencing “import” statements would not locate it correctly.
    - Is the classpath mechanism “clever” enough to search the package directory structure to locate the class (i.e. just points to <dir>)?
    - Or would the classpath mechanism require each individual path replicating the package structure to be added (i.e. <dir>/talent2/alesco/model/libraries/ and any other such package path)?
    If we are “forced” to resort to the use of JAR files, does a JAR file used for the purpose of overwrite/extending a sub-set of classes in the original location need to contain ALL related package classes? Or does it effectively “superset” classes it finds in all JAR files, etc. in the whole classpath? That is, it finds talent2.alesco.model.libraries.ModelUtil in the custom.jar file and happily goes on to get the remainder of talent2.alesco.model.libraries classes in the other core JAR/location. Or does it need all of them to be in the first JAR file for that package?
    Any help would be appreciated to understand how these various class visibility mechanisms could be used to achieve what is required would be appreciated.
    Gene

    So, nobody's had any experience with deploying an ADF application, and providing a means for a client to place custom classes in such a way as they're used in preference to the standard application class, effectively to implement a customised class without overwriting the original "standard" class?
    Gene

  • Accessing custom classes from JSP

    Hi Guys,
    I am having some problems accessing my custom classes from my JSP.
    1) I've created a very simple class, SimpleCountingBean that just has accessors for an int. The class is in the package "SimpleCountingBean". I compiled this class locally on my laptop and uploaded the *.class file to my ISP.
    2) I've checked my classpath and yes, the file "SimpleCountingBean/SimpleCountingBean.class" is located off of one of the directories listed in the classpath.
    3) When I attempt to use this class in my JSP, via the following import statement:
    import "SimpleCountingBean.*"
    I get the following compile error
    java.lang.NoClassDefFoundError: SimpleCountingBean/SimpleCountingBean
    I'm pretty sure that my classpath is properly setup because when I purposely garble the import statement, I get the "package not found" compile error.
    Do I need to upload some other files in addition to the class file? Any suggestions would of course be appreciated.
    Sonny.

    Trying to get some clearer view.. so don't mind..
    So you uploaded all your .jsp files into your account which is:
    home/sonny
    and it compiles and work. But custom classes doesn't seems to be working, where did you place your classes?
    From my knowledge of tomcat, classes are normally placed in, in this case:
    home/sonny/web-inf/classes
    Maybe it differs from windows enviroment to *nix enviroment.. well, I'm just saying out so if its not the case.. don't mind me.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Sqlite, moving sqlstatements to a custom class

    I'm working on a FB AIR app.
    I have a main.mxml file with a source to a main.as file.
    My main.as file is getting very bloated with sqlstatements. I want to move these to a custom class, but I don't know how to proceed.
    I found an example of a package on this page: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/data/SQLConnectio n.html#begin()
    about a 3rd of the way down.
    The example above is exactly what I want to do, but I don't know how to adapt this for use in my main.as file beyond importing the class and instantiating it. How do I assign my values to the class file? How do I use the class to load up the dataProvider, etc...
    Also, in the example above the class extends Sprite. This sounds like it's meant for a Flash application. Would I still extend Sprite in Flex 4? I have done a couple of simple events, passing data back to the main app with the Flash.Events.Event, so the use of Sprite causes some confusion.
    In a previous post, Amy suggested using Robotlegs. I think I need to get a handle on using Flex before I explore other architectures. I'm just not that sophisticated yet.
    Thanks
    Kristin

    ok, a quick example
    make a new package called utilities and then a new actionscript class called DatabaseManager
    package utilities
         import flash.data.SQLConnection;
         import flash.data.SQLResult;
         import flash.data.SQLStatement;
         import flash.filesystem.File;
         import mx.collections.ArrayCollection;
         public class DatabaseManager
              private var sqlConnection:SQLConnection;
              private var stm:SQLStatement;
              public function DatabaseManager()
                   //connect to database
                   sqlConnection = new SQLConnection();
                   sqlConnection.open(File.applicationStorageDirectory.resolvePath("whatever"));
                   //create tables if not exist
                   stm = new SQLStatement();
                   stm.sqlConnection = sqlConnection;
                   stm.text = "create your table here";
                   stm.execute();
                   //create more tables
              public function getThings():ArrayCollection
                   stm = new SQLStatement();
                   stm.sqlConnection = sqlConnection;
                   stm.text = "your query";
              public function addStuff(stuff:Object):int
    then in your main file you need to import
    import utilities.DatabaseManager;
    instantiate the class, this connects and creates tables
    private var myDB:DatabaseManager = new DatabaseManager();
    then to use it
    var listFromDatabase:ArrayCollection = myDB.getThings();
    insertid = myDB.addStuff(thingToAdd);
    hope that gives you an idea 

  • Need Suggestion on performance of Popups

    i have some performance issue on Popups display.
    presently using "dhtmlmodal.open" to display a popup, this is time consuming to display the popup and the page contents.
    is there any other alternative within JSF1.1 without using 3rd party library or components.
    i know Richfaces, IBM, icefaces provides some Rich components, but my requirement is not to use them.
    i need a solution within the JSF1.1 spec.
    any Suggestion on this is great for me and very thankful.
    thanks in advance.
    regards,
    Pravin

    Get it to work using plain HTML/Javascript. Once you got that to work, wrap it in a custom JSF component.

  • Unit testing: Mocking custom classes with null

    Hi,
    I was trying to save time on testing the usual hashCode() and equals() methods so I got this class: http://www.cornetdesign.com/files/BeanTestCase.java.txt
    I altered it a bit as it wasn't handling standard classes only primitives.
    Anyway, I got to the point to include my own custom classes.
    I have to create a 'mock' object for my class properties, e.g. field.getType().newInstance()
    Fine, but there are some tricky instances. E.g. when I'd like to create an instance of java.net.URL which takes a URL as String in the constructor.
    This is almost impossible to automate as it has to be a valid URL format not just a random String.
    So, I thought I set them to null, e.g.
    assertTrue(o1.equals(o2))
    as both properties are null.
    Is this the right approach you think?
    I welcome any suggestions.
    My initial idea was to save enormous amount of time automating the hashCode() and equals() method tests as they took so long to write.
    Thanks

    Trouble would be that you are only testing the null branch of the equals or hashCode, which typically have to check for null, then if not null do an actual comparison.
    It's worth the effort of learning to use a package such as EasyMock to create and program mock objects. It's tidiier if you are progamming to interfaces, however, but it will mock ordinary objects, though probably not if they are final.
    What you could do is to define a factory interface, and have a table of anonymous classes wich generate various types. In effect create a library of dumy object factories.
    Something like:
    private interface DummyGenerator {
          Object generate(int idx);
          Class<?> getType();
    private final static DummyGenerator[] generatorsTable {
        new DummyGenerator() {
               public Object generate(int idx) {
                 return new URL("http://nowhere.com/" + idx);
         public Class<?> getType() { return URL.class; }
    .. generators for other classes
    private final static Map<Class<?>, DummyGenerator> genMap = new HashMap<Class<?>, DummyGenerator>(generatiorsTable.length);
    static {
        for(DummyGenerator gen : generatorsTable)
            genMap.put(gen.getType(), gen);
    }

Maybe you are looking for

  • How to create cost element in controlling

    how to create cost element in controlling for Direct meterail. i have to create for each materail or on rm consumption is enough please give me replay thanks

  • Get a test credit card for testing purposes?

    Hi everyone, this is Robin from Germany. I work for HUGO BOSS and I currently evaluate Apple Pay for our company-owned stores. We are thinking of upgrading our stores with NFC POS Terminals in order to accept Apple Pay. Unfortunately, since our depar

  • PDF Creator: Problem ...

    All I have this PDF creator which prints my standard report to PDF format. I am logged in as the administrator. So everything works fine. When I log in as a user, the PDF creator doesn't not print a PDF. Any clues to what might be happening ? Do I ne

  • XI - Communication Channel Monitor

    Hi, I have this 'interesting' situation where although I can view my Sender Comm. Channels with the Communication Channel Monitor, I'm unable to view my Receiver Communication Channels - no matter the Adapter Type. As a result, when I test my scenari

  • How to uninstall oracle client automatically

    Hello, I need to install oracle 10g client on hundreds of computers (I'm OK with that task), but before that, I want to uninstall a former oracle 8i client... OUI does it well using the graphical mode, but I need to find how to do it automatically...