private void generateService()

in src/main/java/org/apache/tomee/website/ServiceJarHelper.java [103:184]


    private void generateService(final ServiceProvider provider) {
        final Map<String, String> defaults = new LinkedHashMap<>();
        final Map<String, String> comments = new LinkedHashMap<>();

        final SuperProperties properties = (SuperProperties) provider.getProperties();
        if (!properties.isEmpty()) {
            for (final Object key : properties.keySet()) {
                if (key instanceof String) {
                    final String name = (String) key;
                    if ("SkipImplicitAttributes".equals(name)) {
                        continue;
                    }

                    final Map<String, String> attributes = properties.getAttributes(name);

                    if (attributes.containsKey("hidden")) {
                        continue;
                    }

                    final String value = properties.getProperty(name);

                    String comment = properties.getComment(name);
                    comment = scrubText(comment);
                    if (comment.isEmpty()) {
                        comment = "FIXME";
                    }

                    defaults.put(name, String.valueOf(value));
                    comments.put(name, comment);
                }
            }
        }

        final String type = provider.getTypes().get(0);
        out.println("=== " + type);
        out.println();
        out.println("Declarable in tomee.xml via");
        out.println();
        out.println("[source,xml]");
        out.println("----");
        out.print("<" + provider.getService() + " id=\"Foo\" type=\"" + type + "\"");
        if (defaults.isEmpty()) {
            out.println(" />");
        } else {
            out.println(">");
            for (final Map.Entry<String, String> entry : defaults.entrySet()) {
                out.print("    ");
                out.print(entry.getKey());
                out.print(" = ");
                out.println(entry.getValue());
            }
            out.println("</" + provider.getService() + ">");
        }
        out.println("----");
        out.println();
        out.println("Declarable in properties via");
        out.println();
        out.println("[source,properties]");
        out.println("----");
        out.println("Foo = new://" + provider.getService() + "?type=" + type);
        for (final Map.Entry<String, String> entry : defaults.entrySet()) {
            out.print("Foo.");
            out.print(entry.getKey());
            out.print(" = ");
            out.println(entry.getValue());
        }
        out.println("----");
        out.println();

        if (!properties.isEmpty()) {
            out.println("==== Configuration");
            out.println();
            for (final Map.Entry<String, String> entry : comments.entrySet()) {
                out.println("===== " + entry.getKey());
                out.println();
                out.println(entry.getValue());
                out.println();
            }
        }

        out.println();
    }