Java code problem

Hi !
I have a little problem.
My program has 4 classes: Book, Library, View and controller.
Class Book{
   Private String bName, author;
          Book(bName, author){}
// methods
  public String toString(){}
class Library{
    Book[] bok;
    int nbrOfBook;
// constructor
public void addBook(Book )
���
// this class shows all books with help of addBook and toString from class Book.
class View {
  Book [] aBok;
Library library;
class Controller{
    Library library;
    View v;
Controller(Library, View){ }
  }when user want to add a new book, the controller object must controll it and the veiw object must show this book beside other books(to uppdate the view object).
The Book, Library and View classes are ok.
But I have just problem with controller class , how the controller object controls other objects.

If the library would offer an event mechanism, the view(s) could register for events. You could achieve this with the Observer/Observable classes, with PropertyChangeSupport (that wouldn't work well with collections) or with something you'd write yourself (depending on your experience, I'd start with Observer/Observable).
But how would the views get a hold of the library? Not via the controller IMO - you should be able to transparently add or remove views without changing either model (library) or controller. The best way (again, IMHO) would be to make library a singleton, so that both view(s) and controller can look up the library without passing it around. (I assume a standalone application here - for other contexts the same principle applies, but sometimes static is a bad idea.)
By the way, I'm not sure if that's your actual code, but it wouldn't compile, of course (with the Class, Private and stuff).

Similar Messages

  • Simple Java Code Problems inc Compiling

    Heya all ive been working on a portfolio for the last few weeks and i have a couple of problems with certain programs i have tryed to make , would it be possable for someone to point out where im going wrong and give me some kind of information on how to correct the problem
    Problem 1
    import java.util.*;
    public class Number4
    public static void main(String[] args)
    // input the Number
    double Integer;
    System.out.print("Enter a Number : ");
    Scanner kybd = new Scanner(System.in);
         Integer = kybd.nextInt();
    // process the Number to produce either Positive,Negative or Zero
    String Number;
    if ( Integer > 0 )
         Number = "Positive_";
    else if ( Integer < 0 )
         Number = "Negative_";
    else
         Number = "Zero_";
    System.out.print("The Number is " + Number);
    if (Integer %2 ==0)
    System.out.println("The number is Even");
    else
    System.out.println("The number is Odd");
    This program works fine but when i input a zero i get " The Number is Zero _ The Number is even " , I wish for it to only display "The Number is Zero"
    Also as a side note is there a way to make a space withought using "_"

    mlk wrote:
    When you post code, please use code tags as described in [Formatting tips|http://forum.java.sun.com/help.jspa?sec=formatting] on the message entry page. It makes it much easier to read.
    The Formatting tips page no longer has formatting tips. o_O
    ~

  • New problem  --  My java code can't see my CLASSES from Mapping Workbench

    Donald and others -
    I am VERY new to TopLink......
    I was at the last Oracle Developer Days in Northern Virginia. Donald convinced me and my co-workers to use TopLink for our upcoming project. I have been having tons of problems getting it to work correctly. Maybe I need a TOPLINK license plate, like Donald!!!
    Here is my newest problem. I can create a DatabaseSession, login to it, write a query and log out of it.
    However, I can only do this if I remove my classes from the Mapping Workbench. As soon as I add even one class to the Mapping Workbench......I get an error as follows:
    LOCAL EXCEPTION STACK:
    EXCEPTION [TOPLINK-3007] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.ConversionException
    EXCEPTION DESCRIPTION: The object [mil.usa.lbit.isr.TestIsr], of class [class java.lang.String], could not be converted to [class java.lang.Class]. Please ensure that the class [class java.lang.Class] is on the CLASSPATH. You may need to use alternate API passing in the appropriate class loader as required, or setting it on the default ConversionManager
    INTERNAL EXCEPTION: java.lang.ClassNotFoundException: mil.usa.lbit.isr.TestIsr
    Can anyone tell me where I need to put my class files so the java code can see them via the ISR.xml deployment file.
    I currently have these files in a .jar file on the system path and in my web-inf folder and in my project settings. I put them everywhere I could think of, but no luck.
    Here is my code:
    package mil.usa.lbit.isr;
    import mil.usa.lbit.LbitColors;
    import java.util.*;
    import java.math.*;
    import oracle.toplink.sessions.*;
    import oracle.toplink.tools.schemaframework.*;
    import oracle.toplink.exceptions.*;
    import oracle.toplink.expressions.*;
    import oracle.toplink.queryframework.*;
    import oracle.toplink.tools.workbench.*;
    public class TestIsr extends ISR {
    public DatabaseSession session;
         public Project project;
    public TestIsr() {
    this.name = "TestISR";
    this.color = LbitColors.AMBER;
    this.metric = 97.00;
    public boolean isConnected() {
    if (session == null)
    System.out.println("Not Connected");
    return false;     
    System.out.println("Connected");
    return session.isConnected();
    public void loginToDatabase() {
    Project builderProject;
    System.out.println("Attempt to login to database using TopLink:");
    project = XMLProjectReader.read("C:\\LBIT TopLink\\ISR\\ISR.xml");
    session = project.createDatabaseSession();
    session.login();
    System.out.println("Logged in");
    public void runQuery() {
    ExpressionBuilder builder = new ExpressionBuilder();
    Expression expression = builder.get("isr_id").equal(3);
    System.out.println(expression);          
    //TestIsr isr = (TestIsr) session.readObject(TestIsr.class, expression);
    //System.out.println(isr);     
    public void logoutOfDatabase() {
    session.logout();     
    System.out.println("Logged out");          
    public static void main(String[] args) {     
    TestIsr testing = new TestIsr();
    testing.isConnected();     
    testing.loginToDatabase();          
    testing.isConnected();
    testing.runQuery();
    testing.logoutOfDatabase();     
    Thanks in advance.
    Donald please email me and maybe we can chat on the phone if you want to offer some help.
    Andy

    Thanks for the reply!
    However, I did try to implement that yesterday.
    When I add the "getClass().getClassLoader()" to the "XMLProjectReader.read" call, the codes loses site of my project (.xml) file.
    Here is the new line:
    project = XMLProjectReader.read("C:\\LBIT TopLink\\ISR\\ISR.xml", getClass().getClassLoader());
    Here is the new error:
    EXCEPTION [TOPLINK-7099] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.ValidationException
    EXCEPTION DESCRIPTION: Could not find xml project file which is specified in properties file: xmlProjectFile=C:\LBIT TopLink\ISR\ISR.xml.
         oracle.toplink.exceptions.ValidationException oracle.toplink.exceptions.ValidationException.projectXMLNotFound(java.lang.String, java.lang.Exception)
         oracle.toplink.sessions.Project oracle.toplink.tools.workbench.XMLProjectReader.read(java.lang.String, java.lang.ClassLoader)
    But my code could find that file before I added the "getClass().getClassLoader()" code.
    Maybe I can avoid this problem by "deploying the XML file in my application jar?" Could you please explain more about this option after answering the first part of my question.
    Any other posters feel free to help me too.
    I know TopLink is a powerful tool, I just keep hitting these hurdles. ARRRRRRRGGGG!!!
    Thanks again,
    Andy

  • I have problem in this unzip java codes

    hi all,I have problem in this unzip java codes,I think either the pathway that i put C:.......is wrong or the codes are wrong because when i run it, the zipped folder is not unzipped. So anyone has another set of example or know how to correct it? Thanks!Please post the solution here!
    This is the set of codes that i have:
    import java.io.*;
    import java.util.*;
    import java.util.zip.*;
    public class Unzip {
    public static final void copyInputStream(InputStream in, OutputStream out)
    throws IOException
    byte[] buffer = new byte[1024];
    int len;
    while((len = in.read(buffer)) >= 0)
    out.write(buffer, 0, len);
    in.close();
    out.close();
    public static final void main(String[] args) {
    Enumeration entries;
    ZipFile zipFile;
    if(args.length != 1) {
    System.err.println("Usage: Unzip zipfile");
    return;
    try {
    zipFile = new ZipFile("C:\\Temp\\FolderZiper.zip");
    entries = zipFile.entries();
    while(entries.hasMoreElements()) {
    ZipEntry entry = (ZipEntry)entries.nextElement();
    if(entry.isDirectory()) {
    // Assume directories are stored parents first then children.
    System.err.println("Extracting directory: " + entry.getName());
    // This is not robust, just for demonstration purposes.
    (new File(entry.getName())).mkdir();
    continue;
    System.err.println("Extracting file: " + entry.getName());
    copyInputStream(zipFile.getInputStream(entry),
    new BufferedOutputStream(new FileOutputStream(entry.getName())));
    zipFile.close();
    } catch (IOException ioe) {
    System.err.println("Unhandled exception:");
    ioe.printStackTrace();
    return;
    }

    What does the program output when it's executed? Can you copy the screen and post it here? More info can help solve the problem.
    What exactly is the program supposed to do?
    Add some more println() to show the program flow and what the values of key variables are. For example what is in entries after the entries() method is executed?
    Some prep work on your part would make it easier for us to help.

  • Problem with executing shell script on linux through java code.

    i am facing problem to kill jboss process on linux that is my application requirement. for that i created one shell script that will get all the process for jboss instance and kill them when i am running that script from command prompt on linux its working perfectly.
    The command i am using ---
    /opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh.
    but when i am running through java code its not working.
    the java code i am using is:-
    pp = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "/opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh"});
    could anyone tell me what is the problem ?
    Edited by: akm198110 on Sep 2, 2008 9:24 AM

    I got the problem after long struggle ,after doing proper path i am able to execute the shell script..

  • Problems with backing Java Code

    Earlier I manually deleted the processChange event handler method for a textfield from the backing java code. As I had no plans to use that event handler. Now my page abends with a message stating that the process chnage method is not available. I tried to add via the event handler for the textbox using the GUI but it does not add the process change event handler method. Using an another process change method as a model I manually entered the code to handle process change for the text bos. Now I am getting an internal server exception - Null in one of the parameters. PLEASE HELP. What are my options - Delete and re-create the entire page

    Hi,
    Yes I am using the recommeded code: The Text field generating the null exception is addDataSourceTF. Whenever we click on the addDataSourceBTN we get an Internal exception.
    Thanks very much for looking into this problem. Any advice will be greatly appreciated.
    <h:panelGrid binding="#{MainPage.gridPanel1}" cellpadding="3" cellspacing="2" columnClasses="" id="gridPanel1" style="background-color: rgb(204, 255, 204); left: 48px; top: 312px; position: absolute">
    <h:inputText binding="#{MainPage.addDataSourceTF}" id="addDataSourceTF" style="font-family: Arial,Helvetica,sans-serif"
    validator="#{MainPage.addDataSourceTF_validate}" valueChangeListener="#{MainPage.addDataSourceTF_processValueChange}"/>
    <h:commandButton action="#{MainPage.addDataSourceBTN_action}" binding="#{MainPage.addDataSourceBTN}" id="addDataSourceBTN"
    image="resources/button32.jpg" value="Add Data Source"/>
    <h:selectOneMenu binding="#{MainPage.deleteDataSourceDD}" id="deleteDataSourceDD" immediate="true" onchange="this.form.submit();"
    style="height: 23px; width: 164px" valueChangeListener="#{MainPage.deleteDataSourceDD_processValueChange}">
    <f:selectItems binding="#{MainPage.dropdown1SelectItems}" id="dropdown1SelectItems" value="#{MainPage.database_infoRowSet.selectItems['DB_SRC,DB_SRC']}"/>
    </h:selectOneMenu>
    <h:commandButton action="#{MainPage.deleteDataSourceBTN_action}" binding="#{MainPage.deleteDataSourceBTN}" id="deleteDataSourceBTN"
    image="resources/delete.jpg" value="Submit"/>
    </h:panelGrid>
    Backing Java Code:
    * MainPage.java
    * Created on December 15, 2004, 1:45 AM
    * Copyright adear1
    package dissertation;
    import javax.faces.*;
    import com.sun.jsfcl.app.*;
    import javax.faces.component.html.*;
    import com.sun.jsfcl.data.*;
    import javax.faces.component.*;
    import javax.faces.event.*;
    import com.sun.sql.rowset.*;
    import javax.faces.context.FacesContext;
    import javax.faces.application.FacesMessage;
    import javax.faces.convert.*;
    import java.sql.*;
    import javax.naming.*;
    import javax.sql.DataSource;
    import java.lang.*;
    import javax.faces.context.*;
    public class MainPage extends AbstractPageBean {
    // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Definition">
    private int __placeholder;
    private HtmlForm form1 = new HtmlForm();
    public HtmlForm getForm1() {
    return form1;
    public void setForm1(HtmlForm hf) {
    this.form1 = hf;
    private HtmlCommandButton addDataSourceBTN = new HtmlCommandButton();
    public HtmlCommandButton getAddDataSourceBTN() {
    return addDataSourceBTN;
    public void setAddDataSourceBTN(HtmlCommandButton hcb) {
    this.addDataSourceBTN = hcb;
    private HtmlCommandButton searchDataBTN = new HtmlCommandButton();
    public HtmlCommandButton getSearchDataBTN() {
    return searchDataBTN;
    public void setSearchDataBTN(HtmlCommandButton hcb) {
    this.searchDataBTN = hcb;
    private HtmlCommandButton scrubbingRulesBTN = new HtmlCommandButton();
    public HtmlCommandButton getScrubbingRulesBTN() {
    return scrubbingRulesBTN;
    public void setScrubbingRulesBTN(HtmlCommandButton hcb) {
    this.scrubbingRulesBTN = hcb;
    private HtmlCommandButton scrubDataSourceBTN = new HtmlCommandButton();
    public HtmlCommandButton getScrubDataSourceBTN() {
    return scrubDataSourceBTN;
    public void setScrubDataSourceBTN(HtmlCommandButton hcb) {
    this.scrubDataSourceBTN = hcb;
    private HtmlCommandButton uploadDataSourceBTN = new HtmlCommandButton();
    public HtmlCommandButton getUploadDataSourceBTN() {
    return uploadDataSourceBTN;
    public void setUploadDataSourceBTN(HtmlCommandButton hcb) {
    this.uploadDataSourceBTN = hcb;
    private HtmlCommandButton deleteDataSourceBTN = new HtmlCommandButton();
    public HtmlCommandButton getDeleteDataSourceBTN() {
    return deleteDataSourceBTN;
    public void setDeleteDataSourceBTN(HtmlCommandButton hcb) {
    this.deleteDataSourceBTN = hcb;
    private HtmlInputText addDataSourceTF = new HtmlInputText();
    public HtmlInputText getAddDataSourceTF() {
    return addDataSourceTF;
    public void setAddDataSourceTF(HtmlInputText hit) {
    this.addDataSourceTF = hit;
    private HtmlSelectOneMenu deleteDataSourceDD = new HtmlSelectOneMenu();
    public HtmlSelectOneMenu getDeleteDataSourceDD() {
    return deleteDataSourceDD;
    public void setDeleteDataSourceDD(HtmlSelectOneMenu hsom) {
    this.deleteDataSourceDD = hsom;
    private DefaultSelectItemsArray dropdown1DefaultItems = new DefaultSelectItemsArray();
    public DefaultSelectItemsArray getDropdown1DefaultItems() {
    return dropdown1DefaultItems;
    public void setDropdown1DefaultItems(DefaultSelectItemsArray dsia) {
    this.dropdown1DefaultItems = dsia;
    private UISelectItems dropdown1SelectItems = new UISelectItems();
    public UISelectItems getDropdown1SelectItems() {
    return dropdown1SelectItems;
    public void setDropdown1SelectItems(UISelectItems uisi) {
    this.dropdown1SelectItems = uisi;
    private HtmlPanelGrid gridPanel1 = new HtmlPanelGrid();
    public HtmlPanelGrid getGridPanel1() {
    return gridPanel1;
    public void setGridPanel1(HtmlPanelGrid hpg) {
    this.gridPanel1 = hpg;
    private HtmlPanelGrid gridPanel2 = new HtmlPanelGrid();
    public HtmlPanelGrid getGridPanel2() {
    return gridPanel2;
    public void setGridPanel2(HtmlPanelGrid hpg) {
    this.gridPanel2 = hpg;
    private HtmlOutputText welcomeOT = new HtmlOutputText();
    public HtmlOutputText getWelcomeOT() {
    return welcomeOT;
    public void setWelcomeOT(HtmlOutputText hot) {
    this.welcomeOT = hot;
    private JdbcRowSetXImpl database_infoRowSet = new JdbcRowSetXImpl();
    public JdbcRowSetXImpl getDatabase_infoRowSet() {
    return database_infoRowSet;
    public void setDatabase_infoRowSet(JdbcRowSetXImpl jrsxi) {
    this.database_infoRowSet = jrsxi;
    private DefaultSelectItemsArray listbox1DefaultItems1 = new DefaultSelectItemsArray();
    public DefaultSelectItemsArray getListbox1DefaultItems1() {
    return listbox1DefaultItems1;
    public void setListbox1DefaultItems1(DefaultSelectItemsArray dsia) {
    this.listbox1DefaultItems1 = dsia;
    private HtmlSelectOneListbox dataSourceLB = new HtmlSelectOneListbox();
    public HtmlSelectOneListbox getDataSourceLB() {
    return dataSourceLB;
    public void setDataSourceLB(HtmlSelectOneListbox hsol) {
    this.dataSourceLB = hsol;
    private DefaultSelectItemsArray listbox1DefaultItems2 = new DefaultSelectItemsArray();
    public DefaultSelectItemsArray getListbox1DefaultItems2() {
    return listbox1DefaultItems2;
    public void setListbox1DefaultItems2(DefaultSelectItemsArray dsia) {
    this.listbox1DefaultItems2 = dsia;
    private UISelectItems listbox1SelectItems = new UISelectItems();
    public UISelectItems getListbox1SelectItems() {
    return listbox1SelectItems;
    public void setListbox1SelectItems(UISelectItems uisi) {
    this.listbox1SelectItems = uisi;
    private JdbcRowSetXImpl database_infoRowSet1 = new JdbcRowSetXImpl();
    public JdbcRowSetXImpl getDatabase_infoRowSet1() {
    return database_infoRowSet1;
    public void setDatabase_infoRowSet1(JdbcRowSetXImpl jrsxi) {
    this.database_infoRowSet1 = jrsxi;
    private JdbcRowSetXImpl user_tableRowSet = new JdbcRowSetXImpl();
    public JdbcRowSetXImpl getUser_tableRowSet() {
    return user_tableRowSet;
    public void setUser_tableRowSet(JdbcRowSetXImpl jrsxi) {
    this.user_tableRowSet = jrsxi;
    private HtmlMessages messageList1 = new HtmlMessages();
    public HtmlMessages getMessageList1() {
    return messageList1;
    public void setMessageList1(HtmlMessages hm) {
    this.messageList1 = hm;
    private HtmlOutputText welcomeOT1 = new HtmlOutputText();
    public HtmlOutputText getWelcomeOT1() {
    return welcomeOT1;
    public void setWelcomeOT1(HtmlOutputText hot) {
    this.welcomeOT1 = hot;
    // </editor-fold>
    public MainPage() {
    // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
    try {
    database_infoRowSet.setDataSourceName("java:comp/env/jdbc/mySQL");
    database_infoRowSet.setCommand("SELECT ALL database_info.DB_SRC, database_info.USER_ID FROM database_info WHERE database_info.USER_ID = ?");
    database_infoRowSet1.setDataSourceName("java:comp/env/jdbc/mySQL");
    database_infoRowSet1.setCommand("SELECT ALL database_info.DB_SRC, database_info.DB_URL, database_info.DB_SCHEMA, database_info.DB_TYPE, database_info.USER_ID FROM database_info WHERE database_info.USER_ID = ?");
    user_tableRowSet.setDataSourceName("java:comp/env/jdbc/mySQL");
    user_tableRowSet.setCommand("SELECT * FROM user_table");
    } catch (Exception e) {
    log("MainPage Initialization Failure", e);
    throw e instanceof javax.faces.FacesException ? (FacesException) e: new FacesException(e);
    // </editor-fold>
    // Additional user provided initialization code
    try{
    database_infoRowSet.setString(1, getSessionBean1().getSbUserID());
    database_infoRowSet1.setString(1, getSessionBean1().getSbUserID());
    database_infoRowSet.execute();
    database_infoRowSet1.execute();
    database_infoRowSet1.first();
    if (database_infoRowSet.next()) {
    // If no row found then make the following button's as readonly
    database_infoRowSet.first();
    else {
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage(
    "Please Add Data Source to Begin Processing", ""));
    searchDataBTN.setDisabled(true);
    scrubbingRulesBTN.setDisabled(true);
    scrubDataSourceBTN.setDisabled(true);
    uploadDataSourceBTN.setDisabled(true);
    catch (Exception ex){
    log("Error in initializing database_info Row Set", ex);
    protected dissertation.ApplicationBean1 getApplicationBean1() {
    return (dissertation.ApplicationBean1)getBean("ApplicationBean1");
    protected dissertation.SessionBean1 getSessionBean1() {
    return (dissertation.SessionBean1)getBean("SessionBean1");
    * Bean cleanup.
    protected void afterRenderResponse() {
    user_tableRowSet.close();
    database_infoRowSet1.close();
    database_infoRowSet.close();
    public String searchDataBTN_action() {
    // TODO Following code was replaced by static navigation
    // TODO Replace with your code
    //if no value selected then we prompt them to select a row
    if (dataSourceLB.getValue().equals("")||dataSourceLB.getValue()== null){
    // return error msg to select a row before continuing
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage("Please select a data source to process", ""));
    return null;
    else {
    // call method to retrieve the db_schema from the
    getDbDetails();
    getDbDriver();
    return "searchcriticaldata";
    public String scrubbingRulesBTN_action() {
    // TODO Replace with your code
    if (dataSourceLB.getValue().equals("")||dataSourceLB.getValue()== null){
    // return error msg to select a row before continuing
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage("Please select a data source to process", ""));
    return null;
    else {
    // call method to retrieve the db_schema from the
    getDbDetails();
    getDbDriver();
    return "definecolumnrules";
    public String scrubDataSourceBTN_action() {
    // TODO Replace with your code
    if (dataSourceLB.getValue().equals("")||dataSourceLB.getValue()== null){
    // return error msg to select a row before continuing
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage("Please select a data source to process", ""));
    return null;
    else {
    // call method to retrieve the db_schema from the
    getDbDetails();
    getDbDriver();
    return "scrubdata";
    public String uploadDataSourceBTN_action() {
    // TODO Replace with your code
    if (dataSourceLB.getValue().equals("")||dataSourceLB.getValue()== null){
    // return error msg to select a row before continuing
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage("Please select a data source to process", ""));
    return null;
    else {
    // call method to retrieve the db_schema from the
    getDbDetails();
    getDbDriver();
    return "uploaddata";
    public String addDataSourceBTN_action() {
    // TODO Following code was replaced by static navigation
    if ( false) {
    // TODO Replace with your code
    if (addDataSourceTF.getValue().equals("")){
    FacesContext fc =
    javax.faces.context.FacesContext.getCurrentInstance();
    fc.addMessage(null, new FacesMessage(
    "Please specify Data Source to Add", ""));
    return null;
    else {
    String woSpaces = ((String)addDataSourceTF.getValue()).replace(' ', '_');
    getSessionBean1().setSbDataSrc(woSpaces);
    return "adddatasrc";
    return "adddatasrc";
    public void getDbDetails(){
    try {
    Context ctx = new InitialContext();
    if (ctx == null) throw new NamingException("No Initial Context");
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mySQL");
    if (ds == null) throw new NamingException("No Data Source mySQL");
    Connection conn = ds.getConnection();
    if (conn == null)
    throw new SQLException("Unable to establish connection");
    String sql = "Select db_src, db_url, db_schema, db_type user_id, src_password from database_info where db_src=?";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, (String) dataSourceLB.getValue());
    ResultSet rs = pstmt.executeQuery();
    if (rs.next()){
    getSessionBean1().setSbDataSrc(rs.getString("db_src"));
    getSessionBean1().setSbDb_Schema(rs.getString("db_schema"));
    getSessionBean1().setSbDb_Type(rs.getString("db_type"));
    getSessionBean1().setSbDb_Userid(rs.getString("user_id"));
    getSessionBean1().setSbDb_Password(rs.getString("src_password"));
    else
    java.lang.System.out.println("DB_Schema not found for db_src " +
    (String) dataSourceLB.getValue());
    rs.close();
    pstmt.close();
    conn.close();
    catch (SQLException ex) {
    java.lang.System.out.println("\n ----- SQL Exception caught ------\n");
    while (ex !=null){
    java.lang.System.out.println("Message: " + ex.getMessage());
    java.lang.System.out.println("SQLState: " + ex.getSQLState());
    java.lang.System.out.println("ErrorCode: " + ex.getErrorCode());
    ex = ex.getNextException();
    java.lang.System.out.println("");
    catch (NamingException e){
    java.lang.System.out.println("messge unable to establish context in changepassword.jsp");
    public void getDbDriver(){
    try {
    Context ctx = new InitialContext();
    if (ctx == null) throw new NamingException("No Initial Context");
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mySQL");
    if (ds == null) throw new NamingException("No Data Source mySQL");
    Connection conn = ds.getConnection();
    if (conn == null)
    throw new SQLException("Unable to establish connection");
    String sql = "Select db_driver from database_type where db_type=?";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, getSessionBean1().getSbDb_Type());
    ResultSet rs = pstmt.executeQuery();
    if (rs.next()){
    getSessionBean1().setSbDb_Driver(rs.getString("db_driver"));
    else
    java.lang.System.out.println("DB_Driver not found for db_src " +
    (String) dataSourceLB.getValue());
    rs.close();
    pstmt.close();
    conn.close();
    catch (SQLException ex) {
    java.lang.System.out.println("\n ----- SQL Exception caught ------\n");
    while (ex !=null){
    java.lang.System.out.println("Message: " + ex.getMessage());
    java.lang.System.out.println("SQLState: " + ex.getSQLState());
    java.lang.System.out.println("ErrorCode: " + ex.getErrorCode());
    ex = ex.getNextException();
    java.lang.System.out.println("");
    catch (NamingException e){
    java.lang.System.out.println("messge unable to establish context in changepassword.jsp");
    public String deleteDataSourceBTN_action() {
    // TODO Replace with your code
    try {
    Context ctx = new InitialContext();
    if (ctx == null) throw new NamingException("No Initial Context");
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mySQL");
    if (ds == null) throw new NamingException("No Data Source mySQL");
    Connection conn = ds.getConnection();
    if (conn == null)
    throw new SQLException("Unable to establish connection");
    String sql = "Delete from database_info where db_src=?";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, (String) deleteDataSourceDD.getValue());
    pstmt.executeUpdate();
    pstmt.close();
    conn.close();
    return "success";
    catch (SQLException ex) {
    java.lang.System.out.println("\n ----- SQL Exception caught ------\n");
    while (ex !=null){
    java.lang.System.out.println("Message: " + ex.getMessage());
    java.lang.System.out.println("SQLState: " + ex.getSQLState());
    java.lang.System.out.println("ErrorCode: " + ex.getErrorCode());
    ex = ex.getNextException();
    java.lang.System.out.println("");
    return "failure";
    catch (NamingException e){
    java.lang.System.out.println("messge unable to establish context in changepassword.jsp");
    return "failure";
    public void addDataSourceTF_processValueChange(ValueChangeEvent vce) {
    // TODO Replace with your code
    public void deleteDataSourceDD_processValueChange(ValueChangeEvent vce) {
    // TODO Replace with your code
    public void addDataSourceTF_validate(FacesContext fc, UIComponent uic, Object o) {
    // TODO Replace with your code
    }

  • Getting problem when connecting to SMTP server through java code

    Hi all,
    I am getting problem when i am going to connect with "Kerio SMTP server" through java code. The error what i am getting is :
    "[16/Sep/2008 15:59:09] Sent: Queue-ID: 48cf8a73-000000f9, Recipient: <[email protected]>, Result: failed, Status: 5.3.2 554 5.0.0 Too many hops (101, max 100), message looping" when sending an email from [email protected]

    Looks like something is set up wrong on your server that's causing messages
    to be forwarded around a loop too many times without ever reaching the destination.
    For instance, if server A forwards to server B, and server B forwards to server A,
    this would happen.

  • 3DES - Php crypto codes 2 Java codes convertion problem

    I give all php and java codes I convert one by one but I didnt get same result where is my mistake and what shall I do. Thanks for all.
    Php Code
    $key = "db9ca45ee012dcabaff193ca";
    $input = sha1("MehmetKaraman");
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    echo sha1(bin2hex($encrypted_data));
    Output : d7eaa53ab43683a1323cfae877a24efb4a918411
    Java Code :
    String message= “MehmetKaraman”;
    byte[] input = MessageDigest.getInstance("SHA1").digest(message.getBytes("utf-8"));
         final Cipher cipher = Cipher.getInstance("DESede/ECB/NoPadding");
         final SecretKey key = new SecretKeySpec("db9ca45ee012dcabaff193ca".getBytes("utf-8"), "DESede");
    cipher.init(Cipher.ENCRYPT_MODE, key );
    if( input.length % 8 != 0){
         byte [] in2 = new byte[input.length+ 8- input.length%8];
         for(int i = 0;i<input.length;i++){
         in2=input[i];
         input = in2;
         final byte[] encrypted_data = cipher.doFinal(input);
         System.out.println(bin2hex(MessageDigest.getInstance("SHA1").digest(bin2hex(encrypted_data).getBytes())));
    Output : 626b61642ec4ba8f7467933832619d492a6fdde1

    Either you need$input = sha1("MehmetKaraman", true);or in your Java you need to hex encode your sha1 digest before encrypting. When I do either of these and emulate your Java bin2hex() method I get a match.
    I don't understand why people seem unable to do simple debugging. If you had read the PHP documentation for the sha1() function and had printed out the results at each stage it would have been obvious.
    P.S. The zero padding implemented by your codeif( input.length % 8 != 0){
    byte [] in2 = new byte[input.length+ 8- input.length%8];
    for(int i = 0;i<input.length;i++){
    in2=input[i];
    input = in2;
    }can be replaced by 1 line using one of the methods in class java.util.Arrays.
    Edited by: sabre150 on Sep 15, 2010 3:10 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Problem in printing pdf document with java code

    Hi All
    I want to print a pdf document with java code i have used PDFRenderer.jar to compile my code.
    Code:
    File f = new File("C:/Documents and Settings/123/Desktop/1241422767.pdf");
    FileInputStream fis = new FileInputStream(f);
    FileChannel fc = fis.getChannel();
    ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
    PDFFile pdfFile = new PDFFile(bb); // Create PDF Print Page
    PDFPrintPage pages = new PDFPrintPage(pdfFile);
    // Create Print Job
    PrinterJob pjob = PrinterJob.getPrinterJob();
    PageFormat pf = PrinterJob.getPrinterJob().defaultPage();
    pjob.setJobName(f.getName());
    Book book = new Book();
    book.append(pages, pf, pdfFile.getNumPages());
    pjob.setPageable(book);
    // System.out.println(pjob.getPrintService());
    // Send print job to default printer
    pjob.print();
    but when i am running my program i am getting error
    Exception in thread "main" java.awt.print.PrinterException: Invalid name of PrintService.
    Please anybody, knows the solution for this error?
    Thanks In Advance
    Indira

    It seems that either there is no default printer setup or you have too many printers or no printer setup at all. Try running the following code. It should print the list of available print services.
    import java.awt.print.*;
    import javax.print.*;
    public class PrintServiceNames{
         public static void main(String args[]) throws Exception {
              PrintService[] printServices = PrinterJob.lookupPrintServices();
              int i;
              for (i = 0; i < printServices.length; i++) {
                   System.out.println("P: " + printServices);
    }From the list pick one of the print service names and set it explicitly like "printerJob.setPrintService(printServices);" and then try running the program.

  • Problem when connecting locally to Oracle Database 10g from Java code

    Good afternoon,
    I try to connect to my local Oracle 10g from JAVA code. Could somebody tells me what are the 'values' to enter in place of 'value1, value2, value3' in the following:
    final String connectionURLThin = "jdbc:oracle:thin:@value1:value2:value3";
    I tried to put my 'user' and 'pw' credentials I used when connecting with SQL*PLUS:
    value1=my_user_name
    value2=my_pw
    value3=my_schema
    but it doest work. Besides where could have I to put the 'WORKSPACE" name?
    Thanks for any help.
    Claude
    Details:
    ERR MESSAGE----------------------
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/dms/instrument/ExecutionContextForJDBC
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:365)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:854)
    at java.sql.DriverManager.getConnection(DriverManager.java:620)
    at java.sql.DriverManager.getConnection(DriverManager.java:200)
    at javaapplication6.ConnectionExample.driverManager(ConnectionExample.java:138)
    at javaapplication6.Main.main(Main.java:36)
    Caused by: java.lang.ClassNotFoundException: oracle.dms.instrument.ExecutionContextForJDBC
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
    ... 8 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)
    ---------------------ERR MESSAGE
    JAVA code------------------it compiles but throw an error when running there -> (*)...
    final String driverClass = "oracle.jdbc.driver.OracleDriver";
    final String connectionURLThin = "jdbc:oracle:thin:@jeffreyh3:1521:CUSTDB";
    final String userID = "scott";
    final String userPassword = "tiger";
    final String queryString = "SELECT" +
    " user " +
    " , TO_CHAR(sysdate, 'DD-MON-YYYY HH24:MI:SS') " +
    "FROM dual";
    public void driverManager() {
    Connection con = null;
    Statement stmt = null;
    ResultSet rset = null;
    try {
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection(connectionURLThin, userID, userPassword); // (*) prob here
    stmt = con.createStatement ();
    rset = stmt.executeQuery(queryString);
    rset.close();
    stmt.close();
    } catch (SQLException e) {e.printStackTrace();
    --------------------JAVA JDK 1.6
    My system ------------------------
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

    Yes, the network connection could not be established. Like the error said.
    What you're asking about is the exact reason, but that could be any number of things and not at all related to code. You could have the wrong host, the wrong port. A firewall could be blocking the outgoing connection, a firewall could be blocking the incoming connection. Etc. etc.

  • Facing problem with running exe from my java code

    Hello,
    I have to run the exe from java code for which I m using Runtime and Process classes. The exe runs in the following way on command line
    C:/ myexe -j [now press enter]
    input sentence followed by ! [now press enter]
    And after this exe gives the output.
    So is there any way to achieve this programmatically in Java?
    Thanks in advance.
    Regards,

    I m confused .. how can i pass input to the Process through InputStream? I think it will need OutputStream for that.
    Here is my code...
    import java.io.*;
    class CallToExe
    static BufferedReader br;
    public static void main(String[] args)
    File F = new File("C:/Chasen.exe");
    try
    if( F.exists())
         System.out.println("Exe exists");
         Runtime rt = Runtime.getRuntime();
         Process proc = rt.exec("C:/chasen.exe");
         br = new BufferedReader(new InputStreamReader(in));
         int a = in.read();
         System.out.println(a);
         String res = br.readLine();
         System.out.println(res);     
         while(!res.equals(null))
         System.out.println(res);     
         res = br.readLine();
    proc.waitFor();
         proc.destroy();
    catch(NullPointerException npe)
         npe.printStackTrace();
    catch (Exception IOEx)
    IOEx.printStackTrace();
    But it doesnt work as my chasen.exe needs arguments from stdin.
    The way exe works is as follows.
    on command prompt>>
    C:/chasen.exe -j [ Need to press ENTER here]
    input statement . [ Need to press ENTER here too]
    Then output is displayed on command prompt which can be taken from InputStream of the process. But I m not able to properly run this exe itself with all the arguments frm Stdin

  • Reg : Problem in Sending Mail Through Java Code

    Hi All,
    I wrote java code to send email to gmail. But am getting the error as following .
    Error:
    C:\jdevstudio10134\jdk\bin\javaw.exe -client -classpath "C:\jdevstudio10134\jdev\mywork\Prasad\Project1\classes;C:\Program Files\Java\jre1.5.0_14\lib\j2ee.jar" tips.mails.SendMailTest
    javax.mail.SendFailedException: Sending failed;
    nested exception is:
         class javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 995
         at javax.mail.Transport.send0(Transport.java:218)
         at javax.mail.Transport.send(Transport.java:80)
         at tips.mails.SendMail.send(SendMail.java:53)
         at tips.mails.SendMailTest.main(SendMailTest.java:13)
    Process exited with exit code 0.
    Class :
    package tips.mails;
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.Message.RecipientType;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    public class SendMail {
         private String from;
         private String to;
         private String subject;
         private String text;
         public SendMail(String from, String to, String subject, String text){
              this.from = from;
              this.to = to;
              this.subject = subject;
              this.text = text;
         public void send(){
              Properties props = new Properties();
              props.put("mail.smtp.host", "smtp.gmail.com");
              props.put("mail.smtp.port", "995");
              Session mailSession = Session.getDefaultInstance(props);
              Message simpleMessage = new MimeMessage(mailSession);
              InternetAddress fromAddress = null;
              InternetAddress toAddress = null;
              try {
                   fromAddress = new InternetAddress(from);
                   toAddress = new InternetAddress(to);
              } catch (AddressException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              try {
                   simpleMessage.setFrom(fromAddress);
                   simpleMessage.setRecipient(RecipientType.TO, toAddress);
                   simpleMessage.setSubject(subject);
                   simpleMessage.setText(text);
                   Transport.send(simpleMessage);               
              } catch (MessagingException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    ==============================================================================
    Main Class :
    package tips.mails;
    public class SendMailTest {
         public static void main(String[] args) {
              String from = "[email protected]";
              String to = "[email protected]";
              String subject = "Hi Rekha";
              String message = "A test message";
              SendMail sendMail = new SendMail(from, to, subject, message);
              sendMail.send();
    ========================
    Please help me on this .
    Thanks in Advance.

    Hi,
    smtp.gmail.com port is : 587/465
    pop.gmail.com port is : 995
    if u r using ssl connection then use port 465 for smtp.gmail.com. if u r using non-ssl connection means TLS type then u should use port 587 for smtp.gmail.com.
    For any further assistance u can refer to this forum - http://forums.sun.com/forum.jspa?forumID=43 assuming u r using javamail api.

  • Some java code returns a null resultset from 10.2.0.1 DB, but works w/ 9.2

    I am a Java noob guys, but we have java code the calls an Oracle Function. This code is unchanged from what successfully runs against an Oracle 9.2 database returning, in this case, one row from the database. A ref cursor is used. When the same Java code calls the same ref cursor function from a 10.2.0.1 database, a null resultset occurs. The function correctly returns a single row when executed by the same database user via sql-plus. So it must be a java thing. Does the jdbc driver need to be upgraded to correctly run against a 10.2 database? And is this null resultset type of anomaly a potential result of having a wrong version of ojdbc14.jar? Nothing else has changed except pointing the code to the same package and tables in a 10.2 database.
    Thanks in advance for your comments.
    Phil McDermott

    I realize now that this is the wrong forum to post in, but I was linked here from a google search on the issue.
    I downloaded the 10.2.0.1 ojdbc14.jar from oracle, but the problem persists.
    yeesh! now what?

  • Test.jsp not able to display the output from the java code.

    when i try to invoke http://localhost/papz/test.jsp
    I dont see anything. The page is blank. And there are no error messages in any log files. When i click on view source in IE i get to see the entire source code, including the jave code.
    <html>
    <head>
    <title>Test</title>
    <body>
    <%
    out.println("Hello World");
    %>
    asdfasdfasdf
    </body>
    </html>
    i added in the asdfasdf to see whehter it will be printed or not... It does print that stuff out.
    when i try to invoke the login.jsp page, i get the dialog box "save this file to disk"
    Any clues whats going on...?
    I followed the instructions...over and over again... but it doesnt seem to help.
    win nt 4.0
    apache 1.3.12
    jserv 1.1.1
    Pls help. Thanks

    Hi,
    Have you solved your problem?
    I4m trying to do the same, but I installed portal 30, then portal to go, and when I try to run test.jsp I get the following error:
    Request URI:/papz/test.jsp
    Exception:
    java.lang.NoSuchMethodError: oracle.jsp.util.JspUtil: method
    stripTarget(Ljava/lang/String;C)Ljava/lang/String; not found
    Thanks
    Pablo Lopera
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by NewBie:
    when i try to invoke http://localhost/papz/test.jsp
    I dont see anything. The page is blank. And there are no error messages in any log files. When i click on view source in IE i get to see the entire source code, including the jave code.
    <html>
    <head>
    <title>Test</title>
    <body>
    <%
    out.println("Hello World");
    %>
    asdfasdfasdf
    </body>
    </html>
    i added in the asdfasdf to see whehter it will be printed or not... It does print that stuff out.
    when i try to invoke the login.jsp page, i get the dialog box "save this file to disk"
    Any clues whats going on...?
    I followed the instructions...over and over again... but it doesnt seem to help.
    win nt 4.0
    apache 1.3.12
    jserv 1.1.1
    Pls help. Thanks<HR></BLOCKQUOTE>
    null

  • JAVA CODE  NOT CREATING IDOC

    Hi all
    I m facing problem to upload data through idoc.the scenario is like we receive electric meter reading in flat file format. And to upload that data JAVA code is written which will create an IDOC FILE this authorization is only give to 2-3 person in organization and to basis guy also as user changed it’s password in SAP and in JAVA the java code is not going to create the IDOC file and data is not going to upload. after changing user password in sap system ,user not able to upload the data.
    ISU_MR_UPLOAD01 is the idoc file generated. So is there any authorization issue, password issue how to see and view IDOC IN SAP, can any one help me out into this.
    The error with java throws is as;
    1ST ERROR IN TRACE FILE
    ERROR file opened at 20061109 133610 India Standard, SAP-REL 640,0,59 RFC-VER 3  MT-SL
    T:2736 ======> User TR has no RFC authorization for function group SYST .
    T:2736 <* RfcReceive [1] : returns 3:RFC_SYS_EXCEPTION
    2ND ERROR ON COMMAND PROMT
    C:\j2sdk1.4.2_07>cd bin
    C:\j2sdk1.4.2_07\bin>java sandsupload
    Creating IDoc...Exception in thread "main" com.sap.mw.idoc.IDoc$Exception: (2) I
    DOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "ISU_MR_UPLOAD01
    " is unavailable.
            at com.sap.mw.idoc.jco.JCoIDoc$JCoDocument.<init>(JCoIDoc.java:233)
            at com.sap.mw.idoc.jco.JCoIDoc$JCoDocument.<init>(JCoIDoc.java:187)
            at com.sap.mw.idoc.jco.JCoIDoc.createDocument(JCoIDoc.java:10521)
            at sandsupload.main(sandsupload.java:35)
    the part of java code
    try {
                //create a JCo client pool
                JCO.addClientPool( "MyPool",    //pool name
                                   3,           //maximum pool connections
                                   "333",       //SAP client
                                   " TR",    //user ID
                                   " XYZ",  //password
                                   "EN",        //language
                                   " 1.1.1.1   ", //app server host name
                                   "00" );   //system number
                //create an IDoc repository
                IDoc.Repository idocRep = JCoIDoc.createRepository("MyIDocRepository", "MyPool");
                //create a new and empty MATMAS02 document
                System.out.print("Creating IDoc...");
         Line where it shows error
                IDoc.Document doc = JCoIDoc.createDocument(idocRep, "ISU_MR_UPLOAD01");
                //get the root segment from the document
                //The root segment does not contain any fields or data. It is only
                //used as the standard parent segment and won't be transmitted when
                //the document is sent to an SAP system.
                IDoc.Segment segment = doc.getRootSegment();
                //create and add a new and empty child segment of type E1MARAM
                //and fill the segment data

    Hi Gaurav,
    Same exception on the same line has been reported and marked as solved here :
    IDOC_ERROR_METADATA_UNAVAILABLE:
    Btw, I think this forum is not visited often by JCO and ABAP connectivity experts, so maybe you could get a faster response to your problems while posting in "Java Programming" or maybe in some forum under the category ABAP Development.
    HTH
    Peter

Maybe you are looking for

  • Laptop Hangs and taking too much time to startup- Staellite A300- PSAGCE- Win7

    Dear Friend, My Toshiba laptop- Satellite A300 -PSAGCE, working with Windows 7 Ultimate, is hanging in between use. is is taking more time for starup also. I had reformatted and installed new OS many times and still it is showing the problem. Can you

  • Jheadstart(10.1.2.0) intergration with Jdeveloper(10.1.3)

    Having followed installation notes for Jheadstart (I noted that it's certified for Jdeveloper 10.1.2 and not .3 but carried on), I cannot see "Jheadstart Settings " in Jdeveloper..tools..preferences. How can I include in Jdeveloper. Terry

  • Events are moving to the next day (automatically!!!!)

    A while ago i noticed that my upcoming events were on the wrong day. in fact they were one day too late. i thought i put them on the wrong day and forgot it. but recently i had the same problem and now i really suspect iCal of moving my events on the

  • Scheduling a job in oracle 10g

    I would like to run the procedure everyday at 11.00PM in oracle 10g procedure name: Report_schema owner name: BI Please provide the steps to schedule the job in oracle 10g OS version sun solaris

  • Use Automator to Change a System Setting

    Hi there, I was just wondering if there was anyway to use Automator to be able to click one button and be able to turn off/on the F1, F2, F3 etc... functions, so I am able to use F1, F2, F3 etc... when I need it ( mostly using Pro Tools ) and when i'