You need to sign in to do that
Don't have an account?
Attempt to derefrence a null object...
Hi Team,
Could you please any one help me with below code.
I am getting attempt derernce a null object at this part
public PageReference addProducts() {
List<Case_Product__c> cpsToBeInserted = new List<Case_Product__c>();
for (LabelWrapper clw : labels) {
if (clw.isSelected) {
system.debug('Naresh');
cpsToBeInserted.add(new Case_Product__c(Case__c = caseId, Product_Shipper__c = clw.cl.Id));
}
}
------------------------------------------------------------------------------------------
public with sharing class AddCaseProducts {
public List<LabelWrapper> labels{get; set;}
public List<SelectOption> productFamilies{get; set;}
public String productFamily{get; set;}
Id caseId;
public AddCaseProducts(ApexPages.StandardController controller) {
caseId = ApexPages.currentPage().getParameters().get('caseId');
productFamilies= new List<SelectOption>();
productFamily= '';
for (PicklistEntry pe : Schema.SObjectType.Product_Shipper__c.Fields.Family__c.getpicklistValues()) {
productFamilies.add(new SelectOption(pe.getValue(), pe.getLabel()));
}
}
public void initialize() {
if (caseId != null) {
labels = new List<LabelWrapper>();
//String campaignType = [select RecordType.Name from Campaign where Id=:campaignId].RecordType.Name;
List<Id> existingCPs = new List<Id>();
for (Case_Product__c cp : [SELECT Product_Shipper__c FROM Case_Product__c WHERE Case__c = :caseId])
existingCPs.add(cp.Product_Shipper__c);
String query = 'SELECT Id, Name, Family__c,AGI_Code__c,Pack_Size__c,Price__c FROM Product_Shipper__c WHERE Id NOT IN :existingCPs';
if (productFamily!= null && productFamily!= '') {
query += ' AND Family__c INCLUDES (:productFamily)';
system.debug('Naresh');
}
List<Product_Shipper__c> prodList = Database.query(query);
for (Product_Shipper__c l : prodList)
labels.add(new LabelWrapper(l));
if (labels.isEmpty()) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO, 'There are no products to display'));
}
}
else {
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.FATAL, 'Please open this page from Case detail page'));
}
}
public PageReference addProducts() {
List<Case_Product__c> cpsToBeInserted = new List<Case_Product__c>();
for (LabelWrapper clw : labels) {
if (clw.isSelected) {
system.debug('Naresh');
cpsToBeInserted.add(new Case_Product__c(Case__c = caseId, Product_Shipper__c = clw.cl.Id));
}
}
if (!cpsToBeInserted.isEmpty()) {
try {
insert cpsToBeInserted;
return new ApexPages.StandardController(new Case(Id = caseId)).view();
}
catch(System.DMLException e) {
ApexPages.addMessages(e);
}
}
else {
ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.FATAL, 'Please select atleast a product to insert or click cancel to go back'));
}
return null;
}
public PageReference cancel() {
if (caseId != null) {
return new ApexPages.StandardController(new Case(Id = caseId)).view();
}
return new PageReference('/home/home.jsp');
}
class LabelWrapper {
public boolean isSelected{get; set;}
public Product_Shipper__c cl {get; set;}
public LabelWrapper(Product_Shipper__c cl) {
this.cl = cl;
}
}
}
public PageReference addProducts() {
List<Case_Product__c> cpsToBeInserted = new List<Case_Product__c>();
for (LabelWrapper clw : labels) {
if (clw.isSelected) {
system.debug('Naresh');
cpsToBeInserted.add(new Case_Product__c(Case__c = caseId, Product_Shipper__c = clw.cl.Id));
}
}
probably that clw.cl dont have id? i mean that cl value is null for that clw?