private void refresh() { final long now = System.currentTimeMillis(); if (now - lastRefresh > refreshInterval) { byId.clear(); byHost.clear(); for (Organization org : persistence.getOrganizations()) { byId.put(org.getId(), org); // (host, port) for (Map.Entry<String, Integer> server : org.getServers().entrySet()) { byHost.put(tuple(server.getKey(), server.getValue()), org); } } lastRefresh = now; } } }
JpaOrganization organizationEntity = getOrganizationEntity(org.getId(), em); if (organizationEntity == null) { JpaOrganization organization = new JpaOrganization(org.getId(), org.getName(), org.getServers(), org.getAdminRole(), org.getAnonymousRole(), org.getProperties()); em.persist(organization); organizationEntity.setAdminRole(org.getAdminRole()); organizationEntity.setAnonymousRole(org.getAnonymousRole()); for (Map.Entry<String, Integer> servers : org.getServers().entrySet()) { organizationEntity.addServer(servers.getKey(), servers.getValue()); organizationEntity.setServers(org.getServers()); organizationEntity.setProperties(org.getProperties()); em.merge(organizationEntity);
/** * Constructs an organization from an organization * * @param org * the organization */ public static JaxbOrganization fromOrganization(Organization org) { if (org instanceof JaxbOrganization) return (JaxbOrganization) org; return new JaxbOrganization(org.getId(), org.getName(), org.getServers(), org.getAdminRole(), org.getAnonymousRole(), org.getProperties()); }