# HG changeset patch # User Jaroslav Tulach # Date 1350386584 -7200 # Node ID 7e3f72897a839822b11f27ce73fc2858e5b93bbe # Parent 0195ef3415ba98a2e40277d5a0a9f83bba29f716 Deduce name of the class to generate from the name of the HTML page diff -r 0195ef3415ba -r 7e3f72897a83 htmlpage/pom.xml --- a/htmlpage/pom.xml Tue Oct 16 12:49:59 2012 +0200 +++ b/htmlpage/pom.xml Tue Oct 16 13:23:04 2012 +0200 @@ -42,6 +42,7 @@ emul 1.0-SNAPSHOT jar + runtime org.apidesign.bck2brwsr diff -r 0195ef3415ba -r 7e3f72897a83 htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Oct 16 12:49:59 2012 +0200 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Oct 16 13:23:04 2012 +0200 @@ -68,13 +68,18 @@ return false; } Writer w; + String className = p.className(); + if (className.isEmpty()) { + int indx = p.xhtml().indexOf('.'); + className = p.xhtml().substring(0, indx); + } try { - FileObject java = processingEnv.getFiler().createSourceFile(pkg + '.' + p.name(), e); + FileObject java = processingEnv.getFiler().createSourceFile(pkg + '.' + className, e); w = new OutputStreamWriter(java.openOutputStream()); try { w.append("package " + pkg + ";\n"); w.append("import org.apidesign.bck2brwsr.htmlpage.api.*;\n"); - w.append("class ").append(p.name()).append(" {\n"); + w.append("class ").append(className).append(" {\n"); for (String id : pp.ids()) { String tag = pp.tagNameForId(id); String type = type(tag); @@ -92,7 +97,7 @@ w.close(); } } catch (IOException ex) { - processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Can't create " + p.name() + ".java", e); + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Can't create " + className + ".java", e); return false; } } diff -r 0195ef3415ba -r 7e3f72897a83 htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Page.java --- a/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Page.java Tue Oct 16 12:49:59 2012 +0200 +++ b/htmlpage/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Page.java Tue Oct 16 13:23:04 2012 +0200 @@ -35,5 +35,5 @@ /** Name of a Java class to generate. It will contain constants for all * found elements with IDs. */ - String name(); + String className() default ""; } diff -r 0195ef3415ba -r 7e3f72897a83 htmlpage/src/test/java/org/apidesign/bck2brwsr/htmlpage/PageController.java --- a/htmlpage/src/test/java/org/apidesign/bck2brwsr/htmlpage/PageController.java Tue Oct 16 12:49:59 2012 +0200 +++ b/htmlpage/src/test/java/org/apidesign/bck2brwsr/htmlpage/PageController.java Tue Oct 16 13:23:04 2012 +0200 @@ -40,7 +40,7 @@ * * @author Jaroslav Tulach */ -@Page(xhtml="TestPage.html", name="TestPage") +@Page(xhtml="TestPage.html") public class PageController { @OnClick(id="pg.button") static void updateTitle() {