Advertisement
keyz182

Keystone JSON POJO

Mar 9th, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.85 KB | None | 0 0
  1. package cloudey.api.Keystone;
  2.  
  3. import org.codehaus.jackson.annotate.JsonCreator;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.Iterator;
  7. import java.util.LinkedHashMap;
  8. import java.util.Map;
  9.  
  10. public class AccessContainer {
  11.     public class Access {
  12.         public class Token {
  13.             public class Tenant {
  14.                 public String name;
  15.                 public String id;
  16.  
  17.                 public Tenant(Object json) {
  18.                     LinkedHashMap<String, String> j = (LinkedHashMap<String, String>) json;
  19.                     this.name = j.get("name");
  20.                     this.id = j.get("id");
  21.                 }
  22.  
  23.                 public String toString() {
  24.                     StringBuilder sb = new StringBuilder();
  25.                     sb.append("\nTenant:");
  26.                     sb.append("\n\tName:\t" + name);
  27.                     sb.append("\n\tID:\t" + id);
  28.                     return sb.toString();
  29.                 }
  30.             }
  31.  
  32.             public Tenant tenant;
  33.             public String expires;
  34.             public String id;
  35.  
  36.             public Token(Map<String, Object> json) {
  37.                 this.tenant = new Tenant(json.get("tenant"));
  38.                 this.expires = (String) json.get("expires");
  39.                 this.id = (String) json.get("id");
  40.             }
  41.  
  42.             public String toString() {
  43.                 StringBuilder sb = new StringBuilder();
  44.                 sb.append("\nToken:");
  45.                 sb.append("\n\tID:\t" + id);
  46.                 sb.append("\n\tExpires:\t" + expires);
  47.                 sb.append(tenant.toString().replace("\n", "\n\t"));
  48.                 return sb.toString();
  49.             }
  50.         }
  51.  
  52.         public class ServiceCatalog {
  53.             public class Endpoints {
  54.                 public String adminURL;
  55.                 public String publicURL;
  56.                 public String internalURL;
  57.                 public String region;
  58.  
  59.                 public Endpoints(Object json) {
  60.                     LinkedHashMap<String, String> j =( (ArrayList<LinkedHashMap<String, String>>) json).get(0);
  61.                     this.adminURL = j.get("adminURL");
  62.                     this.publicURL = j.get("publicURL");
  63.                     this.internalURL = j.get("internalURL");
  64.                     this.region = j.get("region");
  65.                 }
  66.  
  67.                 public String toString() {
  68.                     StringBuilder sb = new StringBuilder();
  69.                     sb.append("\nEndpoints:");
  70.                     sb.append("\n\tadminURL:\t" + adminURL);
  71.                     sb.append("\n\tpublicURL:\t" + publicURL);
  72.                     sb.append("\n\tinternalURL:\t" + internalURL);
  73.                     sb.append("\n\tregion:\t" + region);
  74.                     return sb.toString();
  75.                 }
  76.             }
  77.  
  78.             public Endpoints endpoints;
  79.             public String type;
  80.             public String name;
  81.  
  82.             public ServiceCatalog(Map<String, Object> json) {
  83.                 this.endpoints = new Endpoints(json.get("endpoints"));
  84.                 this.type = (String) json.get("type");
  85.                 this.name = (String) json.get("name");
  86.             }
  87.  
  88.             public String toString() {
  89.                 StringBuilder sb = new StringBuilder();
  90.                 sb.append("\nServiceCatalog:");
  91.                 sb.append("\n\tType:\t" + type);
  92.                 sb.append("\n\tName:\t" + name);
  93.                 sb.append(endpoints.toString().replace("\n", "\n\t"));
  94.                 return sb.toString();
  95.             }
  96.         }
  97.  
  98.         public class User {
  99.             public class Roles {
  100.                 public String tenantId;
  101.                 public String id;
  102.                 public String name;
  103.  
  104.                 public String toString() {
  105.                     StringBuilder sb = new StringBuilder();
  106.                     sb.append("\nRoles:");
  107.                     sb.append("\n\tID:\t" + id);
  108.                     sb.append("\n\tName:\t" + name);
  109.                     sb.append("\n\tTenantID:\t" + tenantId);
  110.                     return sb.toString();
  111.                 }
  112.                 public Roles(LinkedHashMap<String, Object> json){
  113.                     this.tenantId = (String) json.get("tenantId");
  114.                     this.id = (String) json.get("id");
  115.                     this.name = (String) json.get("name");
  116.                 }
  117.             }
  118.  
  119.             public ArrayList<Roles> roles;
  120.             public String name;
  121.             public String id;
  122.  
  123.             public User(Map<String, Object> json) {
  124.                 roles = new ArrayList<Roles>();
  125.                 Iterator<LinkedHashMap<String, Object>> i =
  126.                         ((ArrayList<LinkedHashMap<String, Object>>) json.get("roles")).iterator();
  127.  
  128.                 while (i.hasNext()){
  129.                     roles.add(new Roles(i.next()));
  130.                 }
  131.                 this.name = (String) json.get("name");
  132.                 this.id = (String) json.get("id");
  133.             }
  134.  
  135.             public String toString() {
  136.                 StringBuilder sb = new StringBuilder();
  137.                 sb.append("\nUser:");
  138.                 sb.append("\n\tID:\t" + id);
  139.                 sb.append("\n\tName:\t" + name);
  140.                 Iterator<Roles> i = roles.iterator();
  141.                 while (i.hasNext()) {
  142.                     Roles r = i.next();
  143.                     sb.append(r.toString().replace("\n", "\n\t"));
  144.                 }
  145.                 return sb.toString();
  146.             }
  147.         }
  148.  
  149.         public Token token;
  150.         public ArrayList<ServiceCatalog> serviceCatalog;
  151.         public User user;
  152.  
  153.         public Access(Map<String, Object> json) {
  154.             this.token = new Token((Map<String, Object>) json.get("token"));
  155.  
  156.             Iterator<LinkedHashMap<String, Object>> i =
  157.                     ((ArrayList<LinkedHashMap<String, Object>>) json.get("serviceCatalog")).iterator();
  158.             serviceCatalog = new ArrayList<ServiceCatalog>();
  159.             while (i.hasNext()){
  160.                 serviceCatalog.add(new ServiceCatalog(i.next()));
  161.             }
  162.             this.user = new User((Map<String, Object>) json.get("user"));
  163.         }
  164.  
  165.         public String toString() {
  166.             StringBuilder sb = new StringBuilder();
  167.             sb.append("\nAccess:");
  168.             sb.append(token.toString().replace("\n", "\n\t"));
  169.             Iterator<ServiceCatalog> i = serviceCatalog.iterator();
  170.             while (i.hasNext()) {
  171.                 sb.append(i.next().toString().replace("\n", "\n\t"));
  172.             }
  173.             sb.append(user.toString().replace("\n", "\n\t"));
  174.             return sb.toString();
  175.         }
  176.     }
  177.  
  178.     public Access access;
  179.  
  180.     @JsonCreator
  181.     public AccessContainer(Map<String, Object> json) {
  182.         access = new Access((Map<String, Object>) json.get("access"));
  183.     }
  184.  
  185.     public String toString() {
  186.         return access.toString();
  187.     }
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement