Search in sources :

Example 1 with StringUtil

use of org.openntf.openliberty.domino.util.commons.ibm.StringUtil in project openliberty-domino by OpenNTF.

the class LibertyServerInstance method getListeningPorts.

@Override
public Collection<Integer> getListeningPorts() {
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    Path serverXml = getWlpRoot().resolve("usr").resolve("servers").resolve(serverName).resolve("server.xml");
    if (Files.isRegularFile(serverXml)) {
        // Parse the server.xml for port information
        try {
            XMLDocument xml = new XMLDocument();
            try (InputStream is = Files.newInputStream(serverXml)) {
                xml.loadInputStream(is);
            }
            // $NON-NLS-1$
            XMLNodeList nodes = xml.selectNodes("/server/httpEndpoint");
            if (!nodes.isEmpty()) {
                // Last one wins in WLP
                XMLNode node = nodes.get(nodes.size() - 1);
                // $NON-NLS-1$
                String host = node.getAttribute("host");
                if (StringUtil.isEmpty(host)) {
                    host = InetAddress.getLocalHost().getHostName();
                }
                // $NON-NLS-1$
                String httpPort = node.getAttribute("httpPort");
                if (StringUtil.isEmpty(httpPort)) {
                    // This seems to be the default when unspecified
                    // $NON-NLS-1$
                    httpPort = "9080";
                }
                // $NON-NLS-1$
                String httpsPort = node.getAttribute("httpsPort");
                return Stream.of(httpPort, httpsPort).filter(StringUtil::isNotEmpty).filter(// $NON-NLS-1$
                p -> !"-1".equals(p)).map(port -> Integer.parseInt(port)).collect(Collectors.toList());
            }
        } catch (IOException e) {
            throw new UncheckedIOException(e);
        } catch (SAXException | ParserConfigurationException e) {
            throw new RuntimeException(e);
        }
    }
    return Collections.emptyList();
}
Also used : Path(java.nio.file.Path) Manifest(java.util.jar.Manifest) ZipInputStream(java.util.zip.ZipInputStream) XMLDocument(org.openntf.openliberty.domino.util.xml.XMLDocument) ServerConfiguration(org.openntf.openliberty.domino.server.ServerConfiguration) HashMap(java.util.HashMap) StandardCopyOption(java.nio.file.StandardCopyOption) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) InetAddress(java.net.InetAddress) HashSet(java.util.HashSet) XMLNode(org.openntf.openliberty.domino.util.xml.XMLNode) MessageFormat.format(java.text.MessageFormat.format) Messages(org.openntf.openliberty.domino.runtime.Messages) AbstractJavaServerInstance(org.openntf.openliberty.domino.server.AbstractJavaServerInstance) DominoThreadFactory(org.openntf.openliberty.domino.util.DominoThreadFactory) XMLNodeList(org.openntf.openliberty.domino.util.xml.XMLNodeList) Map(java.util.Map) Path(java.nio.file.Path) ZipEntry(java.util.zip.ZipEntry) RuntimeConfigurationProvider(org.openntf.openliberty.domino.config.RuntimeConfigurationProvider) StreamRedirector(org.openntf.openliberty.domino.util.StreamRedirector) OutputStream(java.io.OutputStream) PrintStream(java.io.PrintStream) LogFileWatcher(org.openntf.openliberty.domino.util.LogFileWatcher) Files(java.nio.file.Files) BufferedWriter(java.io.BufferedWriter) Collection(java.util.Collection) StandardOpenOption(java.nio.file.StandardOpenOption) Set(java.util.Set) IOException(java.io.IOException) RuntimeDeploymentTask(org.openntf.openliberty.domino.runtime.RuntimeDeploymentTask) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) File(java.io.File) StandardCharsets(java.nio.charset.StandardCharsets) StringUtil(org.openntf.openliberty.domino.util.commons.ibm.StringUtil) UncheckedIOException(java.io.UncheckedIOException) OpenLibertyUtil(org.openntf.openliberty.domino.util.OpenLibertyUtil) List(java.util.List) Stream(java.util.stream.Stream) Paths(java.nio.file.Paths) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException) Writer(java.io.Writer) OpenLibertyLog(org.openntf.openliberty.domino.log.OpenLibertyLog) Collections(java.util.Collections) InputStream(java.io.InputStream) XMLNode(org.openntf.openliberty.domino.util.xml.XMLNode) ZipInputStream(java.util.zip.ZipInputStream) InputStream(java.io.InputStream) UncheckedIOException(java.io.UncheckedIOException) IOException(java.io.IOException) UncheckedIOException(java.io.UncheckedIOException) XMLDocument(org.openntf.openliberty.domino.util.xml.XMLDocument) SAXException(org.xml.sax.SAXException) XMLNodeList(org.openntf.openliberty.domino.util.xml.XMLNodeList) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException)

Aggregations

BufferedWriter (java.io.BufferedWriter)1 File (java.io.File)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 OutputStream (java.io.OutputStream)1 PrintStream (java.io.PrintStream)1 UncheckedIOException (java.io.UncheckedIOException)1 Writer (java.io.Writer)1 InetAddress (java.net.InetAddress)1 StandardCharsets (java.nio.charset.StandardCharsets)1 Files (java.nio.file.Files)1 Path (java.nio.file.Path)1 Paths (java.nio.file.Paths)1 StandardCopyOption (java.nio.file.StandardCopyOption)1 StandardOpenOption (java.nio.file.StandardOpenOption)1 MessageFormat.format (java.text.MessageFormat.format)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1