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