All Downloads are FREE. Search and download functionalities are using the official Maven repository.

woko.async.facets.RenderLinksJobDetailsDeveloper Maven / Gradle / Ivy

The newest version!
package woko.async.facets;

import net.sourceforge.jfacets.IFacetDescriptorManager;
import net.sourceforge.jfacets.annotations.FacetKey;
import woko.async.JobDetails;
import woko.facets.builtin.RenderLinks;
import woko.facets.builtin.all.Link;
import woko.facets.builtin.all.RenderLinksImpl;
import woko.persistence.ObjectStore;
import woko.users.UserManager;
import woko.users.UsernameResolutionStrategy;
import woko.util.LinkUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * Adds kill link for target {@link JobDetails} if killable.
 */
@FacetKey(name= RenderLinks.FACET_NAME,profileId = "developer",targetObjectType = JobDetails.class)
public class RenderLinksJobDetailsDeveloper<
        OsType extends ObjectStore,
        UmType extends UserManager,
        UnsType extends UsernameResolutionStrategy,
        FdmType extends IFacetDescriptorManager
        > extends RenderLinksImpl{

    @Override
    public List getLinks() {
        ObjectStore os = getObjectStore();
        JobDetails jd = (JobDetails)getFacetContext().getTargetObject();
        List links = new ArrayList(super.getLinks());
        if (jd.getKillTime()==null && jd.getEndTime()==null) {
            String url = LinkUtil.getUrl(getWoko(), jd, "kill");
            links.add(new Link(url, "kill"));
        }
        return links;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy