Project extends LazyLoad { public Map<String, String> getAllProperties() throws OdpsException { if (allProperties == null) { String resource = ResourceBuilder.buildProjectResource(model.name); Map<String, String> params = new LinkedHashMap<String, String>(); params.put("properties", "all"); Response resp = client.request(resource, "GET", params, null, null); try { ProjectModel model = SimpleXmlUtils.unmarshal(resp, ProjectModel.class); allProperties = model.properties; } catch (Exception e) { throw new OdpsException("Can't bind xml to " + ProjectModel.class, e); } } return allProperties; } Project(ProjectModel model, RestClient client); @SuppressWarnings("unchecked") @Override void reload(); String getName(); ProjectType getType(); String getComment(); String getOwner(); Date getCreatedTime(); Date getLastModifiedTime(); Status getStatus(); Map<String, String> getProperties(); Map<String, String> getAllProperties(); String getProperty(String key); Map<String, String> getExtendedProperties(); SecurityManager getSecurityManager(); String getTunnelEndpoint();  }
@Test public void testGetBuid() throws OdpsException { Project p = odps.projects().get(); assertTrue(p.getAllProperties().containsKey("buid")); }