hi I need to enter these values of different arraylist within a class to build a REST service, but it does not allow me to use object arrays to insert these values in my class so I do not want to be declaring "n" instances of my class to enter the data: AND I GET THE FOLLOWING ERROR
(: Servlet.service () for servlet [operations.ups.edu.ec.finalproject.config.JerseyCo nfig] in context with path [] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null at operations.ups.edu.ec.finalproject.repository.imp.CoordinatesRepositoryValues.getCoordinates (CoordinatesRepositoryValues.java:32) ~ [classes! /: 0.0.1-SNAPSHOT])
here my classes
CLASS OF WHOM I WISH TO GENERATE MICROSERVICE
public class Coordinates {
int pointId;
String longitud;
String latitud;
double distanceKm;
boolean statusCalc;
public Coordinates(){}
public int getPointId() {
return pointId;
}
public String getLongitud() {
return longitud;
}
public String getLatitud() {
return latitud;
}
public double getDistanceKm() {
return distanceKm;
}
public boolean isStatusCalc() {
return statusCalc;
}
public static class Builder{
Coordinates coordinates= new Coordinates();
public Builder pointId(int val){
this.coordinates.pointId= val;
return this;
}
public Builder longitud (String val){
this.coordinates.longitud= val;
return this;
}
public Builder latitud (String val){
this.coordinates.latitud= val;
return this;
}
public Builder distanceKm (double val){
this.coordinates.distanceKm= val;
return this;
}
public Builder statusCalc (boolean val){
this.coordinates.statusCalc= val;
return this;
}
public Coordinates build() {
return this.coordinates;
}
}
}
CLASE DONDE SE SE ENCUENTRAN LOS VALORES QUE DESEO INSERTAR
@Service
public class CoordinatesPointsValuesRepository {
public List id(){
List <Integer> id = new ArrayList<Integer>();
id.add(1);
id.add(2);
id.add(3);
id.add(4);
return id;
}
public List Longitud(){
List <String> longitud = new ArrayList<String>();
longitud.add("234567");
longitud.add("345678");
longitud.add("6543");
longitud.add("54322");
return longitud;
}
public List Latitud(){
List <String> latitud = new ArrayList<String>();
latitud.add("234asdN");
latitud.add("345678SE");
latitud.add("65OE43");
latitud.add("54NE322");
return latitud;
}
public List distanceKm(){
List <Double> distanceKm= new ArrayList<Double>();
distanceKm.add(12.3);
distanceKm.add(2.2);
distanceKm.add(5.5);
distanceKm.add(8.0);
return distanceKm;
}
}
CLASE QUE SE ENCARGA DE CARGAR LOS VALORES EN MI LA CLASE DE LA CUAL SE DESEA GENERAR EL MICROSERVICIO
package operations.ups.edu.ec.finalproject.repository.imp;
import operations.ups.edu.ec.finalproject.domain.Coordinates;
import operations.ups.edu.ec.finalproject.repository.CoordinatesRepository;
import operations.ups.edu.ec.finalproject.repository.maper.CoordinatesPointsValuesRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
@Repository
public class CoordinatesRepositoryValues implements CoordinatesRepository {
Coordinates.Builder [] coordinatesBuild = new Coordinates.Builder[4];
CoordinatesPointsValuesRepository coordinatesPointsValuesRepository = new CoordinatesPointsValuesRepository();
@Autowired
public CoordinatesRepositoryValues(){
}
@Override
public List<Coordinates> getCoordinates () {
List<Coordinates> setCoordinates = new ArrayList<Coordinates>();
List<Integer>getPointID = this.coordinatesPointsValuesRepository.id();
List<String>getLatitud = this.coordinatesPointsValuesRepository.Latitud();
List<String>getLongitud = this.coordinatesPointsValuesRepository.Longitud();
List<Double>getDistanceKm = this.coordinatesPointsValuesRepository.distanceKm();
for(int i=0 ; i <coordinatesBuild.length ; i++){
coordinatesBuild[i].pointId(getPointID.get(i));
coordinatesBuild[i].latitud(getLatitud.get(i));
coordinatesBuild[i].longitud(getLongitud.get(i));
coordinatesBuild[i].distanceKm(getDistanceKm.get(i));
coordinatesBuild[i].statusCalc(true);
setCoordinates.add(coordinatesBuild[i].build());
}
return setCoordinates;
}
}