Hello
Im new in developping with jira , so i had a sample code that works , but when i try to test it by myself it seems that there are something wrongs , I do not find my developped rest api (path = personne ) in the rest browser : Please find below my code , if someone can help me .
RESTAPI:
package fr.spectrum.panel.rest;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.exception.ParseException;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.template.TemplateManager;
import com.atlassian.jira.util.I18nHelper;
import fr.spectrumgroupe.panel.dao.personnedao;
import fr.spectrumgroupe.panel.entity.personne;
Produces({ MediaType.APPLICATION_JSON })
Consumes({ MediaType.APPLICATION_JSON })
@Path("/personne")
public class personnerestservices {
personnedao personnedao ;
PluginSettingsDao pluginSettingsDao;
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
TemplateManager templateManager = ComponentAccessor.getComponentOfType(TemplateManager.class);
I18nHelper i18nHelper = ComponentAccessor.getComponentOfType(I18nHelper.class);
Inject
public void personnerestservices(personnedao personnedao) {
this.personnedao = personnedao;
//this.pluginSettingsDao=pluginSettingsDao;
}
GET
Path("/{id}/{nom}/{prenom}")
public Response Getpersonne(@PathParam(value = "id") String id,@PathParam(value = "nom") String nom, @PathParam(value = "prenom") String prenom) throws ParseException {
personne personne = personnedao.Getpersonne (id,nom,prenom);
if(personne != null) {
return Response.ok(i18nHelper.getText("sp-ideation-sponsor-enregistré")).build();
}else {
return Response.status(500).entity(i18nHelper.getText("ssp-ideation-sponsor-non-existe")).build();
}
}
}
PersonneDao
package fr.spectrumgroupe.panel.dao;
import fr.spectrumgroupe.panel.entity.personne;
public interface personnedao {
public personne addpersonne (String id , String nom , String prenom);
public personne Getpersonne(String id,String nom , String prenom);
}
PersonnedaoImpl
package fr.spectrumgroupe.panel.DaoImpl;
import javax.inject.Inject;
import javax.inject.Named;
import com.atlassian.activeobjects.external.ActiveObjects;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.util.I18nHelper;
import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import fr.spectrumgroupe.panel.dao.personnedao;
import fr.spectrumgroupe.panel.entity.personne;
import net.java.ao.DBParam;
Scanned
Named
public class PersonneDaoImpl implements personnedao {
ComponentImport
private final ActiveObjects ao;
I18nHelper i18nHelper = ComponentAccessor.getComponentOfType(I18nHelper.class);
Inject
public PersonneDaoImpl(ActiveObjects ao)
{
this.ao = ao;
}
Override
public personne Getpersonne (String id ,String nom, String prenom) {
personne[] personne = ao.find(personne.class, "ID = ? NOM = ? AND PRENOM = ?", new Object[] { id.toString().trim(),nom.toString().trim(), prenom.toString().trim() });
if (personne.length > 0) {
return personne[0];
}
else {
return null;
}
}
}
The class is added to jira , i see it in plugin storage
But i do not find my restapi (personne) in restapi browser.
Alo the error is always at this two line :
PluginSettingsDao pluginSettingsDao;
TemplateManager templateManager = ComponentAccessor.getComponentOfType(TemplateManager.class);
Please i need help
Regards