public static TopologyLayout getTopologyLayout(Topology topology) throws IOException { return new TopologyLayout(topology.getId(), topology.getName(), topology.getConfig(), null); }
public static TopologyLayout getTopologyLayout(Topology topology, TopologyDag topologyDag) throws IOException { return new TopologyLayout(topology.getId(), topology.getName(), topology.getConfig(), topologyDag); }
@POST @Path("/topologies") @Timed public Response addTopology(Topology topology, @Context SecurityContext securityContext) { SecurityUtil.checkRole(authorizer, securityContext, Roles.ROLE_TOPOLOGY_ADMIN); if (StringUtils.isEmpty(topology.getName())) { throw BadRequestException.missingParameter(Topology.NAME); } if (StringUtils.isEmpty(topology.getConfig())) { throw BadRequestException.missingParameter(Topology.CONFIG); } Topology createdTopology = catalogService.addTopology(topology); SecurityUtil.addAcl(authorizer, securityContext, NAMESPACE, createdTopology.getId(), EnumSet.allOf(Permission.class)); return WSUtils.respondEntity(createdTopology, CREATED); }
@PUT @Path("/topologies/{topologyId}") @Timed public Response addOrUpdateTopology (@PathParam("topologyId") Long topologyId, Topology topology, @Context SecurityContext securityContext) { SecurityUtil.checkRoleOrPermissions(authorizer, securityContext, Roles.ROLE_TOPOLOGY_SUPER_ADMIN, NAMESPACE, topologyId, WRITE); if (StringUtils.isEmpty(topology.getName())) { throw BadRequestException.missingParameter(Topology.NAME); } if (StringUtils.isEmpty(topology.getConfig())) { throw BadRequestException.missingParameter(Topology.CONFIG); } if (topology.getNamespaceId() == null) { throw BadRequestException.missingParameter(Topology.NAMESPACE_ID); } Topology existingTopology = catalogService.getTopology(topologyId); Topology result = catalogService.addOrUpdateTopology(topologyId, topology); if (existingTopology != null) { Long prevNamespaceId = existingTopology.getNamespaceId(); if (!result.getNamespaceId().equals(prevNamespaceId)) { LOG.info("Determined namespace change on topology: " + topologyId); // environment has changed: it should set 'reconfigure' to all components catalogService.setReconfigureOnAllComponentsInTopology(result); } } return WSUtils.respondEntity(result, OK); }
public Topology(Topology other) { if (other != null) { setId(other.getId()); setVersionId(other.getVersionId()); setName(other.getName()); setDescription(other.getDescription()); setConfig(other.getConfig()); setNamespaceId(other.getNamespaceId()); setVersionTimestamp(other.getVersionTimestamp()); } // this will be re-generated during deployment. topologyDag = null; }
private TopologyData doExportTopology(Topology topology) throws Exception { TopologyDag dag = topologyDagBuilder.getDag(topology); topology.setTopologyDag(dag); TopologyData topologyData = new TopologyData(); TopologyExportVisitor exportVisitor = new TopologyExportVisitor(topology.getId(), topologyData, this); topologyData.setTopologyName(topology.getName()); topologyData.setConfig(topology.getConfig()); TopologyDag topologyDag = topology.getTopologyDag(); if (topologyDag != null) { topologyDag.traverse(exportVisitor); } topologyData.setMetadata(getTopologyEditorMetadata(topology.getId())); return topologyData; }