Retrieving Openbravo properties in DAL code

Openbravo.properties is the configuration page in which we specify the source folder, the database configuration and many other configuration parameters. For more information on Openbravo.properties configuration, refer here.

There will be many cases where we will need the values of the parameters configured in the Openbravo.properties. Few cases are.

  1. When you have a native jdbc connectivity code and you do not want to change that, but bring that under a DAL code.
  2. When you have attached a file to a record and want to process that using the actual file path.
  3. When you need your current database name. 
  4. When you need your current database parameters like URL, username,password, etc
  5. When you want the current context name using which the instance will be accessed.

Now lets see how we can access the Openbravo.properties in DAL code.

  1. Import the package  org.openbravo.base.session.OBPropertiesProvider.
  2. Use thegetProperty(property name) method on the OBPropertiesProvider
  3. Pass the name of the parameter whose value you require to the getProperty() method.

 Provided below is a sample code to retrieve the source path, database name, URL, database user name and database password.


package com.fugoconsulting.XXX.erpCommon.ad_process;

 import org.apache.log4j.*;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.scheduling.ProcessBundle;
 import org.openbravo.dal.service.OBQuery;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.core.SessionHandler;
 import org.openbravo.base.session.OBPropertiesProvider;
 import org.openbravo.service.db.DalBaseProcess;

 /**
  *
  * @author shankar
  */
 public class ImportFile implements org.openbravo.scheduling.Process{

    private static Logger log=Logger.getLogger(ImportFile.class);

    public void execute(ProcessBundle bundle) throws Exception {
         // TODO code application logic here
         try{

           String RecordId=(String) bundle.getParams().get("XXX_Import_ID");
           log.info("Record ID "+RecordId);
           String sourcepath=      OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("source.path");
          String dburl= OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.url");
         String database = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.sid");
         String systemUser = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.systemUser");
          String systemPassword = OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty("bbdd.systemPassword"); </span>

}

catch(Exception e){
}

}

Happy Working…


Advertisements

About Shankar Balachandran
Technical Manager, Openbravo operations, Kailao Consulting Private Limited

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: