I want to use following method for creation of custom field. But I am getting null pointer exception so I think the error is because of FieldConfig fc=field.getRelevantConfig(issue); If this is correct then why I am getting that error and if not then can anyone help me because of which I am getting an error?
@Named("SelectCF")
public class SelectCF extends GenericTextCFType
{
@ComponentImport
private final UserManager um;
@ComponentImport
private final JiraAuthenticationContext jac;
@ComponentImport
private final CustomFieldValuePersister customFieldValuePersister;
@ComponentImport
private final GenericConfigManager genericConfigManager;
@ComponentImport
private final TextFieldCharacterLengthValidator textFieldCharacterLengthValidator;
@ComponentImport
OptionsManager omm;
@Inject
public SelectCF(CustomFieldValuePersister customFieldValuePersister, GenericConfigManager genericConfigManager,JiraAuthenticationContext jac ,TextFieldCharacterLengthValidator textFieldCharacterLengthValidator,UserManager um ,OptionsManager omm)
{
super(customFieldValuePersister, genericConfigManager,textFieldCharacterLengthValidator,jac);
this.customFieldValuePersister=customFieldValuePersister;
this.genericConfigManager=genericConfigManager;
this.textFieldCharacterLengthValidator=textFieldCharacterLengthValidator;
this.omm=omm;
this.jac=jac;
this.um=um;
}
public Map<String, Object> getVelocityParameters(final Issue issue,
final CustomField field,
final FieldLayoutItem fieldLayoutItem)
{
final Map<String, Object> map = super.getVelocityParameters(issue, field, fieldLayoutItem);
int num=0;
int num1=1;
FieldConfig fc=field.getRelevantConfig(issue);
Options options=ComponentAccessor.getComponent(Options.class);
Option op1=omm.createOption(fc, null, new Long(num), "Hello");
Option op2=omm.createOption(fc, null, new Long(num1), "World");
options.add(op1);
options.add(op2);
map.put("option1", "Hello");
map.put("option2", "World");
return map;
}
}