.getAttribute("strict-method-invocation"));
boolean strictDMI = Boolean.parseBoolean(strictDMIVal);
if (StringUtils.isNotEmpty(packageElement
.getAttribute("externalReferenceResolver"))) {
throw new ConfigurationException(
"The 'externalReferenceResolver' attribute has been removed. Please use "
+ "a custom ObjectFactory or Interceptor.",
packageElement);
}
PackageConfig.Builder cfg = new PackageConfig.Builder(name)
.namespace(namespace).isAbstract(isAbstract)
.strictMethodInvocation(strictDMI)
.location(DomHelper.getLocationObject(packageElement));
if (StringUtils.isNotEmpty(StringUtils.defaultString(parent))) { // has
// parents,
// let's
// look
// it
// up
List<PackageConfig> parents = new ArrayList<PackageConfig>();
for (String parentPackageName : ConfigurationUtil
.buildParentListFromString(parent)) {
if (configuration.getPackageConfigNames().contains(
parentPackageName)) {
parents.add(configuration
.getPackageConfig(parentPackageName));
} else if (declaredPackages.containsKey(parentPackageName)) {
if (configuration.getPackageConfig(parentPackageName) == null) {
addPackage(declaredPackages.get(parentPackageName));
}
parents.add(configuration
.getPackageConfig(parentPackageName));
} else {
throw new ConfigurationException(
"Parent package is not defined: "
+ parentPackageName);
}
}