if (typeName.indexOf('.') == -1) {
typeName = getTargetModule().toString() + "." + typeName;
}
QualifiedName typeConstructorName = QualifiedName.makeFromCompoundName(typeName);
typeConstructorsToIgnore.add(typeConstructorName);
}
}
Level origLogLevel = getIceLogger().getLevel();
if (!verbose) {
getIceLogger().setLevel(Level.WARNING);
}
// Get the module type info for the specified module.
ModuleTypeInfo moduleTypeInfo = getWorkspaceManager().getModuleTypeInfo(moduleName);
if (moduleTypeInfo == null) {
throw new NullPointerException("Unable to retrieve type information for module " + moduleName);
}
// Generate the i/o code. This is returned in the form of a
// SourceModel.ModuleDefn and a collection of JavaClassRep.
IO_Source_Generator.GeneratedIO generatedIO;
try {
Map<QualifiedName, JavaTypeName> typeMappings = new HashMap<QualifiedName, JavaTypeName>(builtIn_typeToClassMappings);
typeMappings.putAll(userDefined_typeToClassMappings);
generatedIO = new IO_Source_Generator().generateIO(
moduleTypeInfo,
targetPackage,
typeConstructorsToIgnore,
typeMappings,
userDefined_moduleToPackageMappings);
} catch (UnableToResolveForeignEntityException e) {
getIceLogger().log(Level.INFO, "Unable to generate java type for module " + moduleName + ":");
getIceLogger().log(Level.INFO, " " + e.getCompilerMessage());
return;
}
// Map of QualifiedName -> JavaClassRep
Map<QualifiedName, JavaClassRep> javaClassReps =
generatedIO.getJavaClasses();
// The module containing the generated CAL code.
SourceModel.ModuleDefn moduleDefn =
generatedIO.getIoModule();
// Determine the root directory for writing out the CAL and Java source.
File generatedCodeRoot = getGeneratedCodeRoot(moduleName, targetRootProject, targetRootDirectory);
boolean firstWrite = true;
// Write out each Java class.
for (Map.Entry<QualifiedName, JavaClassRep> entry : javaClassReps.entrySet()) {
JavaClassRep classRep = (JavaClassRep)entry.getValue();
QualifiedName qn = (QualifiedName)entry.getKey();
if (writeJavaClass(generatedCodeRoot, moduleName, targetPackage, classRep)) {
if (firstWrite) {
firstWrite = false;
for (LogRecord record : generatedIO.getIoLogMessages()) {