RequestUpdater.java 14.5 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.scene7.is.catalog.util.IPAddress
 *  com.scene7.is.provider.CacheSpec
 *  com.scene7.is.provider.DebugInfoEnum
 *  com.scene7.is.provider.FitSpec
 *  com.scene7.is.provider.FmtSpec
 *  com.scene7.is.provider.IccProfileSpec
 *  com.scene7.is.provider.ImageSet
 *  com.scene7.is.provider.JpegQualitySpec
 *  com.scene7.is.provider.ModifierList
 *  com.scene7.is.provider.OpacitySpec
 *  com.scene7.is.provider.PSModifierEnum
 *  com.scene7.is.provider.RequestTypeSpec
 *  com.scene7.is.sleng.BlendModeEnum
 *  com.scene7.is.sleng.Color
 *  com.scene7.is.sleng.DigimarcId
 *  com.scene7.is.sleng.DigimarcInfo
 *  com.scene7.is.sleng.HotSpot
 *  com.scene7.is.sleng.NamedPaths
 *  com.scene7.is.sleng.PScanSpec
 *  com.scene7.is.sleng.PathAttrSpec
 *  com.scene7.is.sleng.PerspectiveSpec
 *  com.scene7.is.sleng.QuantizeSpec
 *  com.scene7.is.sleng.ResModeSpec
 *  com.scene7.is.sleng.ScaleModeSpec
 *  com.scene7.is.sleng.Text
 *  com.scene7.is.sleng.TextAttrSpec
 *  com.scene7.is.util.Dimension2D
 *  com.scene7.is.util.Dimension2D$Double
 *  com.scene7.is.util.Location
 *  com.scene7.is.util.NullablePair
 *  com.scene7.is.util.collections.CollectionUtil
 *  com.scene7.is.util.collections.MapEntry
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.scene7.is.ps.provider;

import com.scene7.is.catalog.util.IPAddress;
import com.scene7.is.provider.CacheSpec;
import com.scene7.is.provider.DebugInfoEnum;
import com.scene7.is.provider.FitSpec;
import com.scene7.is.provider.FmtSpec;
import com.scene7.is.provider.IccProfileSpec;
import com.scene7.is.provider.ImageSet;
import com.scene7.is.provider.JpegQualitySpec;
import com.scene7.is.provider.ModifierList;
import com.scene7.is.provider.OpacitySpec;
import com.scene7.is.provider.PSModifierEnum;
import com.scene7.is.provider.RequestTypeSpec;
import com.scene7.is.ps.provider.LayerSource;
import com.scene7.is.ps.provider.ModifierSet;
import com.scene7.is.ps.provider.Request;
import com.scene7.is.ps.provider.UnsharpMaskSpec;
import com.scene7.is.ps.provider.defs.AlphaUseEnum;
import com.scene7.is.ps.provider.defs.ClientTypeEnum;
import com.scene7.is.ps.provider.defs.ColorizeSpec;
import com.scene7.is.ps.provider.defs.FlipEnum;
import com.scene7.is.ps.provider.defs.IZColor;
import com.scene7.is.ps.provider.defs.ModifierEnum;
import com.scene7.is.ps.provider.defs.NoiseSpec;
import com.scene7.is.ps.provider.defs.TileRect;
import com.scene7.is.sleng.BlendModeEnum;
import com.scene7.is.sleng.Color;
import com.scene7.is.sleng.DigimarcId;
import com.scene7.is.sleng.DigimarcInfo;
import com.scene7.is.sleng.HotSpot;
import com.scene7.is.sleng.NamedPaths;
import com.scene7.is.sleng.PScanSpec;
import com.scene7.is.sleng.PathAttrSpec;
import com.scene7.is.sleng.PerspectiveSpec;
import com.scene7.is.sleng.QuantizeSpec;
import com.scene7.is.sleng.ResModeSpec;
import com.scene7.is.sleng.ScaleModeSpec;
import com.scene7.is.sleng.Text;
import com.scene7.is.sleng.TextAttrSpec;
import com.scene7.is.util.Dimension2D;
import com.scene7.is.util.Location;
import com.scene7.is.util.NullablePair;
import com.scene7.is.util.collections.CollectionUtil;
import com.scene7.is.util.collections.MapEntry;
import java.awt.Rectangle;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class RequestUpdater {
    private static final Map<PSModifierEnum, ModifierUpdater> MODIFIER_MAP = Collections.unmodifiableMap(CollectionUtil.mapOf((MapEntry[])new MapEntry[]{RequestUpdater.mapEntry(PSModifierEnum.EXT, new NullUpdater()), RequestUpdater.mapEntry(PSModifierEnum.NANOS, new NullUpdater()), RequestUpdater.mapEntry(PSModifierEnum.DEBUG_INFO, new DefaultUpdater(ModifierEnum.DEBUG_INFO)), RequestUpdater.mapEntry(PSModifierEnum.DISABLERULES, new DefaultUpdater(ModifierEnum.DISABLERULES)), RequestUpdater.mapEntry(PSModifierEnum.CACHE, new DefaultUpdater(ModifierEnum.CACHE)), RequestUpdater.mapEntry(PSModifierEnum.PRINTRES, new DefaultUpdater(ModifierEnum.URL_PRINT_RES)), RequestUpdater.mapEntry(PSModifierEnum.CLI, new DefaultUpdater(ModifierEnum.CLI)), RequestUpdater.mapEntry(PSModifierEnum.REQ, new DefaultUpdater(ModifierEnum.REQ)), RequestUpdater.mapEntry(PSModifierEnum.LAYER, new DefaultUpdater(ModifierEnum.LAYER)), RequestUpdater.mapEntry(PSModifierEnum.EFFECT, new DefaultUpdater(ModifierEnum.EFFECT)), RequestUpdater.mapEntry(PSModifierEnum.NAME, new DefaultUpdater(ModifierEnum.NAME)), RequestUpdater.mapEntry(PSModifierEnum.MAP, new DefaultUpdater(ModifierEnum.URL_MAP)), RequestUpdater.mapEntry(PSModifierEnum.MAPA, new DefaultUpdater(ModifierEnum.I_HOT_SPOTS)), RequestUpdater.mapEntry(PSModifierEnum.TIMEOUT, new DefaultUpdater(ModifierEnum.TIMEOUT)), RequestUpdater.mapEntry(PSModifierEnum.MESSAGE, new DefaultUpdater(ModifierEnum.MESSAGE)), RequestUpdater.mapEntry(PSModifierEnum.ALIGN, new DefaultUpdater(ModifierEnum.ALIGN)), RequestUpdater.mapEntry(PSModifierEnum.BGC, new DefaultUpdater(ModifierEnum.BGC)), RequestUpdater.mapEntry(PSModifierEnum.FIT, new DefaultUpdater(ModifierEnum.FIT)), RequestUpdater.mapEntry(PSModifierEnum.FMT, new DefaultUpdater(ModifierEnum.FMT)), RequestUpdater.mapEntry(PSModifierEnum.LOCALE, new DefaultUpdater(ModifierEnum.LOCALE)), RequestUpdater.mapEntry(PSModifierEnum.HEI, new DefaultUpdater(ModifierEnum.HEI)), RequestUpdater.mapEntry(PSModifierEnum.ID, new DefaultUpdater(ModifierEnum.ID)), RequestUpdater.mapEntry(PSModifierEnum.HANDLER, new DefaultUpdater(ModifierEnum.HANDLER)), RequestUpdater.mapEntry(PSModifierEnum.OP_SHARPEN, new DefaultUpdater(ModifierEnum.OP_SHARPEN)), RequestUpdater.mapEntry(PSModifierEnum.QLT, new DefaultUpdater(ModifierEnum.QLT)), RequestUpdater.mapEntry(PSModifierEnum.JPEGSIZE, new DefaultUpdater(ModifierEnum.JPEGSIZE)), RequestUpdater.mapEntry(PSModifierEnum.RECT, new DefaultUpdater(ModifierEnum.RECT)), RequestUpdater.mapEntry(PSModifierEnum.RESMODE, new DefaultUpdater(ModifierEnum.RES_MODE)), RequestUpdater.mapEntry(PSModifierEnum.SCALEMODE, new DefaultUpdater(ModifierEnum.SCALE_MODE)), RequestUpdater.mapEntry(PSModifierEnum.RGN, new DefaultUpdater(ModifierEnum.RGN)), RequestUpdater.mapEntry(PSModifierEnum.SCL, new DefaultUpdater(ModifierEnum.SCL)), RequestUpdater.mapEntry(PSModifierEnum.WID, new DefaultUpdater(ModifierEnum.WID)), RequestUpdater.mapEntry(PSModifierEnum.VIEW, new DefaultUpdater(ModifierEnum.VIEW)), RequestUpdater.mapEntry(PSModifierEnum.ICC, new DefaultUpdater(ModifierEnum.ICC)), RequestUpdater.mapEntry(PSModifierEnum.ICCEMBED, new DefaultUpdater(ModifierEnum.ICC_EMBED)), RequestUpdater.mapEntry(PSModifierEnum.XMPEMBED, new DefaultUpdater(ModifierEnum.XMP_EMBED)), RequestUpdater.mapEntry(PSModifierEnum.PATHEMBED, new DefaultUpdater(ModifierEnum.PATH_EMBED)), RequestUpdater.mapEntry(PSModifierEnum.QUANTIZE, new DefaultUpdater(ModifierEnum.QUANTIZE)), RequestUpdater.mapEntry(PSModifierEnum.WATERMARK, new DefaultUpdater(ModifierEnum.WATERMARK)), RequestUpdater.mapEntry(PSModifierEnum.EFFECTMASK, new DefaultUpdater(ModifierEnum.EFFECTMASK)), RequestUpdater.mapEntry(PSModifierEnum.IPADDR, new DefaultUpdater(ModifierEnum.IPADDR)), RequestUpdater.mapEntry(PSModifierEnum.PSCAN, new DefaultUpdater(ModifierEnum.PSCAN)), RequestUpdater.mapEntry(PSModifierEnum.ANCHOR, new DefaultUpdater(ModifierEnum.ANCHOR)), RequestUpdater.mapEntry(PSModifierEnum.ANCHORN, new DefaultUpdater(ModifierEnum.ANCHORN)), RequestUpdater.mapEntry(PSModifierEnum.BLENDMODE, new DefaultUpdater(ModifierEnum.BLEND_MODE)), RequestUpdater.mapEntry(PSModifierEnum.MASKUSE, new DefaultUpdater(ModifierEnum.MASK_USE)), RequestUpdater.mapEntry(PSModifierEnum.OPAC, new DefaultUpdater(ModifierEnum.OPACITY)), RequestUpdater.mapEntry(PSModifierEnum.COLOR, new DefaultUpdater(ModifierEnum.COLOR)), RequestUpdater.mapEntry(PSModifierEnum.BGCOLOR, new DefaultUpdater(ModifierEnum.BG_COLOR)), RequestUpdater.mapEntry(PSModifierEnum.CROP, new DefaultUpdater(ModifierEnum.CROP)), RequestUpdater.mapEntry(PSModifierEnum.CROPN, new DefaultUpdater(ModifierEnum.CROPN)), RequestUpdater.mapEntry(PSModifierEnum.EXTEND, new DefaultUpdater(ModifierEnum.EXTEND)), RequestUpdater.mapEntry(PSModifierEnum.EXTENDN, new DefaultUpdater(ModifierEnum.EXTENDN)), RequestUpdater.mapEntry(PSModifierEnum.FLIP, new DefaultUpdater(ModifierEnum.FLIP)), RequestUpdater.mapEntry(PSModifierEnum.MASK, new DefaultUpdater(ModifierEnum.MASK)), RequestUpdater.mapEntry(PSModifierEnum.OP_BLUR, new DefaultUpdater(ModifierEnum.OP_BLUR)), RequestUpdater.mapEntry(PSModifierEnum.OP_NOISE, new DefaultUpdater(ModifierEnum.OP_NOISE)), RequestUpdater.mapEntry(PSModifierEnum.OP_GROW, new DefaultUpdater(ModifierEnum.OP_DILATE)), RequestUpdater.mapEntry(PSModifierEnum.OP_GROWMASK, new DefaultUpdater(ModifierEnum.OP_DILATE_MASK)), RequestUpdater.mapEntry(PSModifierEnum.OP_GROWMASKR, new DefaultUpdater(ModifierEnum.OP_DILATE_MASKR)), RequestUpdater.mapEntry(PSModifierEnum.OP_BRIGHTNESS, new DefaultUpdater(ModifierEnum.OP_BRIGHTNESS)), RequestUpdater.mapEntry(PSModifierEnum.OP_COLORBALANCE, new DefaultUpdater(ModifierEnum.OP_COLORBALANCE)), RequestUpdater.mapEntry(PSModifierEnum.OP_COLORIZE, new DefaultUpdater(ModifierEnum.OP_COLORIZE)), RequestUpdater.mapEntry(PSModifierEnum.OP_COLORIZE2, new DefaultUpdater(ModifierEnum.OP_COLORIZE2)), RequestUpdater.mapEntry(PSModifierEnum.OP_CONTRAST, new DefaultUpdater(ModifierEnum.OP_CONTRAST)), RequestUpdater.mapEntry(PSModifierEnum.OP_HUE, new DefaultUpdater(ModifierEnum.OP_HUE)), RequestUpdater.mapEntry(PSModifierEnum.OP_SATURATION, new DefaultUpdater(ModifierEnum.OP_SATURATION)), RequestUpdater.mapEntry(PSModifierEnum.OP_USM, new DefaultUpdater(ModifierEnum.OP_USM)), RequestUpdater.mapEntry(PSModifierEnum.OP_USMR, new DefaultUpdater(ModifierEnum.OP_USMR)), RequestUpdater.mapEntry(PSModifierEnum.OP_INVERT, new DefaultUpdater(ModifierEnum.OP_INVERT)), RequestUpdater.mapEntry(PSModifierEnum.ORIGIN, new DefaultUpdater(ModifierEnum.ORIGIN)), RequestUpdater.mapEntry(PSModifierEnum.ORIGINN, new DefaultUpdater(ModifierEnum.ORIGINN)), RequestUpdater.mapEntry(PSModifierEnum.POS, new DefaultUpdater(ModifierEnum.POS)), RequestUpdater.mapEntry(PSModifierEnum.POSN, new DefaultUpdater(ModifierEnum.POSN)), RequestUpdater.mapEntry(PSModifierEnum.RES, new DefaultUpdater(ModifierEnum.DST_RES)), RequestUpdater.mapEntry(PSModifierEnum.ROTATE, new DefaultUpdater(ModifierEnum.ROTATE)), RequestUpdater.mapEntry(PSModifierEnum.SCALE, new DefaultUpdater(ModifierEnum.SCALE)), RequestUpdater.mapEntry(PSModifierEnum.SIZE, new DefaultUpdater(ModifierEnum.SIZE)), RequestUpdater.mapEntry(PSModifierEnum.SIZEN, new DefaultUpdater(ModifierEnum.SIZEN)), RequestUpdater.mapEntry(PSModifierEnum.SRC, new DefaultUpdater(ModifierEnum.SRC)), RequestUpdater.mapEntry(PSModifierEnum.TEXT, new DefaultUpdater(ModifierEnum.TEXT)), RequestUpdater.mapEntry(PSModifierEnum.TEXTID, new DefaultUpdater(ModifierEnum.TEXT)), RequestUpdater.mapEntry(PSModifierEnum.TEXTPS, new DefaultUpdater(ModifierEnum.TEXT)), RequestUpdater.mapEntry(PSModifierEnum.TEXTANGLE, new DefaultUpdater(ModifierEnum.TEXTANGLE)), RequestUpdater.mapEntry(PSModifierEnum.TEXTATTR, new DefaultUpdater(ModifierEnum.TEXT_ATTR)), RequestUpdater.mapEntry(PSModifierEnum.PATHATTR, new DefaultUpdater(ModifierEnum.PATH_ATTR)), RequestUpdater.mapEntry(PSModifierEnum.TEXTFLOWPATH, new DefaultUpdater(ModifierEnum.TEXT_FLOW_PATH)), RequestUpdater.mapEntry(PSModifierEnum.TEXTFLOWXPATH, new DefaultUpdater(ModifierEnum.TEXT_FLOW_XPATH)), RequestUpdater.mapEntry(PSModifierEnum.TEXTPATH, new DefaultUpdater(ModifierEnum.TEXT_PATH)), RequestUpdater.mapEntry(PSModifierEnum.CLIPPATH, new DefaultUpdater(ModifierEnum.CLIP_PATH)), RequestUpdater.mapEntry(PSModifierEnum.CLIPXPATH, new DefaultUpdater(ModifierEnum.CLIP_XPATH)), RequestUpdater.mapEntry(PSModifierEnum.CLIPPATHE, new DefaultUpdater(ModifierEnum.CLIP_PATH_E)), RequestUpdater.mapEntry(PSModifierEnum.CLIPXPATHE, new DefaultUpdater(ModifierEnum.CLIP_XPATH_E)), RequestUpdater.mapEntry(PSModifierEnum.CROPPATHE, new DefaultUpdater(ModifierEnum.CROP_PATH_E)), RequestUpdater.mapEntry(PSModifierEnum.I_MACRO, new NullUpdater()), RequestUpdater.mapEntry(PSModifierEnum.DEFAULTIMAGE, new DefaultUpdater(ModifierEnum.DEFAULT_IMAGE)), RequestUpdater.mapEntry(PSModifierEnum.LABELKEY, new DefaultUpdater(ModifierEnum.LABELKEY)), RequestUpdater.mapEntry(PSModifierEnum.IMAGESET, new DefaultUpdater(ModifierEnum.IMAGESET)), RequestUpdater.mapEntry(PSModifierEnum.DIGIMARCID, new DefaultUpdater(ModifierEnum.DIGIMARC_ID)), RequestUpdater.mapEntry(PSModifierEnum.DIGIMARCINFO, new DefaultUpdater(ModifierEnum.DIGIMARC_INFO)), RequestUpdater.mapEntry(PSModifierEnum.HIDE, new DefaultUpdater(ModifierEnum.HIDE)), RequestUpdater.mapEntry(PSModifierEnum.PERSPECTIVE, new DefaultUpdater(ModifierEnum.PERSPECTIVE)), RequestUpdater.mapEntry(PSModifierEnum.PERSPECTIVEN, new DefaultUpdater(ModifierEnum.PERSPECTIVEN)), RequestUpdater.mapEntry(PSModifierEnum.TEMPLATE, new NullUpdater())}));

    private static MapEntry<PSModifierEnum, ModifierUpdater> mapEntry(PSModifierEnum modifierEnum, ModifierUpdater updater) {
        return MapEntry.mapEntry((Object)modifierEnum, (Object)updater);
    }

    public static void updateRequest(@NotNull Request request, @NotNull ModifierList<PSModifierEnum> modifiers) {
        for (NullablePair entry2 : modifiers.getModifiers()) {
            PSModifierEnum key = (PSModifierEnum)entry2.getKey();
            ModifierUpdater updater = MODIFIER_MAP.get((Object)key);
            Object value = entry2.getValue();
            assert (updater != null);
            updater.update(request, value);
        }
        for (Map.Entry entry : modifiers.getSubstPairs().entrySet()) {
            String value = (String)entry.getValue();
            String key = (String)entry.getKey();
            request.setSubstPair(key, value);
        }
    }

    private static class DefaultUpdater
    implements ModifierUpdater {
        private final ModifierEnum<Object> modifier;

        private DefaultUpdater(ModifierEnum<?> modifier) {
            this.modifier = modifier;
        }

        @Override
        public void update(@NotNull Request request, @Nullable Object value) {
            request.setModifier(this.modifier, value);
        }
    }

    private static class NullUpdater
    implements ModifierUpdater {
        private NullUpdater() {
        }

        @Override
        public void update(@NotNull Request request, @Nullable Object value) {
        }
    }

    private static interface ModifierUpdater {
        public void update(@NotNull Request var1, @Nullable Object var2);
    }

}