< prev index next >
jaxws/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 50,74 ****
throw new IllegalArgumentException();
}
private final XJCListener progress;
public Writer openSource(JPackage pkg, String fileName) throws IOException {
report(pkg,fileName);
return super.openSource(pkg, fileName);
}
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
report(pkg,fileName);
return super.openBinary(pkg,fileName);
}
! private void report(JPackage pkg, String fileName) {
! String name = pkg.name().replace('.', File.separatorChar);
! if(name.length()!=0) name += File.separatorChar;
! name += fileName;
if(progress.isCanceled())
throw new AbortException();
! progress.generatedFile(name,current++,totalFileCount);
}
}
--- 50,93 ----
throw new IllegalArgumentException();
}
private final XJCListener progress;
+ @Override
public Writer openSource(JPackage pkg, String fileName) throws IOException {
report(pkg,fileName);
return super.openSource(pkg, fileName);
}
+ @Override
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
report(pkg,fileName);
return super.openBinary(pkg,fileName);
}
! /**
! * Report progress to {@link XJCListener}.
! * @param pkg The package of file being written. Value of {@code null} means that file has no package.
! * @param fileName The file name being written. Value can't be {@code null}.
! */
! private void report(final JPackage pkg, final String fileName) {
! if (fileName == null) {
! throw new IllegalArgumentException("File name is null");
! }
!
! final String pkgName;
! final String fileNameOut;
! if (pkg != null && (pkgName = pkg.name().replace('.', File.separatorChar)).length() > 0 ) {
! final StringBuilder sb = new StringBuilder(fileName.length() + pkgName.length() + 1);
! sb.append(pkgName);
! sb.append(File.separatorChar);
! sb.append(fileName);
! fileNameOut = sb.toString();
! } else {
! fileNameOut = fileName;
! }
if(progress.isCanceled())
throw new AbortException();
! progress.generatedFile(fileNameOut, current++, totalFileCount);
}
}
< prev index next >