Remove explicit dependencies from netui-compiler, modify ConvertAnnotationProcessorFactory to not crash when internal is null, such as when a class isn't on the classpath
This commit is contained in:
parent
7a02261fc5
commit
fe5d6e8469
@ -81,16 +81,15 @@ public class ConvertAnnotationProcessorFactory implements Processor {
|
|||||||
internal = (AnnotationProcessorFactory) Class.forName(annotationProcessorFactoryName).newInstance();
|
internal = (AnnotationProcessorFactory) Class.forName(annotationProcessorFactoryName).newInstance();
|
||||||
System.out.println("ConvertAnnotationProcessorFactory running " + internal.getClass().getName());
|
System.out.println("ConvertAnnotationProcessorFactory running " + internal.getClass().getName());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
System.out.printf("Not running AnnotationProcessorFactory '%s' because of error!\n", annotationProcessorFactoryName);
|
System.out.printf("Not running AnnotationProcessorFactory '%s' because of error! Not on classpath?\n", annotationProcessorFactoryName);
|
||||||
e.printStackTrace();
|
if(Debug.debug)
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
this.internal = internal;
|
this.internal = internal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConvertAnnotationProcessorFactory(AnnotationProcessorFactory internal) {
|
public ConvertAnnotationProcessorFactory(AnnotationProcessorFactory internal) {
|
||||||
if (internal == null)
|
System.out.println("ConvertAnnotationProcessorFactory running " + (internal == null ? "null" : internal.getClass().getName()));
|
||||||
throw new NullPointerException("AnnotationProcessorFactory cannot be null!");
|
|
||||||
System.out.println("ConvertAnnotationProcessorFactory running " + internal.getClass().getName());
|
|
||||||
this.internal = internal;
|
this.internal = internal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,11 +104,15 @@ public class ConvertAnnotationProcessorFactory implements Processor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<String> getSupportedOptions() {
|
public Set<String> getSupportedOptions() {
|
||||||
|
if(internal == null)
|
||||||
|
return Collections.emptySet();
|
||||||
return cleanOptions(internal.supportedOptions());
|
return cleanOptions(internal.supportedOptions());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<String> getSupportedAnnotationTypes() {
|
public Set<String> getSupportedAnnotationTypes() {
|
||||||
|
if(internal == null)
|
||||||
|
return Collections.emptySet();
|
||||||
if (Debug.debug)
|
if (Debug.debug)
|
||||||
System.out.printf("factory: '%s' supportedAnnotationTypes: '%s'\n", internal.getClass().getName(), internal.supportedAnnotationTypes());
|
System.out.printf("factory: '%s' supportedAnnotationTypes: '%s'\n", internal.getClass().getName(), internal.supportedAnnotationTypes());
|
||||||
return Convertable.toSet(internal.supportedAnnotationTypes());
|
return Convertable.toSet(internal.supportedAnnotationTypes());
|
||||||
@ -173,6 +176,8 @@ public class ConvertAnnotationProcessorFactory implements Processor {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public synchronized boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
|
public synchronized boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
|
||||||
|
if(internal == null)
|
||||||
|
return false;
|
||||||
env.getFiler().setModified(false);
|
env.getFiler().setModified(false);
|
||||||
env.setRoundEnv(roundEnv);
|
env.setRoundEnv(roundEnv);
|
||||||
internal.getProcessorFor(ConvertDeclaration.getConvertable().convertToSet(annotations, AnnotationTypeDeclaration.class), env).process();
|
internal.getProcessorFor(ConvertDeclaration.getConvertable().convertToSet(annotations, AnnotationTypeDeclaration.class), env).process();
|
||||||
@ -194,21 +199,21 @@ public class ConvertAnnotationProcessorFactory implements Processor {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (o instanceof AnnotationProcessorFactory) return internal.equals(o);
|
if (o instanceof AnnotationProcessorFactory) return o.equals(internal);
|
||||||
if (o == null || getClass() != o.getClass()) return false;
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
|
||||||
ConvertAnnotationProcessorFactory that = (ConvertAnnotationProcessorFactory) o;
|
ConvertAnnotationProcessorFactory that = (ConvertAnnotationProcessorFactory) o;
|
||||||
|
|
||||||
return internal.equals(that.internal);
|
return internal == that.internal || (internal != null && internal.equals(that.internal));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return internal.hashCode();
|
return internal == null ? 0 : internal.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return internal.toString();
|
return internal == null ? "null" : internal.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,18 +34,6 @@
|
|||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.beehive</groupId>
|
|
||||||
<artifactId>beehive-controls</artifactId>
|
|
||||||
<version>1.0.2</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.beehive</groupId>
|
|
||||||
<artifactId>beehive-netui-compiler</artifactId>
|
|
||||||
<version>1.0.2</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
Loading…
Reference in New Issue
Block a user