clean up and organize
This commit is contained in:
parent
e3dc8f10c4
commit
ee6b1b54c9
@ -14,13 +14,13 @@ public final class PackerAssetDetailsService {
|
||||
private final PackerAssetReferenceResolver assetReferenceResolver;
|
||||
|
||||
public PackerAssetDetailsService(
|
||||
PackerRuntimeRegistry runtimeRegistry,
|
||||
PackerAssetReferenceResolver assetReferenceResolver) {
|
||||
final PackerRuntimeRegistry runtimeRegistry,
|
||||
final PackerAssetReferenceResolver assetReferenceResolver) {
|
||||
this.runtimeRegistry = Objects.requireNonNull(runtimeRegistry, "runtimeRegistry");
|
||||
this.assetReferenceResolver = Objects.requireNonNull(assetReferenceResolver, "assetReferenceResolver");
|
||||
}
|
||||
|
||||
public GetAssetDetailsResult getAssetDetails(GetAssetDetailsRequest request) {
|
||||
public GetAssetDetailsResult getAssetDetails(final GetAssetDetailsRequest request) {
|
||||
final PackerProjectContext project = Objects.requireNonNull(request, "request").project();
|
||||
final PackerRuntimeSnapshot snapshot = runtimeRegistry.getOrLoad(project).snapshot();
|
||||
final PackerResolvedAssetReference resolved = assetReferenceResolver.resolve(project, snapshot, request.assetReference());
|
||||
@ -36,23 +36,23 @@ public final class PackerAssetDetailsService {
|
||||
return failureResult(project, request.assetReference(), resolved, diagnostics);
|
||||
}
|
||||
|
||||
final PackerRuntimeAsset runtimeAsset = resolved.runtimeAsset().get();
|
||||
final Path manifestPath = runtimeAsset.manifestPath();
|
||||
final PackerAssetDeclarationParseResult parsed = runtimeAsset.parsedDeclaration();
|
||||
final var runtimeAsset = resolved.runtimeAsset().get();
|
||||
final var manifestPath = runtimeAsset.manifestPath();
|
||||
final var parsed = runtimeAsset.parsedDeclaration();
|
||||
diagnostics.addAll(parsed.diagnostics());
|
||||
if (!parsed.valid()) {
|
||||
return failureResult(project, request.assetReference(), resolved, diagnostics);
|
||||
}
|
||||
|
||||
final PackerAssetDeclaration declaration = parsed.declaration();
|
||||
final var declaration = parsed.declaration();
|
||||
diagnostics.addAll(identityMismatchDiagnostics(resolved.registryEntry(), declaration, manifestPath));
|
||||
final PackerOutputContractCatalog.OutputContractDefinition outputContract = PackerOutputContractCatalog.definitionFor(
|
||||
final var outputContract = PackerOutputContractCatalog.definitionFor(
|
||||
declaration.outputFormat(),
|
||||
declaration.outputCodec());
|
||||
final PackerAssetState state = resolved.registryEntry().isPresent()
|
||||
final var state = resolved.registryEntry().isPresent()
|
||||
? PackerAssetState.REGISTERED
|
||||
: PackerAssetState.UNREGISTERED;
|
||||
final PackerAssetSummary summary = new PackerAssetSummary(
|
||||
final var summary = new PackerAssetSummary(
|
||||
canonicalReference(project, resolved.assetRoot(), resolved.registryEntry()),
|
||||
new PackerAssetIdentity(
|
||||
resolved.registryEntry().map(PackerRegistryEntry::assetId).orElse(null),
|
||||
@ -67,7 +67,7 @@ public final class PackerAssetDetailsService {
|
||||
declaration.assetFamily(),
|
||||
declaration.preloadEnabled(),
|
||||
!diagnostics.isEmpty());
|
||||
final PackerAssetDetails details = new PackerAssetDetails(
|
||||
final var details = new PackerAssetDetails(
|
||||
summary,
|
||||
declaration.outputFormat(),
|
||||
declaration.outputCodec(),
|
||||
@ -83,14 +83,14 @@ public final class PackerAssetDetailsService {
|
||||
}
|
||||
|
||||
private GetAssetDetailsResult failureResult(
|
||||
PackerProjectContext project,
|
||||
AssetReference requestedReference,
|
||||
PackerResolvedAssetReference resolved,
|
||||
List<PackerDiagnostic> diagnostics) {
|
||||
final PackerAssetState state = resolved.registryEntry().isPresent()
|
||||
final PackerProjectContext project,
|
||||
final AssetReference requestedReference,
|
||||
final PackerResolvedAssetReference resolved,
|
||||
final List<PackerDiagnostic> diagnostics) {
|
||||
final var state = resolved.registryEntry().isPresent()
|
||||
? PackerAssetState.REGISTERED
|
||||
: PackerAssetState.UNREGISTERED;
|
||||
final PackerAssetSummary summary = new PackerAssetSummary(
|
||||
final var summary = new PackerAssetSummary(
|
||||
canonicalReferenceOrRequested(project, requestedReference, resolved),
|
||||
new PackerAssetIdentity(
|
||||
resolved.registryEntry().map(PackerRegistryEntry::assetId).orElse(null),
|
||||
@ -105,7 +105,7 @@ public final class PackerAssetDetailsService {
|
||||
AssetFamilyCatalog.UNKNOWN,
|
||||
false,
|
||||
true);
|
||||
final PackerAssetDetails details = new PackerAssetDetails(
|
||||
final var details = new PackerAssetDetails(
|
||||
summary,
|
||||
OutputFormatCatalog.UNKNOWN,
|
||||
OutputCodecCatalog.UNKNOWN,
|
||||
@ -120,7 +120,9 @@ public final class PackerAssetDetailsService {
|
||||
PackerReadMessageMapper.toDiagnosticDTOs(diagnostics));
|
||||
}
|
||||
|
||||
private Map<String, List<Path>> resolveInputs(Path assetRoot, Map<String, List<String>> inputsByRole) {
|
||||
private Map<String, List<Path>> resolveInputs(
|
||||
final Path assetRoot,
|
||||
final Map<String, List<String>> inputsByRole) {
|
||||
final Map<String, List<Path>> resolved = new LinkedHashMap<>();
|
||||
inputsByRole.forEach((role, inputs) -> resolved.put(
|
||||
role,
|
||||
@ -129,9 +131,9 @@ public final class PackerAssetDetailsService {
|
||||
}
|
||||
|
||||
private List<PackerDiagnostic> identityMismatchDiagnostics(
|
||||
Optional<PackerRegistryEntry> registryEntry,
|
||||
PackerAssetDeclaration declaration,
|
||||
Path manifestPath) {
|
||||
final Optional<PackerRegistryEntry> registryEntry,
|
||||
final PackerAssetDeclaration declaration,
|
||||
final Path manifestPath) {
|
||||
if (registryEntry.isEmpty() || registryEntry.get().assetUuid().equals(declaration.assetUuid())) {
|
||||
return List.of();
|
||||
}
|
||||
@ -144,9 +146,9 @@ public final class PackerAssetDetailsService {
|
||||
}
|
||||
|
||||
private AssetReference canonicalReference(
|
||||
PackerProjectContext project,
|
||||
Path assetRoot,
|
||||
Optional<PackerRegistryEntry> registryEntry) {
|
||||
final PackerProjectContext project,
|
||||
final Path assetRoot,
|
||||
final Optional<PackerRegistryEntry> registryEntry) {
|
||||
return registryEntry
|
||||
.map(packerRegistryEntry -> AssetReference.forAssetId(packerRegistryEntry.assetId()))
|
||||
.orElseGet(() -> AssetReference.forRelativeAssetRoot(PackerWorkspacePaths.assetsRoot(project)
|
||||
@ -156,12 +158,12 @@ public final class PackerAssetDetailsService {
|
||||
}
|
||||
|
||||
private AssetReference canonicalReferenceOrRequested(
|
||||
PackerProjectContext project,
|
||||
AssetReference requestedReference,
|
||||
PackerResolvedAssetReference resolved) {
|
||||
final PackerProjectContext project,
|
||||
final AssetReference requestedReference,
|
||||
final PackerResolvedAssetReference resolved) {
|
||||
if (resolved.registryEntry().isPresent() || resolved.runtimeAsset().isPresent()) {
|
||||
return canonicalReference(project, resolved.assetRoot(), resolved.registryEntry());
|
||||
}
|
||||
return requestedReference;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user