< prev index next >
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java
Print this page
*** 170,197 ****
private final ImageBuilder imageBuilder;
private final Plugin lastSorter;
private final List<Plugin> plugins = new ArrayList<>();
private final List<ResourcePrevisitor> resourcePrevisitors = new ArrayList<>();
!
public ImagePluginStack() {
this(null, Collections.emptyList(), null);
}
public ImagePluginStack(ImageBuilder imageBuilder,
List<Plugin> plugins,
Plugin lastSorter) {
this.imageBuilder = Objects.requireNonNull(imageBuilder);
this.lastSorter = lastSorter;
this.plugins.addAll(Objects.requireNonNull(plugins));
plugins.stream().forEach((p) -> {
Objects.requireNonNull(p);
if (p instanceof ResourcePrevisitor) {
resourcePrevisitors.add((ResourcePrevisitor) p);
}
});
}
public void operate(ImageProvider provider) throws Exception {
ExecutableImage img = provider.retrieve(this);
List<String> arguments = new ArrayList<>();
--- 170,205 ----
private final ImageBuilder imageBuilder;
private final Plugin lastSorter;
private final List<Plugin> plugins = new ArrayList<>();
private final List<ResourcePrevisitor> resourcePrevisitors = new ArrayList<>();
! private final boolean validate;
public ImagePluginStack() {
this(null, Collections.emptyList(), null);
}
public ImagePluginStack(ImageBuilder imageBuilder,
List<Plugin> plugins,
Plugin lastSorter) {
+ this(imageBuilder, plugins, lastSorter, true);
+ }
+
+ public ImagePluginStack(ImageBuilder imageBuilder,
+ List<Plugin> plugins,
+ Plugin lastSorter,
+ boolean validate) {
this.imageBuilder = Objects.requireNonNull(imageBuilder);
this.lastSorter = lastSorter;
this.plugins.addAll(Objects.requireNonNull(plugins));
plugins.stream().forEach((p) -> {
Objects.requireNonNull(p);
if (p instanceof ResourcePrevisitor) {
resourcePrevisitors.add((ResourcePrevisitor) p);
}
});
+ this.validate = validate;
}
public void operate(ImageProvider provider) throws Exception {
ExecutableImage img = provider.retrieve(this);
List<String> arguments = new ArrayList<>();
*** 266,275 ****
--- 274,284 ----
}
if (resPool instanceof OrderedResourcePoolManager.OrderedResourcePool) {
frozenOrder = ((OrderedResourcePoolManager.OrderedResourcePool)resPool).getOrderedList();
}
}
+
return resPool;
}
/**
* This pool wrap the original pool and automatically uncompress ResourcePoolEntry
*** 456,466 ****
public void storeFiles(ResourcePool original, ResourcePool transformed,
BasicImageWriter writer)
throws Exception {
Objects.requireNonNull(original);
Objects.requireNonNull(transformed);
! imageBuilder.storeFiles(new LastPoolManager(transformed).resourcePool());
}
public ExecutableImage getExecutableImage() throws IOException {
return imageBuilder.getExecutableImage();
}
--- 465,479 ----
public void storeFiles(ResourcePool original, ResourcePool transformed,
BasicImageWriter writer)
throws Exception {
Objects.requireNonNull(original);
Objects.requireNonNull(transformed);
! ResourcePool lastPool = new LastPoolManager(transformed).resourcePool();
! if (validate) {
! ResourcePoolConfiguration.validate(lastPool);
! }
! imageBuilder.storeFiles(lastPool);
}
public ExecutableImage getExecutableImage() throws IOException {
return imageBuilder.getExecutableImage();
}
< prev index next >