2015-05-04 6 views
-3

Я пытаюсь сохранить геокоординаты запросов в ArrayList, чтобы проверить, находятся ли некоторые из них в одном окружности, но один элемент просто добавляется в список после каждого запроса! Как я могу управлять им, чтобы добавить все элементы в ArrayList после каждого вызова запроса?добавить элементы в ArrayList

приемник Класс:

import java.util.ArrayList; 
    import java.util.List; 

    import javax.ws.rs.Consumes; 
    import javax.ws.rs.POST; 
    import javax.ws.rs.Path; 
    import javax.ws.rs.core.MediaType; 
    import javax.ws.rs.core.Response; 


@Path("/test") 
public class Receiver { 

    private ArrayList<LatLong> latLongList; 
    @POST 
    @Consumes(MediaType.APPLICATION_JSON) 
    public Response storeData(Data data) { 

     String macD = data.getMac(); 
     int routeD = data.getRoute(); 
     float latD = data.getLatitude(); 
     float longD = data.getLongitude(); 

     latLongList = new ArrayList<>(); 

     latLongList.add(new LatLong(latD, longD)); 

     System.out.println("latLondList size: " + latLongList.size()); 


     Database db = new Database(); 
     db.insertData(macD, routeD, latD, longD); 

     return Response.status(201).build(); 
    } 
} 

класс данных:

@Provider 
public class Data { 
    private String mac; 
    private int route; 
    private float latitude; 
    private float longitude; 

    //getter setter constructor. 
} 

LatLong класс:

public class LatLong { 

    float latitude; 
    float longitude; 

    //getter setter constructor. 
} 
+0

Lacking подробно. Я не вижу запроса! –

+0

Я думаю, что вы не предоставляете полный код. Прочтите некоторые о контексте приложения. – degr

+0

@Brett: Пожалуйста, см. Мой обновленный код. Этот код достаточно. – tree

ответ

0

попробовать это:

public class Receiver { 
    private static ArrayList<LatLong> latLongList = new ArrayList<>(); 

    @POST 
    @Consumes(MediaType.APPLICATION_JSON) 
    public Response storeData(Data data) { 

     String macD = data.getMac(); 
     int routeD = data.getRoute(); 
     float latD = data.getLatitude(); 
     float longD = data.getLongitude(); 

     latLongList.add(new LatLong(latD, longD)); 

     System.out.println("latLondList size: " + latLongList.size()); 


     Database db = new Database(); 
     db.insertData(macD, routeD, latD, longD); 

     return Response.status(201).build(); 
    } 
} 

EDIT: Убрано второе latLongList переменная.

+0

, пожалуйста, проверьте свой код. Я получаю 'Duplicate field Receiver.latLongList' – tree

+0

это будет, если вы удалите дубликат этой строки' private ArrayList latLongList; ' – tree