Skip to content

Commit cc307ed

Browse files
authored
Merge pull request #54 from scijava/scijava/scijava-ops-engine/view-javadoc-revisions-revisions
Revisions on the revisionson on view-javadoc
2 parents a00c198 + 5a09cbd commit cc307ed

File tree

16 files changed

+88
-146
lines changed

16 files changed

+88
-146
lines changed

imagej/imagej-ops2/pom.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,11 +210,7 @@
210210
<license.projectName>ImageJ software for multidimensional image processing and analysis.</license.projectName>
211211

212212
<!-- NB While we depend on old scijava-common -->
213-
<imagej-ops2.allowedDuplicateClasses>
214-
${scijava.allowedDuplicateClasses},
215-
org.scijava.*,
216-
com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.*
217-
</imagej-ops2.allowedDuplicateClasses>
213+
<imagej-ops2.allowedDuplicateClasses>${scijava.allowedDuplicateClasses},org.scijava.*,com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.*</imagej-ops2.allowedDuplicateClasses>
218214
<allowedDuplicateClasses>${imagej-ops2.allowedDuplicateClasses}</allowedDuplicateClasses>
219215

220216
<!-- NB: Deploy releases to the ImageJ Maven repository. -->

scijava/scijava-discovery-plugin/pom.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,7 @@
8686

8787
<license.licenseName>bsd_2</license.licenseName>
8888
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
89-
<scijava-discovery-plugin.allowedDuplicateClasses>
90-
${scijava.allowedDuplicateClasses}
91-
</scijava-discovery-plugin.allowedDuplicateClasses>
89+
<scijava-discovery-plugin.allowedDuplicateClasses>${scijava.allowedDuplicateClasses}</scijava-discovery-plugin.allowedDuplicateClasses>
9290
<allowedDuplicateClasses>${scijava-discovery-plugin.allowedDuplicateClasses}</allowedDuplicateClasses>
9391
<therapi.packages></therapi.packages>
9492
</properties>

scijava/scijava-discovery-test/pom.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,7 @@
101101

102102
<license.licenseName>bsd_2</license.licenseName>
103103
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
104-
<scijava-discovery-test.allowedDuplicateClasses>
105-
${scijava.allowedDuplicateClasses}
106-
</scijava-discovery-test.allowedDuplicateClasses>
104+
<scijava-discovery-test.allowedDuplicateClasses>${scijava.allowedDuplicateClasses}</scijava-discovery-test.allowedDuplicateClasses>
107105
<allowedDuplicateClasses>${scijava-discovery-test.allowedDuplicateClasses}</allowedDuplicateClasses>
108106
</properties>
109107
<dependencies>

scijava/scijava-discovery-therapi/pom.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,7 @@
8686

8787
<license.licenseName>bsd_2</license.licenseName>
8888
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
89-
<scijava-discovery-therapi.allowedDuplicateClasses>
90-
${scijava.allowedDuplicateClasses}
91-
</scijava-discovery-therapi.allowedDuplicateClasses>
89+
<scijava-discovery-therapi.allowedDuplicateClasses>${scijava.allowedDuplicateClasses}</scijava-discovery-therapi.allowedDuplicateClasses>
9290
<allowedDuplicateClasses>${scijava-discovery-therapi.allowedDuplicateClasses}</allowedDuplicateClasses>
9391
<therapi.packages></therapi.packages>
9492
</properties>

scijava/scijava-discovery/pom.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,7 @@
101101

102102
<license.licenseName>bsd_2</license.licenseName>
103103
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
104-
<scijava-discovery.allowedDuplicateClasses>
105-
${scijava.allowedDuplicateClasses}
106-
</scijava-discovery.allowedDuplicateClasses>
104+
<scijava-discovery.allowedDuplicateClasses>${scijava.allowedDuplicateClasses}</scijava-discovery.allowedDuplicateClasses>
107105
<allowedDuplicateClasses>${scijava-discovery.allowedDuplicateClasses}</allowedDuplicateClasses>
108106
</properties>
109107
<dependencies>

scijava/scijava-log2/pom.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,7 @@
8686

8787
<license.licenseName>bsd_2</license.licenseName>
8888
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
89-
<scijava-log2.allowedDuplicateClasses>
90-
${scijava.allowedDuplicateClasses}
91-
</scijava-log2.allowedDuplicateClasses>
89+
<scijava-log2.allowedDuplicateClasses>${scijava.allowedDuplicateClasses}</scijava-log2.allowedDuplicateClasses>
9290
<allowedDuplicateClasses>${scijava-log2.allowedDuplicateClasses}</allowedDuplicateClasses>
9391
</properties>
9492
<dependencies>

scijava/scijava-ops-engine/pom.xml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,7 @@
101101

102102
<license.licenseName>bsd_2</license.licenseName>
103103
<license.copyrightOwners>SciJava developers.</license.copyrightOwners>
104-
<scijava-ops-engine.allowedDuplicateClasses>
105-
${scijava.allowedDuplicateClasses},
106-
com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.*
107-
</scijava-ops-engine.allowedDuplicateClasses>
104+
<scijava-ops-engine.allowedDuplicateClasses>${scijava.allowedDuplicateClasses},com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.*</scijava-ops-engine.allowedDuplicateClasses>
108105
<allowedDuplicateClasses>${scijava-ops-engine.allowedDuplicateClasses}</allowedDuplicateClasses>
109106
<therapi.packages></therapi.packages>
110107
</properties>
@@ -181,11 +178,6 @@
181178
<groupId>org.javassist</groupId>
182179
<artifactId>javassist</artifactId>
183180
</dependency>
184-
<dependency>
185-
<groupId>com.github.therapi</groupId>
186-
<artifactId>therapi-runtime-javadoc</artifactId>
187-
<version>${therapi-runtime-javadoc.version}</version>
188-
</dependency>
189181

190182
<!-- Test scope dependencies -->
191183
<dependency>

scijava/scijava-ops-engine/src/main/java/org/scijava/ops/engine/struct/AnnotatedOpDependencyMember.java

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,36 +45,50 @@ public abstract class AnnotatedOpDependencyMember<T> implements
4545
{
4646

4747
private final Supplier<String> keyGenerator;
48+
private String key;
49+
private boolean keyGenerated;
50+
4851
private final Supplier<String> descriptionGenerator;
52+
private String description;
53+
private boolean descriptionGenerated;
54+
4955
private final Type type;
5056
private final OpDependency annotation;
5157

52-
public AnnotatedOpDependencyMember(String key, Type type,
53-
final OpDependency annotation)
54-
{
55-
this(key, "", type, annotation);
56-
}
57-
58+
/**
59+
* This constructor is ideal for situations where the key and description are readily available
60+
*
61+
* @param key the key
62+
* @param description the description
63+
* @param type the {@link Type} of this {@link Member}
64+
* @param annotation the {@link OpDependency} annotation
65+
*/
5866
public AnnotatedOpDependencyMember(String key, String description, Type type,
5967
final OpDependency annotation)
6068
{
6169
this(() -> key, () -> description, type, annotation);
70+
this.key = key;
71+
this.keyGenerated = true;
72+
this.description = description;
73+
this.descriptionGenerated = true;
6274
}
6375

6476
/**
6577
* This constructor is ideal for situations where obtaining the key or
6678
* description are computationally expensive.
67-
*
79+
*
6880
* @param keyGenerator the {@link Supplier} able to generate the key
6981
* @param descriptionGenerator the {@link Supplier} able to generate the description
7082
* @param type the {@link Type} of this {@link Member}
71-
* @param annotation
83+
* @param annotation the {@link OpDependency} annotation
7284
*/
7385
public AnnotatedOpDependencyMember(Supplier<String> keyGenerator, Supplier<String> descriptionGenerator, Type type,
7486
final OpDependency annotation)
7587
{
7688
this.keyGenerator = keyGenerator;
89+
this.keyGenerated = false;
7790
this.descriptionGenerator = descriptionGenerator;
91+
this.descriptionGenerated = false;
7892
this.type = type;
7993
this.annotation = annotation;
8094
}
@@ -99,16 +113,31 @@ public boolean isAdaptable() {
99113

100114
@Override
101115
public String getKey() {
102-
return keyGenerator.get();
116+
if (!keyGenerated) generateKey();
117+
return key;
118+
}
119+
120+
private synchronized void generateKey() {
121+
if (keyGenerated) return;
122+
key = keyGenerator.get();
123+
keyGenerated = true;
103124
}
104125

105126
@Override
106127
public String getDescription() {
107-
return descriptionGenerator.get();
128+
if (!descriptionGenerated) generateDescription();
129+
return description;
130+
}
131+
132+
private synchronized void generateDescription() {
133+
if (descriptionGenerated) return;
134+
description = descriptionGenerator.get();
135+
descriptionGenerated = true;
108136
}
109137

110138
@Override
111139
public Type getType() {
112140
return type;
113141
}
114142
}
143+

scijava/scijava-ops-engine/src/main/java/org/scijava/ops/engine/struct/ClassParameterMemberParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.scijava.ValidityProblem;
1212
import org.scijava.ops.api.OpUtils;
1313
import org.scijava.struct.MemberParser;
14+
import org.scijava.struct.Structs;
1415
import org.scijava.struct.ValidityException;
1516
import org.scijava.types.Types;
1617

@@ -28,15 +29,15 @@ public List<SynthesizedParameterMember<?>> parse(Class<?> source, Type structTyp
2829
final ArrayList<ValidityProblem> problems = new ArrayList<>();
2930

3031
// NB: Reject abstract classes.
31-
org.scijava.struct.Structs.checkModifiers(source.getName() + ": ", problems, source.getModifiers(), true, Modifier.ABSTRACT);
32+
Structs.checkModifiers(source.getName() + ": ", problems, source.getModifiers(), true, Modifier.ABSTRACT);
3233

3334
// Obtain source's Op method.
3435
Method opMethod;
3536
try {
3637
opMethod = getDeclaredOpMethod(source);
3738
}
3839
catch (NoSuchMethodException e1) {
39-
problems.add(new ValidityProblem("OpClass " + source +
40+
problems.add(new ValidityProblem("Class " + source.getName() +
4041
" does not have a functional method!"));
4142
throw new ValidityException(problems);
4243
}

scijava/scijava-ops-engine/src/main/java/org/scijava/ops/engine/struct/FunctionalParameters.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.scijava.ops.engine.util.internal.AnnotationUtils;
1313
import org.scijava.struct.FunctionalMethodType;
1414
import org.scijava.struct.ItemIO;
15+
import org.scijava.struct.Structs;
1516
import org.scijava.types.Types;
1617

1718
public class FunctionalParameters {
@@ -38,7 +39,7 @@ public static void parseFunctionalParameters(
3839
for (SynthesizedParameterMember<?> m : fmtMembers) {
3940
final Type itemType = m.getType();
4041

41-
final boolean valid = org.scijava.struct.Structs.checkValidity(m, () -> m.getKey(), Types.raw(itemType), false,
42+
final boolean valid = Structs.checkValidity(m, m.getKey(), Types.raw(itemType), false,
4243
problems);
4344
if (!valid) continue;
4445
items.add(m);

0 commit comments

Comments
 (0)