RenditionResourceConverter.java 2.71 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.rest.converter.ResourceConverterContext
 *  com.adobe.granite.rest.converter.ResourceConverterException
 *  com.adobe.granite.rest.converter.siren.AbstractSirenConverter
 *  com.adobe.reef.siren.Action
 *  com.adobe.reef.siren.Action$Method
 *  com.adobe.reef.siren.Field
 *  com.adobe.reef.siren.Field$FieldType
 *  com.adobe.reef.siren.Link
 *  com.adobe.reef.siren.builder.ActionBuilder
 *  com.adobe.reef.siren.builder.BuilderException
 *  com.adobe.reef.siren.builder.FieldBuilder
 *  org.apache.sling.api.resource.Resource
 */
package com.adobe.granite.rest.assets.impl;

import com.adobe.granite.rest.assets.impl.RenditionResource;
import com.adobe.granite.rest.converter.ResourceConverterContext;
import com.adobe.granite.rest.converter.ResourceConverterException;
import com.adobe.granite.rest.converter.siren.AbstractSirenConverter;
import com.adobe.reef.siren.Action;
import com.adobe.reef.siren.Field;
import com.adobe.reef.siren.Link;
import com.adobe.reef.siren.builder.ActionBuilder;
import com.adobe.reef.siren.builder.BuilderException;
import com.adobe.reef.siren.builder.FieldBuilder;
import java.util.List;
import org.apache.sling.api.resource.Resource;

public class RenditionResourceConverter
extends AbstractSirenConverter {
    public RenditionResourceConverter(Resource resource) {
        super(resource);
    }

    protected String[] getClazz() {
        return new String[]{"assets/asset/renditions/rendition"};
    }

    protected List<Link> getLinks(ResourceConverterContext context) throws BuilderException, ResourceConverterException {
        List links = super.getLinks(context);
        if (this.resource instanceof RenditionResource) {
            RenditionResource rendition = (RenditionResource)this.resource;
            links.add(this.getLink("rendition", this.buildURL(context, rendition.getPath(), null), null));
        }
        return links;
    }

    protected List<Action> getActions(ResourceConverterContext context) throws BuilderException, ResourceConverterException {
        List actions = super.getActions(context);
        RenditionResource rendition = (RenditionResource)this.resource;
        actions.add(new ActionBuilder().setName("update").setHref(this.buildURL(context, this.resource.getPath(), null)).setMethod(Action.Method.PUT).setTitle("Update").setType(rendition.getMimeType()).addField((Field)new FieldBuilder().setName("file").setType(Field.FieldType.FILE).build()).build());
        actions.add(new ActionBuilder().setName("delete").setHref(this.buildURL(context, this.resource.getPath(), null)).setMethod(Action.Method.DELETE).setTitle("Delete Rendition").build());
        return actions;
    }
}