Force use of deprecated API to fail compilation

Ok, short question that I hope you can help me with. Is it possible to force the compilation to fail if I a deprecated API is used. Why? Well, we are a large number of developers and sometimes people use a method or class that has been deprecated because they are either lazy or can't find the new class/method.

This isn't possible with the default compiler. You would have to write a special compiler wrapper that calls the java compiler (sun.tools.javac.Main in tools.jar)
Can't you just hang a rubber chicken over the desk of the person who checked in bad code - that was what happened at my last job :)
Need Java help? Want to help people who do? Sit down with a cup of Java at the hotjoe forums.
Sure they're new - come get them started!

Similar Messages

  • Deprecated api in 1.2.1

    compiling samp10.java
    samp10.java:32: Note: The method java.net.URL createURL(java.lang.String) in class oracle.xml.sql.dml.OracleXMLSave has been deprecated.
    URL url = sav.createURL(fileName);
    ^
    Note: samp10.java uses a deprecated API. Please consult the documentation for a
    better alternative.
    2 warnings

    Ignore what I said. I misread the message. The createURL needs to be changed to getURL in samp10.
    Thanks

  • Deprecated API compilation error

    Please help. Attached is my source code. I'm receiving a compilation error that reads 'RnrBooksApp.java uses or overrides a deprecated API. Recompile with -deprecation for details.' I'm very new to Java, so I appreciate any assistance. Thank you!
    //ClassName: RnrBooksApp
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class RnrBooksApp extends Frame implements ItemListener, ActionListener
         //Declare database variables
         Connection conBook;
         Statement cmdBook;
         ResultSet rsBook;
         boolean blnSuccessfulOpen = false;
         //Declare components
         Choice lstBooks               = new Choice();
         TextField txtISBN          = new TextField(13);
         TextField txtTitle          = new TextField(50);
         TextField txtAuthor = new TextField(30);
         TextField txtPublisher     = new TextField(30);
         Button btnAdd      = new Button("Add");
         //Button btnUpdate = new Button("Update");
         Button btnEdit     = new Button("Save");
         Button btnCancel = new Button("Cancel");
         Button btnDelete = new Button("Delete");
         Label lblMessage = new Label(" ");
         public static void main(String args[])
              //Declare an instance of this application
              RnrBooksApp thisApp = new RnrBooksApp();
              thisApp.createInterface();
         public void createInterface()
              //Load the database and set up the frame
              loadDatabase();
              if (blnSuccessfulOpen)
                   //Set up frame
                   setTitle("Books Database");
                   addWindowListener(new WindowAdapter()
                                  public void windowClosing(WindowEvent event)
                                  stop();
                                  System.exit(0);
                   setLayout(new BorderLayout());
                   //Set up top panel
                   Panel pnlTop = new Panel(new GridLayout(2, 2, 10, 10));
                   pnlTop.add(new Label("ISBN"));
                   lstBooks.insert("Select a Book to Display", 0);
                   lstBooks.addItemListener(this);
                   pnlTop.add(lstBooks);
                   pnlTop.add(new Label(" "));
                   add(pnlTop, "North");
                   //Set up center panel
                   Panel pnlMiddle = new Panel(new GridLayout(5, 2, 10, 10));
                   pnlMiddle.getInsets();
                   pnlMiddle.add(new Label("ISBN"));
                   pnlMiddle.add(txtISBN);
                   pnlMiddle.add(new Label("Title"));
                   pnlMiddle.add(txtTitle);
                   pnlMiddle.add(new Label("Author"));
                   pnlMiddle.add(txtAuthor);
                   pnlMiddle.add(new Label("Publisher"));
                   pnlMiddle.add(txtPublisher);
                   setTextToNotEditable();
                   Panel pnlLeftButtons = new Panel(new GridLayout(0, 2, 10, 10));
                   Panel pnlRightButtons = new Panel(new GridLayout(0, 2, 10, 10));
                   pnlLeftButtons.add(btnAdd);
                   btnAdd.addActionListener(this);
                   pnlLeftButtons.add(btnEdit);
                   btnEdit.addActionListener(this);
                   pnlRightButtons.add(btnDelete);
                   btnDelete.addActionListener(this);
                   pnlRightButtons.add(btnCancel);
                   btnCancel.addActionListener(this);
                   btnCancel.setEnabled(false);
                   pnlMiddle.add(pnlLeftButtons);
                   pnlMiddle.add(pnlRightButtons);
                   add(pnlMiddle, "Center");
                   //Set up bottom panel
                   add(lblMessage, "South");
                   lblMessage.setForeground(Color.red);
                   //Display the frame
                   setSize(400, 300);
                   setVisible(true);
              else
                   stop(); //Close any open connection
                   System.exit(-1); //Exit with error status
         public Insets insets()
              //Set frame insets
              return new Insets(40, 15, 15, 15);
         public void loadDatabase()
              try
                   //Load the Sun drivers
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              catch (ClassNotFoundException err)
                   try
                   //Load the Microsoft drivers
                   Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver");
                   catch (ClassNotFoundException error)
                   System.err.println("Drivers did not load properly");
              try
                   //Connect to the database
                   conBook = DriverManager.getConnection("jdbc:odbc:Book");
                   //Create a ResultSet
                   cmdBook = conBook.createStatement();
                   rsBook = cmdBook.executeQuery(
                        "Select * from Book;");
                   loadBooks(rsBook);
                   blnSuccessfulOpen = true;
              catch(SQLException error)
                   System.err.println("Error: " + error.toString());
         public void loadBooks(ResultSet rsBook)
              //Fill ISBN list box
              try
                   while(rsBook.next())
                   lstBooks.add(rsBook.getString("ISBN"));
              catch (SQLException error)
                   System.err.println("Error in Display Record." + "Error: " + error.toString());
         public void itemStateChanged(ItemEvent event)
              //Retrieve and display the selected record
              String strISBN = lstBooks.getSelectedItem();
              lblMessage.setText(""); //Delete instructions
              try
                   rsBook = cmdBook.executeQuery(
                        "Select * from Book where [ISBN] = '"
                        + strISBN + "';");
                   txtISBN.setText(strISBN);
                   displayRecord(rsBook);
                   setTextToEditable();
              catch(SQLException error)
                   lblMessage.setText("Error in result set. " + "Error: " + error.toString());
         public void displayRecord(ResultSet rsBook)
              //Display the current record
              try
                   if(rsBook.next())
                        txtTitle.setText(rsBook.getString("Title"));
                        txtAuthor.setText(rsBook.getString("Author"));
                        txtPublisher.setText(rsBook.getString("Publisher"));
                        lblMessage.setText("");
                   else
                        lblMessage.setText("Record not found");
                        clearTextFields();
              catch (SQLException error)
                   lblMessage.setText("Error: " + error.toString());
         public void actionPerformed(ActionEvent event)
              //Test the command buttons
              Object objSource = event.getSource();
              if(objSource == btnAdd && event.getActionCommand () == "Add")
                   Add();
              else if (objSource == btnAdd)
                   Save();
              else if(objSource == btnEdit)
                   Edit();
              else if(objSource == btnDelete)
                   Delete();
              else if(objSource == btnCancel)
                   Cancel();
         public void setTextToNotEditable()
              //Lock the text fields
              txtISBN.setEditable(false);
              txtTitle.setEditable(false);
              txtAuthor.setEditable(false);
              txtPublisher.setEditable(false);
         public void setTextToEditable()
              //Unlock the text fields
              txtISBN.setEditable(true);
              txtTitle.setEditable(true);
              txtAuthor.setEditable(true);
              txtPublisher.setEditable(true);
         public void clearTextFields()
              //Clear the text fields
              txtISBN.setText("");
              txtTitle.setText("");
              txtAuthor.setText("");
              txtPublisher.setText("");
         public void Add()
              //Add a new record
              lblMessage.setText(" ");     //Clear previous message
              setTextToEditable();                //Unlock the text fields
              clearTextFields();                //Clear text field contents
              txtISBN.requestFocus ();
              //Set up the OK and Cancel buttons
              btnAdd.setLabel("OK");
              btnCancel.setEnabled(true);
              //Disable the Delete and Edit buttons
              btnDelete.setEnabled(false);
              btnEdit.setEnabled(false);
         public void Save()
                        //Save the new record
                        // Activated when the Add button has an "OK" label
                        if (txtISBN.getText().length ()== 0 || txtAuthor.getText().length() == 0)
                             lblMessage.setText("The ISBN or Author is blank");
                        else
                             try
                                  cmdBook.executeUpdate("Insert Into Book "
                                            + "([ISBN], [Title], [Author], [Publisher]) "
                                            + "Values('"
                                            + txtISBN.getText() + "', '"
                                            + txtTitle.getText() + "', '"
                                            + txtAuthor.getText() + "', '"
                                            + txtPublisher.getText() + "')");
                                  //Add to name list
                                  lstBooks.add(txtISBN.getText());
                                  //Reset buttons
                                  Cancel();
                             catch(SQLException error)
                                  lblMessage.setText("Error: " + error.toString());
         public void Delete()
                        //Delete the current record
                        int intIndex = lstBooks.getSelectedIndex();
                        String strISBN = lstBooks.getSelectedItem();
                        if(intIndex == 0)          //Make sure a record is selected
                                                      //Position 0 holds a text message
                             lblMessage.setText("Please select the record to be deleted");
                        else
                             //Delete the record from the database
                             try
                                  cmdBook.executeUpdate(
                                       "Delete from Book where [ISBN] = '" + strISBN + "';");
                                  clearTextFields();               //Delete from screen
                                  lstBooks.remove(intIndex);          //Delete from list
                                  lblMessage.setText("Record deleted");     //Display message
                             catch(SQLException error)
                                  lblMessage.setText("Error during Delete."
                                       + "Error: " + error.toString());
         public void Cancel()
                        //Enable the Delete and Edit buttons
                        btnDelete.setEnabled(true);
                        btnEdit.setEnabled(true);
                        //Disable the Cancel button
                        btnCancel.setEnabled(false);
                        //Change caption of button
                        btnAdd.setLabel("Add");
                        //Clear the text fields and status bar
                        clearTextFields();
                        lblMessage.setText("");
         public void Edit()
                        //Save the modified record
                        int intIndex = lstBooks.getSelectedIndex();
                        if(intIndex == 0)          //Make sure a record is selected
                                                      //Position 0 holds a text message
                             lblMessage.setText("Please select the record to change");
                        else
                             String strISBN = lstBooks.getSelectedItem();
                             try
                                  cmdBook.executeUpdate("Update Book "
                                       + "Set [ISBN] = '" + txtISBN.getText() + "', "
                                       + "[Title] = '" + txtTitle.getText() + "', "
                                       + "[Author] = '" + txtAuthor.getText() + "', "
                                       + "[Publisher] = '" + txtPublisher.getText() + "' "
                                       + "Where [ISBN] = '" + strISBN + "';");
                                  if (!strISBN.equals(txtISBN.getText()))
                                       //Last name changed; change the list
                                       lstBooks.remove(intIndex); //Remove the old entry
                                       lstBooks.add(txtISBN.getText()); //Add the new entry
                             catch(SQLException error)
                                  lblMessage.setText("Error during Edit. " + "Error: " + error.toString());
         public void stop()
              //Terminate the connection
              try
                   if (conBook != null)
                   conBook.close();
              catch(SQLException error)
                   lblMessage.setText("Unable to disconnect");

    How DO you compile then?
    If you don't type "javac", you must be using an IDE.
    In your IDE there should be some kind of configuration
    tab or option for "compiler options" or compilation options
    or compiler arguments... something like that.
    put "-deprecation" in that text box and recompile.
    Your compiler should tell you all about which methods
    are deprecated -- you then go to your trust JavaDocs
    and lookup those methods in the API and read WHY they
    are deprecated (i.e. OLD, outdated, defunct, no longer used)
    and what you should use instead. Then, correct your
    code to no longer use the deprecated methods and instead
    do things as suggested in the deprecation comments.

  • JCo (in UDF) throws: "...uses or overrides a deprecated API."

    Hi everybody,
    when using JCO in UDF I get the error:
    <b>MyMapping_.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. 1 error</b>
    Does anybody know how to solve the problem?
    The problem occurs only when I try to access the tableParameters:
    <i> codes =     function.getTableParameterList().getTable("COMPANYCODE_LIST");</i>
    Regards Mario

    Hi Mario,
    With every latest Java version its APIs keep changing and some functions are removed or "deprecated", so if you are getting this error which means JRE you are using not have that function available so compile your code with Java -deprecation to suppress that error.
    To check JRE version type Java - version on command prompt and then refer to Java API (also available online) to get detail about that particular function, otherwise you can also chose alternate function to achieve your programming objecting. I prefer if you see JCO API for help on this function.
    Refer to sample code : http://www.sapdevelopment.co.uk/java/jco/jco_callfunc.htm
    Regards,
    Gourav

  • Note: ImageViewer.java uses or overrides a deprecated API.

    hi,
    iam gettin this error after compilation
    Note: ImageViewer.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    & am running it on j2sdk1.5.0
    Plzzz help

    waoh man......but what 2 look....
    heres da code...
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.swing.*;
    public class ImageViewer
    public static void main(String[] args)
    JFrame frame = new ImageViewerFrame();
    frame.setTitle("ImageViewer");
    frame.setSize(300, 400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.show();
    class ImageViewerFrame extends JFrame
    public ImageViewerFrame()
    // set up menu bar
    JMenuBar menuBar = new JMenuBar();
    setJMenuBar(menuBar);
    JMenu menu = new JMenu("File");
    menuBar.add(menu);
    JMenuItem openItem = new JMenuItem("Open");
    menu.add(openItem);
    openItem.addActionListener(new FileOpenListener());
    JMenuItem exitItem = new JMenuItem("Exit");
    menu.add(exitItem);
    exitItem.addActionListener(new
    ActionListener()
    public void actionPerformed(ActionEvent event)
    System.exit(0);
    // use a label to display the images
    label = new JLabel();
    Container contentPane = getContentPane();
    contentPane.add(label, "Center");
    private class FileOpenListener implements ActionListener
    public void actionPerformed(ActionEvent evt)
    // set up file chooser
    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));
    // accept all files ending with .gif
    chooser.setFileFilter(new
    javax.swing.filechooser.FileFilter()
    public boolean accept(File f)
    return f.getName().toLowerCase()
    .endsWith(".gif")
    || f.isDirectory();
    public String getDescription()
    return "GIF Images";
    // show file chooser dialog
    int r = chooser.showOpenDialog(ImageViewerFrame.this);
    // if image file accepted, set it as icon of the label
    if(r == JFileChooser.APPROVE_OPTION)
    String name
    = chooser.getSelectedFile().getPath();
    label.setIcon(new ImageIcon(name));
    private JLabel label;
    }

  • What's this mean? - "uses or overrides a deprecated API."

    Hi, I'm a newbie at Java and I'm getting this error when I try to compile my program:
    "Note: C:\MarsLander\NewUser.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details."
    I haven't a clue what is going on here, can anybody help?

    Methods and classes may get deprecated with the threat that they will be removed form the API in a future version. Deprecated things can be but should not be used.
    (Deprecated features can be undeprecated in a future version though. There are at least tow examples for this.)
    As the message tells, compile it with the -deprecation flag and the compiler will report which method or class it is about.

  • Error while using LiveCycle java APIs with Http servlets:"Remote EJBObject lookup failed for ejb/Inv

    Hi all,
    When i try to run more than one servelt of the Quick Start samples that using Livecycle Java APIs and i get an error of "Remote EJBObject lookup failed for ejb/Invocation provider" from any servelt i run.
    I try some Quick samples which is not servelts (java class) and it works fine, which makes me sure that my connection properties is true.
    Environment:
    The LiveCycle is based on "Websphere v6.1", and i use "Eclipse Platform
    Version: 3.4.1".
    i install "tomcat 5.5.17" to test the servelts in developing time through Eclipse.(only for test in developing time not for deploy on )
    The Jars i added in the classpath:
    adobe-forms-client.jar
    adobe-livecycle-client.jar
    adobe-usermanager-client.jar
    adobe-utilities.jar
    ejb.jar
    j2ee.jar
    ecutlis.jar
    com.ibm.ws.admin.client_6.1.0.jar
    com.ibm.ws.webservices.thinclient_6.1.0.jar
    server.jar
    utlis.jar
    wsexception.jar
    My code is :
    Properties ConnectionProps = new Properties();
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "iiop://localhost:2809");
    ConnectionProps.setProperty ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_ EJB_PROTOCOL);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE,ServiceClientFa ctoryProperties.DSC_WEBSPHERE_SERVER_TYPE);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "Administrator");
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
    ConnectionProps.setProperty("java.naming.factory.initial", "com.ibm.ws.naming.util.WsnInitCtxFactory");
    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);
    //Create a FormsServiceClient object
    FormsServiceClient formsClient = new FormsServiceClient(myFactory);
    //Get Form data to pass to the processFormSubmission method
    Document formData = new Document(req.getInputStream());
    //Set run-time options
    RenderOptionsSpec processSpec = new RenderOptionsSpec();
    processSpec.setLocale("en_US");
    //Invoke the processFormSubmission method
    FormsResult formOut = formsClient.processFormSubmission(formData,"CONTENT_TYPE=application/pdf&CONTENT_TYPE=app lication/vnd.adobe.xdp+xml&CONTENT_TYPE=text/xml", "",processSpec);
    List fileAttachments = formOut.getAttachments();
    Iterator iter = fileAttachments.iterator();
    int i = 0 ;
    while (iter.hasNext()) {
    Document file = (Document)iter.next();
    file.copyToFile(new File("C:\\Adobe\\tempFile"+i+".jp i++;
    short processState = formOut.getAction();
    ...... (To the end of the sample)
    My Error was:
    com.adobe.livecycle.formsservice.exception.ProcessFormSubmissionException: ALC-DSC-031-000: com.adobe.idp.dsc.net.DSCNamingException: Remote EJBObject lookup failed for ejb/Invocation provider
    at com.adobe.livecycle.formsservice.client.FormsServiceClient.processFormSubmission(FormsSer viceClient.java:416)
    at HandleData.doPost(HandleData.java:62)
    at HandleData.doGet(HandleData.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    a

    I assume here that your application is deployed on a different physical machine of where LCES is deployed and running.
    Do the following test:
    - Say that LCES is deployed on machine1 and your application is deployed on machine2. Ping machine1 from machine2 and note the ip address.
    - Ping machine1 from machine1 and note the ip address.
    The two pings should match.
    - Ping machine2 from machine1 and note the ip address.
    - Ping machine2 from machine2 and note the ip address.
    The two pings should match.
    Usually this kind of error would happen if your servers have internal and external ip addresses.

  • Oracle 10.2 Loadjava for SQLJ says "..uses or overrides deprecated API"

    I just upgraded to 10.2 from 8.1.7 (platform is AIX 5L) and sqlj program was INVALID after upgrade.Running loadjava on the program seems successfull, and java class is VALID, but also get:
    Note: MQBridge uses or overrides a deprecated API.          
    Note: Recompile with -deprecation for details.
    Well, after lots of reading to try and assess the significance of the error and identify the deprecated API, I think the sqlj script on UNIX will allow me to issue the 'deprecated' option to perhaps identify the old API. However, the I'm having trouble even getting the sqlj to work (I think it's in $OH/oc4j/bin with non-executable permissions) and the README in $OH/sqlj/demo seems incorrect.
    The APIs in the program are:
    import oracle.sqlj.runtime.Oracle
    import java.sql.SQLException
    import oracle.sql.CLOB
    import com.ibm.mq.*
    import java.math.BigDecimal
    import java.util.*
    import javax.swing.event.*
    Perhaps someone versed in this arena can provide some guidance in what seems to be a straighforward problem (or maybe not a problem)? Sure would appreciate it!

    HI,
    In my opinion, upgrading the RDBMS might not suffices.
    I'd re-install SQLJ 10.2f rom the companion CD and check that its working fine in your environment using the following command:
    $ sqlj -version
    Oracle SQLJ Release 10.2.0.1.0 Production
    Copyright (c) 1997, 2005, Oracle Corporation. All Rights Reserved.Oracle furnishes the following code samples under
    $ORACLE_HOME/sqlj/demo/ to check your environment:
    connect.properties // to be customized to your environment
    TestInstallCreateTable.java
    TestInstallJDBC.java
    TestInstallSQLJ.sqlj
    TestInstallSQLJChecker.sqlj
    Then make sure that:
    - the executables (script and binaries) are available under $ORACLE_HOME/bin.
    - the PATH environment variable must include $ORACLE_HOME/bin.
    - the CLASSPATH environment variable must include the following:
    - the JDBC jars (ojdbc14.jar, or clases12.jar)
    - ORACLE_HOME/sqlj/lib/translator.jar
    - ORACLE_HOME/sqlj/lib/runtime12.jar
    As described in chapter 10 of my book, here is how to use them to check
    your environment:
    // create a table for test purposes
    $ javac TestInstallCreateTable.java
    $ java -Doracle.net.tns_admin=$TNS_ADMIN TestInstallCreateTable
    SALES table created
    $
    // Check JDBC install
    $ javac TestInstallJDBC.java
    $ java -Doracle.net.tns_admin=$TNS_ADMIN TestInstallJDBC
    Hello JDBC!
    $
    // Check the SQLJ translator, runtime, and the application
    $ sqlj TestInstallSQLJ.sqlj
    $ java -Doracle.net.tns_admin=$TNS_ADMIN TestInstallSQLJ
    Hello, SQLJ!
    $Then check that SQLJ is installed in the database using
    SQL> describe sys.sqljutlOtherwise, run the sqljutl.sql script to install it. In addition, the following query checks the availability of the SQLJ translator in the database (using system or a DBA account)
    SQL> select object_type, status from all_objects where
    2 dbms_java.longname(object_name) ='oracle/sqlj/checker/JdbcVersion';See chapter 10, 11 and 12 of my book for further coverage..
    Kuassi, http://db360.blogspot.com

  • Oh no! "Deprecated API Usage - Apple no longer accepts submissions of apps that use QuickTime APIs."

    Tried to submit an app to the Mac App store and I received this now:
    "Deprecated API Usage - Apple no longer accepts submissions of apps that use QuickTime APIs."
    Looks like a fix is in for Adobe Air (https://bugbase.adobe.com/index.cfm?event=bug&id=3680732), but I'm not sure if the same is being performed on Director.
    I'm not using any Xtras or anything, I think this is just embed within the Director builds.
    Looks like submitting anything to any Apple App store is going to be on hold for everyone until this gets fixed.

    Hi,
    Looks like this issue has been fixed in April 8th, 2014 release of AIR SDK. So the latest release 13.0.0.111 on May 13th, 2014 will have this issue fixed.
    Download Adobe AIR SDK
    Release Notes | Flash Player® 13 AIR® 13
    Thanks!
    Mohan

  • When i compile my program i get overrides a deprecated API.

    there is no error in the program but this message override a deprecated API and there is no execute. here is the program please help me.
    * Swing version.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.BorderFactory.*;
    import javax.swing.border.* ;
    public class ff extends JPanel implements ActionListener {
    JButton n5,n2,n7,b1,b2,b3,b4,b5,b6,b7,b8,b9;
    public ff(){
    boolean inAnApplet = true;
    JPanel topPanel = new JPanel();
    topPanel.setLayout(new FlowLayout());
    //topPanel.setBackground(lightBlue);
    Border etchedBorder = BorderFactory.createEtchedBorder(Color.blue,Color.cyan);
    topPanel.setBorder(BorderFactory.createTitledBorder(etchedBorder,"Dog Products",
    TitledBorder.DEFAULT_JUSTIFICATION,
    TitledBorder.DEFAULT_POSITION,
    new Font("Serif",Font.BOLD,15),
    Color.black));
    Icon h5 = new ImageIcon( "c:\\a\\birdfood1t.gif" );
    n5 = new JButton("Button 1",h5);
    topPanel.add(n5);
    n5.setActionCommand("n5");
    n5.addActionListener(this);
    //getContentPane().add(topPanel,BorderLayout.NORTH);
    Icon h2 = new ImageIcon( "c:\\a\\birdfood1t.gif" );
    n2 = new JButton("Button 1",h2);
    topPanel.add(n2);
    n2.setActionCommand("n2");
    n2.addActionListener(this);
    //getContentPane().add(topPanel,BorderLayout.NORTH);
    Icon h7 = new ImageIcon( "c:\\a\\birdfood1t.gif" );
    n7 = new JButton("Button 2",h7);topPanel.add(n7);
    n7.setActionCommand("n7");
    n7.addActionListener(this);
    //getContentPane().add(topPanel,BorderLayout.NORTH);
    //birdfoodw();
    //public void birdfoodw() {
    //Container contentPane = getContentPane();
    JPanel v=new JPanel();
    v.setLayout(new BorderLayout());
    // setLayout(new BoxLayout(contentPane,
    JPanel v1=new JPanel();
    v1.setLayout(new GridLayout(9,1));
    v1.add(n5);
    v1.add(n2);
    v1.add(n7);
    JScrollPane sp=new JScrollPane(v1);
    v.add(sp);
    add(v,BorderLayout.CENTER);
    protected void buildToyList() {
    Icon x1 = new ImageIcon("c:\\a\\dogtoys1t.gif");
    b1.setIcon(x1);
    b1.setActionCommand("toys1");
    b1.setText("Dog toy #1");
    Icon x2 = new ImageIcon("c:\\a\\dogtoys2t.gif");
    b2.setIcon(x2);
    b2.setActionCommand("toys1");
    b2.setText("Dog toy #1");
    Icon x3 = new ImageIcon("c:\\a\\dogtoys3t.gif");
    b3.setIcon(x3);
    b3.setActionCommand("toys1");
    b3.setText("Dog toy #1");
    Icon x4 = new ImageIcon("c:\\a\\dogtoys4t.gif");
    b4.setIcon(x4);
    b4.setActionCommand("toys1");
    b4.setText("Dog toy #1");
    Icon x5 = new ImageIcon("c:\\a\\dogtoys5t.gif");
    b5.setIcon(x5);
    b5.setActionCommand("toys1");
    b5.setText("Dog toy #1");
    Icon x6 = new ImageIcon("c:\\a\\dogtoys6t.gif");
    b6.setIcon(x6);
    b6.setActionCommand("toys1");
    b6.setText("Dog toy #1");
    Icon x7 = new ImageIcon("c:\\a\\dogtoys7t.gif");
    b7.setIcon(x7);
    b7.setActionCommand("toys1");
    b7.setText("Dog toy #1");
    Icon x8 = new ImageIcon("c:\\a\\dogtoys1t.gif");
    b8.setIcon(x8);
    b8.setActionCommand("toys1");
    b8.setText("Dog toy #1");
    Icon x9 = new ImageIcon("c:\\a\\dogtoys1t.gif");
    b9.setIcon(x9);
    b9.setActionCommand("toys1");
    b9.setText("Dog toy #1");
    protected void buildFoodList() {
    Icon x1 = new ImageIcon("c:\\a\\dogfood1t.gif");
    b1.setIcon(x1);
    b1.setActionCommand("food1");
    b1.setText("Dog toy #1");
    Icon x2 = new ImageIcon("c:\\a\\dogfood2t.gif");
    b2.setIcon(x2);
    b2.setActionCommand("food1");
    b2.setText("Dog toy #1");
    Icon x3 = new ImageIcon("c:\\a\\dogfood3t.gif");
    b3.setIcon(x3);
    b3.setActionCommand("food1");
    b3.setText("Dog toy #1");
    Icon x4 = new ImageIcon("c:\\a\\dogfood4t.gif");
    b4.setIcon(x4);
    b4.setActionCommand("food1");
    b4.setText("Dog toy #1");
    Icon x5 = new ImageIcon("c:\\a\\dogfood5t.gif");
    b5.setIcon(x5);
    b5.setActionCommand("food1");
    b5.setText("Dog toy #1");
    Icon x6 = new ImageIcon("c:\\a\\dogfood6t.gif");
    b6.setIcon(x6);
    b6.setActionCommand("food1");
    b6.setText("Dog toy #1");
    Icon x7 = new ImageIcon("c:\\a\\dogfood7t.gif");
    b7.setIcon(x7);
    b7.setActionCommand("food1");
    b7.setText("Dog toy #1");
    Icon x8 = new ImageIcon("c:\\a\\dogfood1t.gif");
    b8.setIcon(x8);
    b8.setActionCommand("food1");
    b8.setText("Dog toy #1");
    Icon x9 = new ImageIcon("c:\\a\\dogfood1t.gif");
    b9.setIcon(x9);
    b9.setActionCommand("food1");
    b9.setText("Dog toy #1");
    protected void buildTreatList() {
    Icon x1 = new ImageIcon("c:\\a\\dogtreats1t.gif");
    b1.setIcon(x1);
    b1.setActionCommand("treats1");
    b1.setText("Dog toy #1");
    Icon x2 = new ImageIcon("c:\\a\\dogtreats2t.gif");
    b2.setIcon(x2);
    b2.setActionCommand("treats1");
    b2.setText("Dog toy #1");
    Icon x3 = new ImageIcon("c:\\a\\dogtreats3t.gif");
    b3.setIcon(x3);
    b3.setActionCommand("treats1");
    b3.setText("Dog toy #1");
    Icon x4 = new ImageIcon("c:\\a\\dogtreats4t.gif");
    b4.setIcon(x4);
    b4.setActionCommand("treats1");
    b4.setText("Dog toy #1");
    Icon x5 = new ImageIcon("c:\\a\\dogtreats5t.gif");
    b5.setIcon(x5);
    b5.setActionCommand("treats1");
    b5.setText("Dog toy #1");
    Icon x6 = new ImageIcon("c:\\a\\dogtreats6t.gif");
    b6.setIcon(x6);
    b6.setActionCommand("treats1");
    b6.setText("Dog toy #1");
    Icon x7 = new ImageIcon("c:\\a\\dogtreats7t.gif");
    b7.setIcon(x7);
    b7.setActionCommand("treats1");
    b7.setText("Dog toy #1");
    Icon x8 = new ImageIcon("c:\\a\\dogtreats1t.gif");
    b8.setIcon(x8);
    b8.setActionCommand("treats1");
    b8.setText("Dog toy #1");
    Icon x9 = new ImageIcon("c:\\a\\dogtreats1t.gif");
    b9.setIcon(x9);
    b9.setActionCommand("treats1");
    b9.setText("Dog toy #1");
    public void actionPerformed(ActionEvent e) {
    if (e.getActionCommand() == "n5")
    buildFoodList();
    else if (e.getActionCommand() == "n7")
    buildToyList();
    else if (e.getActionCommand() == "n2")
    buildTreatList();
    public static void main(String args[]) {
    ff window = new ff();
    //window.inAnApplet = false;
    //window.setTitle("bird food");
    window.setSize(123,233);
    window.show();
    window.setVisible(true);

    Sana,
    Look at your last but one line where you have used ".show()", which is a deprecated API. Change to ".repaint()" and try it out.
    window.setSize(123,233);
    window.show(); // show() is deprecated API...
    window.setVisible(true);Cool
    Ravi

  • Need help with java uses or overrides a deprecated API.

    i have some issues and have not clue where the issue is this is the error that i receive
    Note: C:\Documents and Settings\Adam\My Documents\JCreator LE\MyProjects\Pokemon\src\Pokemon.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    here is my code

    public void boundry()
                   int i;
                   //System.out.println("y is "+  (y+23) );
                   //System.out.println("x is "+ (x+17) );
                   //X10=wall[1].getX();
                   //System.out.println("wall[1]X is" + X10);
                   //check to see if over boundary
                   rightflag=2;
                   leftflag=2;
                   downflag=2;
                   upflag=2;
              for(i=0; i<=8; i++)
                   System.out.println("i is" +i);
                    //left side
                    if ( ( (x+17) > (wall.getX() ) )
                   && ( (y) < (wall[i].getY() + wall[i].getHeight()-5) )
                   && ( (y+23) > (wall[i].getY()+5 ))
                   && ( (x) < (wall[i].getX() + (wall[i].getWidth()/2) )) )
                        rightflag=1;
                        System.out.println("left");
                   else
                        rightflag=2;
                   //right side
                   if ( ( (x) < ((wall[i].getX() + wall[i].getWidth() )))
                   && ( (y) < wall[i].getY() + wall[i].getHeight()-5 )
                   && (y > (wall[i].getY() ))
                   && ( (x) > ((wall[i].getX()+(wall[i].getWidth()/2))) ) )
                        leftflag=1;
                        System.out.println("right");
                   else
                        leftflag=2;
                   //top side
                   if ( ( (y+23) > wall[i].getY() )
                   && ( (y+23) < ( wall[i].getY() + (wall[i].getHeight()/2-5) ))
                   && ( (x+17) > wall[i].getX())
                   && ( (x) < (wall[i].getX()+(wall[i].getWidth() ))) )
                   upflag=1;
                        System.out.println("top");
                   else
                        upflag=2;
                   //bottom boundry
                   if(
                   (y < (wall[i].getY()+wall[i].getHeight() ))
                   && (y > (wall[i].getY() ))
                   && ((x+17) > (wall[i].getX()))
                   && (x < (wall[i].getX()+wall[i].getWidth() ) ))
                        downflag=1;
                        System.out.println("bottom");
                   else
                        downflag=2;
                   System.out.println("test");
                   //stop them from being over boundary
                   if (rightflag==1)
                   x=x-10;
                   else if (leftflag==1)
                   x=x+10;
                   else if (upflag==1)
                   y=y-10;
                   else if (downflag==1)
                   y=y+10;
                   //draw the player
              public boolean handleEvent (Event e)
                   //Get the scroll bars to work
                   Y2 = indicatestrength.getValue();
                   Y3 = X2.getValue();
                   Y4 = Width2.getValue();
                   Y5 = height2.getValue();
                   repaint();
                   return true;
              public void save ()     
                   File dataFile = new File ("Users/jeffrey/Server/Test.rtf");
                   FileWriter out;
                   BufferedWriter writeFile;
                   //sample data to write
                   double testnumber = -34.454;
                   String testname="this is a string";
              try{
                   out =new FileWriter (dataFile);
                   writeFile = new BufferedWriter(out);
                   //write all data as strings
                   writeFile.write(testname);
                   writeFile.newLine();
                   writeFile.write(String.valueOf(testnumber));
                   writeFile.newLine();
                   //Close file
                   writeFile.close();
                   out.close();
                   System.out.println ("data written to file");
                   catch (IOException e)
                        System.out.println("there was a error writing to the file");

  • Setting 'ReplytoAddress' in NormalizedMessage using BPEL client API-failing

    Hi all,
    I tried specifying 'Reply to Address' property in Normalized Message using BPEL Client API to receive response from Asynchronous BPEL process but it's not working.
    I am facing the following situations:-
    1.Just setting 'Reply To address'-raises
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message transmission failure, response code: 500
    2.Specifying both 'Reply to address' and 'Reply To PortType' is sending the entire process to an infinite wait state in receiving response from the worklist task service.
    My BPEL process has a human worklist and this workflow on completion can't callback my BPEL process for carrying out Step -2 mentioned above.
    Reply to Address = webservice SOAP endpoint URI
    Reply to Porttype= the porttype name in the WSDL file.
    Please any help will be appreciated.I have a project delivery.
    Thanks

    Hi all,
    I tried specifying 'Reply to Address' property in Normalized Message using BPEL Client API to receive response from Asynchronous BPEL process but it's not working.
    I am facing the following situations:-
    1.Just setting 'Reply To address'-raises
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message transmission failure, response code: 500
    2.Specifying both 'Reply to address' and 'Reply To PortType' is sending the entire process to an infinite wait state in receiving response from the worklist task service.
    My BPEL process has a human worklist and this workflow on completion can't callback my BPEL process for carrying out Step -2 mentioned above.
    Reply to Address = webservice SOAP endpoint URI
    Reply to Porttype= the porttype name in the WSDL file.
    Please any help will be appreciated.I have a project delivery.
    Thanks

  • AIR4 Mac store submission: Deprecated API

    I just tried to submit my app to the Mac store (following the known steps).
    Got this error back:
    Deprecated API Usage - Apple no longer accepts submissions of apps that use QuickTime APIs.
    I realize not many devs care about the Mac store, but are there any plans for a workaround?

    Well thats not good news at all
    I really thought the QuickTime API rejection was part of the WebKit.dylib issue as I thought that was the verbage when I first failed to remove it, but Apple removes all Resolution Center messages from past binary submissions so I can't even check that.
    Ironically Chris Campbell even recently asked for samples of MAS AIR apps:
    http://forums.adobe.com/thread/1386194
    What AIR SDK version are you using for this submittal and are you using any ANEs as part of the app?
    I know the recent AIR 4 beta on labs is all about meeting Apple's new iOS XCode 5 February 1st requirements, but I wonder if there is anything in this update that also forces any new compatibility with the MAS as well.
    Only other place QuickTime API rejections come up on a Google search is for somone using a third party developer framework:
    https://forum.xojo.com/7307-submiting-to-mac-app-store-and-getting-quicktime-api-error/100
    Otherwise this is a pretty serious problem if the raw Mac AIR runtimes are facing new rejection issues for the MAS, my existing app on the MAS isn't due for a new update just yet so I won't know myself for a little while whether this is a new change for MAS when I go to update it.

  • Error: overrides a deprecated API

    Hi:
    I get the following error when I try to compile my code:
    Note: CalendarTest.java uses or overrides a deprecated API. Recompile with "-deprecation" for details.
    1 warning
    How do I solve the problem?
    Thanks.
    Describes a calendar for a set of appointments.
    @version 1.0
    import java.util.Vector;
    import java.util.*;
    public class CalendarTest
    {  public static void main(String[] args)
          Calendar markCalendar = new Calendar("Mark");
          Date start = new Date(2003 - 1900, 5 /*June*/, 2, 15, 0, 0);
          Date end = new Date(2003 - 1900, 5, 2, 16, 0, 0);
          markCalendar.addApp(new Appointment(start, end, "doctor"));
          markCalendar.print();     
    Describes a calendar for a set of appointments.
    class Calendar
       Constructs a calendar for the person named.
       public Calendar(String aName)
       {  name = aName;
          appointments = new Vector();
       Adds an appointment to this Calendar.
       @param anApp The appointment to add.
       public void addApp(Appointment anApp)
          appointments.add(anApp);
       Removes an appointment from this Calendar.
       @param anApp The appointment to be removed.
       public void removeApp(Appointment toFind)
          for ( int i = 0; i < appointments.size(); i++)
             if (((Appointment)appointments.get(i)).equals(toFind))
                 appointments.remove(i);
       Tests for duplicate appointment dates.
       public void dupsTest()
          for (int x = 0; x < appointments.size(); x++)
             Appointment check = (Appointment)appointments.get(x);
             for (int y = appointments.size()-1; y > x; y --)
                Appointment nextApp =(Appointment) appointments.get(y);
                if (check.match(nextApp))
                {  System.out.println("Duplicate appointments: ");
                   check.print();
                   nextApp.print();
       Prints the Calendar.
       public void print()
       {  System.out.println(name + "               C A L E N D A R");
          System.out.println();
           System.out.println("Date   Starttime    EndTime   Appointment");
          for (int i = 0; i < appointments.size(); i++)
          {  Appointment nextApp =(Appointment) appointments.get(i);
             nextApp.print();
       private Vector appointments;
       private String name;
       private Appointment theAppointment;
    Describes an appointment.
    class Appointment
       public Appointment(Date aStarttime,Date aEndtime, String aApp)
          starttime = aStarttime;
          endtime = aEndtime;  
          app = aApp;
    Method to test whether on object equals another.
    @param otherObject  The other object.
    @return true if equal, false if not
    public boolean equals(Object otherObject)
          if (otherObject instanceof Appointment)
          {  Appointment other = (Appointment)otherObject;
             return (date.equals(other.date) && starttime.equals(other.starttime)
                     && endtime.equals(other.endtime) && app.equals(other.app));
           else return false;
    Method to test whether part of an object equals another.
    @param otherObject  The other object.
    @return true if equal, false if not
    public boolean match(Object otherObject)
        if (otherObject instanceof Appointment)
         {  Appointment other = (Appointment)otherObject;
            return (date.equals(other.date) && starttime.equals(other.starttime)
                    && endtime.equals(other.endtime));
          else return false;
       Prints the Date, Starttime, Endtime and a description of the
       appointment.
       public void print()  
       {  System.out.println();
          System.out.println(date + "   " + starttime + "          " + endtime
              + "       " + app );
          System.out.println();
       private Date starttime;
       private Date endtime;
       private String app;

    The methods you used to instantiate your new dates has been deprecated and should no longer be used. This is just a warning though and your code will still work. Sun is just telling you that they no longer support those constructors for the Date class and that future releases of J2SE may not have them included in the API. If you wanted to, you could ignore it, or you could use the sample code instead for your Date creations:
    //need the following additional import
    import java.text.*;
    //HH is hours (0-23) see SimpleDateFormat for others
    DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    Date start= formatter.parse("06/02/2003 15:00:00");
    Date end = formatter.parse("06/02/2003 16:00:00");tajenkins

  • Having problems linking two java classes getting a "deprecated API" error??

    Hi,
    I am tryin to link one page to another in my program, however i get the followin msg:-
    Project\alphaSound.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    Process completed.
    this only happens when i add the bold piece of code to the class; even though the italic piece of code does take you to a new page?:-
    public class alphaSound extends JPanel implements ActionListener
    {static JFrame f = new JFrame("AlphaSound");
    public alphaSound() {
    public void actionPerformed(ActionEvent event) {
                 Object source = event.getSource();
    else if(source == vowel)
    { Vowelm vm = new Vowelm();
    vm.setSize(Toolkit.getDefaultToolkit().getScreenSize());
    vm.show();
    f.dispose();
    else if(source == back)
    { MainPage main = new MainPage();
    main.setSize(400,300);
    main.show();
    f.dispose();}
    public static void main(String s[]) {
            WindowListener l = new WindowAdapter() {
                public void windowClosing(WindowEvent e) {System.exit(0);}
            //JFrame f = new JFrame("AlphaSound");
            f.addWindowListener(l);
            f.getContentPane().add(new alphaSound());
            f.setSize(Toolkit.getDefaultToolkit().getScreenSize()); 
            f.show();
    }here is the class its tryin to call
    public class Vowelm extends JPanel implements ActionListener
    {static JFrame v = new JFrame("VowelSound");
       public Vowelm() {
                                                   ..etc...
    public static void main(String s[]) {
            WindowListener l = new WindowAdapter() {
                public void windowClosing(WindowEvent e) {System.exit(0);}
            //JFrame f = new JFrame("VowelSound");
            v.addWindowListener(l);
            v.getContentPane().add(new VowelmSound());
            v.setSize(Toolkit.getDefaultToolkit().getScreenSize()); 
            v.show();
    }Im pretty sure ther is some conflict between the two classes due to the way they are called and designed?
    Hope you can help!
    Kind Regards
    Raj

    You may want to check your show() calls and see if
    they can be replaced with setVisible(). Forexample,
    in your Vowelm code, you have a static JFrame v.
    At
    the end of your main function, you use v.show().As
    of JDK1.1, this has been deprecated in favour of
    setVisible(boolean).hey show() in JFrame is from Window and in windowits
    not deprecated ..
    show is not decrecated thats for sure ... i dontknow
    y you said that ...
    you can look in docs as well..
    True - but this in turn overrides show() from
    java.awt.Component, which has been deprecated. My
    guess is that's where the problem comes from.
    Thanks for the Dukes!
    FlicAnd then again - perhaps not. After looking into this a bit more, I take back my last comment about the Component override. However, as I said in my original reply, compiling with -deprecation should tell you which show() call is flagging the error. There is definitely one somewhere that the JVM doesn't like - without seeing your complete code, it's hard to say exactly where. Based on what you've posted, my guess is that it is within the Vowelm class.
    Next time, I'll try to avoid 'shooting from the hip'.
    Again, thanks for the Dukes,
    Flic

Maybe you are looking for

  • HT204053 can i change my icloud account to different apple id?

    I have a different apple ID than I have on other things.  I'm not sure why, but I wasn't very savvy about apple when I set it up.  Is this a problem?  I have constant problems with my contacts not syncing properly between imac, ipad and iphone.  Cont

  • Font weight preview in CC 2014

    Is there any way to show just one weight in the font list like before (with a submenu dropdown for the weights) instead of the entire font family showing? Some font families have over a 100 weights and I don't want to scroll through 100 slightly-diff

  • Just a few small questions :)

    hi guys, just had a few small questions incase any of u can shed some light on the subject 1 - i have removed my Sound Blaster Audigy and i am now able to reach 2.5GHz easily, when the audigy was installed, i could never get over 2.4Ghz, why? 2 - i h

  • How to get Itunes back to functionality

    My Itunes was regularly freezing when I added any type of file to my library. To fix this problem, I followed the steps to enter Safe Mode. While it did work, the steps afterwards to lead me to my Plugins and 3rd party software were futile, as openin

  • Keine Bildübergabe aus Lightroom 5.6 an Photoshop CC möglich

    Wenn ich ein Bild an Photoshop übergeben will, funktioniert das nicht mit der Option "Kopie mit den Lightroom-Anpassungen bearbeiten. Mit den Optionen "Kopie bearbeiten oder Original bearbeiten" und "In Photoshop als Smart-Objekt öffnen" klappt es. K