1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.plexus;
19
20 import java.io.ByteArrayInputStream;
21 import java.io.InputStream;
22 import java.io.InputStreamReader;
23
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26 import org.codehaus.plexus.PlexusContainer;
27 import org.codehaus.plexus.configuration.PlexusConfigurationResourceException;
28
29 /***
30 * Utility methods for dealing with Plexus
31 */
32 public class PlexusUtils {
33 private static final Log log = LogFactory.getLog(PlexusObjectFactory.class);
34
35 /***
36 * Configures the container with the configuration file
37 *
38 * @param pc The plexus container
39 * @param file The file path
40 * @throws PlexusConfigurationResourceException If the plexus configuration can't be loaded
41 */
42 public static void configure(PlexusContainer pc, String file) throws PlexusConfigurationResourceException {
43 InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(file);
44 if (is == null) {
45 log.info("Could not find " + file + ", skipping");
46 is = new ByteArrayInputStream("<plexus><components></components></plexus>".getBytes());
47 }
48 pc.setConfigurationResource(new InputStreamReader(is));
49 }
50 }