View Javadoc

1   package net.ramapuram.thomas.webapp.search;
2   
3   import org.apache.commons.logging.Log;
4   import org.apache.commons.logging.LogFactory;
5   import org.compass.core.config.CompassConfiguration;
6   import org.compass.core.config.ConfigurationException;
7   import org.compass.spring.LocalCompassBeanPostProcessor;
8   
9   /**
10   * Compass Post Processor that allows for adding scan mappings for more than
11   * one root package.
12   */
13  public class CompassConfigurationPostProcessor implements LocalCompassBeanPostProcessor {
14      Log log = LogFactory.getLog(CompassConfigurationPostProcessor.class);
15  
16      public void process(CompassConfiguration config) throws ConfigurationException {
17          // Look at current class's package and add it if it's not the AppFuse default
18          String classPackage = this.getClass().getPackage().getName();
19          String rootPackage = classPackage.substring(0, classPackage.indexOf("webapp") - 1);
20          if (!rootPackage.equals("net.ramapuram.thomas")) {
21              log.debug("Adding scan for package: " + rootPackage);
22              config.addScan(rootPackage);
23          }
24      }
25  }