AgentConfigStatefulWrapper.java 4.94 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  org.apache.sling.api.resource.ValueMap
 */
package com.day.cq.replication.impl;

import com.day.cq.replication.AgentConfig;
import com.day.cq.replication.AgentConfigGroup;
import org.apache.sling.api.resource.ValueMap;

public class AgentConfigStatefulWrapper
implements AgentConfig {
    private final AgentConfig agentConfig;
    private final Object indexLock = new Object();
    private int transportUriIndex = 0;

    public AgentConfigStatefulWrapper(AgentConfig agentConfig) {
        this.agentConfig = agentConfig;
    }

    @Override
    public void checkValid() {
        this.agentConfig.checkValid();
    }

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

    @Override
    public String getAgentId() {
        return this.agentConfig.getAgentId();
    }

    @Override
    public String getConfigPath() {
        return this.agentConfig.getConfigPath();
    }

    @Override
    public String getName() {
        return this.agentConfig.getName();
    }

    @Override
    public AgentConfigGroup getConfigGroup() {
        return this.agentConfig.getConfigGroup();
    }

    @Override
    public String[] getAllTransportURIs() {
        return this.agentConfig.getAllTransportURIs();
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    @Override
    public String getTransportURI() {
        int index;
        String[] uris = this.getAllTransportURIs();
        Object object = this.indexLock;
        synchronized (object) {
            index = this.transportUriIndex;
        }
        if (uris == null || index >= uris.length) {
            return this.agentConfig.getTransportURI();
        }
        return uris[index];
    }

    @Override
    public String getTransportUser() {
        return this.agentConfig.getTransportUser();
    }

    @Override
    public String getTransportPassword() {
        return this.agentConfig.getTransportPassword();
    }

    @Override
    public String getSerializationType() {
        return this.agentConfig.getSerializationType();
    }

    @Override
    public String getAgentUserId() {
        return this.agentConfig.getAgentUserId();
    }

    @Override
    public long getRetryDelay() {
        return this.agentConfig.getRetryDelay();
    }

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

    @Override
    public String getLogLevel() {
        return this.agentConfig.getLogLevel();
    }

    @Override
    public int getMaxRetries() {
        return this.agentConfig.getMaxRetries();
    }

    @Override
    public boolean isBatchMode() {
        return this.agentConfig.isBatchMode();
    }

    @Override
    public long getBatchWaitTime() {
        return this.agentConfig.getBatchWaitTime();
    }

    @Override
    public long getBatchMaxSize() {
        return this.agentConfig.getBatchMaxSize();
    }

    @Override
    public boolean isSpecific() {
        return this.agentConfig.isSpecific();
    }

    @Override
    public boolean isTriggeredOnModification() {
        return this.agentConfig.isTriggeredOnModification();
    }

    @Override
    public boolean isTriggeredOnOffTime() {
        return this.agentConfig.isTriggeredOnOffTime();
    }

    @Override
    public boolean isTriggeredOnDistribute() {
        return this.agentConfig.isTriggeredOnDistribute();
    }

    @Override
    public boolean usedForReverseReplication() {
        return this.agentConfig.usedForReverseReplication();
    }

    @Override
    public boolean noVersions() {
        return this.agentConfig.noVersions();
    }

    @Override
    public boolean noStatusUpdate() {
        return this.agentConfig.noStatusUpdate();
    }

    @Override
    public ValueMap getProperties() {
        return this.agentConfig.getProperties();
    }

    @Override
    public boolean isTriggeredOnReceive() {
        return this.agentConfig.isTriggeredOnReceive();
    }

    @Override
    public boolean isInMaintenanceMode() {
        return this.agentConfig.isInMaintenanceMode();
    }

    @Override
    public boolean aliasUpdate() {
        return this.agentConfig.aliasUpdate();
    }

    @Override
    public String getSSLConfig() {
        return this.agentConfig.getSSLConfig();
    }

    @Override
    public boolean allowsExpiredCertificates() {
        return this.agentConfig.allowsExpiredCertificates();
    }

    @Override
    public boolean isOAuthEnabled() {
        return this.agentConfig.isOAuthEnabled();
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public void skipToNextTransportUri() {
        String[] uris = this.getAllTransportURIs();
        if (uris == null || uris.length == 0) {
            return;
        }
        Object object = this.indexLock;
        synchronized (object) {
            this.transportUriIndex = (this.transportUriIndex + 1) % uris.length;
        }
    }
}