2 * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.javav2.dom.adapter.test;
10 import com.google.common.annotations.Beta;
11 import com.google.common.base.Preconditions;
12 import com.google.common.util.concurrent.ListeningExecutorService;
13 import com.google.common.util.concurrent.MoreExecutors;
14 import java.util.concurrent.ExecutorService;
15 import javassist.ClassPool;
18 public class BindingBrokerTestFactory {
20 private static final ClassPool CLASS_POOL = ClassPool.getDefault();
21 private boolean startWithParsedSchema = true;
22 private ExecutorService executor;
23 private ClassPool classPool;
25 public boolean isStartWithParsedSchema() {
26 return startWithParsedSchema;
29 public void setStartWithParsedSchema(final boolean startWithParsedSchema) {
30 this.startWithParsedSchema = startWithParsedSchema;
33 public ExecutorService getExecutor() {
37 public void setExecutor(final ExecutorService executor) {
38 this.executor = executor;
41 public BindingTestContext getTestContext() {
42 Preconditions.checkState(executor != null, "Executor is not set.");
43 final ListeningExecutorService listenableExecutor = MoreExecutors.listeningDecorator(executor);
44 return new BindingTestContext(listenableExecutor, getClassPool(), startWithParsedSchema);
47 public ClassPool getClassPool() {
48 if (classPool == null) {
55 public void setClassPool(final ClassPool classPool) {
56 this.classPool = classPool;