Search This Blog

Common Used code for Dev

DVM Syntax:

dvm:lookupValue("DVM Location ","Key","ValueName","Value","")

Example :
dvm:lookupValue("oramds:/apps/Hello/dvm/wave3/xyz.dvm","Key","compName","Value","")

Count Line for large file in Java: ( Fast Execution )

    /**
     * @param filePath
     * @return
     * @throws FileNotFoundException
     * @throws IOException
     */
    public int countLineNumbers(String filePath) throws FileNotFoundException,
                                                        IOException {

        LineNumberReader lnr =
            new LineNumberReader(new FileReader(new File(filePath)));
        lnr.skip(Long.MAX_VALUE);
        int lineCount = lnr.getLineNumber() + 1;
        lnr.close();
        return lineCount;
    }

Move File and Copy File logic in Java:



    public void moveWorkingFile(String sourceFile, String destinationPath) {
            try {
                File afile = new File(sourceFile);
                afile.renameTo(new File(destinationPath));
            } catch (Exception e) {
                 throw ex;
            }
        }
         
       
     import oracle.j2ee.ws.common.util.FileUtils;
  
    public void copyWorkingFile(String sourceFile,
                                    String destinationPath) throws Exception {
            try {
                FileUtils.copyFile(new File(sourceFile),
                                   new File(destinationPath));
            } catch (Exception ex) {
                             throw ex;
            }
        }

 

StringTokenizer :

 private HashMap<String, String>  propertiesMap = new HashMap<String, String>();

strProps ( userName=xyz | password = abc | url = http)

    private void loadCommonProperties(String strProps) throws Exception {

          String strTempProps = "";
            try {
                StringTokenizer tok = new StringTokenizer(strProps, "|");
                while (tok.hasMoreTokens()) {
                  strTempProps = tok.nextToken();
                    if (strTempProps.contains("=")) {
                        String[] strKeyVal = strTempProps.split("=");
                        if( strKeyVal.length < 2 ){
                            propertiesMap.put(strKeyVal[0], " ");
                                }else{
                        propertiesMap.put(strKeyVal[0], strKeyVal[1]);
                                }
                    }
                }
           } catch (Exception ex) {
                       throw ex;
            }
         
        }


Value get from Map

propertiesMap.get("userName");



Creating Connection in Java code from Data Source JNDI Name:


private Connection getJdbcConnection(String jdbcParams) throws SQLException,
                                                                   NamingException,
                                                                   ClassNotFoundException {
        try {
            String[] strParam = jdbcParams.split(",");

            String serverUrl = strParam[0];
            String jndi = strParam[1];
            Properties prop = new Properties();
            prop.put(Context.INITIAL_CONTEXT_FACTORY,
                     "weblogic.jndi.WLInitialContextFactory");
            prop.put(Context.PROVIDER_URL, serverUrl);

            InitialContext ctx = new InitialContext(prop);

            DataSource dataSource = (DataSource)ctx.lookup(jndi);
           Connection objConn = dataSource.getConnection();
  }catch(Exception ex){
  throw ex;
  }
  return objConn;

  }



Java code to Convert Unix File format to DOS File Format

Note : Below logic only works in Unix Flavor platform.

    public static String convertUnixToDosFile(String sourceFile,String targetFile) {

        try {

            Runtime.getRuntime().exec("unix2dos " + sourceFile + " " +   targetFile);

        } catch (IOException e) {

            e.printStackTrace();

        }
        return "true";
    }


SingleTon Property very important if code deployed in Cluster Env


SingleTon Property very important if code deployed in Cluster Env



 <reference name="CopyMoveFileOperation"   ui:wsdlLocation="CopyMoveFileOperation.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/CopyMoveFileOperation#wsdl.interface(CopyFile_ptt)"/>
    <binding.jca config="CopyMoveFileOperation_file.jca">
       <property name="singleton">true</property>
    </binding.jca>
  </reference>

IHelperBean Class - Predefined SOA Class to set JCA properties in Spring Component

IHelperBean Class - Predefined SOA Class to set JCA properties in Spring Component 


    Most of the Business logic are not simple to achieve in SOA ( BPEL ) or BPM, to make process more faster and simple to maintain Spring approach  can be use. Calling SOA adapter in Spring also simple.

Question ???    

How to set JCA properties in Run Time with out hard coding properties in .JCA  and I know how to use in BPEL , But how to set in Spring ????


IHelper Bean  ( Note don't change any name for IHelper Bean)

Import Statement :
import oracle.soa.platform.component.spring.beans.IHeaderHelperBean;


 private IHeaderHelperBean headerHelper;


Getters and Setters 


    public void setHeaderHelper(IHeaderHelperBean headerHelper) {
        this.headerHelper = headerHelper;
    }

    public IHeaderHelperBean getHeaderHelper() {
        return headerHelper;

    }


Code Logic :


      headerHelper.setHeaderProperty("jca.file.FileName", "TmpBPCL.txt");
      headerHelper.setHeaderProperty("jca.file.Directory", filePath);



Spring.xml

<beans>
  <bean class="com.bcbsri.spring.mapUtil.ClaimProcessor"
        id="CLM030837IpEditsFileBean">
    <property name="headerHelper" ref="headerHelperBean"/>
  </bean>
</beans>