public final class io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder extends java.lang.Object
{
static final java.lang.String PARAM_PREFER_WEBP;
static final java.lang.String PARAM_WIDTH;
static final java.lang.String PARAM_HEIGHT;
static final java.lang.String PARAM_CROP;
static final java.lang.String PARAM_SMARTCROP;
static final java.lang.String PARAM_ROTATE;
static final java.lang.String PARAM_QUALITY;
private static final java.util.Set SUPPORTED_FORMATS;
private final io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context;
public void <init>(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext)
{
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context> = v;
return;
}
public java.lang.String build(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams)
{
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService v, v, v;
java.lang.Integer v, v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext v, v, v, v, v, v;
java.lang.CharSequence[] v;
boolean v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference v, v, v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
com.day.cq.dam.api.Asset v;
java.util.TreeMap v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference getReference()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference: com.day.cq.dam.api.Asset getAsset()>();
if v == null goto label;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: java.lang.String getLocalAssetsRepositoryId()>();
goto label;
label:
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: java.lang.String getRemoteAssetsRepositoryId()>();
label:
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: java.lang.String getImageDeliveryBasePath()>();
if v == null goto label;
if v == null goto label;
v = newarray (java.lang.CharSequence)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isAnyBlank(java.lang.CharSequence[])>(v);
if v == 0 goto label;
label:
return null;
label:
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference getReference()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference: java.lang.String getFileName()>();
v = staticinvoke <org.apache.commons.io.FilenameUtils: java.lang.String getBaseName(java.lang.String)>(v);
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: java.lang.String getFileExtension()>();
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference getReference()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference: java.lang.String getAssetId()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String replace(java.lang.String,java.lang.String,java.lang.String)>(v, "{asset-id}", v);
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String replace(java.lang.String,java.lang.String,java.lang.String)>(v, "{seo-name}", v);
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String replace(java.lang.String,java.lang.String,java.lang.String)>(v, "{format}", v);
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("preferwebp", "true");
specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: void applyWidthHeightCroppingParams(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.Integer getRotation()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Integer: java.lang.String toString()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("rotate", v);
label:
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.Integer getQuality()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: java.lang.String toString()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("quality", v);
label:
v = staticinvoke <io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: java.lang.String buildImageUrl(java.lang.String,java.lang.String,java.util.SortedMap)>(v, v, v);
return v;
}
private static java.lang.String buildImageUrl(java.lang.String, java.lang.String, java.util.SortedMap)
{
java.util.Set v;
java.util.function.Function v;
java.util.stream.Stream v, v;
int v;
java.lang.Object v;
java.lang.StringBuilder v, v, v;
java.lang.String v, v, v;
java.util.stream.Collector v;
java.util.SortedMap v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.SortedMap;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("https://");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.SortedMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder$lambda_buildImageUrl_0__98: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>("&");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int indexOf(java.lang.String)>("?");
if v >= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("?");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("&");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static java.lang.String toUrlParam(java.lang.String, java.lang.String)
{
java.lang.CharSequence[] v;
java.nio.charset.Charset v;
java.lang.StringBuilder v, v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("=");
v = newarray (java.lang.CharSequence)[2];
v[0] = "crop";
v[1] = "smartcrop";
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean equalsAny(java.lang.CharSequence,java.lang.CharSequence[])>(v, v);
if v == 0 goto label;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = staticinvoke <java.net.URLEncoder: java.lang.String encode(java.lang.String,java.nio.charset.Charset)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private void applyWidthHeightCroppingParams(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams, java.util.SortedMap)
{
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService v, v, v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext v, v, v, v;
byte v, v, v;
io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop v;
boolean v, v, v, v, v, v, v;
io.wcm.handler.media.CropDimension v, v, v;
io.wcm.handler.media.Dimension v, v;
java.util.SortedMap v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
long v, v, v, v, v, v, v;
io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata v;
java.lang.String v, v, v, v, v;
double v, v, v, v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams;
v := @parameter: java.util.SortedMap;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata getMetadata()>();
v = null;
if v == null goto label;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata: io.wcm.handler.media.Dimension getDimension()>();
label:
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: io.wcm.handler.media.Dimension getRatio()>();
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop getMatchingNamedSmartCrop(io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata,io.wcm.handler.media.Dimension)>(v, v);
if v == null goto label;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop: java.lang.String getName()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("smartcrop", v);
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyWidthOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
if v != 0 goto label;
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyHeightOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: long getImageWidthHeightDefault()>();
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop: io.wcm.handler.media.CropDimension getCropDimension()>();
v = virtualinvoke v.<io.wcm.handler.media.CropDimension: long getWidth()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop: io.wcm.handler.media.CropDimension getCropDimension()>();
v = virtualinvoke v.<io.wcm.handler.media.CropDimension: long getHeight()>();
v = v cmp v;
if v < 0 goto label;
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("width", v);
goto label;
label:
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("height", v);
goto label;
label:
if v == null goto label;
if v == null goto label;
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean isAutoCroppingRequired(io.wcm.handler.media.Dimension,io.wcm.handler.media.Dimension)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<io.wcm.handler.media.Dimension: long getWidth()>();
v = virtualinvoke v.<io.wcm.handler.media.Dimension: long getHeight()>();
v = staticinvoke <io.wcm.handler.media.format.Ratio: double get(io.wcm.handler.media.Dimension)>(v);
v = staticinvoke <io.wcm.handler.media.impl.ImageTransformation: io.wcm.handler.media.CropDimension calculateAutoCropDimension(long,long,double)>(v, v, v);
v = virtualinvoke v.<io.wcm.handler.media.CropDimension: java.lang.String getCropStringWidthHeight()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("crop", v);
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyWidthOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
if v != 0 goto label;
specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyHeightOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
goto label;
label:
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyWidthOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
v = specialinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: boolean applyHeightOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams,java.util.SortedMap)>(v, v);
if v != 0 goto label;
if v != 0 goto label;
if v == null goto label;
v = staticinvoke <io.wcm.handler.media.format.Ratio: double get(io.wcm.handler.media.Dimension)>(v);
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: long getImageWidthHeightDefault()>();
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService getNextGenDynamicMediaConfig()>();
v = interfaceinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaConfigService: long getImageWidthHeightDefault()>();
v = v cmpl 1.0;
if v <= 0 goto label;
v = v / v;
v = staticinvoke <java.lang.Math: long round(double)>(v);
goto label;
label:
v = v cmpg 1.0;
if v >= 0 goto label;
v = v * v;
v = staticinvoke <java.lang.Math: long round(double)>(v);
label:
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("width", v);
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("height", v);
label:
return;
}
private io.wcm.handler.mediasource.ngdm.impl.metadata.SmartCrop getMatchingNamedSmartCrop(io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata, io.wcm.handler.media.Dimension)
{
io.wcm.handler.media.Dimension v;
java.util.function.Predicate v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
java.util.List v;
java.util.stream.Stream v, v;
io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata v;
java.util.Optional v;
java.lang.Object v;
double v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata;
v := @parameter: io.wcm.handler.media.Dimension;
if v == null goto label;
if v != null goto label;
label:
return null;
label:
v = staticinvoke <io.wcm.handler.media.format.Ratio: double get(io.wcm.handler.media.Dimension)>(v);
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.metadata.NextGenDynamicMediaMetadata: java.util.List getSmartCrops()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder$lambda_getMatchingNamedSmartCrop_1__99: java.util.function.Predicate bootstrap$(double)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
return v;
}
private boolean isAutoCroppingRequired(io.wcm.handler.media.Dimension, io.wcm.handler.media.Dimension)
{
io.wcm.handler.media.Dimension v, v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
boolean v, v;
double v, v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.media.Dimension;
v := @parameter: io.wcm.handler.media.Dimension;
v = staticinvoke <io.wcm.handler.media.format.Ratio: double get(io.wcm.handler.media.Dimension)>(v);
v = staticinvoke <io.wcm.handler.media.format.Ratio: double get(io.wcm.handler.media.Dimension)>(v);
v = staticinvoke <io.wcm.handler.media.format.Ratio: boolean matches(double,double)>(v, v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean applyWidthOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams, java.util.SortedMap)
{
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams v;
java.lang.Long v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
java.lang.String v, v;
java.util.SortedMap v;
boolean v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams;
v := @parameter: java.util.SortedMap;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.Long getWidth()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.String getWidthPlaceholder()>();
v = 0;
if v == null goto label;
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("width", v);
v = 1;
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: java.lang.String toString()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("width", v);
v = 1;
label:
return v;
}
private boolean applyHeightOrPlaceholder(io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams, java.util.SortedMap)
{
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams v;
java.lang.Long v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
java.lang.String v, v;
java.util.SortedMap v;
boolean v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v := @parameter: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams;
v := @parameter: java.util.SortedMap;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.Long getHeight()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageDeliveryParams: java.lang.String getHeightPlaceholder()>();
v = 0;
if v == null goto label;
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("height", v);
v = 1;
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: java.lang.String toString()>();
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("height", v);
v = 1;
label:
return v;
}
public java.lang.String getFileExtension()
{
io.wcm.handler.media.MediaArgs v;
java.util.Set v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext v, v;
java.lang.String v, v, v;
boolean v, v;
io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference v;
v := @this: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.media.MediaArgs getDefaultMediaArgs()>();
v = virtualinvoke v.<io.wcm.handler.media.MediaArgs: java.lang.String getEnforceOutputFileExtension()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext context>;
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaContext: io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference getReference()>();
v = virtualinvoke v.<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaReference: java.lang.String getFileName()>();
v = staticinvoke <org.apache.commons.io.FilenameUtils: java.lang.String getExtension(java.lang.String)>(v);
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String toRootLowerCase(java.lang.String)>(v);
label:
if v == null goto label;
v = <io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: java.util.Set SUPPORTED_FORMATS>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = "jpg";
label:
return v;
}
static void <clinit>()
{
java.util.Set v;
v = staticinvoke <java.util.Set: java.util.Set of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("jpg", "png", "gif", "webp");
<io.wcm.handler.mediasource.ngdm.impl.NextGenDynamicMediaImageUrlBuilder: java.util.Set SUPPORTED_FORMATS> = v;
return;
}
}