How to use PluginFinder class of org.mockito.internal.configuration.plugins package

Best Mockito code snippet using org.mockito.internal.configuration.plugins.PluginFinder

Source:PluginInitializer.java Github

copy

Full Screen

...35 throw new IllegalStateException("Failed to load " + service, e);36 }37 try {38 String classOrAlias =39 new PluginFinder(pluginSwitch).findPluginClass(Iterables.toIterable(resources));40 if (classOrAlias != null) {41 if (classOrAlias.equals(alias)) {42 classOrAlias = plugins.getDefaultPluginClass(alias);43 }44 Class<?> pluginClass = loader.loadClass(classOrAlias);45 Object plugin = pluginClass.getDeclaredConstructor().newInstance();46 return service.cast(plugin);47 }48 return null;49 } catch (Exception e) {50 throw new IllegalStateException(51 "Failed to load " + service + " implementation declared in " + resources, e);52 }53 }54 public <T> List<T> loadImpls(Class<T> service) {55 ClassLoader loader = Thread.currentThread().getContextClassLoader();56 if (loader == null) {57 loader = ClassLoader.getSystemClassLoader();58 }59 Enumeration<URL> resources;60 try {61 resources = loader.getResources("mockito-extensions/" + service.getName());62 } catch (IOException e) {63 throw new IllegalStateException("Failed to load " + service, e);64 }65 try {66 List<String> classesOrAliases =67 new PluginFinder(pluginSwitch)68 .findPluginClasses(Iterables.toIterable(resources));69 List<T> impls = new ArrayList<>();70 for (String classOrAlias : classesOrAliases) {71 if (classOrAlias.equals(alias)) {72 classOrAlias = plugins.getDefaultPluginClass(alias);73 }74 Class<?> pluginClass = loader.loadClass(classOrAlias);75 Object plugin = pluginClass.getDeclaredConstructor().newInstance();76 impls.add(service.cast(plugin));77 }78 return impls;79 } catch (Exception e) {80 throw new IllegalStateException(81 "Failed to load " + service + " implementation declared in " + resources, e);...

Full Screen

Full Screen

Source:PluginLoader.java Github

copy

Full Screen

...45 } catch (IOException e) {46 throw new MockitoException("Failed to load " + service, e);47 }48 try {49 String foundPluginClass = new PluginFinder(pluginSwitch).findPluginClass(Iterables.toIterable(resources));50 if (foundPluginClass != null) {51 Class<?> pluginClass = loader.loadClass(foundPluginClass);52 Object plugin = pluginClass.newInstance();53 return service.cast(plugin);54 }55 return null;56 } catch (Exception e) {57 throw new MockitoConfigurationException(58 "Failed to load " + service + " implementation declared in " + resources, e);59 }60 }61}...

Full Screen

Full Screen

Source:PluginFinder.java Github

copy

Full Screen

...3import org.mockito.internal.util.io.IOUtil;4import org.mockito.plugins.PluginSwitch;5import java.io.InputStream;6import java.net.URL;7class PluginFinder {8 private final PluginSwitch pluginSwitch;9 public PluginFinder(PluginSwitch pluginSwitch) {10 this.pluginSwitch = pluginSwitch;11 }12 String findPluginClass(Iterable<URL> resources) {13 for (URL resource : resources) {14 InputStream s = null;15 try {16 s = resource.openStream();17 String pluginClassName = new PluginFileReader().readPluginClass(s);18 if (pluginClassName == null) {19 //For backwards compatibility20 //If the resource does not have plugin class name we're ignoring it21 continue;22 }23 if (!pluginSwitch.isEnabled(pluginClassName)) {...

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1import org.mockito.internal.configuration.plugins.PluginFinder;2import org.mockito.plugins.PluginSwitch;3public class 1 {4 public static void main(String[] args) {5 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);6 System.out.println(pluginSwitch.getClass());7 }8}9import org.mockito.internal.configuration.plugins.PluginFinder;10import org.mockito.plugins.PluginSwitch;11public class 2 {12 public static void main(String[] args) {13 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);14 System.out.println(pluginSwitch.getClass());15 }16}17import org.mockito.internal.configuration.plugins.PluginFinder;18import org.mockito.plugins.PluginSwitch;19public class 3 {20 public static void main(String[] args) {21 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);22 System.out.println(pluginSwitch.getClass());23 }24}25import org.mockito.internal.configuration.plugins.PluginFinder;26import org.mockito.plugins.PluginSwitch;27public class 4 {28 public static void main(String[] args) {29 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);30 System.out.println(pluginSwitch.getClass());31 }32}33import org.mockito.internal.configuration.plugins.PluginFinder;34import org.mockito.plugins.PluginSwitch;35public class 5 {36 public static void main(String[] args) {37 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);38 System.out.println(pluginSwitch.getClass());39 }40}41import org.mockito.internal.configuration.plugins.PluginFinder;42import org.mockito.plugins.PluginSwitch;43public class 6 {44 public static void main(String[] args) {45 PluginSwitch pluginSwitch = PluginFinder.getPlugin(PluginSwitch.class);46 System.out.println(pluginSwitch.getClass());47 }48}49import org.mockito.internal.configuration.plugins.PluginFinder;50import org.mockito.plugins.PluginSwitch;51public class 7 {

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1import org.mockito.internal.configuration.plugins.*;2public class 1 {3 public static void main(String[] args) {4 PluginFinder finder = new PluginFinder();5 System.out.println(finder.getPluginClass("org.mockito.plugins.MockMaker"));6 }7}

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1public class TestPluginFinder {2 public static void main(String[] args) {3 PluginFinder pluginFinder = new PluginFinder();4 .loadInvocationFactory();5 System.out.println(invocationFactory);6 }7}81 package org.mockito.internal.configuration.plugins;9 3 import org.mockito.plugins.*;10 5 import java.util.*;11 7 public class PluginFinder {12 9 public InvocationFactory loadInvocationFactory() {13 10 return load(InvocationFactory.class, "org.mockito.internal.creation.jmock.ClassImposterizer");14 11 }15 13 public MockMaker loadMockMaker() {16 14 return load(MockMaker.class, "org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker");17 15 }18 17 public <T> T load(Class<T> pluginType, String defaultImpl) {19 18 List<T> plugins = new ArrayList<T>();20 19 for (T plugin : ServiceLoader.load(pluginType)) {21 20 plugins.add(plugin);22 21 }23 22 if (plugins.isEmpty()) {24 23 return instantiate(defaultImpl);25 24 }26 25 if (plugins.size() == 1) {27 26 return plugins.get(0);28 27 }29 28 throw new MockitoException(join(30 34 ));31 35 }32 37 private <T> T instantiate(String defaultImpl) {33 38 try {34 39 return (T) Class.forName(defaultImpl).newInstance();

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1package org.mockito.internal.configuration.plugins;2import java.io.File;3import java.io.IOException;4import java.io.InputStream;5import java.util.HashMap;6import java.util.Map;7import java.util.Properties;8import org.mockito.internal.util.io.IOUtil;9import org.mockito.plugins.PluginSwitch;10public class PluginFinder {11 private static final String PLUGIN_PROPERTIES_FILE = "mockito-extensions/org.mockito.plugins.PluginSwitch";12 private static final Map<String, PluginSwitch> pluginSwitches = new HashMap<String, PluginSwitch>();13 public static PluginSwitch getPluginSwitch(String pluginId) {14 if (pluginSwitches.containsKey(pluginId)) {15 return pluginSwitches.get(pluginId);16 }17 return loadPluginSwitch(pluginId);18 }19 private static synchronized PluginSwitch loadPluginSwitch(String pluginId) {20 if (pluginSwitches.containsKey(pluginId)) {21 return pluginSwitches.get(pluginId);22 }23 PluginSwitch pluginSwitch = loadPluginSwitchFromProperty(pluginId);24 if (pluginSwitch == null) {25 pluginSwitch = loadPluginSwitchFromServiceLoader(pluginId);26 }27 pluginSwitches.put(pluginId, pluginSwitch);28 return pluginSwitch;29 }30 private static PluginSwitch loadPluginSwitchFromProperty(String pluginId) {31 String pluginSwitchClassName = getPluginSwitchClassName(pluginId);32 if (pluginSwitchClassName == null) {33 return null;34 }35 return loadPluginSwitchFromClass(pluginSwitchClassName);36 }37 private static String getPluginSwitchClassName(String pluginId) {38 Properties properties = loadPluginProperties();39 return properties.getProperty(pluginId);40 }41 private static Properties loadPluginProperties() {42 Properties properties = new Properties();43 InputStream inputStream = null;44 try {45 inputStream = PluginFinder.class.getClassLoader().getResourceAsStream(PLUGIN_PROPERTIES_FILE);46 if (inputStream != null) {47 properties.load(inputStream);48 }49 } catch (IOException e) {50 } finally {51 IOUtil.closeQuietly(inputStream);52 }53 return properties;54 }55 private static PluginSwitch loadPluginSwitchFromClass(String pluginSwitchClassName) {56 try {57 Class<?> aClass = Class.forName(pluginSwitchClassName);58 Object instance = aClass.newInstance();59 return (PluginSwitch) instance;60 } catch (Exception e) {61 throw new RuntimeException("Unable to load plugin switch: " + pluginSwitchClassName, e);62 }63 }

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1import org.mockito.internal.configuration.plugins.*;2import org.mockito.plugins.*;3import org.mockito.*;4import org.mockito.internal.*;5import org.mockito.internal.configuration.*;6import org.mockito.internal.configuration.plugins.*;7import org.mockito.internal.configuration.injection.*;8import org.mockito.inte

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1import org.mockito.internal.configuration.plugins.*;2import java.util.*;3{4 public static void main(String[] args)5 {6 PluginFinder pluginFinder = new PluginFinder();7 Set<String> plugins = pluginFinder.findPlugins();8 for (String plugin : plugins)9 System.out.println(plugin);10 }11}

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1package org.mockito.internal.configuration.plugins;2import org.mockito.exceptions.base.MockitoException;3import org.mockito.internal.util.reflection.Whitebox;4import java.io.BufferedReader;5import java.io.IOException;6import java.io.InputStream;7import java.io.InputStreamReader;8import java.net.URL;9import java.util.Enumeration;10import java.util.HashMap;11import java.util.Map;12public class PluginFinder {13 private final static String PLUGIN_FILE_NAME = "mockito-extensions/org.mockito.plugins.MockMaker";14 private final static String PLUGIN_PROPERTY_NAME = "org.mockito.mockmaker";15 private final ClassLoader classLoader;16 public PluginFinder(ClassLoader classLoader) {17 this.classLoader = classLoader;18 }19 public <T> T findPlugin(Class<T> pluginType) {20 T plugin = findPluginFromProperty(pluginType);21 if (plugin == null) {22 plugin = findPluginFromServiceLoader(pluginType);23 }24 return plugin;25 }26 private <T> T findPluginFromServiceLoader(Class<T> pluginType) {27 try {28 Enumeration<URL> resources = classLoader.getResources(PLUGIN_FILE_NAME);29 while (resources.hasMoreElements()) {30 URL url = resources.nextElement();31 try {32 String pluginClassName = new BufferedReader(new InputStreamReader(url.openStream())).readLine();33 T plugin = loadPlugin(pluginType, pluginClassName);34 if (plugin != null) {35 return plugin;36 }37 } catch (Exception e) {38 throw new MockitoException("Problems instantiating plugin at " + url, e);39 }40 }41 } catch (IOException e) {42 throw new MockitoException("Problems reading plugin file " + PLUGIN_FILE_NAME, e);43 }44 return null;45 }46 private <T> T findPluginFromProperty(Class<T> pluginType) {47 String pluginClassName = System.getProperty(PLUGIN_PROPERTY_NAME);48 if (pluginClassName == null) {49 return null;50 }

Full Screen

Full Screen

PluginFinder

Using AI Code Generation

copy

Full Screen

1Class<?> pluginClass = new PluginFinder().findPluginClass("org.mockito.plugins.MockMaker");2Class<?> pluginClass = new PluginLoader().loadPluginClass("org.mockito.plugins.MockMaker");3PluginRegistry.registerPluginClass("org.mockito.plugins.MockMaker", MockMaker.class);4MockMaker mockMaker = Plugins.getMockMaker();5InstantiatorProvider instantiatorProvider = Plugins.getInstantiatorProvider();6InstantiatorProvider2 instantiatorProvider2 = Plugins.getInstantiatorProvider2();7InstantiatorProvider3 instantiatorProvider3 = Plugins.getInstantiatorProvider3();

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Mockito automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in PluginFinder

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful