protected void initHttpClient() { try { HttpClientBuilder builder = HttpClient.uri(url); // set method, default to GET builder = builder.method(null == method ? HttpMethod.GET : method); // set credentials if (null != credentials && credentials.isValid()) { builder = builder.credentials(credentials.getUsername(), credentials.getPassword()); } // set keystore if (null != keystore && keystore.isValid()) { builder = builder.keyStore(new FileInputStream(keystore.getFile()), keystore.getPassword()); } // set headers if (null != headers && headers.isValid()) { for (final HeaderNode header : headers.getHeaders()) { builder = builder.header(header.getName(), header.getValue()); } } // set query parameters if (null != query && query.isValid()) { for (final QueryParameterNode qp : query.getParameters()) { builder = builder.query(qp.getName(), qp.getValue()); } } // set request entity if (null != entity && entity.isValid()) { // prefer file if (null != entity.getFile()) { final FileInputStream is = new FileInputStream(entity.getFile()); final ByteArrayOutputStream os = new ByteArrayOutputStream(); final byte[] buf = new byte[1024]; try { for (int num; (num = is.read(buf)) != -1; ) { os.write(buf, 0, num); } } catch (final IOException e) { throw new BuildException(e); } builder = builder.entity(new ByteArrayInputStream(os.toByteArray())); } else { builder = builder.entity(entity.getText()); } } httpClient = builder.toHttpClient(); } catch (final Throwable t) { throw new BuildException(t); } }
@Override public void run() { try { CompoundCommand commands = new CompoundCommand(); List models = getViewer().getContents().getChildren(); NodeList graphNodes = new NodeList(); EdgeList graphEdges = new EdgeList(); // nodes for (int i = 0; i < models.size(); i++) { Object obj = models.get(i); if (obj instanceof TableEditPart) { TableEditPart editPart = (TableEditPart) obj; Table model = (Table) editPart.getModel(); EntityNode node = new EntityNode(); node.model = model; node.width = editPart.getFigure().getSize().width; node.height = editPart.getFigure().getSize().height + 40; graphNodes.add(node); } } // edge for (int i = 0; i < models.size(); i++) { Object obj = models.get(i); if (obj instanceof TableEditPart) { TableEditPart tableEditpart = (TableEditPart) obj; List outgoing = tableEditpart.getSourceConnections(); for (int j = 0; j < outgoing.size(); j++) { RelationEditPart conn = (RelationEditPart) outgoing.get(j); EntityNode source = (EntityNode) getNode(graphNodes, (Table) conn.getSource().getModel()); EntityNode target = (EntityNode) getNode(graphNodes, (Table) conn.getTarget().getModel()); if (source != null && target != null) { ConnectionEdge edge = new ConnectionEdge(source, target); Relation relation = (Relation) conn.getModel(); edge.model = relation.getSource(); graphEdges.add(edge); } } } } DirectedGraph graph = new DirectedGraph(); graph.nodes = graphNodes; graph.edges = graphEdges; new DirectedGraphLayout().visit(graph); for (int i = 0; i < graph.nodes.size(); i++) { EntityNode node = (EntityNode) graph.nodes.getNode(i); commands.add(new LayoutCommand(node.model, node.x, node.y)); } getViewer().getEditDomain().getCommandStack().execute(commands); } catch (Exception e) { logger.error(Messages.AutoLayoutAction_2, e); Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); // $NON-NLS-1$ ExceptionDetailsErrorDialog.openError( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Error", Messages.AutoLayoutAction_3, errStatus); //$NON-NLS-1$ } }