Thursday, 9 November 2023

XDEBUG -- php.ini file


Xdebug: Support — Tailored Installation Instructions

zend_extension = xdebug

xdebug.mode=debug

xdebug.default_enable=1

xdebug.start_start_with_request=yes


Enables Xdebug and Step Debugger in VS Code



Sunday, 5 November 2023

csv upload in php

 



<!DOCTYPE html>
<html>
<head>
    <title>CSV Upload and Database Insert</title>
</head>
<body>
    <form action="<?php echo htmlspecialchars ($_SERVER['PHP_SELF']) ?>" method="post" enctype="multipart/form-data">
        <input type="file" name="csv_file">
        <input type="submit" name="submit" value="Upload CSV">
    </form>
</body>
</html>


<?php
error_reporting(0);
if ($_POST['submit']) {    
    if (isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])) {

        // Database connection
        $db_host = '127.0.0.1';
        $db_user = 'test';
        $db_pass = 'test123';
        $db_name = 'test';
        $db_port = '3306';

        $conn = new mysqli($db_host, $db_user, $db_pass, $db_name, $db_port);

        // $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name, $db_port);

        if ($conn->connect_errno) {
            echo "Failed to connect to MySQL: " . $mysqli->connect_error;
            exit();

        }

        echo "<br>database connection successful";
        // Get the uploaded file
        $csv_file = $_FILES['csv_file']['tmp_name'];

        // Read the CSV file
        $csv_data = file_get_contents($csv_file);
        $csv_rows = explode("\n", $csv_data);

        // Loop through the CSV data and insert into the database
        $sql = "TRUNCATE TABLE csv_table;";
        $conn->query($sql);
        foreach ($csv_rows as $row) {
            $row_data = str_getcsv($row);

            // Assuming the CSV has two columns (change as needed)
            $column1 = $conn->real_escape_string($row_data[0]);
            $column2 = $conn->real_escape_string($row_data[1]);

            // Insert data into the database table (change "your_table_name" to your table name)
            $sql = "INSERT INTO csv_table (value1, value2) VALUES ('$column1', '$column2');";
            $conn->query($sql);
        }

        // Close the database connection
        $conn->close();
        echo "<br> CSV data has been successfully uploaded and inserted into the database.";
    } else {
        echo "Please select a valid CSV file.";
    }
}

?>

Wednesday, 26 April 2023

Peoplesoft Purchase Order Process using GHX system


Peoplesoft Purchase Order Process using GHX system

1. The user logs into the PeopleSoft procurement system and selects the option to access the supplier catalog using punchout.

2. The user is redirected to the supplier's website within the PeopleSoft system and can browse the catalog and select items to purchase.

3. When the user adds items to their cart, the supplier's website generates a shopping cart file containing details about the items and their pricing.

4. The shopping cart file is sent back to PeopleSoft through the punchout connection and is converted into a requisition within the PeopleSoft system.

5. The requisition is then routed for approval according to the company's procurement policies and workflows.

6. Once the requisition is approved, the purchase order is created within the PeopleSoft system.

7. The purchase order is then transmitted to the supplier through the GHX platform, which provides a secure, standardized method of exchanging electronic documents between trading partners.

8. The supplier receives the purchase order through GHX and can begin processing the order.

9. The supplier can then send an electronic invoice back to the buyer through the GHX platform, which can be automatically matched with the purchase order within the PeopleSoft system.

By using the punchout process in PeopleSoft and the GHX platform, companies can streamline the procurement process and reduce errors associated with manual data entry and document processing. This can result in faster order processing times, improved accuracy, and better visibility into transaction status, allowing companies to improve overall supply chain management.


 Here are some of the common documents that may be involved in the PeopleSoft PO process, along with their corresponding EDI document numbers:

1. Purchase Order (PO) - The PO document is used to formally request goods or services from a supplier and typically includes details such as item descriptions, quantities, pricing, and delivery dates. The EDI document number for the PO is typically 850.

2. Purchase Order Acknowledgment (POA) - The POA document is used by the supplier to confirm that they have received and accepted the PO. The POA typically includes details such as the PO number, supplier information, and confirmation of the items and quantities ordered. The EDI document number for the POA is typically 855.

3. Advanced Shipping Notice (ASN) - The ASN document is used by the supplier to provide advance notification of a pending shipment, including details such as the carrier, shipment date, tracking information, and item and quantity information. The EDI document number for the ASN is typically 856.

4. Invoice - The invoice document is used by the supplier to request payment for goods or services that have been provided. The invoice typically includes details such as the supplier information, PO number, item and quantity information, and pricing details. The EDI document number for the invoice is typically 810.



These are just a few examples of the documents that may be involved in the PeopleSoft PO process. Depending on the specific business requirements and trading partner relationships, other documents such as purchase order change requests, order status updates, and payment remittance advice may also be used.



Electronic Data Interchange, or EDI, is a method of exchanging business documents between trading partners in a standardized electronic format. EDI enables companies to exchange documents electronically, such as Purchase Orders, Invoices, and Advance Shipping Notices, in a way that is more efficient, accurate, and secure than traditional paper-based methods.
EDI uses a standardized format for exchanging data, which allows information to be transferred seamlessly between different computer systems. The format is based on a set of EDI standards that have been developed by various organizations, including the American National Standards Institute (ANSI) and the United Nations.

EDI typically involves four key components: sender, receiver, translator, and communication channel. Here's how they work together:

1. Sender: The sender is the company that initiates the EDI transaction by sending a document, such as a Purchase Order, to a trading partner.
2. Receiver: The receiver is the company that receives the EDI document from the sender.
3. Translator: The translator is a software application that converts the EDI document into a format that can be understood by the receiver's computer system. The translator ensures that the data is formatted correctly and meets the necessary EDI standards.
4. Communication channel: The communication channel is the method used to transfer the EDI document from the sender to the receiver. This can be done through various means, such as direct point-to-point connections, VANs (Value-Added Networks), or AS2 (Applicability Statement 2) connections.

Benefits of EDI include:

1. Improved efficiency: EDI can help to automate manual processes, reducing the time and effort required to process transactions. This can result in faster order processing times, reduced errors, and improved supply chain management.
2. Cost savings: By eliminating paper-based processes, EDI can help to reduce the costs associated with printing, postage, and manual data entry.
3. Improved accuracy: EDI can help to reduce errors associated with manual data entry and document processing, resulting in more accurate data and fewer discrepancies.
4. Improved visibility: EDI can help to provide real-time visibility into transaction status, allowing companies to better track the progress of their orders and improve overall supply chain management.




Friday, 8 July 2022

Read excel tables from bunch files in the folder and convert them to csv files with delimiter '|'

import os
import pandas as pd
from janitor import xlsx_table
from tabulate import tabulate

# folder path
dir_path = "C:/test/"

# list to store files
res = []

# Iterate directory
for path in os.listdir(dir_path):
    # check if current path is a file
    if os.path.isfile(os.path.join(dir_path, path)):
        res.append(path)

pd.set_option("display.max_columns", None)
pd.set_option("display.expand_frame_repr", False)
#pd.set_option("max_colwidth", None)

if os.path.exists(dir_path+"/archive/ERPEVAL.txt"):
    os.remove(dir_path+"/archive/ERPEVAL.txt")
    print(dir_path+"/archive/ERPEVAL.txt"+" This file has been deleted successfully")
else:
    print("The file does not exist!")

for a in res:
    #print (a)
    filename = dir_path+a
    print (filename+" -> File Processed successfully")    
    df = pd.DataFrame(xlsx_table(filename,sheetname = 'Questionnaire', table=["datatable"]))    
    # print(df.to_csv(index=False,header=None,line_terminator='\n',sep='|',encoding='utf-8',columns=["ID","Name","Dept","Category","pscore","ascore","fsiscore"]))
    with open(dir_path+"/archive/ERPEVAL.txt", 'a+') as f:
        str = df.to_csv(index=False,header=None,line_terminator='\n',sep='|',encoding='utf-8',columns=["ID","Name","Dept","Category","pscore","ascore","fsiscore"])
        f.write(str)



Sunday, 20 March 2022

Saturday, 12 March 2022

JMX Wildfly 8.2.1



set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.logmanager -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:C:\Users\zafru\Downloads\wildfly-8.2.1.Final\modules\system\layers\base\org\jboss\logmanager\main\jboss-logmanager-1.5.2.Final.jar -Djava.rmi.server.hostname=192.168.1.168 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8686 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

 Steps

1) .\visualvm.exe --cp:a C:/Users/zafru/Downloads/visualvm_212/visualvm/lib/jboss-cli-client.jar

2) standalone.xml


<?xml version="1.0" ?>


<server xmlns="urn:jboss:domain:2.2">


    <extensions>

        <extension module="org.jboss.as.clustering.infinispan"/>

        <extension module="org.jboss.as.connector"/>

        <extension module="org.jboss.as.deployment-scanner"/>

        <extension module="org.jboss.as.ee"/>

        <extension module="org.jboss.as.ejb3"/>

        <extension module="org.jboss.as.jaxrs"/>

        <extension module="org.jboss.as.jdr"/>

        <extension module="org.jboss.as.jmx"/>

        <extension module="org.jboss.as.jpa"/>

        <extension module="org.jboss.as.jsf"/>

        <extension module="org.jboss.as.logging"/>

        <extension module="org.jboss.as.mail"/>

        <extension module="org.jboss.as.naming"/>

        <extension module="org.jboss.as.pojo"/>

        <extension module="org.jboss.as.remoting"/>

        <extension module="org.jboss.as.sar"/>

        <extension module="org.jboss.as.security"/>

        <extension module="org.jboss.as.transactions"/>

        <extension module="org.jboss.as.webservices"/>

        <extension module="org.jboss.as.weld"/>

        <extension module="org.wildfly.extension.batch"/>

        <extension module="org.wildfly.extension.io"/>

        <extension module="org.wildfly.extension.undertow"/>

    </extensions>



    <management>

        <security-realms>

            <security-realm name="ManagementRealm">

                <authentication>

                    <local default-user="$local" skip-group-loading="true"/>

                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>

                </authentication>

                <authorization map-groups-to-roles="false">

                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>

                </authorization>

            </security-realm>

            <security-realm name="ApplicationRealm">

                <authentication>

                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>

                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>

                </authentication>

                <authorization>

                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>

                </authorization>

            </security-realm>

        </security-realms>

        <audit-log>

            <formatters>

                <json-formatter name="json-formatter"/>

            </formatters>

            <handlers>

                <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>

            </handlers>

            <logger log-boot="true" log-read-only="false" enabled="false">

                <handlers>

                    <handler name="file"/>

                </handlers>

            </logger>

        </audit-log>

        <management-interfaces>

            <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">

                <socket-binding http="management-http"/>

            </http-interface>

        </management-interfaces>

        <access-control provider="simple">

            <role-mapping>

                <role name="SuperUser">

                    <include>

                        <user name="$local"/>

                    </include>

                </role>

            </role-mapping>

        </access-control>

    </management>


    <profile>

        <subsystem xmlns="urn:jboss:domain:logging:2.0">

            <console-handler name="CONSOLE">

                <level name="INFO"/>

                <formatter>

                    <named-formatter name="COLOR-PATTERN"/>

                </formatter>

            </console-handler>

            <periodic-rotating-file-handler name="FILE" autoflush="true">

                <formatter>

                    <named-formatter name="PATTERN"/>

                </formatter>

                <file relative-to="jboss.server.log.dir" path="server.log"/>

                <suffix value=".yyyy-MM-dd"/>

                <append value="true"/>

            </periodic-rotating-file-handler>

            <logger category="com.arjuna">

                <level name="WARN"/>

            </logger>

            <logger category="org.apache.tomcat.util.modeler">

                <level name="WARN"/>

            </logger>

            <logger category="org.jboss.as.config">

                <level name="DEBUG"/>

            </logger>

            <logger category="sun.rmi">

                <level name="WARN"/>

            </logger>

            <logger category="jacorb">

                <level name="WARN"/>

            </logger>

            <logger category="jacorb.config">

                <level name="ERROR"/>

            </logger>

            <root-logger>

                <level name="INFO"/>

                <handlers>

                    <handler name="CONSOLE"/>

                    <handler name="FILE"/>

                </handlers>

            </root-logger>

            <formatter name="PATTERN">

                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

            </formatter>

            <formatter name="COLOR-PATTERN">

                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

            </formatter>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:batch:1.0">

            <job-repository>

                <in-memory/>

            </job-repository>

            <thread-pool>

                <max-threads count="10"/>

                <keepalive-time time="30" unit="seconds"/>

            </thread-pool>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:datasources:2.0">

            <datasources>

                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">

                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>

                    <driver>h2</driver>

                    <security>

                        <user-name>sa</user-name>

                        <password>sa</password>

                    </security>

                </datasource>

                <drivers>

                    <driver name="h2" module="com.h2database.h2">

                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>

                    </driver>

                </drivers>

            </datasources>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">

            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:ee:2.0">

            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>

            <concurrent>

                <context-services>

                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>

                </context-services>

                <managed-thread-factories>

                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>

                </managed-thread-factories>

                <managed-executor-services>

                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>

                </managed-executor-services>

                <managed-scheduled-executor-services>

                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>

                </managed-scheduled-executor-services>

            </concurrent>

            <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:ejb3:2.0">

            <session-bean>

                <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>

                <singleton default-access-timeout="5000"/>

            </session-bean>

            <pools>

                <bean-instance-pools>

                    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>

                </bean-instance-pools>

            </pools>

            <caches>

                <cache name="simple"/>

                <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>

            </caches>

            <passivation-stores>

                <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>

            </passivation-stores>

            <timer-service thread-pool-name="default" default-data-store="default-file-store">

                <data-stores>

                    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>

                </data-stores>

            </timer-service>

            <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>

            <thread-pools>

                <thread-pool name="default">

                    <max-threads count="10"/>

                    <keepalive-time time="100" unit="milliseconds"/>

                </thread-pool>

            </thread-pools>

            <default-security-domain value="other"/>

            <default-missing-method-permissions-deny-access value="true"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:io:1.1">

            <worker name="default"/>

            <buffer-pool name="default"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:infinispan:2.0">

            <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">

                <local-cache name="passivation" batching="true">

                    <file-store passivation="true" purge="false"/>

                </local-cache>

                <local-cache name="persistent" batching="true">

                    <file-store passivation="false" purge="false"/>

                </local-cache>

            </cache-container>

            <cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">

                <local-cache name="passivation" batching="true">

                    <file-store passivation="true" purge="false"/>

                </local-cache>

                <local-cache name="persistent" batching="true">

                    <file-store passivation="false" purge="false"/>

                </local-cache>

            </cache-container>

            <cache-container name="hibernate" default-cache="local-query" module="org.hibernate">

                <local-cache name="entity">

                    <transaction mode="NON_XA"/>

                    <eviction strategy="LRU" max-entries="10000"/>

                    <expiration max-idle="100000"/>

                </local-cache>

                <local-cache name="local-query">

                    <transaction mode="NONE"/>

                    <eviction strategy="LRU" max-entries="10000"/>

                    <expiration max-idle="100000"/>

                </local-cache>

                <local-cache name="timestamps">

                    <transaction mode="NONE"/>

                    <eviction strategy="NONE"/>

                </local-cache>

            </cache-container>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>

        <subsystem xmlns="urn:jboss:domain:jca:2.0">

            <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>

            <bean-validation enabled="true"/>

            <default-workmanager>

                <short-running-threads>

                    <core-threads count="50"/>

                    <queue-length count="50"/>

                    <max-threads count="50"/>

                    <keepalive-time time="10" unit="seconds"/>

                </short-running-threads>

                <long-running-threads>

                    <core-threads count="50"/>

                    <queue-length count="50"/>

                    <max-threads count="50"/>

                    <keepalive-time time="10" unit="seconds"/>

                </long-running-threads>

            </default-workmanager>

            <cached-connection-manager/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>

        <subsystem xmlns="urn:jboss:domain:jmx:1.3">

            <expose-resolved-model/>

            <expose-expression-model/>

            <remoting-connector use-management-endpoint="true"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:jpa:1.1">

            <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>

        <subsystem xmlns="urn:jboss:domain:mail:2.0">

            <mail-session name="default" jndi-name="java:jboss/mail/Default">

                <smtp-server outbound-socket-binding-ref="mail-smtp"/>

            </mail-session>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:naming:2.0">

            <remote-naming/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>

        <subsystem xmlns="urn:jboss:domain:remoting:2.0">

            <endpoint worker="default"/>

            <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/>

        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>

        <subsystem xmlns="urn:jboss:domain:security:1.2">

            <security-domains>

                <security-domain name="other" cache-type="default">

                    <authentication>

                        <login-module code="Remoting" flag="optional">

                            <module-option name="password-stacking" value="useFirstPass"/>

                        </login-module>

                        <login-module code="RealmDirect" flag="required">

                            <module-option name="password-stacking" value="useFirstPass"/>

                        </login-module>

                    </authentication>

                </security-domain>

                <security-domain name="jboss-web-policy" cache-type="default">

                    <authorization>

                        <policy-module code="Delegating" flag="required"/>

                    </authorization>

                </security-domain>

                <security-domain name="jboss-ejb-policy" cache-type="default">

                    <authorization>

                        <policy-module code="Delegating" flag="required"/>

                    </authorization>

                </security-domain>

            </security-domains>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:transactions:2.0">

            <core-environment>

                <process-id>

                    <uuid/>

                </process-id>

            </core-environment>

            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:undertow:1.2">

            <buffer-cache name="default"/>

            <server name="default-server">

                <http-listener name="default" socket-binding="http"/>

                <host name="default-host" alias="localhost">

                    <location name="/" handler="welcome-content"/>

                    <filter-ref name="server-header"/>

                    <filter-ref name="x-powered-by-header"/>

                </host>

            </server>

            <servlet-container name="default">

                <jsp-config/>

                <websockets/>

            </servlet-container>

            <handlers>

                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>

            </handlers>

            <filters>

                <response-header name="server-header" header-name="Server" header-value="WildFly/8"/>

                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>

            </filters>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:webservices:1.2">

            <wsdl-host>${jboss.bind.address:0.0.0.0}</wsdl-host>

            <endpoint-config name="Standard-Endpoint-Config"/>

            <endpoint-config name="Recording-Endpoint-Config">

                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">

                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>

                </pre-handler-chain>

            </endpoint-config>

            <client-config name="Standard-Client-Config"/>

        </subsystem>

        <subsystem xmlns="urn:jboss:domain:weld:2.0"/>

    </profile>


    <interfaces>

        <interface name="management">

            <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>

        </interface>

        <interface name="public">

            <inet-address value="${jboss.bind.address:0.0.0.0}"/>

        </interface>

        <interface name="unsecure">

            <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>

        </interface>

    </interfaces>


    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>

        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>

        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>

        <socket-binding name="http" port="${jboss.http.port:8090}"/>

        <socket-binding name="https" port="${jboss.https.port:8443}"/>

        <socket-binding name="txn-recovery-environment" port="4712"/>

        <socket-binding name="txn-status-manager" port="4713"/>

        <outbound-socket-binding name="mail-smtp">

            <remote-destination host="localhost" port="25"/>

        </outbound-socket-binding>

    </socket-binding-group>

</server>


Sunday, 6 February 2022

Android App - Browser Specific URL testing - Source Code

1) activity_main.xml - Layout design

 <?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/btnChrome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:layout_marginTop="163dp"
android:layout_marginBottom="273dp"
android:onClick="btnChrome"
android:text="Chrome"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/urlText" />

<Button
android:id="@+id/btnEdge"
android:layout_width="96dp"
android:layout_height="51dp"
android:layout_marginStart="94dp"
android:layout_marginEnd="69dp"
android:layout_marginBottom="273dp"
android:onClick="btnEdge"
android:text="Edge"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnChrome" />

<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="91dp"
android:layout_marginBottom="69dp"
android:fontFamily="sans-serif-medium"
android:gravity="center"
android:text="Browser URL Tester"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/urlText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

<EditText
android:id="@+id/urlText"
android:layout_width="242dp"
android:layout_height="48dp"
android:layout_marginEnd="55dp"
android:layout_marginBottom="160dp"
android:ems="10"
android:hint="Enter URL"
android:inputType="text"
app:layout_constraintBottom_toTopOf="@+id/btnEdge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView3" />

<TextView
android:id="@+id/textView3"
android:layout_width="74dp"
android:layout_height="31dp"
android:layout_marginStart="30dp"
android:layout_marginTop="80dp"
android:layout_marginBottom="171dp"
android:gravity="center"
android:text="http://"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/btnChrome"
app:layout_constraintEnd_toStartOf="@+id/urlText"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintVertical_bias="1.0" />

<androidx.constraintlayout.helper.widget.Flow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/btnEdge"
app:layout_constraintStart_toEndOf="@+id/btnChrome" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_begin="289dp" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_begin="286dp" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java - Main Java File
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void btnChrome(View view){
TextView tView = findViewById(R.id.textView);
EditText urlTxt = findViewById(R.id.urlText);
String URL = urlTxt.getText().toString();
tView.setText(URL.toString());
openUrlChrome("http://"+URL.toString());
}

public void btnEdge(View view){
TextView tView = findViewById(R.id.textView);
EditText urlTxt = findViewById(R.id.urlText);
String URL = urlTxt.getText().toString();
tView.setText(URL.toString());
openUrlEdge("http://"+URL.toString());
}

public void openUrlChrome(String url) {
//url = url.replace("http://","");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");
try {

startActivity(intent);
} catch (ActivityNotFoundException ex) {

intent.setPackage(null);
startActivity(Intent.createChooser(intent, "Select Browser"));
}

}

public void openUrlEdge(String url) {
//url = url.replace("http://","");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.edge");
try {

startActivity(intent);
} catch (ActivityNotFoundException ex) {

intent.setPackage(null);
startActivity(Intent.createChooser(intent, "Select Browser"));
}
}
}