[Git][java-team/dirgra][master] 10 commits: d/watch: update to v5 format

Jérôme Charaoui (@lavamind) gitlab at salsa.debian.org
Wed Aug 26 04:01:29 BST 2026



Jérôme Charaoui pushed to branch master at Debian Java Maintainers / dirgra


Commits:
fdbf7d3d by Jérôme Charaoui at 2026-08-25T15:47:16-04:00
d/watch: update to v5 format

- - - - -
23839d2b by Jérôme Charaoui at 2026-08-25T15:47:40-04:00
New upstream version 0.6
- - - - -
8723a5b6 by Jérôme Charaoui at 2026-08-25T15:47:42-04:00
Update upstream source from tag 'upstream/0.6'

Update to upstream version '0.6'
with Debian dir 31db945b6a64c38285c1bd998b7a798fc4bd6b6c
- - - - -
c60ce7a4 by Jérôme Charaoui at 2026-08-25T15:49:47-04:00
run wrap-and-sort -bastk

- - - - -
7119bbde by Jérôme Charaoui at 2026-08-25T15:50:09-04:00
d/control: build using headless jdk

- - - - -
102a1d9b by Jérôme Charaoui at 2026-08-25T19:50:29+00:00
Remove redundant Priority: optional from source stanza.

Changes-By: lintian-brush
Fixes: lintian: source: redundant-priority-optional-field
See-also: https://lintian.debian.org/tags/redundant-priority-optional-field.html

- - - - -
7211b18a by Jérôme Charaoui at 2026-08-25T19:50:29+00:00
Update standards version to 4.7.4, no changes needed.

Upgrade checklist verified:
 4.6.2 → 4.7.0:
  * Package does not use dpkg-divert
 4.7.0 → 4.7.1:
  * Package does not install to non-/usr paths
 4.7.3 → 4.7.4:
  * Package is not in non-free-firmware

Changes-By: lintian-brush
Fixes: lintian: source: ancient-standards-version 4.6.2 (released 2022-12-17) (current is 4.7.4.1)
See-also: https://lintian.debian.org/tags/ancient-standards-version.html

- - - - -
6e149031 by Jérôme Charaoui at 2026-08-25T19:50:29+00:00
Removed Rules-Requires-Root

Changes-By: lintian-brush
Fixes: lintian: source: redundant-rules-requires-root-no-field [debian/control]
See-also: https://lintian.debian.org/tags/redundant-rules-requires-root-no-field.html

- - - - -
5372d482 by Jérôme Charaoui at 2026-08-25T15:51:42-04:00
d/upstream: add metadata

- - - - -
cfded3bf by Jérôme Charaoui at 2026-08-25T21:54:51-04:00
Update changelog for 0.6-1 release

- - - - -


23 changed files:

- README.md
- debian/changelog
- debian/control
- + debian/upstream/metadata
- debian/watch
- pom.xml
- spec/data_iterator_spec.rb
- spec/directed_graph_spec.rb
- spec/edge_spec.rb
- spec/edge_type_iterator_spec.rb
- spec/helpers/edge_helpers.rb
- + spec/helpers/load_dirgra.rb
- spec/helpers/vertex_helpers.rb
- spec/helpers/vertex_id_helper.rb
- spec/vertex_spec.rb
- src/org/jruby/dirgra/DataIterable.java
- src/org/jruby/dirgra/DataIterator.java
- src/org/jruby/dirgra/DirectedGraph.java
- src/org/jruby/dirgra/Edge.java
- src/org/jruby/dirgra/EdgeTypeIterable.java
- src/org/jruby/dirgra/EdgeTypeIterator.java
- src/org/jruby/dirgra/ExplicitVertexID.java
- src/org/jruby/dirgra/Vertex.java


Changes:

=====================================
README.md
=====================================
@@ -1,14 +1,14 @@
-= Simple Directed Graph Implementation
+# Dirgra: Simple Directed Graph
 
 
-= Building
+## Building
 
 ```text
 % mvn package
 ```
 
-= Testing
+## Testing
 
 ```text
-% jruby -Itarget rspec
+% jruby -S rspec
 ```


=====================================
debian/changelog
=====================================
@@ -1,3 +1,17 @@
+dirgra (0.6-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version 0.6
+  * d/control: build using headless jdk
+  * d/upstream: add metadata
+  * d/watch: update to v5 format
+  * Remove redundant Priority: optional from source stanza.
+  * Update standards version to 4.7.4, no changes needed.
+  * Removed Rules-Requires-Root
+  * run wrap-and-sort -bastk
+
+ -- Jérôme Charaoui <jerome at riseup.net>  Tue, 25 Aug 2026 15:54:03 -0400
+
 dirgra (0.4-2) unstable; urgency=medium
 
   * Fix typo in d/watch file. Also update this file to use special string


=====================================
debian/control
=====================================
@@ -1,26 +1,28 @@
 Source: dirgra
 Section: java
-Priority: optional
 Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
-Uploaders: Miguel Landaeta <nomadium at debian.org>
-Build-Depends: debhelper-compat (= 13),
-               default-jdk,
-               javahelper,
-               junit4,
-               libmaven-javadoc-plugin-java,
-               libmaven-source-plugin-java,
-               maven-debian-helper,
-               maven-repo-helper
-Standards-Version: 4.6.2
+Uploaders:
+ Miguel Landaeta <nomadium at debian.org>,
+Build-Depends:
+ debhelper-compat (= 13),
+ default-jdk-headless,
+ javahelper,
+ junit4,
+ libmaven-javadoc-plugin-java,
+ libmaven-source-plugin-java,
+ maven-debian-helper,
+ maven-repo-helper,
+Standards-Version: 4.7.4
 Homepage: https://github.com/jruby/dirgra
 Vcs-Git: https://salsa.debian.org/java-team/dirgra.git
 Vcs-Browser: https://salsa.debian.org/java-team/dirgra
-Rules-Requires-Root: no
 
 Package: libdirgra-java
 Architecture: all
 Multi-Arch: foreign
-Depends: ${misc:Depends}, ${maven:Depends}
+Depends:
+ ${maven:Depends},
+ ${misc:Depends},
 Description: Java library providing a simple directed graph implementation
  A directed graph (or digraph) is a graph (that is a set of vertices
  connected by edges), where the edges have a direction associated with
@@ -33,8 +35,10 @@ Package: libdirgra-java-doc
 Architecture: all
 Multi-Arch: foreign
 Section: doc
-Depends: ${misc:Depends}
-Suggests: libdirgra-java
+Depends:
+ ${misc:Depends},
+Suggests:
+ libdirgra-java,
 Description: Documentation for dirgra
  A directed graph (or digraph) is a graph (that is a set of vertices
  connected by edges), where the edges have a direction associated with


=====================================
debian/upstream/metadata
=====================================
@@ -0,0 +1,5 @@
+---
+Bug-Database: https://github.com/jruby/dirgra/issues
+Bug-Submit: https://github.com/jruby/dirgra/issues/new
+Repository: https://github.com/jruby/dirgra.git
+Repository-Browse: https://github.com/jruby/dirgra


=====================================
debian/watch
=====================================
@@ -1,3 +1,4 @@
-version=4
-https://github.com/jruby/@PACKAGE@/tags \
- /jruby/@PACKAGE@/archive/refs/tags/@ANY_VERSION@@ARCHIVE_EXT@
+Version: 5
+Template: GitHub
+Owner: jruby
+Project: dirgra


=====================================
pom.xml
=====================================
@@ -1,11 +1,10 @@
 <?xml version="1.0" ?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jruby</groupId>
   <artifactId>dirgra</artifactId>
   <packaging>jar</packaging>
-  <version>0.4-SNAPSHOT</version>
+  <version>0.6</version>
   <name>Dirgra</name>
   <url>https://github.com/jruby/dirgra</url>
   <description>Simple Directed Graph</description>
@@ -18,8 +17,9 @@
 
   <scm>
     <connection>scm:git:https://github.com/jruby/dirgra.git</connection>
-    <developerConnection>scm:git:https://github.com/jruby/dirgra.git</developerConnection>
-    <url>http://github.com/jruby/dirgra</url>
+    <developerConnection>scm:git:git at github.com:jruby/dirgra.git</developerConnection>
+    <url>https://github.com/jruby/dirgra</url>
+    <tag>dirgra-0.6</tag>
   </scm>
 
   <licenses>


=====================================
spec/data_iterator_spec.rb
=====================================
@@ -1,9 +1,9 @@
-require 'dirgra-0.3.jar'
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.DataIterator'
-import 'java.util.NoSuchElementException'
+require_relative 'helpers/vertex_id_helper'
+
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.DataIterator'
+java_import 'java.util.NoSuchElementException'
 
-require 'vertex_id_helper'
 
 describe "DataIterator" do
   let(:graph) { DirectedGraph.new }
@@ -135,12 +135,12 @@ describe "DataIterator" do
       end
 
       it "throws NoSuchElementException for source data" do
-        iterator = DataIterator.new(@empty_graph.edges.to_array, 0, "foo", true, false)
+        iterator = DataIterator.new(@empty_graph.edges.to_a, 0, "foo", true, false)
         expect { iterator.next }.to raise_error NoSuchElementException
       end
 
       it "throws NoSuchElementException for destination data" do
-        iterator = DataIterator.new(@empty_graph.edges.to_array, 0, "foo", false, false)
+        iterator = DataIterator.new(@empty_graph.edges.to_a, 0, "foo", false, false)
         expect { iterator.next }.to raise_error NoSuchElementException
       end
     end
@@ -149,7 +149,7 @@ describe "DataIterator" do
   describe "remove" do
 
     it "throws UnsupportedOperationException exception" do
-      iterator = DataIterator.new(graph.edges.to_array, 0, "foo", true, false)
+      iterator = DataIterator.new(graph.edges.to_a, 0, "foo", true, false)
       expect { iterator.remove }.to raise_error Java::JavaLang::UnsupportedOperationException
     end
   end


=====================================
spec/directed_graph_spec.rb
=====================================
@@ -1,7 +1,6 @@
-require 'dirgra-0.3.jar'
-import 'org.jruby.dirgra.DirectedGraph'
+require_relative 'helpers/vertex_id_helper'
 
-require 'vertex_id_helper'
+java_import 'org.jruby.dirgra.DirectedGraph'
 
 # This is spec for Directed Graph Library
 


=====================================
spec/edge_spec.rb
=====================================
@@ -1,10 +1,8 @@
-require 'dirgra-0.3.jar'
+require_relative 'helpers/vertex_id_helper'
 
-import 'org.jruby.dirgra.Edge'
-import 'org.jruby.dirgra.Vertex'
-import 'org.jruby.dirgra.DirectedGraph'
-
-require 'vertex_id_helper'
+java_import 'org.jruby.dirgra.Edge'
+java_import 'org.jruby.dirgra.Vertex'
+java_import 'org.jruby.dirgra.DirectedGraph'
 
 describe "Edge" do
 


=====================================
spec/edge_type_iterator_spec.rb
=====================================
@@ -1,13 +1,9 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + "/helpers"
+require_relative 'helpers/vertex_id_helper'
+require_relative 'helpers/edge_helpers'
 
-require 'dirgra-0.3.jar'
-
-require 'edge_helpers'
-require 'vertex_id_helper'
-
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.EdgeTypeIterator'
-import 'java.util.NoSuchElementException'
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.EdgeTypeIterator'
+java_import 'java.util.NoSuchElementException'
 
 describe "EdgeTypeIterable" do
 
@@ -125,7 +121,7 @@ describe "EdgeTypeIterable" do
     context "when the iterator does not have next edge" do
       it "throws NoSuchElementException" do
         empty_graph = DirectedGraph.new
-        iterator = EdgeTypeIterator.new(empty_graph.edges().to_array(), 0, "foo", false)
+        iterator = EdgeTypeIterator.new(empty_graph.edges.to_a, 0, "foo", false)
         expect { iterator.next }.to raise_error NoSuchElementException
       end
     end


=====================================
spec/helpers/edge_helpers.rb
=====================================
@@ -1,8 +1,6 @@
 require 'java'
 
-require 'dirgra-0.3.jar'
-
-import 'org.jruby.dirgra.Edge'
+java_import 'org.jruby.dirgra.Edge'
 
 class EdgeType
 


=====================================
spec/helpers/load_dirgra.rb
=====================================
@@ -0,0 +1,11 @@
+files = Dir["#{__dir__}/../../target/*.jar"].find_all do |file|
+  file !~ /source|javadoc/
+end
+
+if files.length == 0
+    exit "You have no dirgra releases in target.  Please run `mvn package`"
+elsif files.length != 1
+  exit "You have multiple dirgra releases in target.  Please clean up your workspace"
+end
+
+require_relative files[0]


=====================================
spec/helpers/vertex_helpers.rb
=====================================
@@ -1,4 +1,6 @@
-import 'org.jruby.dirgra.Vertex'
+require_relative 'load_dirgra'
+
+java_import 'org.jruby.dirgra.Vertex'
 
 class DegreeMatcher
 


=====================================
spec/helpers/vertex_id_helper.rb
=====================================
@@ -1,3 +1,4 @@
+require_relative 'load_dirgra'
 
 class VertexID
   include org.jruby.dirgra.ExplicitVertexID
@@ -26,5 +27,5 @@ def remove_edge(vertex1, vertex2)
 end
 
 def edges
-  [graph.edges.to_array, @edge_count]
+  [graph.edges.to_a, @edge_count]
 end


=====================================
spec/vertex_spec.rb
=====================================
@@ -1,11 +1,8 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + "/helpers"
+require_relative 'helpers/vertex_helpers'
+require_relative 'helpers/edge_helpers'
 
-require 'dirgra-0.3.jar'
-require 'vertex_helpers'
-require 'edge_helpers'
-
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.Vertex'
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.Vertex'
 
 describe "Vertex" do
 


=====================================
src/org/jruby/dirgra/DataIterable.java
=====================================
@@ -4,14 +4,14 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Set;
 
-public class DataIterable<T extends ExplicitVertexID> implements Iterable<T> {
-    private Edge<T>[] edges;
+public class DataIterable<T extends ExplicitVertexID, U> implements Iterable<T> {
+    private Edge<T, U>[] edges;
     private int edgesLength;
     private Object type;
     private boolean negate;
     private boolean source;
 
-    public DataIterable(Edge<T>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
+    public DataIterable(Edge<T, U>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
         this.edges = edges;
         this.edgesLength = edgesLength;
         this.type = type;
@@ -21,6 +21,6 @@ public class DataIterable<T extends ExplicitVertexID> implements Iterable<T> {
 
     @Override
     public Iterator<T> iterator() {
-        return new DataIterator<T>(edges, edgesLength, type, source, negate);
+        return new DataIterator<T, U>(edges, edgesLength, type, source, negate);
     }
 }


=====================================
src/org/jruby/dirgra/DataIterator.java
=====================================
@@ -3,8 +3,8 @@ package org.jruby.dirgra;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
 
-public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
-    private Edge<T>[] edges;
+public class DataIterator<T extends ExplicitVertexID, U> implements Iterator<T> {
+    private Edge<T, U>[] edges;
     private int edgesLength;
     private int edgeIteratorIndex;
     private Object type;
@@ -12,7 +12,7 @@ public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
     private boolean source;
     private boolean negate;
 
-    public DataIterator(Edge<T>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
+    public DataIterator(Edge<T, U>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
         this.edges = edges;
         this.edgesLength = edgesLength;
         this.edgeIteratorIndex = 0;
@@ -52,7 +52,7 @@ public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
     @Override
     public T next() {
         if (hasNext()) {
-            Edge<T> tmp = nextEdge;
+            Edge<T, U> tmp = nextEdge;
             nextEdge = null;
             return source ? tmp.getSource().getData() : tmp.getDestination().getData();
         }


=====================================
src/org/jruby/dirgra/DirectedGraph.java
=====================================
@@ -7,28 +7,28 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-public class DirectedGraph<T extends ExplicitVertexID> {
-    private static int INITIAL_SIZE = 4;
+public class DirectedGraph<T extends ExplicitVertexID, U> {
+    private static final int INITIAL_SIZE = 4;
 
-    private Map<T, Vertex<T>> vertices = new HashMap<T, Vertex<T>>();
-    private Edge<T>[] edges = new Edge[INITIAL_SIZE];
+    private final Map<T, Vertex<T, U>> vertices = new HashMap<>();
+    private Edge<T, U>[] edges = new Edge[INITIAL_SIZE];
     private int edgeLength = 0;
     private ArrayList inOrderVerticeData = new ArrayList();
     int vertexIDCounter = 0;
 
-    protected Edge<T>[] growEdges(Edge<T>[] array, int realLength) {
+    protected Edge<T, U>[] growEdges(Edge<T, U>[] array, int realLength) {
         int newLength = array.length == 0 ? 2 : array.length * 2;
-        Edge<T>[] newEdges = new Edge[newLength];
+        Edge<T, U>[] newEdges = new Edge[newLength];
 
         System.arraycopy(array, 0, newEdges, 0, realLength);
         return newEdges;
     }
 
-    protected Edge<T>[] getEdges() {
+    protected Edge<T, U>[] getEdges() {
         return edges;
     }
 
-    protected Edge<T> addEdge(Edge<T> newEdge) {
+    protected Edge<T, U> addEdge(Edge<T, U> newEdge) {
         for (int i = 0; i < edgeLength; i++) {
             // Edge already added.  No repeated edge support.
             if (edges[i].equals(newEdge)) return newEdge;
@@ -40,7 +40,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
         return newEdge;
     }
 
-    public void removeEdge(Edge<T> edge) {
+    public void removeEdge(Edge<T, U> edge) {
         int splitPoint = -1;
 
         for (int i = 0; i < edgeLength; i++) {
@@ -51,7 +51,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
         }
 
         if (splitPoint != -1) {
-            Edge<T> edgeToRemove = edges[splitPoint];
+            Edge<T, U> edgeToRemove = edges[splitPoint];
             if (splitPoint < edgeLength - 1) { // somewhere between index 0 and edgeLength-2
                 System.arraycopy(edges, splitPoint + 1, edges, splitPoint, edgeLength - 1 - splitPoint);
             }
@@ -64,16 +64,16 @@ public class DirectedGraph<T extends ExplicitVertexID> {
         }
     }
 
-    public Collection<Vertex<T>> vertices() {
+    public Collection<Vertex<T, U>> vertices() {
         return vertices.values();
     }
 
-    public Collection<Edge<T>> edges() {
+    public Collection<Edge<T, U>> edges() {
         return Arrays.asList(Arrays.copyOf(edges, edgeLength));
     }
 
-    public Iterable<Edge<T>> edgesOfType(Object type) {
-        return new EdgeTypeIterable<T>(edges, edgeLength, type);
+    public Iterable<Edge<T, U>> edgesOfType(U type) {
+        return new EdgeTypeIterable<T, U>(edges, edgeLength, type);
     }
 
     public Collection<T> allData() {
@@ -87,7 +87,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
         return inOrderVerticeData;
     }
 
-    public void addEdge(T source, T destination, Object type) {
+    public void addEdge(T source, T destination, U type) {
         findOrCreateVertexFor(source).addEdgeTo(destination, type);
     }
 
@@ -102,7 +102,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
         }
     }
 
-    public Vertex<T> findVertexFor(T data) {
+    public Vertex<T, U> findVertexFor(T data) {
         return vertices.get(data);
     }
 
@@ -112,7 +112,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
      * @param data to find a vertex for
      * @return vertex for given data. If vertex is not present it creates vertex and returns it.
      */
-    public Vertex<T> findOrCreateVertexFor(T data) {
+    public Vertex<T, U> findOrCreateVertexFor(T data) {
         Vertex vertex = vertices.get(data);
 
         if (vertex != null) return vertex;
@@ -145,9 +145,9 @@ public class DirectedGraph<T extends ExplicitVertexID> {
     public String toString() {
         StringBuilder buf = new StringBuilder();
 
-        ArrayList<Vertex<T>> verts = new ArrayList<Vertex<T>>(vertices.values());
+        ArrayList<Vertex<T, U>> verts = new ArrayList<>(vertices.values());
         Collections.sort(verts);
-        for (Vertex<T> vertex: verts) {
+        for (Vertex<T, U> vertex: verts) {
             buf.append(vertex);
         }
 


=====================================
src/org/jruby/dirgra/Edge.java
=====================================
@@ -1,25 +1,25 @@
 package org.jruby.dirgra;
 
-public class Edge<T extends ExplicitVertexID> {
-    private Vertex<T> source;
-    private Vertex<T> destination;
-    private Object type;
+public class Edge<T extends ExplicitVertexID, U> {
+    private Vertex<T, U> source;
+    private Vertex<T, U> destination;
+    private U type;
 
-    public Edge(Vertex<T> source, Vertex<T> destination, Object type) {
+    public Edge(Vertex<T, U> source, Vertex<T, U> destination, U type) {
         this.source = source;
         this.destination = destination;
         this.type = type;
     }
 
-    public Vertex<T> getDestination() {
+    public Vertex<T, U> getDestination() {
         return destination;
     }
 
-    public Vertex<T> getSource() {
+    public Vertex<T, U> getSource() {
         return source;
     }
 
-    public Object getType() {
+    public U getType() {
         return type;
     }
 


=====================================
src/org/jruby/dirgra/EdgeTypeIterable.java
=====================================
@@ -4,18 +4,18 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Set;
 
-public class EdgeTypeIterable<T extends ExplicitVertexID> implements Iterable<Edge<T>> {
-    private Edge<T>[] edges;
+public class EdgeTypeIterable<T extends ExplicitVertexID, U> implements Iterable<Edge<T, U>> {
+    private Edge<T, U>[] edges;
     int edgesLength;
     private Object type;
     private boolean negate;
 
-    public EdgeTypeIterable(Edge<T>[] edges, int edgesLength, Object type) {
+    public EdgeTypeIterable(Edge<T, U>[] edges, int edgesLength, U type) {
         this(edges, edgesLength, type, false);
 
     }
 
-    public EdgeTypeIterable(Edge<T>[] edges, int edgesLength, Object type, boolean negate) {
+    public EdgeTypeIterable(Edge<T, U>[] edges, int edgesLength, U type, boolean negate) {
         this.edges = edges;
         this.edgesLength = edgesLength;
         this.type = type;
@@ -23,7 +23,7 @@ public class EdgeTypeIterable<T extends ExplicitVertexID> implements Iterable<Ed
     }
 
     @Override
-    public Iterator<Edge<T>> iterator() {
-        return new EdgeTypeIterator<T>(edges, edgesLength, type, negate);
+    public Iterator<Edge<T, U>> iterator() {
+        return new EdgeTypeIterator<T, U>(edges, edgesLength, type, negate);
     }
 }


=====================================
src/org/jruby/dirgra/EdgeTypeIterator.java
=====================================
@@ -5,15 +5,15 @@ import java.util.Iterator;
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-public class EdgeTypeIterator<T extends ExplicitVertexID> implements Iterator<Edge<T>> {
-    private Edge<T>[] edges;
+public class EdgeTypeIterator<T extends ExplicitVertexID, U> implements Iterator<Edge<T, U>> {
+    private Edge<T, U>[] edges;
     private int edgesLength;
     private int edgeIteratorIndex = 0;
     private Object type;
     private Edge nextEdge = null;
     private boolean negate;
 
-    public EdgeTypeIterator(Edge<T>[] edges, int edgesLength, Object type, boolean negate) {
+    public EdgeTypeIterator(Edge<T, U>[] edges, int edgesLength, Object type, boolean negate) {
         this.edges = edges;
         this.edgesLength = edgesLength;
         this.type = type;
@@ -48,9 +48,9 @@ public class EdgeTypeIterator<T extends ExplicitVertexID> implements Iterator<Ed
     }
 
     @Override
-    public Edge<T> next() {
+    public Edge<T, U> next() {
         if (hasNext()) {
-            Edge<T> tmp = nextEdge;
+            Edge<T, U> tmp = nextEdge;
             nextEdge = null;
             return tmp;
         }


=====================================
src/org/jruby/dirgra/ExplicitVertexID.java
=====================================
@@ -1,5 +1,5 @@
 package org.jruby.dirgra;
 
 public interface ExplicitVertexID {
-    public int getID();
+    int getID();
 }


=====================================
src/org/jruby/dirgra/Vertex.java
=====================================
@@ -11,13 +11,13 @@ import java.util.List;
 /**
  *
  */
-public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>> {
+public class Vertex<T extends ExplicitVertexID, U> implements Comparable<Vertex<T, U>> {
     private static final Edge[] EMPTY_EDGE_LIST = new Edge[0];
     private DirectedGraph graph;
     private T data;
-    private Edge<T>[] incoming = EMPTY_EDGE_LIST;
+    private Edge<T, U>[] incoming = EMPTY_EDGE_LIST;
     private int incomingLength = 0;
-    private Edge<T>[] outgoing = EMPTY_EDGE_LIST;
+    private Edge<T, U>[] outgoing = EMPTY_EDGE_LIST;
     private int outgoingLength = 0;
     int id;
 
@@ -31,8 +31,8 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         addEdgeTo(destination, null);
     }
 
-    public void addEdgeTo(Vertex destination, Object type) {
-        Edge<T> newEdge = graph.addEdge(new Edge<T>(this, destination, type));
+    public void addEdgeTo(Vertex destination, U type) {
+        Edge<T, U> newEdge = graph.addEdge(new Edge<T, U>(this, destination, type));
         addOutgoingEdge(newEdge);
         destination.addIncomingEdge(newEdge);
     }
@@ -41,7 +41,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         addEdgeTo(destination, null);
     }
 
-    public void addEdgeTo(T destination, Object type) {
+    public void addEdgeTo(T destination, U type) {
         Vertex destinationVertex = graph.findOrCreateVertexFor(destination);
 
         addEdgeTo(destinationVertex, type);
@@ -59,7 +59,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         return false;
     }
 
-    protected void addOutgoingEdge(Edge<T> newEdge) {
+    protected void addOutgoingEdge(Edge<T, U> newEdge) {
         for (int i = 0; i < outgoingLength; i++) {
             // Edge already added.  No repeated edge support.
             if (outgoing[i].equals(newEdge)) return;
@@ -70,7 +70,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         outgoing[outgoingLength++] = newEdge;
     }
 
-    protected void addIncomingEdge(Edge<T> newEdge) {
+    protected void addIncomingEdge(Edge<T, U> newEdge) {
         for (int i = 0; i < incomingLength; i++) {
             // Edge already added.  No repeated edge support.
             if (incoming[i] == newEdge) return;
@@ -81,7 +81,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         incoming[incomingLength++] = newEdge;
     }
 
-    protected void removeOutgoingEdge(Edge<T> edge) {
+    protected void removeOutgoingEdge(Edge<T, U> edge) {
         int splitIndex = -1; // which index we found the edge at
 
         for (int i = 0; i < outgoingLength; i++) {
@@ -100,7 +100,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         outgoingLength--;                       // list is one smaller
     }
 
-    protected void removeIncomingEdge(Edge<T> edge) {
+    protected void removeIncomingEdge(Edge<T, U> edge) {
         int splitIndex = -1; // which index we found the edge at
 
         for (int i = 0; i < incomingLength; i++) {
@@ -148,95 +148,95 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         return outgoingLength;
     }
 
-    public Iterable<Edge<T>> getIncomingEdgesOfType(Object type) {
-        return new EdgeTypeIterable<T>(incoming, incomingLength, type);
+    public Iterable<Edge<T, U>> getIncomingEdgesOfType(U type) {
+        return new EdgeTypeIterable<>(incoming, incomingLength, type);
     }
 
-    public Iterable<Edge<T>> getIncomingEdgesNotOfType(Object type) {
-        return new EdgeTypeIterable<T>(incoming, incomingLength, type, true);
+    public Iterable<Edge<T, U>> getIncomingEdgesNotOfType(U type) {
+        return new EdgeTypeIterable<>(incoming, incomingLength, type, true);
     }
 
-    public Iterable<Edge<T>> getOutgoingEdgesOfType(Object type) {
-        return new EdgeTypeIterable<T>(outgoing, outgoingLength, type);
+    public Iterable<Edge<T, U>> getOutgoingEdgesOfType(U type) {
+        return new EdgeTypeIterable<>(outgoing, outgoingLength, type);
     }
 
     public T getIncomingSourceData() {
-        Edge<T> edge = getFirstEdge(getIncomingEdges().iterator());
+        Edge<T, U> edge = getFirstEdge(getIncomingEdges().iterator());
 
         return edge == null ? null : edge.getSource().getData();
     }
 
-    public T getIncomingSourceDataOfType(Object type) {
-        Edge<T> edge = getFirstEdge(getIncomingEdgesOfType(type).iterator());
+    public T getIncomingSourceDataOfType(U type) {
+        Edge<T, U> edge = getFirstEdge(getIncomingEdgesOfType(type).iterator());
 
         return edge == null ? null : edge.getSource().getData();
     }
 
     public Iterable<T> getIncomingSourcesData() {
-        return new DataIterable<T>(incoming, incomingLength, null, true, true);
+        return new DataIterable<T, U>(incoming, incomingLength, null, true, true);
     }
 
-    public Iterable<T> getIncomingSourcesDataOfType(Object type) {
-        return new DataIterable<T>(incoming, incomingLength, type, true, false);
+    public Iterable<T> getIncomingSourcesDataOfType(U type) {
+        return new DataIterable<>(incoming, incomingLength, type, true, false);
     }
 
-    public Iterable<T> getIncomingSourcesDataNotOfType(Object type) {
-        return new DataIterable<T>(incoming, incomingLength, type, true, true);
+    public Iterable<T> getIncomingSourcesDataNotOfType(U type) {
+        return new DataIterable<>(incoming, incomingLength, type, true, true);
     }
 
-    public Iterable<Edge<T>> getOutgoingEdgesNotOfType(Object type) {
-        return new EdgeTypeIterable<T>(outgoing, outgoingLength, type, true);
+    public Iterable<Edge<T, U>> getOutgoingEdgesNotOfType(U type) {
+        return new EdgeTypeIterable<T, U>(outgoing, outgoingLength, type, true);
     }
 
     public Iterable<T> getOutgoingDestinationsData() {
-        return new DataIterable<T>(outgoing, outgoingLength, null, false, true);
+        return new DataIterable<T, U>(outgoing, outgoingLength, null, false, true);
     }
 
     public Iterable<T> getOutgoingDestinationsDataOfType(Object type) {
-        return new DataIterable<T>(outgoing, outgoingLength, type, false, false);
+        return new DataIterable<T, U>(outgoing, outgoingLength, type, false, false);
     }
 
     public Iterable<T> getOutgoingDestinationsDataNotOfType(Object type) {
-        return new DataIterable<T>(outgoing, outgoingLength, type, false, true);
+        return new DataIterable<T, U>(outgoing, outgoingLength, type, false, true);
     }
 
     public T getOutgoingDestinationData() {
-        Edge<T> edge = getFirstEdge(getOutgoingEdges().iterator());
+        Edge<T, U> edge = getFirstEdge(getOutgoingEdges().iterator());
 
         return edge == null ? null : edge.getDestination().getData();
     }
 
-    public T getOutgoingDestinationDataOfType(Object type) {
-        Edge<T> edge = getFirstEdge(getOutgoingEdgesOfType(type).iterator());
+    public T getOutgoingDestinationDataOfType(U type) {
+        Edge<T, U> edge = getFirstEdge(getOutgoingEdgesOfType(type).iterator());
 
         return edge == null ? null : edge.getDestination().getData();
     }
 
-    private Edge<T> getFirstEdge(Iterator<Edge<T>> iterator) {
+    private Edge<T, U> getFirstEdge(Iterator<Edge<T, U>> iterator) {
         return iterator.hasNext() ? iterator.next() : null;
     }
 
-    public Edge<T> getIncomingEdgeOfType(Object type) {
+    public Edge<T, U> getIncomingEdgeOfType(U type) {
         return getFirstEdge(getIncomingEdgesOfType(type).iterator());
     }
 
-    public Edge<T> getOutgoingEdgeOfType(Object type) {
+    public Edge<T, U> getOutgoingEdgeOfType(U type) {
         return getFirstEdge(getOutgoingEdgesOfType(type).iterator());
     }
 
-    public Edge<T> getIncomingEdge() {
+    public Edge<T, U> getIncomingEdge() {
         return getFirstEdge(getIncomingEdgesNotOfType(null).iterator());
     }
 
-    public Edge<T> getOutgoingEdge() {
+    public Edge<T, U> getOutgoingEdge() {
         return getFirstEdge(getOutgoingEdgesNotOfType(null).iterator());
     }
 
-    public Collection<Edge<T>> getIncomingEdges() {
+    public Collection<Edge<T, U>> getIncomingEdges() {
         return Arrays.asList(Arrays.copyOf(incoming, incomingLength));
     }
 
-    public Collection<Edge<T>> getOutgoingEdges() {
+    public Collection<Edge<T, U>> getOutgoingEdges() {
         return Arrays.asList(Arrays.copyOf(outgoing, outgoingLength));
     }
 
@@ -256,13 +256,13 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
 
         buf.append(":");
 
-        Collection<Edge<T>> edges = getOutgoingEdges();
+        Collection<Edge<T, U>> edges = getOutgoingEdges();
         int size = edges.size();
 
         if (size > 0) {
             found = true;
             buf.append(">[");
-            List<Edge<T>> e = new ArrayList<Edge<T>>(edges);
+            List<Edge<T, U>> e = new ArrayList<>(edges);
             Collections.sort(e, new DestinationCompare());
 
             for (int i = 0; i < size - 1; i++) {
@@ -277,7 +277,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         if (size > 0) {
             if (found) buf.append(", ");
             buf.append("<[");
-            List<Edge<T>> e = new ArrayList<Edge<T>>(edges);
+            List<Edge<T, U>> e = new ArrayList<>(edges);
             Collections.sort(e, new SourceCompare());
 
             for (int i = 0; i < size - 1; i++) {
@@ -291,15 +291,15 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
     }
 
     @Override
-    public int compareTo(Vertex<T> that) {
+    public int compareTo(Vertex<T, U> that) {
         if (getID() == that.getID()) return 0;
         if (getID() < that.getID()) return -1;
         return 1;
     }
 
-    class SourceCompare implements Comparator<Edge<T>> {
+    class SourceCompare implements Comparator<Edge<T, U>> {
         @Override
-        public int compare(Edge<T> o1, Edge<T> o2) {
+        public int compare(Edge<T, U> o1, Edge<T, U> o2) {
             int i1 = o1.getSource().getID();
             int i2 = o2.getSource().getID();
 
@@ -308,9 +308,9 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
         }
     }
 
-    class DestinationCompare implements Comparator<Edge<T>> {
+    class DestinationCompare implements Comparator<Edge<T, U>> {
         @Override
-        public int compare(Edge<T> o1, Edge<T> o2) {
+        public int compare(Edge<T, U> o1, Edge<T, U> o2) {
             int i1 = o1.getDestination().getID();
             int i2 = o2.getDestination().getID();
 



View it on GitLab: https://salsa.debian.org/java-team/dirgra/-/compare/97fef2cb7e8616369c13dbb7258c0a7b07bc360b...cfded3bf24da5a3e276c803e79dcdbba73a2fd49

-- 
View it on GitLab: https://salsa.debian.org/java-team/dirgra/-/compare/97fef2cb7e8616369c13dbb7258c0a7b07bc360b...cfded3bf24da5a3e276c803e79dcdbba73a2fd49
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260826/93056f7b/attachment.htm>


More information about the pkg-java-commits mailing list