AgentMBeanImpl.java 3.11 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.jmx.annotation.AnnotatedStandardMBean
 */
package com.day.cq.replication.impl;

import com.adobe.granite.jmx.annotation.AnnotatedStandardMBean;
import com.day.cq.replication.Agent;
import com.day.cq.replication.ReplicationQueue;
import com.day.cq.replication.impl.AgentMBean;
import java.util.Date;
import java.util.List;
import javax.management.NotCompliantMBeanException;

public class AgentMBeanImpl
extends AnnotatedStandardMBean
implements AgentMBean {
    private final Agent agent;

    protected AgentMBeanImpl(Agent agent) throws NotCompliantMBeanException {
        super(AgentMBean.class);
        this.agent = agent;
    }

    @Override
    public String getId() {
        return this.agent.getId();
    }

    @Override
    public boolean isEnabled() {
        return this.agent.isEnabled();
    }

    @Override
    public boolean isValid() {
        return this.agent.isValid();
    }

    @Override
    public boolean isQueueBlocked() {
        ReplicationQueue q = this.agent.getQueue();
        ReplicationQueue.Status s = q == null ? null : q.getStatus();
        return s != null && s.getNextRetryTime() > 0;
    }

    @Override
    public boolean isQueuePaused() {
        ReplicationQueue q = this.agent.getQueue();
        return q != null && q.isPaused();
    }

    @Override
    public void setQueuePaused(boolean paused) {
        ReplicationQueue q = this.agent.getQueue();
        if (q != null) {
            q.setPaused(paused);
        }
    }

    @Override
    public long getQueueNumEntries() {
        ReplicationQueue q = this.agent.getQueue();
        return q == null ? 0 : (long)q.entries().size();
    }

    @Override
    public void queueForceRetry() {
        ReplicationQueue q = this.agent.getQueue();
        if (q != null) {
            q.forceRetry();
        }
    }

    @Override
    public Date getQueueStatusTime() {
        ReplicationQueue q = this.agent.getQueue();
        ReplicationQueue.Status s = q == null ? null : q.getStatus();
        return s == null ? null : new Date(s.getStatusTime());
    }

    @Override
    public Date getQueueNextRetryTime() {
        ReplicationQueue q = this.agent.getQueue();
        ReplicationQueue.Status s = q == null ? null : q.getStatus();
        return s == null || s.getNextRetryTime() <= 0 ? null : new Date(s.getNextRetryTime());
    }

    @Override
    public Date getQueueProcessingSince() {
        ReplicationQueue q = this.agent.getQueue();
        ReplicationQueue.Status s = q == null ? null : q.getStatus();
        return s == null || s.getProcessingSince() <= 0 ? null : new Date(s.getProcessingSince());
    }

    @Override
    public Date getQueueLastProcessTime() {
        ReplicationQueue q = this.agent.getQueue();
        ReplicationQueue.Status s = q == null ? null : q.getStatus();
        return s == null || s.getLastProcessTime() <= 0 ? null : new Date(s.getLastProcessTime());
    }

    @Override
    public void queueClear() {
        ReplicationQueue q = this.agent.getQueue();
        if (q != null) {
            q.clear();
        }
    }
}