private static EnvironmentConfig newEnvironmentConfig() { final Map<String, String> frameworkProps = new HashMap<>(); final Map<String, String> mappingAliases = new HashMap<>(); final Set<MetaClass> exposedClasses = new HashSet<>(); final Set<MetaClass> nonportableClasses = new HashSet<>(); final Set<String> explicitTypes = new HashSet<>(); final Set<MetaClass> portableNonExposed = new HashSet<>(); nonportableClasses.addAll(ClassScanner.getTypesAnnotatedWith(NonPortable.class)); final Set<MetaClass> exposedFromScanner = new HashSet<>(ClassScanner.getTypesAnnotatedWith(Portable.class)); addExposedInnerClasses(exposedClasses, exposedFromScanner); exposedClasses.addAll(exposedFromScanner); processErraiAppPropertiesFiles(frameworkProps, mappingAliases, exposedClasses, nonportableClasses, explicitTypes); processEnvironmentConfigExtensions(exposedClasses); // must do this before filling in interfaces and supertypes! exposedClasses.removeAll(nonportableClasses); for (final MetaClass cls : exposedClasses) { fillInInterfacesAndSuperTypes(portableNonExposed, cls); } return new EnvironmentConfig(mappingAliases, exposedClasses, portableNonExposed, explicitTypes, frameworkProps); }
private static EnvironmentConfig newEnvironmentConfig() { final Map<String, String> frameworkProps = new HashMap<>(); final Map<String, String> mappingAliases = new HashMap<>(); final Set<MetaClass> exposedClasses = new HashSet<>(); final Set<MetaClass> nonportableClasses = new HashSet<>(); final Set<String> explicitTypes = new HashSet<>(); final Set<MetaClass> portableNonExposed = new HashSet<>(); nonportableClasses.addAll(ClassScanner.getTypesAnnotatedWith(NonPortable.class)); final Set<MetaClass> exposedFromScanner = new HashSet<>(ClassScanner.getTypesAnnotatedWith(Portable.class)); addExposedInnerClasses(exposedClasses, exposedFromScanner); exposedClasses.addAll(exposedFromScanner); processErraiAppPropertiesFiles(frameworkProps, mappingAliases, exposedClasses, nonportableClasses, explicitTypes); processEnvironmentConfigExtensions(exposedClasses); // must do this before filling in interfaces and supertypes! exposedClasses.removeAll(nonportableClasses); for (final MetaClass cls : exposedClasses) { fillInInterfacesAndSuperTypes(portableNonExposed, cls); } return new EnvironmentConfig(mappingAliases, exposedClasses, portableNonExposed, explicitTypes, frameworkProps); }