1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.webadmin.rest.representations;
21
22 import org.neo4j.server.rest.repr.MappingRepresentation;
23 import org.neo4j.server.rest.repr.MappingSerializer;
24 import org.neo4j.server.webadmin.rest.AdvertisableService;
25
26 import java.net.URI;
27 import java.util.HashMap;
28 import java.util.Map;
29
30 public class ServerRootRepresentation extends MappingRepresentation
31 {
32 private HashMap<String, String> services = new HashMap<String, String>();
33
34 public ServerRootRepresentation( URI baseUri,
35 AdvertisableService... advertisableServices )
36 {
37 super( "services" );
38 for ( AdvertisableService svc : advertisableServices )
39 {
40 services.put( svc.getName(), baseUri.toString() + svc.getServerPath() );
41 }
42 }
43
44 public Map<String, Map<String, String>> serialize()
45 {
46 HashMap<String, Map<String, String>> result = new HashMap<String, Map<String, String>>();
47 result.put( "services", services );
48 return result;
49 }
50
51 @Override
52 protected void serialize( MappingSerializer serializer )
53 {
54 MappingRepresentation apa = new MappingRepresentation( "services" )
55 {
56
57 @Override
58 protected void serialize( MappingSerializer serializer )
59 {
60 for ( Map.Entry<String, String> entry : services.entrySet() )
61 {
62 serializer.putString( entry.getKey(), entry.getValue() );
63 }
64 }
65 };
66
67 serializer.putMapping( "services", apa );
68 }
69 }