Thursday, December 29, 2011

html5 features

Wednesday, December 28, 2011

java explanstion

this site will provide all features, where we can get more details
http://www.mkyong.com/

According to TLD or attribute directive in tag file, attribute items does not accept any expressions

when i tried to use jstl to iterate list i faced this issue.


solution.

 i chaned   <%@ taglib  prefix="c" uri="http://java.sun.com/jsp/jstl/core"    %> to

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"  %> the problem resolved.


Tuesday, December 27, 2011

how to read csv file data and validating the data

CsvReader reader=new CsvReader("csvfile");//use csvreader.jar file
while (reader.readRecord()) {
                // This deals with embedded newlines inside quote-escaped fields
int firstRecordColumnCount = reader.getColumnCount();
                String line = reader.getRawRecord();

 string columnvalue=reader.get(position) ;//




//to read a file
 FileContents contents = new FileContents();
        FileReader in = new FileReader(args[ 3]);
        StringBuffer fileContents = new StringBuffer();
        int c;
        while ((c = in.read()) != -1) {
            fileContents.append((char) c);
        }
        contents.setFile(fileContents.toString());




 

how to execute a query and get the data to an object from sales force using java

List< AlarmErrorStatus> jobs = new ArrayList< AlarmErrorStatus>();
String sfdcQuery ="SELECT CreatedDate,Id,XX_Base__Account__c,XX_Base__Contact__c,XX_Base__Execution_Steps__c,XX_Base__External_Key__c,XX_Base__Log_Level__c,XX_Base__Log_Message__c,XX_Base__Log_Type__c,XX_Base__Org_ID__c,XX_Base__Process_Name__c,XX_Base__Status__c,XX_Base__Step_in_Process__c,XX_Base__Summary_Advanced_Log__c,XX_Base__Total_Records_Errored__c,XX_Base__Total_Records_Processed__c,XX_Base__Total_Records_Succeeded__c,XX_Base__User_ID__c FROM XX_Base__Advanced_Log__c WHERE XX_Base__Summary_Advanced_Log__c = '" + jobId + "'";
QueryResult systemerrorQueryResult=connection.query(sfdcQuery);
for (SObject fieldObject : systemerrorQueryResult.getRecords()) {
             AlarmErrorStatus alarm = new AlarmErrorStatus(); //java object
                alarm.setAlarmJobId(jobId);
                alarm.setCreatedDate(dateConverts.sfdcToJava((String) fieldObject.getField("CreatedDate")));
                alarm.setUserName((String) fieldObject.getField("XX_Base__User_ID__c"));
                alarm.setErrorCode((String) fieldObject.getField("Id"));
                alarm.setErrorMessage((String) fieldObject.getField("XX_Base__Log_Message__c"));
                alarm.setErrorStatus((String) fieldObject.getField("XX_Base__Status__c"));
                alarm.setErrorReason("");
                alarm.setErrorSR("");
                alarm.setAccount((String) fieldObject.getField("XX_Base__Account__c"));
                alarm.setContact((String) fieldObject.getField("XX_Base__Contact__c"));
                alarm.setExecutionSteps((String) fieldObject.getField("XX_Base__Execution_Steps__c"));
                alarm.setExternalKey((String) fieldObject.getField("XX_Base__External_Key__c"));
                alarm.setType((String) fieldObject.getField("XX_Base__Log_Type__c"));
                alarm.setOrgId((String) fieldObject.getField("XX_Base__Org_ID__c"));
                alarm.setProcessName((String) fieldObject.getField("XX_Base__Process_Name__c"));
                alarm.setStepInProcess((String) fieldObject.getField("XX_Base__Step_in_Process__c"));
                alarm.setTotalRecordsErrored((String) fieldObject.getField("XX_Base__Total_Records_Errored__c"));
                alarm.setTotalRecordsSucceded((String) fieldObject.getField("XX_Base__Total_Records_Succeeded__c"));

                monitorLogger.info("Error Id:" + (String) fieldObject.getField("Id"));
                jobs.add(alarm);
            }
return jobs;

Updating the existing object status in sales force.com using java

public void updateLogStatus(PartnerConnection connection,
            String summaryLogId,
            String newStatus) throws ConnectionException {
        SObject updatedLog = new SObject();
        updatedLog.setId(summaryLogId);

        updatedLog.setType("XX_Base__Advanced_Log__c");
        updatedLog.setField("XX_Base__Status__c", newStatus);
        SaveResult results[] = connection.update(new SObject[]{updatedLog});

        for (SaveResult result : results) {
            for (Error error : result.getErrors()) {
                Logger logger = Logger.getLogger(this.getClass());
                logger.error(error.getMessage());
                // Go ahead and continue, with an incorrect status.
            }
        }
    }

How to craete summary log records in sales force using java

public String createSummaryLogRecord(PartnerConnection connection,
            String processName,
            String logMessage,
            String targetOrg)
            throws ConnectionException {

        String summaryLogId = null;
        SObject summaryRecord;
        monitorLogger.info("Before summaryRecord :");
        summaryRecord = new SObject();
        summaryRecord.setType("XX_Base__Advanced_Log__c");
        summaryRecord.setField("XX_Base__Log_Type__c", "Summary");
        summaryRecord.setField("XX_Base__Status__c", "Pending");
        summaryRecord.setField("XX_Base__Process_Name__c", processName);
        summaryRecord.setField("XX_Base__Log_Message__c", logMessage);
        summaryRecord.setField("XX_Base__Total_Records_Processed__c", 0);
        summaryRecord.setField("XX_Base__Total_Records_Errored__c", 0);

        // TODO set target org

        SaveResult[] results = connection.create(
                new SObject[]{summaryRecord});

        for (SaveResult result : results) {
            summaryLogId = result.getId();
            monitorLogger.info("Saving  summaryRecord:" + summaryLogId);
            Error[] errors = result.getErrors();
            Logger logger = Logger.getLogger(this.getClass());
            for (Error error : errors) {
                logger.error(error.toString());
            }

            if (result.getErrors().length > 0 || (!result.isSuccess())) {
                summaryLogId = null;
            }
        }
        return summaryLogId;
    }

creating connection using sessionId and target url in salesForce.com using java

public PartnerConnection connect(String sessionId,
            String targetUrl)
            throws ConnectionException {
        PartnerConnection connection;
        ConnectorConfig config = new ConnectorConfig();
        config.setServiceEndpoint(targetUrl);
        config.setSessionId(sessionId);
        try {
            connection = Connector.newConnection(config);
        } catch (ConnectionException e) {
            throw e;
        }

        return connection;
    }

How to create connection using username and password in salesforce .com using java

public PartnerConnection authenticate(String enterpriseEnvironment,
            String username,
            String password)
            throws ConnectionException {
        PartnerConnection connection;
        ConnectorConfig config = new ConnectorConfig();
        config.setAuthEndpoint(enterpriseEnvironment);
        config.setUsername(username);
        config.setPassword(password);
        try {
            connection = Connector.newConnection(config);
        } catch (ConnectionException e) {
            Logger logger = Logger.getLogger(this.getClass());
            logger.error("Unable to authenticate as '" + username + "'", e);
            throw e;
        }

        return connection;
    }

Monday, December 26, 2011

StringBuilder instead of String

Use StringBuilder  instead of String while concatenating a String.

 StringBuilder sb = new StringBuilder();
sb.append("***************************************************\n");                sb.append("XMLName: ").append(obj.getXmlName()).append("\n");             
sb.append("DirName: ").append(obj.getDirectoryName()).append("\n");     
sb.append("Suffix: ").append(obj.getSuffix()).append("\n");                  sb.append("***************************************************\n");
System.out.println(sb.toString());

when we use String it will create a object for every concatenation.

String str="XMLName: " +obj.getXmlName()+;



Getting apex Class Names using java with salesFroce.com

import com.sforce.soap.enterprise.Connector;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.enterprise.LoginResult;
import com.sforce.soap.metadata.DescribeMetadataObject;
import com.sforce.soap.metadata.DescribeMetadataResult;
import com.sforce.soap.metadata.FileProperties;
import com.sforce.soap.metadata.ListMetadataQuery;
import com.sforce.soap.metadata.MetadataConnection;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;

/**
*
* @author sgidigi
*/
public class SfdcClasses {

public static void main(String agrs[]) throws ConnectionException {

String userName = "UserName";
String pwd = "Password";
try {
ConnectorConfig config = new ConnectorConfig();
config.setManualLogin(true);
EnterpriseConnection connection = Connector.newConnection(config);
// PartnerConnection connection = Connector.newConnection(config);
LoginResult lr = connection.login(userName, pwd);

ConnectorConfig mdCfg = new ConnectorConfig();
mdCfg.setSessionId(lr.getSessionId());
mdCfg.setServiceEndpoint(lr.getMetadataServerUrl());
MetadataConnection metadataStub = new MetadataConnection(mdCfg);

DescribeMetadataResult res = metadataStub.describeMetadata(23.0);

// StringBuilder sb = new StringBuilder();
if (res != null && res.getMetadataObjects().length > 0) {
for (DescribeMetadataObject obj : res.getMetadataObjects()) {

System.out.println(obj.getXmlName());
// sb.append("***************************************************\n");
// sb.append("XMLName: ").append(obj.getXmlName()).append("\n");
// sb.append("DirName: ").append(obj.getDirectoryName()).append("\n");
// sb.append("Suffix: ").append(obj.getSuffix()).append("\n");
// sb.append("***************************************************\n");
}}

ListMetadataQuery query = new ListMetadataQuery();
query.setType("ApexClass");
query.setFolder(null);
FileProperties[] lmr = metadataStub.listMetadata(
new ListMetadataQuery[]{query}, 23.0);
if (lmr != null) {
System.out.println("The Apex Classes are : ");
for (FileProperties n : lmr) {
System.out.println("Component fullName: " + n.getFullName());
// System.out.println("Component type: " + n.getType());
}
}
} catch (ConnectionException ce) {
System.err.println("ce :" + ce);
}

}
}