blob: eb29f012dea7ad731168b0ae6a367ff2954709cf [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.geode.internal.cache.xmlcache;
import java.util.ArrayList;
import java.util.List;
import org.apache.geode.cache.asyncqueue.AsyncEventListener;
import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
import org.apache.geode.cache.wan.GatewayEventFilter;
import org.apache.geode.cache.wan.GatewayEventSubstitutionFilter;
import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
import org.apache.geode.internal.cache.wan.GatewaySenderAttributes;
public class AsyncEventQueueCreation implements AsyncEventQueue {
private String id = null;
private List<GatewayEventFilter> gatewayEventFilters = new ArrayList<GatewayEventFilter>();
private GatewayEventSubstitutionFilter gatewayEventSubstitutionFilter = null;
private AsyncEventListener asyncEventListener = null;
private int batchSize = 0;
private int batchTimeInterval = 0;
private boolean isBatchConflationEnabled = false;
private boolean isPersistent = false;
private String diskStoreName = null;
private boolean isDiskSynchronous = false;
private int maxQueueMemory = 0;
private boolean isParallel = false;
private boolean isBucketSorted = false;
private int dispatcherThreads = 1;
private OrderPolicy orderPolicy = OrderPolicy.KEY;
private boolean forwardExpirationDestroy = false;
private boolean pauseEventDispatching = false;
public AsyncEventQueueCreation() {}
public AsyncEventQueueCreation(String id, GatewaySenderAttributes senderAttrs,
AsyncEventListener eventListener) {
this.id = id;
this.batchSize = senderAttrs.batchSize;
this.batchTimeInterval = senderAttrs.batchTimeInterval;
this.isBatchConflationEnabled = senderAttrs.isBatchConflationEnabled;
this.isPersistent = senderAttrs.isPersistenceEnabled;
this.diskStoreName = senderAttrs.diskStoreName;
this.isDiskSynchronous = senderAttrs.isDiskSynchronous;
this.maxQueueMemory = senderAttrs.maximumQueueMemory;
this.isParallel = senderAttrs.isParallel;
this.dispatcherThreads = senderAttrs.dispatcherThreads;
this.orderPolicy = senderAttrs.policy;
this.asyncEventListener = eventListener;
this.isBucketSorted = senderAttrs.isBucketSorted;
this.gatewayEventFilters = senderAttrs.eventFilters;
this.gatewayEventSubstitutionFilter = senderAttrs.eventSubstitutionFilter;
this.forwardExpirationDestroy = senderAttrs.forwardExpirationDestroy;
}
@Override
public AsyncEventListener getAsyncEventListener() {
return this.asyncEventListener;
}
public void setAsyncEventListener(AsyncEventListener eventListener) {
this.asyncEventListener = eventListener;
}
@Override
public boolean isDispatchingPaused() {
return pauseEventDispatching;
}
public void setPauseEventDispatching(boolean pauseEventDispatching) {
this.pauseEventDispatching = pauseEventDispatching;
}
public void addGatewayEventFilter(GatewayEventFilter filter) {
this.gatewayEventFilters.add(filter);
}
@Override
public List<GatewayEventFilter> getGatewayEventFilters() {
return this.gatewayEventFilters;
}
@Override
public GatewayEventSubstitutionFilter getGatewayEventSubstitutionFilter() {
return this.gatewayEventSubstitutionFilter;
}
public void setGatewayEventSubstitutionFilter(GatewayEventSubstitutionFilter filter) {
this.gatewayEventSubstitutionFilter = filter;
}
@Override
public int getBatchSize() {
return this.batchSize;
}
public void setBatchSize(int batchSize) {
this.batchSize = batchSize;
}
@Override
public int getBatchTimeInterval() {
return this.batchTimeInterval;
}
public void setBatchTimeInterval(int batchTimeInterval) {
this.batchTimeInterval = batchTimeInterval;
}
@Override
public boolean isBatchConflationEnabled() {
return this.isBatchConflationEnabled;
}
public void setBatchConflationEnabled(boolean batchConflationEnabled) {
this.isBatchConflationEnabled = batchConflationEnabled;
}
@Override
public String getDiskStoreName() {
return this.diskStoreName;
}
public void setDiskStoreName(String diskStore) {
this.diskStoreName = diskStore;
}
@Override
public boolean isDiskSynchronous() {
return this.isDiskSynchronous;
}
public void setDiskSynchronous(boolean diskSynchronous) {
this.isDiskSynchronous = diskSynchronous;
}
@Override
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
@Override
public int getMaximumQueueMemory() {
return this.maxQueueMemory;
}
public void setMaximumQueueMemory(int maxQueueMemory) {
this.maxQueueMemory = maxQueueMemory;
}
@Override
public boolean isPersistent() {
return this.isPersistent;
}
public void setPersistent(boolean isPersistent) {
this.isPersistent = isPersistent;
}
public void setParallel(boolean isParallel) {
this.isParallel = isParallel;
}
@Override
public int getDispatcherThreads() {
return this.dispatcherThreads;
}
public void setDispatcherThreads(int numThreads) {
this.dispatcherThreads = numThreads;
}
@Override
public OrderPolicy getOrderPolicy() {
return this.orderPolicy;
}
public void setOrderPolicy(OrderPolicy policy) {
this.orderPolicy = policy;
}
@Override
public boolean isPrimary() {
return true;
}
@Override
public int size() {
return 0;
}
public void start() {};
public void stop() {};
public void destroy() {};
public void pause() {};
public void resume() {}
@Override
public boolean isParallel() {
return this.isParallel;
}
public boolean isBucketSorted() {
return this.isBucketSorted;
}
public void setBucketSorted(boolean isBucketSorted) {
this.isBucketSorted = isBucketSorted;
}
public void setForwardExpirationDestroy(boolean forward) {
this.forwardExpirationDestroy = forward;
}
@Override
public boolean isForwardExpirationDestroy() {
return this.forwardExpirationDestroy;
}
@Override
public void resumeEventDispatching() {
this.pauseEventDispatching = false;
}
}