diff --git a/appserver/admingui/hello-world/README.md b/appserver/admingui/hello-world/README.md new file mode 100644 index 00000000000..bd8d56156e6 --- /dev/null +++ b/appserver/admingui/hello-world/README.md @@ -0,0 +1,29 @@ +# Hello World Admin Console Plugin + +This is an example plugin that demonstrates how to create Jakarta Faces (JSF) pages in the GlassFish Admin Console. + +## Features + +- Creates a "Hello World" navigation item in the admin console sidebar +- Displays a JSF page with content from a CDI bean +- Demonstrates modern Jakarta Faces integration with the legacy admin console + +## Files + +- `HelloWorldConsolePlugin.java` - HK2 service that registers the plugin. Needed to register the integration points in `console-config.xml` +- `console-config.xml` - Plugin configuration defining integration points. Adds `helloWorldNavNode.jsf` to the sidebar +- `helloWorldNavNode.jsf` - Navigation node for the sidebar, opens `hello.xhtml` +- `hello.xhtml` - Main JSF page displayed when clicking the navigation item +- `HelloWorldBean.java` - CDI bean that provides the message content + +## Usage + +1. Build GlassFish with this plugin included +2. Start GlassFish domain +3. Access the admin console at http://localhost:4848 +4. Look for "Hello World" in the sidebar navigation +5. Click it to see the JSF page + +## Tutorial + +See the [Creating JSF Pages in GlassFish Admin Console](https://github.com/eclipse-ee4j/glassfish/wiki/admin-console-faces-tutorial.adoc) tutorial in GlassFish Wiki for a complete step-by-step tutorial on creating similar plugins. diff --git a/appserver/admingui/hello-world/pom.xml b/appserver/admingui/hello-world/pom.xml new file mode 100644 index 00000000000..2fe098788d7 --- /dev/null +++ b/appserver/admingui/hello-world/pom.xml @@ -0,0 +1,103 @@ + + + + + + 4.0.0 + + + + org.glassfish.main.admingui + admingui + 7.1.0-SNAPSHOT + ../pom.xml + + + console-hello-world-plugin + + glassfish-jar + + Admin Console Hello World Plugin + Hello World plugin example for GlassFish Admin Console + + + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + + + + org.glassfish.main.admingui + console-common + ${project.version} + provided + + + + + + + dev + + + false + + ${basedir}/../../../distributions/glassfish/target/stage/glassfish7/glassfish/lib/install/applications/__admingui/WEB-INF/lib/console-hello-world-plugin-${project.version}.jar + + + + diff --git a/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldBean.java b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldBean.java new file mode 100644 index 00000000000..4365929611f --- /dev/null +++ b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldBean.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ +package org.glassfish.helloworld.admingui; + +import jakarta.enterprise.context.RequestScoped; +import jakarta.inject.Named; + +/** + * CDI backing bean for the Hello World JSF page in GlassFish Admin Console. + * This demonstrates how to create modern Jakarta Faces pages within the legacy + * Admin Console framework. The key aspects: + * 1. Uses CDI (@Named, @RequestScoped) instead of JSF managed beans + * 2. Works seamlessly with the existing console infrastructure + * 3. Can be injected with HK2 services via CDI producers if needed + * 4. Follows standard JSF patterns for data binding and actions + * The bean is automatically discovered by CDI due to the implicit bean archive + * (no beans.xml needed) and made available to JSF via the @Named annotation. + */ +@Named +@RequestScoped +public class HelloWorldBean { + + /** + * Returns the main greeting message displayed on the page. + * This method is called via EL expression #{helloWorldBean.message} + * in the XHTML template. The property name follows JavaBean conventions + * (getMessage() -> message property). + * @return the greeting message + */ + public String getMessage() { + return "Hello World from GlassFish Admin Console!"; + } + + /** + * Returns a description of what this page demonstrates. + * Called via EL expression #{helloWorldBean.description} to show + * additional information about the JSF integration. + * @return the description text + */ + public String getDescription() { + return "This is a JSF page created using Jakarta Faces in the GlassFish Admin Console."; + } +} diff --git a/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldConsolePlugin.java b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldConsolePlugin.java new file mode 100644 index 00000000000..e1281c2c9cf --- /dev/null +++ b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/HelloWorldConsolePlugin.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ +package org.glassfish.helloworld.admingui; + +import java.net.URL; + +import org.glassfish.api.admingui.ConsoleProvider; +import org.jvnet.hk2.annotations.Service; + +/** + * HK2 service that registers this module as an Admin Console plugin. + * This class serves as the entry point for the plugin system to discover + * and integrate this module with the Admin Console. Key aspects: + * 1. @Service annotation makes this discoverable by HK2 service locator + * 2. ConsoleProvider interface is the contract for console plugins + * 3. getConfiguration() returning null means use default config file location + * 4. The plugin system will look for META-INF/admingui/console-config.xml + * The plugin architecture allows modular extensions to the console without + * modifying core console code. Each plugin can contribute: + * - Navigation nodes (tree items) + * - Integration points (masthead, content areas) + * - Resources (JSF pages, CSS, images) + * - Java components (CDI beans, HK2 services) + * This particular plugin demonstrates the "simplified plugin" approach where + * the plugin JAR is included directly in the admin WAR rather than deployed + * as a separate OSGi bundle. + */ +@Service +public class HelloWorldConsolePlugin implements ConsoleProvider { + + /** + * Returns the URL to the plugin configuration file. + * Returning null tells the plugin system to look for the default + * configuration file at META-INF/admingui/console-config.xml within + * this plugin's JAR file. + * Alternative implementations could return a specific URL to a + * configuration file located elsewhere. + * @return null to use default config file location + */ + @Override + public URL getConfiguration() { + return null; + } +} diff --git a/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/package-info.java b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/package-info.java new file mode 100644 index 00000000000..f0218d16bb6 --- /dev/null +++ b/appserver/admingui/hello-world/src/main/java/org/glassfish/helloworld/admingui/package-info.java @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/** + * Hello World plugin for GlassFish Admin Console demonstrating JSF integration. + */ +package org.glassfish.helloworld.admingui; diff --git a/appserver/admingui/hello-world/src/main/resources/META-INF/admingui/console-config.xml b/appserver/admingui/hello-world/src/main/resources/META-INF/admingui/console-config.xml new file mode 100644 index 00000000000..f7097a2df31 --- /dev/null +++ b/appserver/admingui/hello-world/src/main/resources/META-INF/admingui/console-config.xml @@ -0,0 +1,55 @@ + + + + + + + + + + diff --git a/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/hello.xhtml b/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/hello.xhtml new file mode 100644 index 00000000000..aa2a4669a75 --- /dev/null +++ b/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/hello.xhtml @@ -0,0 +1,115 @@ + + + + + + + + Hello World - GlassFish Admin Console + + + + + + + + + + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ diff --git a/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/navigation/helloWorldNavNode.jsf b/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/navigation/helloWorldNavNode.jsf new file mode 100644 index 00000000000..6ca1d71bdbe --- /dev/null +++ b/appserver/admingui/hello-world/src/main/resources/META-INF/resources/helloworld/navigation/helloWorldNavNode.jsf @@ -0,0 +1,49 @@ + + + + diff --git a/appserver/admingui/modernized-admingui/faces-config.NavData b/appserver/admingui/modernized-admingui/faces-config.NavData new file mode 100644 index 00000000000..e69de29bb2d diff --git a/appserver/admingui/modernized-admingui/pom.xml b/appserver/admingui/modernized-admingui/pom.xml new file mode 100644 index 00000000000..031a260f412 --- /dev/null +++ b/appserver/admingui/modernized-admingui/pom.xml @@ -0,0 +1,101 @@ + + + + + 4.0.0 + + + + org.glassfish.main.admingui + admingui + 7.1.0-SNAPSHOT + ../pom.xml + + + modernized-admingui + + glassfish-jar + + Admin Console Modernized Admingui + This module contain modernized console admin GUI + + + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + + + + org.glassfish.main.admingui + console-common + ${project.version} + provided + + + org.primefaces + primefaces + 15.0.7 + jakarta + + + + + + + dev + + + false + + ${basedir}/../../../appserver/distributions/glassfish/target/stage/glassfish7/glassfish/lib/install/applications/__admingui/WEB-INF/lib/modernized-admingui-${project.version}.jar + + + + diff --git a/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsPlugin.java b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsPlugin.java new file mode 100644 index 00000000000..430dce4be23 --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsPlugin.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ +package org.glassfish.modernized.admingui; + +import java.net.URL; + +import org.glassfish.api.admingui.ConsoleProvider; +import org.jvnet.hk2.annotations.Service; + +/** + * HK2 service that registers this module as an Admin Console plugin. + * This class serves as the entry point for the plugin system to discover + * and integrate this module with the Admin Console. Key aspects: + * 1. @Service annotation makes this discoverable by HK2 service locator + * 2. ConsoleProvider interface is the contract for console plugins + * 3. getConfiguration() returning null means use default config file location + * 4. The plugin system will look for META-INF/admingui/console-config.xml + * The plugin architecture allows modular extensions to the console without + * modifying core console code. Each plugin can contribute: + * - Navigation nodes (tree items) + * - Integration points (masthead, content areas) + * - Resources (JSF pages, CSS, images) + * - Java components (CDI beans, HK2 services) + * This particular plugin demonstrates the "simplified plugin" approach where + * the plugin JAR is included directly in the admin WAR rather than deployed + * as a separate OSGi bundle. + */ +@Service +public class LoggerSettingsPlugin implements ConsoleProvider { + + /** + * Returns the URL to the plugin configuration file. + * Returning null tells the plugin system to look for the default + * configuration file at META-INF/admingui/console-config.xml within + * this plugin's JAR file. + * Alternative implementations could return a specific URL to a + * configuration file located elsewhere. + * @return null to use default config file location + */ + @Override + public URL getConfiguration() { + return null; + } +} diff --git a/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsView.java b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsView.java new file mode 100644 index 00000000000..40fc95c8fb8 --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/LoggerSettingsView.java @@ -0,0 +1,159 @@ +package org.glassfish.modernized.admingui; + +import jakarta.annotation.PostConstruct; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Named; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.glassfish.modernized.admingui.utilis.LoggerRow; + +@Named +@ViewScoped +public class LoggerSettingsView implements Serializable { + + // --------- Onglet General + private boolean writeToSystemLog = true; + private boolean logToFile = true; + private boolean rotateAtMidnight = true; + private boolean multilineMode = false; + + private String consoleFormat = "ULF"; + private String fileFormat = "ODL"; + + private List consoleFormats; + private List fileFormats; + + private List formatExcludeFields = new ArrayList<>(Arrays.asList("tid","timeMillis","levelValue")); + + private int fileRotationLimit = 100; // MB + private int fileRotationTime = 0; // minutes + private int flushFrequency = 1; + private int maxHistoryFiles = 0; + + private String logFile = "${com.sun.aas.instanceRoot}/logs/server.log"; + private String logHandler = "org.glassfish.main.jul.handler.SimpleLogHandler"; + + // --------- Onglet Log Levels + private List loggers; + private List selected = new ArrayList<>(); + private String bulkLevel = "INFO"; + private List levels; + + @PostConstruct + public void init() { + consoleFormats = Arrays.asList("ULF", "ODL"); + fileFormats = Arrays.asList("ODL", "ULF"); + levels = Arrays.asList("OFF","SEVERE","WARNING","INFO","CONFIG","FINE","FINER","FINEST","ALL"); + + // Démo : quelques loggers typiques GlassFish / Jakarta + loggers = new ArrayList<>(); + loggers.add(new LoggerRow("com.sun.enterprise.container.common", "INFO")); + loggers.add(new LoggerRow("org.glassfish.grizzly.http2", "INFO")); + loggers.add(new LoggerRow("jakarta.enterprise.system", "INFO")); + loggers.add(new LoggerRow("org.apache.jasper", "INFO")); + loggers.add(new LoggerRow("org.glassfish.main", "INFO")); + loggers.add(new LoggerRow("jakarta.enterprise.web", "INFO")); + loggers.add(new LoggerRow("org.jvnet.hk2.osgiadapter", "WARNING")); + } + + // --------- Actions + public void loadDefaults() { + writeToSystemLog = true; + logToFile = true; + rotateAtMidnight = true; + multilineMode = false; + consoleFormat = "ULF"; + fileFormat = "ODL"; + formatExcludeFields = new ArrayList<>(Arrays.asList("tid","timeMillis","levelValue")); + fileRotationLimit = 100; + fileRotationTime = 0; + flushFrequency = 1; + maxHistoryFiles = 0; + logFile = "${com.sun.aas.instanceRoot}/logs/server.log"; + logHandler = "org.glassfish.main.jul.handler.SimpleLogHandler"; + // Ici, tu pourrais recharger depuis une source réelle + } + + public void save() { + // TODO: Persister dans ton service (asadmin, JMX, rest, base de données…) + // Pour la démo, rien à faire. + } + + public void addLogger() { + // Ajoute une ligne vide à compléter + loggers.add(new LoggerRow("new.logger.name", "INFO")); + } + + public void deleteSelected() { + if (selected != null && !selected.isEmpty()) { + loggers.removeAll(selected); + selected.clear(); + } + } + + public void applyBulkLevel() { + if (selected != null) { + for (LoggerRow r : selected) { + r.setLevel(bulkLevel); + } + } + } + + // --------- Getters/Setters (générés) + public boolean isWriteToSystemLog() { return writeToSystemLog; } + public void setWriteToSystemLog(boolean v) { this.writeToSystemLog = v; } + + public boolean isLogToFile() { return logToFile; } + public void setLogToFile(boolean v) { this.logToFile = v; } + + public boolean isRotateAtMidnight() { return rotateAtMidnight; } + public void setRotateAtMidnight(boolean v) { this.rotateAtMidnight = v; } + + public boolean isMultilineMode() { return multilineMode; } + public void setMultilineMode(boolean v) { this.multilineMode = v; } + + public String getConsoleFormat() { return consoleFormat; } + public void setConsoleFormat(String consoleFormat) { this.consoleFormat = consoleFormat; } + + public String getFileFormat() { return fileFormat; } + public void setFileFormat(String fileFormat) { this.fileFormat = fileFormat; } + + public List getConsoleFormats() { return consoleFormats; } + public List getFileFormats() { return fileFormats; } + + public List getFormatExcludeFields() { return formatExcludeFields; } + public void setFormatExcludeFields(List formatExcludeFields) { this.formatExcludeFields = formatExcludeFields; } + + public int getFileRotationLimit() { return fileRotationLimit; } + public void setFileRotationLimit(int fileRotationLimit) { this.fileRotationLimit = fileRotationLimit; } + + public int getFileRotationTime() { return fileRotationTime; } + public void setFileRotationTime(int fileRotationTime) { this.fileRotationTime = fileRotationTime; } + + public int getFlushFrequency() { return flushFrequency; } + public void setFlushFrequency(int flushFrequency) { this.flushFrequency = flushFrequency; } + + public int getMaxHistoryFiles() { return maxHistoryFiles; } + public void setMaxHistoryFiles(int maxHistoryFiles) { this.maxHistoryFiles = maxHistoryFiles; } + + public String getLogFile() { return logFile; } + public void setLogFile(String logFile) { this.logFile = logFile; } + + public String getLogHandler() { return logHandler; } + public void setLogHandler(String logHandler) { this.logHandler = logHandler; } + + public List getLoggers() { return loggers; } + public void setLoggers(List loggers) { this.loggers = loggers; } + + public List getSelected() { return selected; } + public void setSelected(List selected) { this.selected = selected; } + + public String getBulkLevel() { return bulkLevel; } + public void setBulkLevel(String bulkLevel) { this.bulkLevel = bulkLevel; } + + public List getLevels() { return levels; } +} diff --git a/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/package-info.java b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/package-info.java new file mode 100644 index 00000000000..f0998ef68b3 --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +/** + * Modernized Admin Console GUI. + */ +package org.glassfish.modernized.admingui; \ No newline at end of file diff --git a/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/utilis/LoggerRow.java b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/utilis/LoggerRow.java new file mode 100644 index 00000000000..b613e5209ac --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/java/org/glassfish/modernized/admingui/utilis/LoggerRow.java @@ -0,0 +1,26 @@ + + +package org.glassfish.modernized.admingui.utilis; + +import java.io.Serializable; + +public class LoggerRow implements Serializable { + private String name; + private String level; // e.g. INFO, WARNING, FINE... + private String customLevel; // free text + + public LoggerRow() {} + public LoggerRow(String name, String level) { + this.name = name; + this.level = level; + } + + public String getName() { return name; } + public void setName(String name) { this.name = name; } + + public String getLevel() { return level; } + public void setLevel(String level) { this.level = level; } + + public String getCustomLevel() { return customLevel; } + public void setCustomLevel(String customLevel) { this.customLevel = customLevel; } +} diff --git a/appserver/admingui/modernized-admingui/src/main/resources/META-INF/admingui/console-config.xml b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/admingui/console-config.xml new file mode 100644 index 00000000000..14b3c55bb9a --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/admingui/console-config.xml @@ -0,0 +1,29 @@ + + + + + + + diff --git a/appserver/admingui/modernized-admingui/src/main/resources/META-INF/faces-config.xml b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/faces-config.xml new file mode 100644 index 00000000000..d6556a3e7a2 --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/faces-config.xml @@ -0,0 +1,12 @@ + + + + + i18n.messages + msg + + + diff --git a/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/gui/loggerSettings.xhtml b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/gui/loggerSettings.xhtml new file mode 100644 index 00000000000..f690ef05b7a --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/gui/loggerSettings.xhtml @@ -0,0 +1,199 @@ + + + + + + Log viewer - GlassFish Admin Console + + + + + + + + + + + +

Logger test

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/images/logger.gif b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/images/logger.gif new file mode 100644 index 00000000000..887aaed1cde Binary files /dev/null and b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/images/logger.gif differ diff --git a/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/navigation/LoggerSettingsNavNode.jsf b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/navigation/LoggerSettingsNavNode.jsf new file mode 100644 index 00000000000..f24625a4b11 --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/META-INF/resources/navigation/LoggerSettingsNavNode.jsf @@ -0,0 +1,49 @@ + + + + diff --git a/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages.properties b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages.properties new file mode 100644 index 00000000000..b9ee824ec9a --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages.properties @@ -0,0 +1,36 @@ +tab.general=General +tab.logLevels=Log Levels + +btn.loadDefaults=Load Defaults +btn.save=Save +btn.addLogger=Add Logger +btn.deleteLogger=Delete Logger +btn.changeLevel=Change Level + +panel.loggerSettings=Logger Settings +table.loggerLevels=Module Log Levels + +label.writeToSystemLog=Write to System Log +label.logToFile=Log to Log File +label.rotationOnDateChange=Rotation on Date Change +label.multilineMode=Multiline Mode +label.consoleLoggingFormat=Console Logging Format +label.logFileLoggingFormat=Log File Logging Format +label.formatExcludeFields=Format Exclude Fields +label.fileRotationLimit=File Rotation Limit (MB) +label.fileRotationTimeLimit=File Rotation Time Limit (minutes) +label.flushFrequency=Flush Frequency +label.maximumHistoryFiles=Maximum History Files +label.logFile=Log File +label.logHandler=Log Handler + +ph.excludeFields=e.g. tid, timeMillis, levelValue +ph.logFile=${com.sun.aas.instanceRoot}/logs/server.log +ph.logHandler=org.glassfish.main.jul.handler.SimpleLogHandler +ph.customLevel=e.g. FINEST + +col.loggerName=Logger Name +col.logLevel=Log Level +col.custom=Custom (optional) + +msg.saved=Settings saved diff --git a/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_en.properties b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_en.properties new file mode 100644 index 00000000000..b9ee824ec9a --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_en.properties @@ -0,0 +1,36 @@ +tab.general=General +tab.logLevels=Log Levels + +btn.loadDefaults=Load Defaults +btn.save=Save +btn.addLogger=Add Logger +btn.deleteLogger=Delete Logger +btn.changeLevel=Change Level + +panel.loggerSettings=Logger Settings +table.loggerLevels=Module Log Levels + +label.writeToSystemLog=Write to System Log +label.logToFile=Log to Log File +label.rotationOnDateChange=Rotation on Date Change +label.multilineMode=Multiline Mode +label.consoleLoggingFormat=Console Logging Format +label.logFileLoggingFormat=Log File Logging Format +label.formatExcludeFields=Format Exclude Fields +label.fileRotationLimit=File Rotation Limit (MB) +label.fileRotationTimeLimit=File Rotation Time Limit (minutes) +label.flushFrequency=Flush Frequency +label.maximumHistoryFiles=Maximum History Files +label.logFile=Log File +label.logHandler=Log Handler + +ph.excludeFields=e.g. tid, timeMillis, levelValue +ph.logFile=${com.sun.aas.instanceRoot}/logs/server.log +ph.logHandler=org.glassfish.main.jul.handler.SimpleLogHandler +ph.customLevel=e.g. FINEST + +col.loggerName=Logger Name +col.logLevel=Log Level +col.custom=Custom (optional) + +msg.saved=Settings saved diff --git a/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_fr.properties b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_fr.properties new file mode 100644 index 00000000000..64313a0836d --- /dev/null +++ b/appserver/admingui/modernized-admingui/src/main/resources/i18n/messages_fr.properties @@ -0,0 +1,43 @@ +# Titres d\u2019onglets +tab.general=G\u00e9n\u00e9ral +tab.logLevels=Niveaux de log + +# Boutons / Actions +btn.loadDefaults=Charger les valeurs par d\u00e9faut +btn.save=Enregistrer +btn.addLogger=Ajouter un logger +btn.deleteLogger=Supprimer +btn.changeLevel=Changer le niveau + +# En-t\u00eates / panneaux +panel.loggerSettings=Param\u00e8tres du logger +table.loggerLevels=Niveaux des modules + +# Libell\u00e9s (onglet G\u00e9n\u00e9ral) +label.writeToSystemLog=\u00c9crire dans le journal syst\u00e8me +label.logToFile=\u00c9crire dans un fichier de log +label.rotationOnDateChange=Rotation au changement de date +label.multilineMode=Mode multilignes +label.consoleLoggingFormat=Format de journalisation console +label.logFileLoggingFormat=Format de journalisation fichier +label.formatExcludeFields=Champs exclus du format +label.fileRotationLimit=Limite de rotation du fichier (Mo) +label.fileRotationTimeLimit=Limite de temps de rotation (minutes) +label.flushFrequency=Fr\u00e9quence de vidage (flush) +label.maximumHistoryFiles=Nombre maximum de fichiers d\u2019historique +label.logFile=Fichier de log +label.logHandler=Gestionnaire (handler) de log + +# Placeholders +ph.excludeFields=ex : tid, timeMillis, levelValue +ph.logFile=\${com.sun.aas.instanceRoot}/logs/server.log +ph.logHandler=org.glassfish.main.jul.handler.SimpleLogHandler +ph.customLevel=ex. FINEST + +# Table (onglet Log Levels) +col.loggerName=Nom du logger +col.logLevel=Niveau de log +col.custom=Personnalis\u00e9 (optionnel) + +# Messages / feedback +msg.saved=Param\u00e8tres enregistr\u00e9s diff --git a/appserver/admingui/pom.xml b/appserver/admingui/pom.xml index 4a0a8ffc7b8..4e3c772480b 100644 --- a/appserver/admingui/pom.xml +++ b/appserver/admingui/pom.xml @@ -87,6 +87,7 @@ concurrent cluster commandrecorder + hello-world community-theme web gf-admingui-connector @@ -99,6 +100,7 @@ corba full war + modernized-admingui diff --git a/appserver/admingui/war/pom.xml b/appserver/admingui/war/pom.xml index d39655eadfd..6e2373fbd75 100644 --- a/appserver/admingui/war/pom.xml +++ b/appserver/admingui/war/pom.xml @@ -65,6 +65,22 @@ + + ${project.groupId} + console-hello-world-plugin + ${project.version} + + + * + * + + + + + ${project.groupId} + modernized-admingui + ${project.version} +