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

There will be many cases where we will need the values of the parameters configured in the 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 in DAL code.
  1. Import the package  org.openbravo.base.session.OBPropertiesProvider.
  2. Use the getProperty(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;

 * @author shankar
public class ImportFile implements

  private static Logger log=Logger.getLogger(ImportFile.class);
  public void execute(ProcessBundle bundle) throws Exception {
      String RecordId=(String) bundle.getParams().get("XXX_Import_ID");"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");

   catch(Exception e){
Happy Working...     


Popular posts from this blog

Changing Timezone in Postgresql, Ubuntu

Display Logic and read only logic In Openbravo

My 10 years in Application Development