Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes to various visualization problems #126

Closed
wants to merge 16 commits into from

Conversation

tomnelson
Copy link
Contributor

Changes to be committed:

modified:   jung-algorithms/pom.xml
modified:   jung-algorithms/src/main/java/edu/uci/ics/jung/algorithms/layout/util/VisRunner.java
new file:   jung-algorithms/src/main/resources/log4j.properties
new file:   jung-algorithms/src/test/java/edu/uci/ics/jung/algorithms/layout/LayoutTest.java
modified:   jung-samples/pom.xml
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AddNodeDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AnimatingAddNodeDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/BalloonLayoutDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ClusteringDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/EdgeLabelDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphFromGraphMLDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphZoomScrollPaneDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/L2RTreeLayoutDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/LensDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/PluggableRendererDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SatelliteViewDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShortestPathDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShowLayouts.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SubLayoutDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeCollapseDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeLayoutDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexImageShaperDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexLabelAsShapeDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VisualizationImageServerDemo.java
modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/WorldMapGraphDemo.java
modified:   jung-visualization/pom.xml
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/PluggableRenderContext.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/RenderContext.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationModel.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationServer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingModalGraphMouse.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingPopupGraphMousePlugin.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteVisualizationViewer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleEdgeSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleVertexSupport.java
new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/AbstractEdgeShapeTransformer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EdgeShape.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/GradientEdgePaintTransformer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/ParallelEdgeShapeTransformer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectangleCollector.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectanglePaintable.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutChangeListener.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutEvent.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutEventSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutTransition.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/ObservableCachingLayout.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ClosestShapePickSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/LayoutLensShapePickSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ShapePickSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ViewLensShapePickSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeLabelRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexLabelRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingEdgeRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingVertexRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/GradientVertexRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/Renderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/ReshapingEdgeRenderer.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/VertexLabelAsShapeRenderer.java
new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/Spatial.java
new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/subLayout/GraphCollapser.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/MagnifyImageLensSupport.java
modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/ViewLensSupport.java
new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/Context.java
new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/LayoutMediator.java
new file:   jung-visualization/src/main/resources/log4j.properties
modified:   pom.xml

 Changes to be committed:

	modified:   jung-algorithms/pom.xml
	modified:   jung-algorithms/src/main/java/edu/uci/ics/jung/algorithms/layout/util/VisRunner.java
	new file:   jung-algorithms/src/main/resources/log4j.properties
	new file:   jung-algorithms/src/test/java/edu/uci/ics/jung/algorithms/layout/LayoutTest.java
	modified:   jung-samples/pom.xml
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AddNodeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AnimatingAddNodeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/BalloonLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ClusteringDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/EdgeLabelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphFromGraphMLDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphZoomScrollPaneDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/L2RTreeLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/LensDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/PluggableRendererDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SatelliteViewDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShortestPathDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShowLayouts.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SubLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexImageShaperDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexLabelAsShapeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VisualizationImageServerDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/WorldMapGraphDemo.java
	modified:   jung-visualization/pom.xml
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/PluggableRenderContext.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/RenderContext.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingModalGraphMouse.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingPopupGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteVisualizationViewer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleEdgeSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleVertexSupport.java
	new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/AbstractEdgeShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EdgeShape.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/GradientEdgePaintTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/ParallelEdgeShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectangleCollector.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectanglePaintable.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutChangeListener.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutEvent.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutEventSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutTransition.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/ObservableCachingLayout.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ClosestShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/LayoutLensShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ViewLensShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeLabelRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexLabelRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/GradientVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/Renderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/ReshapingEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/VertexLabelAsShapeRenderer.java
	new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/Spatial.java
	new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/subLayout/GraphCollapser.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/MagnifyImageLensSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/ViewLensSupport.java
	new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/Context.java
	new file:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/LayoutMediator.java
	new file:   jung-visualization/src/main/resources/log4j.properties
	modified:   pom.xml
@tomnelson tomnelson requested a review from jrtom September 25, 2017 15:26
@jrtom
Copy link
Owner

jrtom commented Sep 25, 2017

Can you summarize at a medium-high level what changes are involved here?

Also, did you intend to commit the log4j.properties file?

@jbduncan
Copy link
Contributor

The first thing that pops out to me is that log4j is being used for logging. Do we really need logging for JUNG? If we do really need logging, then I believe slf4j should at least be used as a frontend for log4j, to better allow users to swap out log4j for their preferred logging framework if they desire.

@@ -10,6 +10,7 @@
package edu.uci.ics.jung.algorithms.layout.util;

import edu.uci.ics.jung.algorithms.util.IterativeContext;
import org.apache.log4j.Logger;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the logging code (here and elsewhere)--both the Logger stuff and the System.out.println()s.

 Changes to be committed:
	modified:   jung-algorithms/pom.xml
	modified:   jung-algorithms/src/main/java/edu/uci/ics/jung/algorithms/layout/util/VisRunner.java
	deleted:    jung-algorithms/src/main/resources/log4j.properties
	deleted:    jung-algorithms/src/test/java/edu/uci/ics/jung/algorithms/layout/LayoutTest.java
@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 25, 2017 via email

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 25, 2017 via email

@jrtom
Copy link
Owner

jrtom commented Sep 25, 2017

OK. I will take a look at this as soon as I can, but I want to finish throwing together the design doc I mentioned in #104 first, and then I'd like to see those designs compared in that doc before I make a final call on this.

Thanks for putting this together, at any rate; I think that it will really help to be able to see how your ideas are working in action.

 Changes to be committed:
	modified:   jung-visualization/pom.xml
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutTransition.java
 Changes to be committed:
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutTransition.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
layout.setInitializer(vv.getGraphLayout());
layout.setSize(vv.getSize());
System.err.println("using graph " + graph_names[graph_index]);
System.err.println("using layout: " + layout.getClass());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomnelson I'm a bit puzzled by these System.err.println statements. Did you mean to leave them in? If so, could you explain your reasoning to me?

<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${version.commons-logging}</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomnelson I'm also a bit puzzled by this Commons Logging import. Could you explain for me why we need it on top of log4j?

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the slf4j version number should be extracted as a property, just like log4j.

public void setLayoutMediator(LayoutMediator<V, E> layoutMediator) {
if (log.isDebugEnabled()) {
log.debug("setLayoutMediator to " + layoutMediator);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not really clear to me that a JUNG user would find this logging useful. After all, the typical developer has access to a debugger for cases like this, and if JUNG ends up used in a command-line application, we would clutter the output log, annoying users (who would experience it firsthand) and developers (who would have to find a way to control or disable it) alike.

spatialTransform = spatialTransform.createInverse();
} catch (Exception e) {
e.printStackTrace();
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it would be better to let exceptions thrown here to propogate to the caller.

/**
* A Multimap of box number to Lists of nodes in that box
*
* @return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear to me that this is useful. Please remove.

*
* @param boxX
* @param boxY
* @return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fill these out or remove them.

* given a box number, return the x,y coordinates in the grid coordinate system
*
* @param boxIndex
* @return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fill these out or remove them

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies to all methods in this class.

import java.util.Set;
import java.util.function.Function;

/** Created by Tom Nelson on 9/22/17. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this comment and all other "Created by..." comments like this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is someone planning to remove all of the author names in comments for the 'legacy' code?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. :)

Not yet, but I've added it as an item to #101, so it's tracked now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you want to remove authors from the comments?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a couple of reasons. Firstly, I wanted the author(s) removed because I automatically associate comments of this style with auto-generated comments from IDEs, which I personally find unhelpful. Secondly, I just simply hadn't realised before writing my initial comment above that comments like this do already exist in the code base.

I personally advocate either removing author comments of this style, or alternatively rejigging them so they have the following format (which I believe is more standard in the Java ecosystem). But if you'd rather keep author comments as they are for consistency, I'd totally understand.

/**
 * (Class javadoc goes here.)
 *
 * @author Tom Nelson
 */

pom.xml Outdated
@@ -176,7 +176,7 @@
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
<goal>format</goal>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do NOT change this. If you want to format code, you can run mvn fmt:format as described in CONTRIBUTING.md. :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, the reason to not change this is because Travis CI depends on the mvn fmt command working this way to check that people have properly formatted their code before check-in.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you leave it at check, then the build fails. I hope nobody is checking in code when the build failed. If your goal is to have the code formatted, why not have formatting be a part of every build? What am I missing here?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In theory, no one should be checking in code when the build failed, because we have the Travis check to forestall that (at least for the common.graph and master branches).

I haven't formed a strong opinion on this issue yet, but I think that the point of leaving it as a check is to not require formatting on every build; I can imagine that there might be circumstances in which you might want to leave the formatting until you were done developing.

But maybe there's something I'm missing; @jbduncan, can you elaborate?

Copy link
Contributor

@jbduncan jbduncan Sep 29, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jrtom I admit I'm not too clear either on why checking is preferred to formatting at CI-time. I think it's a combination of reasons.

I can think of two reasons ATM. Firstly, it's partially to do with how formatters (google-java-format included) can sometimes contain bugs which can cause code to be formatted weirdly, or to flat-out fail with an error or exception. So, if formatting happened during CI-time, the CI may fail or format things strangely for reasons not to do with the checked-in code, which has the potential to confuse things.

Secondly, formatters are prone to occasionally formatting code incompletely, thus requiring formatters to be run twice or so. Thus, formatting by CI wouldn't be guaranteed to be hermetic, which again is a cause for confusion.

I actually experienced this "problem" (if you'd call it that) with google-java-format when I was working on introducing it to JUNG a good few weeks/months ago; it required me to run mvn fmt:format twice before certain source files were formatted completely, strangely.

I'm hoping @nedtwigg, who I collaborate with on Spotless, can elaborate further on this, because I'm sure an issue was opened in the past on Spotless's issue tracker asking why Spotless's spotlessCheck task (similar to mvn fmt:format for us) is the default over spotlessApply (similar to mvn fmt:check), but I can't find that issue yet.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replying to #126 (comment):

@tomnelson That sounds good to me, having a default maven profile for formatting code and a CI-specific one for checking code.

Would you be happy to create a new PR for that?

If not, I may have the time and energy in the foreseeable future to investigate Maven profiles and create them myself.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitely wouldn't want the CI check to be formatting code itself; I don't want an automated CI check to be trying to modify the code (I don't even know what that would do, but I feel no strong need to find out :) ).

So I would say that until we have multiple profiles that we should keep it at "check".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replying to comment #126 (comment):

@tomnelson It should be easy to apply the new profile without needing admin permissions. I assume that profiles can be chosen from the command-line? If so, all you'd need to do is change this line in the Travis config to ensure it runs the right profile.

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 25, 2017 via email

@jbduncan
Copy link
Contributor

Thank you for being thorough with your review of my changes to this
snapshot branch. Did you happen to build and run any of the demos?
(and when you did, did you see any log messages?)

Hi @tomnelson. I admit that I did not actually run any of the demos. I'll see if I can find and open up my dev machine to run a couple of them, and see if I notice any logging messages that way.

I spent quite a bit of time figuring out how visualization became so
broken. I also enjoyed revisiting the codebase and experimenting with
spatial data structures. There is a lot that can be done in that area.
I agree that a lot of cleanup of this snapshot branch is required before
release. I will hold off until I have some idea where the rest of the
project is going.

Okey dokey, SGTM!

@jbduncan
Copy link
Contributor

@tomnelson Nice to meet you, too! :)

…ations

 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShowLayouts.java
	modified:   jung-visualization/pom.xml
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
	modified:   pom.xml
 Changes to be committed:
	modified:   jung-visualization/pom.xml
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/subLayout/GraphCollapser.java
	new file:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/sublayout/GraphCollapserTest.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingModalGraphMouse.java
	modified:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/sublayout/GraphCollapserTest.java
 Changes to be committed:
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutEvent.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/ObservableCachingLayout.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/subLayout/GraphCollapser.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/subLayout/GraphCollapser.java
	modified:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/sublayout/GraphCollapserTest.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/BalloonLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/EdgeLabelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/L2RTreeLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/MinimumSpanningTreeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/MultiViewDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/PluggableRendererDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/RadialTreeLensDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeLayoutDemo.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EdgeShape.java
 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphEditorDemo.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EdgeSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleEdgeSupport.java
…samples. Clean up.

 Changes to be committed:
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AddNodeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AnimatingAddNodeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/AnnotationsDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/BalloonLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ClusteringDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/DemoLensVertexImageShaperDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/DrawnIconVertexDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/EdgeLabelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphEditorDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphFromGraphMLDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/GraphZoomScrollPaneDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ImageEdgeLabelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/InternalFrameSatelliteViewDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/L2RTreeLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/LensDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/LensVertexImageShaperDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/MinimumSpanningTreeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/MultiViewDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/PluggableRendererDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/RadialTreeLensDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SatelliteViewDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShortestPathDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/ShowLayouts.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SubLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TreeLayoutDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/TwoModelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/UnicodeLabelDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexCollapseDemoWithLayouts.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexImageShaperDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexLabelAsShapeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VertexLabelPositionDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/VisualizationImageServerDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/WorldMapGraphDemo.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/DefaultVisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/GraphZoomScrollPane.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/PluggableRenderContext.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/RenderContext.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationImageServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationModel.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/VisualizationViewer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/annotations/AnnotatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/annotations/AnnotatingModalGraphMouse.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/annotations/AnnotationControls.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/annotations/AnnotationManager.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/annotations/AnnotationPaintable.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/AbsoluteCrossoverScalingControl.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/AnimatedPickingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/CrossoverScalingControl.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/CubicCurveEdgeEffects.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/DefaultModalGraphMouse.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EdgeEffects.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EdgeSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingModalGraphMouse.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/EditingPopupGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/LabelEditingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/LayoutScalingControl.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/LensMagnificationGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/LensTranslatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ModalLensGraphMouse.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/MouseListenerTranslator.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/PickingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/RotatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteAnimatedPickingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteRotatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteScalingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteShearingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteTranslatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SatelliteVisualizationViewer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ScalingControl.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ScalingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ShearingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleEdgeSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/SimpleVertexSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/TranslatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/VertexSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ViewScalingControl.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/control/ViewTranslatingGraphMousePlugin.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/AbstractEdgeShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/AbstractVertexShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EdgeShape.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EllipseVertexShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/GradientEdgePaintTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/NumberFormattingTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/ParallelEdgeShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/PickableEdgePaintTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/PickableVertexIconTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/PickableVertexPaintTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/SettableVertexShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/VertexIconShapeTransformer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectangleCollector.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/BoundingRectanglePaintable.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/layout/LayoutTransition.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/AbstractPickedState.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ClosestShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/LayoutLensShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/MultiPickedState.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/PickedInfo.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/PickedState.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/picking/ViewLensShapePickSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeArrowRenderingSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeLabelRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexLabelRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/BasicVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CachingVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/CenterEdgeArrowRenderingSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/EdgeArrowRenderingSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/GradientVertexRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/Renderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/ReshapingEdgeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/renderers/VertexLabelAsShapeRenderer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/Spatial.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/AbstractLensSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/LayoutLensSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/MagnifyImageLensSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/transform/shape/ViewLensSupport.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/LayoutMediator.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/util/VertexShapeFactory.java
	modified:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/BasicVisualizationServerTest.java
	new file:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/TestMST.java
	modified:   jung-visualization/src/test/java/edu/uci/ics/jung/visualization/control/TestCrossoverScalingControl.java
@jrtom
Copy link
Owner

jrtom commented Sep 29, 2017

Sorry I haven't yet taken a look at this set of changes; I'll try to do that this weekend.

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 29, 2017 via email

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 29, 2017 via email

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 29, 2017 via email

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 29, 2017 via email

@tomnelson
Copy link
Contributor Author

tomnelson commented Sep 29, 2017 via email

@nedtwigg
Copy link

nedtwigg commented Sep 29, 2017

I would discourage you from having the formatter fix changes in CI. Here's why:

https://stackoverflow.com/questions/40432291/gradle-spotless-task-not-firing-when-needed?newreg=a2409b5626b04244aef99084d17df4f8

…nges in samples. Clean up."

This reverts commit 5f351a0.
 Changes to be committed:
	modified:   jung-algorithms/src/main/java/edu/uci/ics/jung/algorithms/shortestpath/MinimumSpanningTree.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/MinimumSpanningTreeDemo.java
	modified:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SimpleGraphDraw.java
	new file:   jung-samples/src/main/java/edu/uci/ics/jung/samples/SimpleGraphSpatialTest.java
	new file:   jung-samples/src/main/java/edu/uci/ics/jung/samples/util/ControlHelpers.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/BasicVisualizationServer.java
	modified:   jung-visualization/src/main/java/edu/uci/ics/jung/visualization/spatial/SpatialGrid.java
@tomnelson tomnelson closed this Oct 2, 2017
@tomnelson tomnelson deleted the visualization-fixes branch October 2, 2017 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants