I am trying to retrieve 2 columns from MySQL database. One column is used to create vertexes using Jung. In second column i have 2 values. I have to change the vertex size based on the values in the second field. the Coding part:
try {
String query = "select GeneID, GenExpression from gene1 where Disease= 'Hereditery Breast Cancer '";
PreparedStatement pest = connection.prepareStatement(query);
ResultSet rs = pest.executeQuery();
while (rs.next()) {
name1[i] = rs.getString("GeneID");
g.addVertex(name1[i]);
name2[j] = rs.getString("GenExpression");
System.out.println(name2[j]);
i++;
j++;
}
rs.close();
pest.close();
and I was trying with the following code.
ransformer<String, Paint> vertexPaint = new Transformer<String, Paint>() {
public Paint transform(String i) {
return Color.red;
}
};
Transformer<String, Shape> vertexSize = new Transformer<String, Shape>() {
public Shape transform(String x) {
Ellipse2D circle = new Ellipse2D.Double(-10, -10, 40, 40);
for (i = 0; i < name2.length; i++) {
for (j = 0; j < name2.length; j++) {
if (name2[j] == "Upregulated") {
AffineTransform.getScaleInstance(3, 3)
.createTransformedShape(circle);
} else {
AffineTransform.getScaleInstance(3, 3)
.createTransformedShape(circle);
}
}
}
return circle;
}
};
// Set up a new stroke Transformer for the edges
float dash[] = { 10.0f };
final Stroke edgeStroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f);
Transformer<Integer, Stroke> edgeStrokeTransformer = new Transformer<Integer, Stroke>() {
public Stroke transform(Integer i) {
return edgeStroke;
}
};
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
// vv.getRenderContext().setEdgeStrokeTransformer(edgeStrokeTransformer);
vv.getRenderContext().setEdgeArrowStrokeTransformer(
edgeStrokeTransformer);
vv.getRenderContext().setVertexShapeTransformer(vertexSize);
vv.getRenderContext().setVertexLabelTransformer(
new ToStringLabeller<String>());
But the size is not changing according to the condition. Can anyone help me with this?