| 1 | package handler; |
|---|
| 2 | |
|---|
| 3 | import flexjson.JSONSerializer; |
|---|
| 4 | import geometry.Point; |
|---|
| 5 | |
|---|
| 6 | import java.util.ArrayList; |
|---|
| 7 | import java.util.HashMap; |
|---|
| 8 | import java.util.Iterator; |
|---|
| 9 | |
|---|
| 10 | import model.Resource; |
|---|
| 11 | import model.Service; |
|---|
| 12 | import util.Log; |
|---|
| 13 | import util.Parameter; |
|---|
| 14 | import util.ServiceRequest; |
|---|
| 15 | |
|---|
| 16 | public class SelfHandler extends ResourceHandler |
|---|
| 17 | { |
|---|
| 18 | |
|---|
| 19 | @SuppressWarnings("unused") |
|---|
| 20 | private Resource resource; |
|---|
| 21 | |
|---|
| 22 | @Override |
|---|
| 23 | public boolean checkService(Service service) |
|---|
| 24 | { |
|---|
| 25 | return true; |
|---|
| 26 | } |
|---|
| 27 | |
|---|
| 28 | @Override |
|---|
| 29 | public String fillQueryTemplate(String template, Service service, |
|---|
| 30 | HashMap<String, Parameter> parameters) |
|---|
| 31 | { |
|---|
| 32 | return ""; |
|---|
| 33 | } |
|---|
| 34 | |
|---|
| 35 | @Override |
|---|
| 36 | protected ArrayList<HashMap<String, Parameter>> handleRequest( |
|---|
| 37 | ServiceRequest request, Log log) |
|---|
| 38 | { |
|---|
| 39 | ArrayList<HashMap<String, Parameter>> out = new ArrayList<HashMap<String, Parameter>>(); |
|---|
| 40 | |
|---|
| 41 | JSONSerializer serializer = new JSONSerializer(); |
|---|
| 42 | |
|---|
| 43 | String json = serializer.exclude("*.class").include("services", "parameters").serialize(request.getProfile()); |
|---|
| 44 | |
|---|
| 45 | Iterator<String> keys = request.getService().getOut().keySet() |
|---|
| 46 | .iterator(); |
|---|
| 47 | |
|---|
| 48 | HashMap<String, Parameter> paraMap = new HashMap<String, Parameter>(); |
|---|
| 49 | while (keys.hasNext()) |
|---|
| 50 | { |
|---|
| 51 | String key = keys.next(); |
|---|
| 52 | Parameter op = new Parameter(); |
|---|
| 53 | op.setName(key); |
|---|
| 54 | op.setType(request.getService().getOut().get(key).getType()); |
|---|
| 55 | op.setValue(json); |
|---|
| 56 | |
|---|
| 57 | paraMap.put(key, op); |
|---|
| 58 | } |
|---|
| 59 | out.add(paraMap); |
|---|
| 60 | |
|---|
| 61 | return out; |
|---|
| 62 | } |
|---|
| 63 | |
|---|
| 64 | @Override |
|---|
| 65 | public ArrayList<Point> parseGeometry(String geometry) |
|---|
| 66 | { |
|---|
| 67 | // TODO Auto-generated method stub |
|---|
| 68 | return null; |
|---|
| 69 | } |
|---|
| 70 | |
|---|
| 71 | @Override |
|---|
| 72 | public void setResource(Resource resource) |
|---|
| 73 | { |
|---|
| 74 | this.resource = resource; |
|---|
| 75 | } |
|---|
| 76 | |
|---|
| 77 | } |
|---|