public void reserveClass(String fullName) { String cls = fullName; int idx = cls.lastIndexOf('.'); String pkg = ""; if (idx != -1) { pkg = cls.substring(0, idx); cls = cls.substring(idx + 1); } reservedClassNames.put(key(pkg, cls), fullName); addSeiClassName(pkg, cls, fullName); addTypesClassName(pkg, cls, fullName); addServerClassName(pkg, cls, fullName); addImplClassName(pkg, cls, fullName); addClientClassName(pkg, cls, fullName); addServiceClassName(pkg, cls, fullName); addExceptionClassName(pkg, cls, fullName); }
protected ClassCollector createClassCollector() { ClassCollector collector = new ClassCollector(); String[] reserved = (String[])context.get(ToolConstants.CFG_RESERVE_NAME); if (reserved != null) { for (String r : reserved) { collector.reserveClass(r); } } return collector; } }
private boolean isNameCollision(String packageName, String className) { if (context.optionSet(ToolConstants.CFG_GEN_OVERWRITE)) { return false; } ClassCollector collector = context.get(ClassCollector.class); return collector.containTypesClass(packageName, className) || collector.containSeiClass(packageName, className) || collector.containExceptionClass(packageName, className); }
private String mapClassName(String packageName, String name, ToolContext context) { ClassCollector collector = context.get(ClassCollector.class); int count = 0; String checkName = name; while (collector.containClientClass(packageName, checkName)) { checkName = name + (++count); } collector.addClientClassName(packageName, checkName, packageName + "." + checkName); return checkName; }
private void processClientJar(ToolContext context) { ClassCollector oldCollector = context.get(ClassCollector.class); ClassCollector newCollector = new ClassCollector(); String oldClassDir = (String)context.get(ToolConstants.CFG_CLASSDIR); File tmpDir = FileUtils.createTmpDir(); context.put(ToolConstants.CFG_CLASSDIR, tmpDir.getAbsolutePath()); newCollector.setTypesClassNames(oldCollector.getTypesClassNames()); newCollector.setSeiClassNames(oldCollector.getSeiClassNames()); newCollector.setExceptionClassNames(oldCollector.getExceptionClassNames()); newCollector.setServiceClassNames(oldCollector.getServiceClassNames()); context.put(ClassCollector.class, newCollector); new ClassUtils().compile(context); generateLocalWSDL(context); File clientJarFile = new File((String)context.get(ToolConstants.CFG_OUTPUTDIR), (String)context.get(ToolConstants.CFG_CLIENT_JAR)); JarOutputStream jarout = null; try { jarout = new JarOutputStream(Files.newOutputStream(clientJarFile.toPath()), new Manifest()); createClientJar(tmpDir, jarout); jarout.close(); } catch (Exception e) { LOG.log(Level.SEVERE, "FAILED_TO_CREAT_CLIENTJAR", e); Message msg = new Message("FAILED_TO_CREAT_CLIENTJAR", LOG); throw new ToolException(msg, e); } context.put(ToolConstants.CFG_CLASSDIR, oldClassDir); context.put(ClassCollector.class, oldCollector); }
public String assignClassName(String packageName, String className) { String fullClzName = className; if (isNameCollision(packageName, className)) { fullClzName = className + TYPE_SUFFIX; } String fullPckClass = packageName + "." + fullClzName; if (autoResolveConflicts) { int cnt = 1; while (collector.containsTypeIgnoreCase(packageName, className + (cnt == 1 ? "" : cnt))) { cnt++; } if (cnt != 1) { className = className + cnt; fullClzName = fullClzName + cnt; fullPckClass = packageName + "." + fullClzName; } } collector.addTypesClassName(packageName, className, fullPckClass); return fullClzName; }
for (String className : generatedServiceClasses) { int index = className.lastIndexOf("."); collector.addServiceClassName(className.substring(0, index), className.substring(index + 1), className); for (String className : generatedTypeClasses) { int index = className.lastIndexOf("."); collector.addTypesClassName(className.substring(0, index), className.substring(index + 1), className);
public Writer createSourceFile(String typename) throws IOException { String tn = typename; if (tn.contains("$")) { tn = tn.substring(0, tn.indexOf('$')); } String pkg = tn.substring(0, tn.lastIndexOf('.')); tn = tn.substring(tn.lastIndexOf('.') + 1); classCollector.addTypesClassName(pkg, tn, pkg + "." + tn); return super.createSourceFile(typename); } };
private boolean addedToClassCollector(String packageName) { ClassCollector classCollector = context.get(ClassCollector.class); Collection<String> files = classCollector.getGeneratedFileInfo(); for (String file : files) { int dotIndex = file.lastIndexOf("."); String sub = dotIndex <= 0 ? "" : file.substring(0, dotIndex - 1); if (sub.equals(packageName)) { return true; } } return false; }
ClassCollector collector = new ClassCollector(); addGeneratedSourceFiles(codegen.getPackageOrganizer(), collector); context.put(ClassCollector.class, collector);
public void register(final ClassCollector collector, String packageName, String fileName) { collector.addServiceClassName(packageName, fileName, packageName + "." + fileName); } }
String checkName = name; int count = 0; while (collector.containServiceClass(packageName, checkName)) { checkName = name + (++count); collector.addServiceClassName(packageName, name, packageName + "." + name);
private String mapClassName(String packageName, String name, ToolContext context) { ClassCollector collector = context.get(ClassCollector.class); int count = 0; String checkName = name; while (collector.containServerClass(packageName, checkName)) { checkName = name + (++count); } collector.addServerClassName(packageName, checkName, packageName + "." + checkName); return checkName; }
private String mapClassName(String packageName, String name, ToolContext context) { ClassCollector collector = context.get(ClassCollector.class); int count = 0; String checkName = name; while (collector.containImplClass(packageName, checkName)) { checkName = name + (++count); } collector.addImplClassName(packageName, checkName, packageName + "." + checkName); return checkName; } }
private boolean isNameCollision(String packageName, String className) { if (context.optionSet(ToolConstants.CFG_GEN_OVERWRITE)) { return false; } return collector.containTypesClass(packageName, className) || collector.containSeiClass(packageName, className); }
int count = 0; String checkName = name; while (collector.isReserved(intf.getPackageName(), checkName)) { checkName = name + "_" + (++count); } else if (collector.isReserved(intf.getPackageName(), name)) { throw new ToolException("RESERVED_SEI_NAME", LOG, name); collector.addSeiClassName(intf.getPackageName(), intf.getName(), intf.getPackageName() + "." + intf.getName());
public void register(final ClassCollector collector, String packageName, String fileName) { collector.addExceptionClassName(packageName, fileName, packageName + "." + fileName); } }
private boolean isNameCollision(String packageName, String className) { return collector.containSeiClass(packageName, className); }
public void register(final ClassCollector collector, String packageName, String fileName) { collector.addServerClassName(packageName, fileName, packageName + "." + fileName); } }
public void register(final ClassCollector collector, String packageName, String fileName) { collector.addClientClassName(packageName, fileName, packageName + "." + fileName); } }