Re: How do I determine which hardware device and software has log4j zero-day security vulnerability?

2021-12-16 Thread Zahid Rahman
A simple  two line Java program  explaining  the bug.

https://youtu.be/0-abhd-CLwQ.


Regards




On Thursday, 16 December 2021, Lukasz Lenart 
wrote:

> Hi,
>
> This rather a wrong place to ask such questions, I would suggest
> asking on the Log4j user list. You can also try to use a commercial
> support like for example here: https://explore.tidelift.com/log4shell
> and ask l...@tidelift.com for more information.
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> czw., 16 gru 2021 o 15:29 Turritopsis Dohrnii Teo En Ming
>  napisał(a):
> >
> > Subject: How do I determine which hardware device and software has
> > log4j zero-day security vulnerability?
> >
> > Good day from Singapore,
> >
> > I am working for a Systems Integrator (SI) in Singapore. We have
> > several clients writing in, requesting us to identify log4j zero-day
> > security vulnerability in their corporate infrastructure.
> >
> > It seems to be pretty difficult to determine which hardware device and
> > which software has the vulnerability. There seems to be no lists of
> > hardware devices and software affected by the flaw any where on the
> > internet.
> >
> > Could you refer me to definitive documentation/guides on how to
> > identify log4j security flaw in hardware devices and software?
> >
> > Thank you very much for your kind assistance.
> >
> > Mr. Turritopsis Dohrnii Teo En Ming, 43 years old as of 16 Dec 2021,
> > is a TARGETED INDIVIDUAL living in Singapore. He is an IT Consultant
> > with a Systems Integrator (SI)/computer firm in Singapore. He is an IT
> > enthusiast.
> >
> >
> >
> >
> >
> > -BEGIN EMAIL SIGNATURE-
> >
> > The Gospel for all Targeted Individuals (TIs):
> >
> > [The New York Times] Microwave Weapons Are Prime Suspect in Ills of
> > U.S. Embassy Workers
> >
> > Link:
> > https://www.nytimes.com/2018/09/01/science/sonic-attack-
> cuba-microwave.html
> >
> > 
> 
> >
> > Singaporean Targeted Individual Mr. Turritopsis Dohrnii Teo En Ming's
> > Academic Qualifications as at 14 Feb 2019 and refugee seeking attempts
> > at the United Nations Refugee Agency Bangkok (21 Mar 2017), in Taiwan
> > (5 Aug 2019) and Australia (25 Dec 2019 to 9 Jan 2020):
> >
> > [1] https://tdtemcerts.wordpress.com/
> >
> > [2] https://tdtemcerts.blogspot.sg/
> >
> > [3] https://www.scribd.com/user/270125049/Teo-En-Ming
> >
> > -END EMAIL SIGNATURE-
> >
> > -
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> >
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

-- 

https://www .backbutton.org
¯\_(ツ)_/¯
♡۶♡ ۶♡۶




Re: How to implement custom StrutsTypeConverter to convert String to Collection?

2021-08-17 Thread Zahid Rahman
 >> I've spent the better part of a day in the debugger, but ultimately
figured
it out.

you're bill-able.
Put it on the time sheet.  :)


zahid
https://www.backbutton.org

¯\_(ツ)_/¯
♡۶♡۶ ♡۶


On Fri, 13 Aug 2021, 12:15 Martin Gainty,  wrote:

> Assuming you can locate Struts version which supports CollectionConverter
> and implementor DefaultTypeConverter codebase
>
> You will of course need to code at least one testcase to make sure
> MyStringToCollectionConverter works
>
> Once testcase is coded and works
> can you submit MyStringToCollectionConverter and TestCase  as Struts patch
> to CollectionConverter code base?
>
> Thanks Burton!
> M-
>
> 
> From: Burton Rhodes 
> Sent: Thursday, August 12, 2021 9:07 AM
> To: Struts Users Mailing List 
> Subject: Re: How to implement custom StrutsTypeConverter to convert String
> to Collection?
>
> Thanks Zahid -
> I've spent the better part of a day in the debugger, but ultimately figured
> it out.  Essentially, I first needed to use the DefaultTypeConverter to
> parse the individual elements, then use the CollectionConverter to place
> the elements into the final Collection needed for the Action.  In case
> anyone is interested, here is my final code that converts a comma separated
> string into a collection using a custom Struts type converter:
>
> /**
>  * Converter class to convert comma separated string to a collection
> *   (e.g. form input value of "[a,b,c]" -> Set())
>  */
> public class MyStringToCollectionConverter extends DefaultTypeConverter {
>
> private ObjectTypeDeterminer objectTypeDeterminer;
>
> @Inject
> public void setObjectTypeDeterminer(ObjectTypeDeterminer determiner) {
> this.objectTypeDeterminer = determiner;
> }
>
> @Override
> public Object convertValue(Map context, Object target,
> Member member, String propertyName, Object value, Class toType) {
>
> // Clean up and parse values into []
> String s = ((String[]) value)[0];
> String temp = s.replaceAll("[\\[\\]\"']", "");
> String[] cleanedValues = Arrays.stream(temp.split(","))
> .map(String::trim)
> .filter(StringUtils::isNotBlank)
> .toArray(String[]::new);
>
> // Convert values into an Object[] of "memberType"
> Class memberType =
> objectTypeDeterminer.getElementClass(target.getClass(), propertyName,
> null);
> Object[] convertedValues = Arrays.stream(cleanedValues)
> .map(val -> convertValue(val, memberType))
> .toArray();
>
> // Use CollectionConverter to convert values into the expected
> collection
> CollectionConverter collectionConverter = new
> CollectionConverter();
> collectionConverter.setObjectTypeDeterminer(objectTypeDeterminer);
> return collectionConverter.convertValue(context, target, member,
> propertyName, convertedValues, toType);
> }
> }
>
>
> On Wed, Aug 11, 2021 at 6:49 PM Zahid Rahman  wrote:
>
> >   > I have a html form input that submits a string value that needs to be
> > converted to a java Collection.
> >
> > To find the bug in logic
> > I would  hard code a string which is expected  from html input form.
> >
> > Using an IDE .
> >
> > Set a break point there to go into debug mode.
> >
> > Step through the code one step at a time.
> > Watch the string values changes
> > In the debug window.
> > Then you can see  the  data values change as expected or not at each
> step.
> >
> >
> >
> >
> > zahid
> >
> >
> >
> > https://www.backbutton.org
> >
> > ¯\_(ツ)_/¯
> > ♡۶♡۶ ♡۶
> >
> >
> > On Wed, 11 Aug 2021, 13:50 Burton Rhodes, 
> wrote:
> >
> > > I have a html form input that submits a string value that needs to be
> > > converted to a java Collection (a Set object in this case).
> Specifically
> > > the input key/value is: viewTasksFilter.taskStatuses="[OPEN,COMPLETE]".
> > >  In the "viewTaskFilter" object, "taskStatuses" is defined as a Set
> with
> > > enum values (Set taskStatuses).  The custom converter below
> > > does convert the input form value to a Set, however it is a Set
> > > (not Set).  This is an issue because the Struts Action
> member
> > > variable "viewTasksFilter.taskStatuses" now contains a Set of the wrong
> > > type.  Since I will have other variables that need this logic, I would
> > > prefer n

Re: How to implement custom StrutsTypeConverter to convert String to Collection?

2021-08-11 Thread Zahid Rahman
  > I have a html form input that submits a string value that needs to be
converted to a java Collection.

To find the bug in logic
I would  hard code a string which is expected  from html input form.

Using an IDE .

Set a break point there to go into debug mode.

Step through the code one step at a time.
Watch the string values changes
In the debug window.
Then you can see  the  data values change as expected or not at each step.




zahid



https://www.backbutton.org

¯\_(ツ)_/¯
♡۶♡۶ ♡۶


On Wed, 11 Aug 2021, 13:50 Burton Rhodes,  wrote:

> I have a html form input that submits a string value that needs to be
> converted to a java Collection (a Set object in this case).  Specifically
> the input key/value is: viewTasksFilter.taskStatuses="[OPEN,COMPLETE]".
>  In the "viewTaskFilter" object, "taskStatuses" is defined as a Set with
> enum values (Set taskStatuses).  The custom converter below
> does convert the input form value to a Set, however it is a Set
> (not Set).  This is an issue because the Struts Action member
> variable "viewTasksFilter.taskStatuses" now contains a Set of the wrong
> type.  Since I will have other variables that need this logic, I would
> prefer not to hardcode the Set in this converter.  Is there a
> way to use existing Struts "converter code" to convert the Set to
> the appropriate Set?  I know the built-in Struts converters already
> do this, but I am unable to figure out how to do this in a custom
> converter.  Is this possible?  Or is this even the right way to solve this
> issue?  Any help is appreciated!
>
>
> /**
>  * Converter class to convert comma separated string to a collection
>  */
> public class MyStringToCollectionConverter extends StrutsTypeConverter {
>
> @Override
> public Object convertFromString(Map context, String[] values, Class
> toClass) {
>
> String s = values[0];
> String temp = s.replaceAll("[\\[\\]\"']", "");
> List cleanedValues = Arrays.stream(temp.split(","))
> .map(String::trim)
> .collect(Collectors.toList());
>
> if (toClass == Set.class) {
> try {
> if (cleanedValues.size() == 0) {
> return null;
> } else {
> return new HashSet<>(cleanedValues);
> }
> } catch (Exception e) {
> throw new TypeConversionException("Could not parse to Set
> class:" + Arrays.toString(values));
> }
>
> } else if (toClass == List.class) {
> try {
> if (cleanedValues.size() == 0) {
> return null;
> } else {
> return cleanedValues;
> }
> } catch (Exception e) {
> throw new TypeConversionException("Could not parse to List
> class:" + Arrays.toString(values));
> }
>
> }
>
> return null;
> }
>
> @Override
> public String convertToString(Map context, Object o) {
> if (o == null) {
> return null;
> } else {
> return o.toString();
> }
> }
> }
>


Re: security : context relative URL(s)

2020-09-16 Thread Zahid Rahman
Thanks for clearing some doubts:

a) web.xml is indispensable.

b) Some claims about JSPs on the Internet are untrue.

c) my how to book  Mastering Tomcat Development is still current.


Regards
Z.

https://www.backbutton.co.uk/
¯\_(ツ)_/¯
♡۶♡۶ ♡۶
Years of commercial experience in designing , developing your own framework
can save you Weeks of learning a framework.

Weeks of coding can save you hours of planning.


On Tue, 15 Sep 2020, 06:59 Lukasz Lenart,  wrote:

> sob., 5 wrz 2020 o 19:44 Zahid Rahman  napisał(a):
> >
> > Hi,
> >
> > Can I apply these same security features in struts2 which were applied in
> > struts1
> > now that  the use of web.xml TAGS is discouraged in favour of
> annotations.
> >
> >
> > *example deployment descriptor *
> > *$CATALINA_HOME/webapps/examples/WEB-INF/web.xml*
> >
> > 
> >  example Security Constraint  
> > 
> >  Protected Web Area 
> > 
> > /jsp/security/protected/*
> > .
> > DELETE
> > GET
> > POST
> > PUT
> > 
> > 
> > 
>
> Yes, you can and this is a good practice
> https://struts.apache.org/security/#never-expose-jsp-files-directly
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


security : context relative URL(s)

2020-09-05 Thread Zahid Rahman
Hi,

Can I apply these same security features in struts2 which were applied in
struts1
now that  the use of web.xml TAGS is discouraged in favour of annotations.


*example deployment descriptor *
*$CATALINA_HOME/webapps/examples/WEB-INF/web.xml*


 example Security Constraint  

 Protected Web Area 

/jsp/security/protected/*
.
DELETE
GET
POST
PUT




Regards
Z.

Framework :   Years of commercial experience in designing , developing your
own framework can save you Weeks of learning a framework.
--

https://www.backbutton.co.uk/ 
¯\_(ツ)_/¯
♡۶♡۶ ♡۶



Re: [ANN] [SECURITY] Announcing CVE-2019-0230 (Possible RCE) and CVE-2019-0233 (DoS) security issues

2020-08-14 Thread Zahid Rahman
Thanks ,
I will setup  tomcat with apache
As described here
https://en.m.wikipedia.org/wiki/Apache_JServ_Protocol

Then try to replicate  OGNL injection vulnerability.

It should be fun !



On Fri, 14 Aug 2020, 07:38 Rene Gielen,  wrote:

> In Java and Java EE, typical vectors for RCEs, injecting code to be
> executed, include expressions where expression languages are supprted
> (JUEL, SpEL or, in the case of Struts 2, OGNL) or serialization attacks.
>
> Once the code is injected, it operates with the OS rights of the running
> user (e.g. UID of Tomcat process) within the given limit of the JVM (is
> the JVM security sandbox enabled or not? what is accesible on your
> classloader?). Additional protections may apply, such as Struts adding
> preventions for accessig certain classes or packages when OGNL
> expressions are evaluated.
>
> This has happended A LOT in the last 20 years, not only with Struts.
>
> Am 14.08.20 um 02:07 schrieb Zahid Rahman:
> > Maybe I misunderstand , there has always existed an apache solution to
> > prevent anyone executing code on the application server.
> > Its like 20 years old solution.
> >
> > See www.backbutton.co.uk for more details.
> > https://backbutton.co.uk/
> >
> >
> >
> >
> > On Thu, 13 Aug 2020, 11:18 Rene Gielen,  wrote:
> >
> >> Two new Struts Security Bulletins have been issued for Struts 2 by the
> >> Apache Struts Security Team: [1]
> >>
> >> S2-059 - Forced double OGNL evaluation, when evaluated on raw user input
> >> in tag attributes, may lead to remote code execution (CVE-2019-0230) [2]
> >>
> >> S2-060 - Access permission override causing a Denial of Service when
> >> performing a file upload (CVE-2019-0233) [3]
> >>
> >> Both issues affect Apache Struts in the version range 2.0.0 - 2.5.20.
> >> The current version 2.5.22, which was released in November 2019, is not
> >> affected.
> >>
> >> CVE-2019-0230 has been reported by Matthias Kaiser, Apple Information
> >> Security. By design, Struts 2 allows developers to utilize forced double
> >> evaluation for certain tag attributes. When used with unvalidated, user
> >> modifiable input, malicious OGNL expressions may be injected. In an
> >> ongoing effort, the Struts framework includes mitigations for limiting
> >> the impact of injected expressions, but Struts before 2.5.22 left an
> >> attack vector open which is addressed by this report. [2]
> >>
> >> However, we continue to urge developers building upon Struts 2 to not
> >> use %{...} syntax referencing unvalidated user modifiable input in tag
> >> attributes, since this is the ultimate fix for this class of
> >> vulnerabilities. [4]
> >>
> >> CVE-2019-0233 has been reported by Takeshi Terada of Mitsui Bussan
> >> Secure Directions, Inc. In Struts before 2.5.22, when a file upload is
> >> performed to an Action that exposes the file with a getter, an attacker
> >> may manipulate the request such that the working copy of the uploaded
> >> file or even the container temporary upload directory may be set to
> >> read-only access. As a result, subsequent actions on the file or file
> >> uploads in general will fail with an error. [3]
> >>
> >> Both issues are already fixed in Apache Struts 2.5.22, which was
> >> released in November 2019.
> >>
> >> We strongly recommend all users to upgrade to Struts 2.5.22, if this has
> >> not been done already. [5][6]
> >>
> >> The Apache Struts Security Team would like to thank the reporters for
> >> their efforts and their practice of responsible disclosure, as well as
> >> their help while investigating the report and coordinating public
> >> disclosure.
> >>
> >> [1] https://struts.apache.org/announce.html#a20200813
> >> [2] https://cwiki.apache.org/confluence/display/ww/s2-059
> >> [3] https://cwiki.apache.org/confluence/display/ww/s2-060
> >> [4]
> >>
> >>
> https://struts.apache.org/security/#use-struts-tags-instead-of-raw-el-expressions
> >> [5] https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.22
> >> [6] https://struts.apache.org/download.cgi#struts-ga
> >>
> >> --
> >> René Gielen
> >> http://twitter.com/rgielen
> >>
> >>
> >
>
> --
> René Gielen
> http://twitter.com/rgielen
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Re: [ANN] [SECURITY] Announcing CVE-2019-0230 (Possible RCE) and CVE-2019-0233 (DoS) security issues

2020-08-13 Thread Zahid Rahman
> Definitely a possibility

You doubt yourself.
I'm think it is not a misunderstanding for certain.


On Fri, 14 Aug 2020, 01:42 Dave Newton,  wrote:

> On Thu, Aug 13, 2020 at 20:08 Zahid Rahman  wrote:
>
> > Maybe I misunderstand
>
>
> Definitely a possibility.
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Re: [ANN] [SECURITY] Announcing CVE-2019-0230 (Possible RCE) and CVE-2019-0233 (DoS) security issues

2020-08-13 Thread Zahid Rahman
Maybe I misunderstand , there has always existed an apache solution to
prevent anyone executing code on the application server.
Its like 20 years old solution.

See www.backbutton.co.uk for more details.
https://backbutton.co.uk/

Backbutton.co.uk
¯\_(ツ)_/¯
♡۶Java♡۶RMI ♡۶


On Thu, 13 Aug 2020 at 11:18, Rene Gielen  wrote:

> Two new Struts Security Bulletins have been issued for Struts 2 by the
> Apache Struts Security Team: [1]
>
> S2-059 - Forced double OGNL evaluation, when evaluated on raw user input
> in tag attributes, may lead to remote code execution (CVE-2019-0230) [2]
>
> S2-060 - Access permission override causing a Denial of Service when
> performing a file upload (CVE-2019-0233) [3]
>
> Both issues affect Apache Struts in the version range 2.0.0 - 2.5.20.
> The current version 2.5.22, which was released in November 2019, is not
> affected.
>
> CVE-2019-0230 has been reported by Matthias Kaiser, Apple Information
> Security. By design, Struts 2 allows developers to utilize forced double
> evaluation for certain tag attributes. When used with unvalidated, user
> modifiable input, malicious OGNL expressions may be injected. In an
> ongoing effort, the Struts framework includes mitigations for limiting
> the impact of injected expressions, but Struts before 2.5.22 left an
> attack vector open which is addressed by this report. [2]
>
> However, we continue to urge developers building upon Struts 2 to not
> use %{...} syntax referencing unvalidated user modifiable input in tag
> attributes, since this is the ultimate fix for this class of
> vulnerabilities. [4]
>
> CVE-2019-0233 has been reported by Takeshi Terada of Mitsui Bussan
> Secure Directions, Inc. In Struts before 2.5.22, when a file upload is
> performed to an Action that exposes the file with a getter, an attacker
> may manipulate the request such that the working copy of the uploaded
> file or even the container temporary upload directory may be set to
> read-only access. As a result, subsequent actions on the file or file
> uploads in general will fail with an error. [3]
>
> Both issues are already fixed in Apache Struts 2.5.22, which was
> released in November 2019.
>
> We strongly recommend all users to upgrade to Struts 2.5.22, if this has
> not been done already. [5][6]
>
> The Apache Struts Security Team would like to thank the reporters for
> their efforts and their practice of responsible disclosure, as well as
> their help while investigating the report and coordinating public
> disclosure.
>
> [1] https://struts.apache.org/announce.html#a20200813
> [2] https://cwiki.apache.org/confluence/display/ww/s2-059
> [3] https://cwiki.apache.org/confluence/display/ww/s2-060
> [4]
>
> https://struts.apache.org/security/#use-struts-tags-instead-of-raw-el-expressions
> [5] https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.22
> [6] https://struts.apache.org/download.cgi#struts-ga
>
> --
> René Gielen
> http://twitter.com/rgielen
>
>


Re: [ANN] [SECURITY] Announcing CVE-2019-0230 (Possible RCE) and CVE-2019-0233 (DoS) security issues

2020-08-13 Thread Zahid Rahman
Maybe I misunderstand , there has always existed an apache solution to
prevent anyone executing code on the application server.
Its like 20 years old solution.

See www.backbutton.co.uk for more details.
https://backbutton.co.uk/




On Thu, 13 Aug 2020, 11:18 Rene Gielen,  wrote:

> Two new Struts Security Bulletins have been issued for Struts 2 by the
> Apache Struts Security Team: [1]
>
> S2-059 - Forced double OGNL evaluation, when evaluated on raw user input
> in tag attributes, may lead to remote code execution (CVE-2019-0230) [2]
>
> S2-060 - Access permission override causing a Denial of Service when
> performing a file upload (CVE-2019-0233) [3]
>
> Both issues affect Apache Struts in the version range 2.0.0 - 2.5.20.
> The current version 2.5.22, which was released in November 2019, is not
> affected.
>
> CVE-2019-0230 has been reported by Matthias Kaiser, Apple Information
> Security. By design, Struts 2 allows developers to utilize forced double
> evaluation for certain tag attributes. When used with unvalidated, user
> modifiable input, malicious OGNL expressions may be injected. In an
> ongoing effort, the Struts framework includes mitigations for limiting
> the impact of injected expressions, but Struts before 2.5.22 left an
> attack vector open which is addressed by this report. [2]
>
> However, we continue to urge developers building upon Struts 2 to not
> use %{...} syntax referencing unvalidated user modifiable input in tag
> attributes, since this is the ultimate fix for this class of
> vulnerabilities. [4]
>
> CVE-2019-0233 has been reported by Takeshi Terada of Mitsui Bussan
> Secure Directions, Inc. In Struts before 2.5.22, when a file upload is
> performed to an Action that exposes the file with a getter, an attacker
> may manipulate the request such that the working copy of the uploaded
> file or even the container temporary upload directory may be set to
> read-only access. As a result, subsequent actions on the file or file
> uploads in general will fail with an error. [3]
>
> Both issues are already fixed in Apache Struts 2.5.22, which was
> released in November 2019.
>
> We strongly recommend all users to upgrade to Struts 2.5.22, if this has
> not been done already. [5][6]
>
> The Apache Struts Security Team would like to thank the reporters for
> their efforts and their practice of responsible disclosure, as well as
> their help while investigating the report and coordinating public
> disclosure.
>
> [1] https://struts.apache.org/announce.html#a20200813
> [2] https://cwiki.apache.org/confluence/display/ww/s2-059
> [3] https://cwiki.apache.org/confluence/display/ww/s2-060
> [4]
>
> https://struts.apache.org/security/#use-struts-tags-instead-of-raw-el-expressions
> [5] https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.22
> [6] https://struts.apache.org/download.cgi#struts-ga
>
> --
> René Gielen
> http://twitter.com/rgielen
>
>


Re: ./mvnw spring-boot:run struts equivalent

2020-06-06 Thread Zahid Rahman
Thank you

Rafiudeen Chozhan K
James Chaplin
Dave Newton.

and anyone interested in mastering DATA SCIENCE.
May be make use of https://machinelearningmastery.com.

Then moving on to  Apache Spark,  10 + years old project, the framework  to
use rather than  Apache Flink. See page 377 in the Spark The definitive
guide for details.

I would love to be fly on the wall there  -> , Watch "Airbus makes more of
the sky with Flink - Jesse Anderson & Hassene Ben Salem" on YouTube
https://youtu.be/sYlbD_OoHhs


Backbutton.co.uk <http://backbutton.co.uk/>
¯\_(ツ)_/¯
♡۶Java♡۶RMI ♡۶
Make Use Method {MUM}
makeuse.org


On Sun, 31 May 2020, 03:07 ,  wrote:

> Hello Zahid,
> The below page provides list of 'Apache Tomcat Versions' and
> their supported version of Java, Servlet/JSP spec,
> Authentication (JASIC) Spec, etc.
>
> https://tomcat.apache.org/whichversion.html
> --
> Regards,
> Rafiudeen Chozhan K
> On 5/31/2020 at 12:57 AM, "James Chaplin"  wrote:Hello Zahid.
>
>  It should be possible to deploy a Struts 2 application on most
> Java application servers that exist these days.  I believe that Struts
> 2.5.x needs an application server supporting a minimum of Servlet API
> 2.4 / JSP API 2.0.  Most application servers released in the past
> 10-15 years should provide those API levels.
>
>  Application servers have their own configuration quirks, so you
> may need to play around a little, depending on both the application
> and the application server.  Tomcat and TomEE are usually good
> starting points to try a basic Struts 2 deployment out, or compare
> against.
>
>  If you are looking at a particular Java application server, you
> can try deploying the Struts 2 Showcase Webapps on a testing instance
> and see how things go.  If the showcase works, it is a good indicator
> that Struts 2 applications can probably run on that application
> server.
>
>  Hope that helps.
> On 2020/05/29 11:39:21, Zahid Rahman  wrote:
> > Hi,
> >
> > > No, you create a web app with it ..
> > Just checking. Thanks
> >
> > I downloaded  struts-examples-master.zip
> > I am opening one app at a time in eclipse to get to know the
> features while
> > following following
> >
>
> https://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html
> >
> > So for example I open message-resource
> > while following the documents for Exception Handling.
> > I have to say the documents *perfect*.
> > No wonder there is no user-mailing traffic.!
> >
> > I also read in one of the archetype configuration files {I can't
> find it
> > right now otherwise I give you precise details }
> > *" # workaround for weblogic.*
> > param.request = No "
> >
> > From that my understanding is that Struts2 can run on freeware  app
> servers
> > like tomcat and Wildfly
> > and commercialware ones like weblogic and websphere.
> > Do I understand that correctly ?
> >
> > Are there any other application  servers ?
> >
> > Backbutton.co.uk
> > ¯_(ツ)_/¯
> > ♡۶Java♡۶RMI ♡۶
> >
> >
> > On Fri, 29 May 2020 at 02:58, Dave Newton  wrote:
> >
> > > No, you create a web app with it. The S2 archtypes *are* runnable,
> or you
> > > can create a web app in the typical way, or you can follow a
> tutorial,
> > > including the minimal one at
> > >
> > >
>
> https://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html
> > > .
> > >
> > >
> > > On Thu, May 28, 2020 at 21:51 Zahid Rahman  wrote:
> > >
> > > > Hi,
> > > > I git cloned https://github.com/apache/struts this.
> > > > then I ran   ./mvnw clean  package install.
> > > >
> > > > is there a struts equivalent  *./mvnw spring-boot:run* to run it
> ?
> > > > I tried ./mvnw jetty:run then didn't work.
> > > >
> > > >
> > > > Backbutton.co.uk
> > > > ¯_(ツ)_/¯
> > > >
> > > >
> > > --
> > > em: davelnew...@gmail.com
> > > mo: 908-380-8699
> > > tw: @dave_newton
> > > li: dave-newton
> > > gh: davelnewton
> > > so: Dave Newton
> > > bl[0]: Bucky Bits
> > > bl[1]: Maker's End Blog
> > > sk: davelnewton_skype
> > >
> >
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org


Re: ./mvnw spring-boot:run struts equivalent

2020-05-29 Thread Zahid Rahman
Hi,

> No, you create a web app with it ..
Just checking. Thanks

I downloaded  struts-examples-master.zip
I am opening one app at a time in eclipse to get to know the features while
following following
https://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html

So for example I open message-resource
while following the documents for Exception Handling.
I have to say the documents *perfect*.
No wonder there is no user-mailing traffic.!

I also read in one of the archetype configuration files {I can't find it
right now otherwise I give you precise details }
*" # workaround for weblogic.*
param.request = No "

>From that my understanding is that Struts2 can run on freeware  app servers
like tomcat and Wildfly
and commercialware ones like weblogic and websphere.
Do I understand that correctly ?

Are there any other application  servers ?

Backbutton.co.uk
¯\_(ツ)_/¯
♡۶Java♡۶RMI ♡۶


On Fri, 29 May 2020 at 02:58, Dave Newton  wrote:

> No, you create a web app with it. The S2 archtypes *are* runnable, or you
> can create a web app in the typical way, or you can follow a tutorial,
> including the minimal one at
>
> https://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html
> .
>
>
> On Thu, May 28, 2020 at 21:51 Zahid Rahman  wrote:
>
> > Hi,
> > I git cloned https://github.com/apache/struts this.
> > then I ran   ./mvnw clean  package install.
> >
> > is there a struts equivalent  *./mvnw spring-boot:run* to run it ?
> > I tried ./mvnw jetty:run then didn't work.
> >
> >
> > Backbutton.co.uk
> > ¯\_(ツ)_/¯
> > <http://www.backbutton.co.uk>
> >
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


./mvnw spring-boot:run struts equivalent

2020-05-28 Thread Zahid Rahman
Hi,
I git cloned https://github.com/apache/struts this.
then I ran   ./mvnw clean  package install.

is there a struts equivalent  *./mvnw spring-boot:run* to run it ?
I tried ./mvnw jetty:run then didn't work.


Backbutton.co.uk
¯\_(ツ)_/¯



Re: Archetype

2020-05-28 Thread Zahid Rahman
I remember the archetype generated a class  with values YES NO
like so.
I remembered the author I think it was Ted Husted.

public enum Answer {
YES,
NO;
}



On Thu, 28 May 2020 at 19:21, Dave Newton  wrote:

> It contains an enum? That's not much to go on--there are some jQuery
> archetypes for the jQuery plugin.
>
> On Thu, May 28, 2020 at 1:49 PM Zahid Rahman  wrote:
>
> > Hi,
> >
> > I came across an archetype which has an enum class. It was designed by
> some
> > one who has written a book on struts.
> >
> > Sorry I'm  not good with names.
> >
> > If you know the archetype I mean please give me the link to it.
> >
> > I don't  think it is one of these.
> > https://struts.apache.org/maven-archetypes/
> >
>
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Archetype

2020-05-28 Thread Zahid Rahman
Hi,

I came across an archetype which has an enum class. It was designed by some
one who has written a book on struts.

Sorry I'm  not good with names.

If you know the archetype I mean please give me the link to it.

I don't  think it is one of these.
https://struts.apache.org/maven-archetypes/


Re: [OT] Re: Maven Warning. Ubuntu Users.; javacodegeeks.com : Global Impact at the highest levels.

2020-01-11 Thread Zahid Rahman
After some  years of commercial software development experience It dawned
on me
that I have  gathered a  new sense.
I don't know what the name for that sense is.
This sense shows me what components I need to make an application.
An application which solves many problems I know of.
I call it a prototype application.

You could say that I have a sense for system integration.
To do integration  I  do many "hello world"  exercises to see if that
"hello world"
will address a certain problem  which will appear in an application of that
type.

THAT SAID.

I am using UBUNTU  18 , actually KUBUNTU because in my view it is the most
stable linux operating system. I have never have any problems with it all
ever.

Naturally I use apt-get install to download software such as MAVEN , like
all linux users.

Once I had  downloaded maven I was using it for a number of JAVA components
or more accurately JAVA paradigms{frameworks}. The "hello world"  I mention
tests and runs  paradigms and to see if a particular paradigm will be a
part of or  a component of my prototype application.

THAT SAID. I didn't want to say any of it  because that is fruit of my
labour.

I was  running  these maven program  by copy and paste  from link below.
https://struts.apache.org/maven-archetypes/

I was getting same warnings I had got from other "hello world" runs.
As my goal is to integrate components in to one application these repeated
warnings became a concern to me.

SO
I went to the maven user group to find out what the issue was.
I did find out what the issue is and it is relevant struts because of this
page.
https://struts.apache.org/maven-archetypes/
in my opinion.

SO
I decided to share the fruit of my labour with effected parties and also
bugs were raised as a result by relevant concerned person.

SO in light of the above  if any one persons agrees with that codewallop of
political , non-technical post, non relevant off topic .  Then please log
me off as a troll and ban me forever OR  apologise and admit that your
technical level is 300 feet below mine.

compliment of
Backbutton.co.uk
¯\_(ツ)_/¯
♡۶Java♡۶RMI ♡۶
Write Once Run From Anywhere

<http://www.backbutton.co.uk>


On Sun, 12 Jan 2020 at 02:32, Martin Gainty  wrote:

> agreed that op was aggressive by employing confrontational words and
> actions
> answering party (admin) answer was xenophonobic and had the deleterious
> effect of escalating tensions
> a shame that political tactics have to enter to enter technical discussion
>
> 
> From: Dave Newton 
> Sent: Wednesday, January 8, 2020 5:36 PM
> To: Struts Users Mailing List 
> Subject: Re: [OT] Re: Maven Warning. Ubuntu Users.; javacodegeeks.com :
> Global Impact at the highest levels.
>
> What?
>
> On Wed, Jan 8, 2020 at 5:28 PM Zahid Rahman  wrote:
>
> > -- Forwarded message -
> > From: Zahid Rahman 
> > Date: Wed, 8 Jan 2020, 19:51
> > Subject: Re: [OT] Re: Maven Warning. Ubuntu Users
> > To: Tomcat Users List 
> >
> >
> > Another example of using  maven 2015 version and the impact of unknown
> > warning  by MAVEN can have on application development across the Globe.
> > Let'sEncrypt guy (Shultz) dismissed as unimportant.
> >
> >
> https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/
> >
> >
> > Mary Zheng
> > Posted by: Mary Zheng
> > <https://examples.javacodegeeks.com/author/mary-zheng/> in Core Java
> > <https://examples.javacodegeeks.com/category/core-java/> December 27th,
> > 2019
> >  0
> > <
> >
> https://examples.javacodegeeks.com/multiple-inheritance-java-example/#respond
> > >
> >  433 Views
> >
> > She works as a senior Software Engineer in the telecommunications sector
> > where she acts as a leader and works with others to design, implement,
> and
> > monitor the software solution.
> >
> > https://examples.javacodegeeks.com/multiple-inheritance-java-example/
> >
> > 2. Technologies Used
> >
> > The example code in this article was built and run using:
> >
> >- Java 11
> >- Maven 3.3.9
> >- Eclipse Oxygen
> >- Junit 4.12
> >
> >
> > On Wed, 8 Jan 2020, 12:36 zahid,  wrote:
> >
> > > ok
> > >
> > > Thank you.
> > >
> > > www.backbutton.co.uk<http://www.backbutton.co.uk>
> > > ♡۶¯\_(ツ)_/¯ ♡۶
> > > Marriage of loose and tight coupling
> > > -> healthy applications
> > >♡۶
> > > javac Garden/Vegetables/VineVegetable.java
> > > java   Garden.Vegetables.VineVegetable
> > > Wot No!  -classpath -class-path eve

Re: [OT] Re: Maven Warning. Ubuntu Users.; javacodegeeks.com : Global Impact at the highest levels.

2020-01-08 Thread Zahid Rahman
It requires  some time studying the subject ; I would suggest reading it.
Sorry no short answer.

On Wed, 8 Jan 2020, 22:37 Dave Newton,  wrote:

> What?
>
> On Wed, Jan 8, 2020 at 5:28 PM Zahid Rahman  wrote:
>
> > -- Forwarded message -----
> > From: Zahid Rahman 
> > Date: Wed, 8 Jan 2020, 19:51
> > Subject: Re: [OT] Re: Maven Warning. Ubuntu Users
> > To: Tomcat Users List 
> >
> >
> > Another example of using  maven 2015 version and the impact of unknown
> > warning  by MAVEN can have on application development across the Globe.
> > Let'sEncrypt guy (Shultz) dismissed as unimportant.
> >
> >
> https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/
> >
> >
> > Mary Zheng
> > Posted by: Mary Zheng
> > <https://examples.javacodegeeks.com/author/mary-zheng/> in Core Java
> > <https://examples.javacodegeeks.com/category/core-java/> December 27th,
> > 2019
> >  0
> > <
> >
> https://examples.javacodegeeks.com/multiple-inheritance-java-example/#respond
> > >
> >  433 Views
> >
> > She works as a senior Software Engineer in the telecommunications sector
> > where she acts as a leader and works with others to design, implement,
> and
> > monitor the software solution.
> >
> > https://examples.javacodegeeks.com/multiple-inheritance-java-example/
> >
> > 2. Technologies Used
> >
> > The example code in this article was built and run using:
> >
> >- Java 11
> >- Maven 3.3.9
> >- Eclipse Oxygen
> >- Junit 4.12
> >
> >
> > On Wed, 8 Jan 2020, 12:36 zahid,  wrote:
> >
> > > ok
> > >
> > > Thank you.
> > >
> > > www.backbutton.co.uk
> > > ♡۶¯\_(ツ)_/¯ ♡۶
> > > Marriage of loose and tight coupling
> > > -> healthy applications
> > >♡۶
> > > javac Garden/Vegetables/VineVegetable.java
> > > java   Garden.Vegetables.VineVegetable
> > > Wot No!  -classpath -class-path even -cp!
> > >
> > > On 08/01/2020 09:48, Mark Thomas wrote:
> > > > On 08/01/2020 08:41, Peter Kreuser wrote:
> > > >> Zahid,
> > > >>
> > > >> you‘re talking to one of the most respected members of the community
> > > > like this?
> > > >
> > > > All participants in Apache communities are expected to follow the
> code
> > > > of conduct:
> > > >
> > > > http://www.apache.org/foundation/policies/conduct.html
> > > >
> > > > This is irrespective of whether you are replying to a message from
> one
> > > > of the founders of the ASF or a first time contributor.
> > > >
> > > >> STFU or leave.
> > > > While I understand the frustration, statements like the above are
> only
> > > > going to add heat to an already heated situation. Please try and
> > refrain
> > > > from such responses.
> > > >
> > > >> This calls for an ban!
> > > > As one of the list moderators, that thought crossed my mind as soon
> as
> > I
> > > > saw the off-topic Linux vs Windows post. I hoped that it was a
> one-off.
> > > > When it became clear that it wasn't, I posted my request to keep
> > threads
> > > > on topic. I hoped that would be sufficient. Clearly it wasn't.
> > > >
> > > > I would urge everyone not to reply to off-topic posts.
> > > >
> > > > If you want to bring a post you find problematic to the attention of
> > the
> > > > moderators then please feel free to mail the list moderators at:
> > > > users-ow...@tomcat.apache.org
> > > >
> > > >>> Am 08.01.2020 um 06:06 schrieb Zahid Rahman  >:
> > > >>>
> > > >>> 
> > > >>>> A version of what?
> > > >>> MAVEN
> > > >>> MAVEN
> > > >>> MAVEN
> > > >>>
> > > >>> In light of this video https://youtu.be/idViw4anA6E
> > > >>> Of http.
> > > >>>
> > > >>> You and your let's encrypt must be the longest troll on this line.
> > > > No.
> > > >
> > > > How to configure Apache Tomcat with keys and certificates provided by
> > > > Let's Encrypt is entirely on-topic for the Apache Tomcat users'
> mailing
> > > > list.
> > > >
> > > >>

Fwd: [OT] Re: Maven Warning. Ubuntu Users.; javacodegeeks.com : Global Impact at the highest levels.

2020-01-08 Thread Zahid Rahman
-- Forwarded message -
From: Zahid Rahman 
Date: Wed, 8 Jan 2020, 19:51
Subject: Re: [OT] Re: Maven Warning. Ubuntu Users
To: Tomcat Users List 


Another example of using  maven 2015 version and the impact of unknown
warning  by MAVEN can have on application development across the Globe.
Let'sEncrypt guy (Shultz) dismissed as unimportant.

https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/


Mary Zheng
Posted by: Mary Zheng
<https://examples.javacodegeeks.com/author/mary-zheng/> in Core Java
<https://examples.javacodegeeks.com/category/core-java/> December 27th, 2019
 0
<https://examples.javacodegeeks.com/multiple-inheritance-java-example/#respond>
 433 Views

She works as a senior Software Engineer in the telecommunications sector
where she acts as a leader and works with others to design, implement, and
monitor the software solution.

https://examples.javacodegeeks.com/multiple-inheritance-java-example/

2. Technologies Used

The example code in this article was built and run using:

   - Java 11
   - Maven 3.3.9
   - Eclipse Oxygen
   - Junit 4.12


On Wed, 8 Jan 2020, 12:36 zahid,  wrote:

> ok
>
> Thank you.
>
> www.backbutton.co.uk
> ♡۶¯\_(ツ)_/¯ ♡۶
> Marriage of loose and tight coupling
> -> healthy applications
>♡۶
> javac Garden/Vegetables/VineVegetable.java
> java   Garden.Vegetables.VineVegetable
> Wot No!  -classpath -class-path even -cp!
>
> On 08/01/2020 09:48, Mark Thomas wrote:
> > On 08/01/2020 08:41, Peter Kreuser wrote:
> >> Zahid,
> >>
> >> you‘re talking to one of the most respected members of the community
> > like this?
> >
> > All participants in Apache communities are expected to follow the code
> > of conduct:
> >
> > http://www.apache.org/foundation/policies/conduct.html
> >
> > This is irrespective of whether you are replying to a message from one
> > of the founders of the ASF or a first time contributor.
> >
> >> STFU or leave.
> > While I understand the frustration, statements like the above are only
> > going to add heat to an already heated situation. Please try and refrain
> > from such responses.
> >
> >> This calls for an ban!
> > As one of the list moderators, that thought crossed my mind as soon as I
> > saw the off-topic Linux vs Windows post. I hoped that it was a one-off.
> > When it became clear that it wasn't, I posted my request to keep threads
> > on topic. I hoped that would be sufficient. Clearly it wasn't.
> >
> > I would urge everyone not to reply to off-topic posts.
> >
> > If you want to bring a post you find problematic to the attention of the
> > moderators then please feel free to mail the list moderators at:
> > users-ow...@tomcat.apache.org
> >
> >>> Am 08.01.2020 um 06:06 schrieb Zahid Rahman :
> >>>
> >>> 
> >>>> A version of what?
> >>> MAVEN
> >>> MAVEN
> >>> MAVEN
> >>>
> >>> In light of this video https://youtu.be/idViw4anA6E
> >>> Of http.
> >>>
> >>> You and your let's encrypt must be the longest troll on this line.
> > No.
> >
> > How to configure Apache Tomcat with keys and certificates provided by
> > Let's Encrypt is entirely on-topic for the Apache Tomcat users' mailing
> > list.
> >
> >>> Take your wares and peddle them somewhere else carpet beggar.
> > Zahid,
> >
> > Please stop this now.
> >
> > Please keep your posts to this list on topic.
> >
> > Please ensure that any posts are consistent with the Apache Code of
> Conduct.
> >
> > If you continue to disrupt this community with off-topic posts and/or
> > behaviour that is inconsistent with the Apache Code of Conduct then the
> > list moderators will either require all your posts to be moderated or
> > simply block you from posting at all.
> >
> > Mark
> > wearing his list moderator hat
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: users-h...@tomcat.apache.org
> >
> --
> www.backbutton.co.uk
> ♡۶¯\_(ツ)_/¯ ♡۶
> Marriage of loose and tight coupling
> -> healthy applications
>♡۶
> java -cp classpath class-path
>
>


Maven Warning: Ubuntu Users

2020-01-06 Thread Zahid Rahman
To all ubuntu Maven  users.

Do NOT  install maven using
sudo apt install maven

Install by  direct download  only  from
https://maven.apache.org/download.cgi

BECAUSE:

"I seem to remember they [ubuntu] have their own build of Maven which
differs from the Apache source.

( https://bugs.launchpad.net/ubuntu/+source/maven/+bug/1754602  suggests
it's a known bug in their packaging/build? )

If you download Maven from http://maven.apache.org/download.cgi and follow
the instructions in http://maven.apache.org/install.html then you shouldn't
see those warnings. "
   ‐---

The Java 11 warning mentions that "/usr/share/maven/lib/guice.jar" has a
class named "com.google.inject.internal.cglib.core.$ReflectUtils$1"

This looks suspect because the official Maven distribution uses the
"no-AOP" version of Guice which doesn't contain any CGLIB classes. It
suggests that whoever provided that copy of Maven has replaced the "no-AOP"
version with the "AOP" version, and this will cause warnings on Java 11.
(The "AOP" version uses CGLIB which currently relies on certain reflective
access that Java 11 warns about - whereas the "no-AOP" version doesn't.)


Re: convention plugin Issue

2019-12-24 Thread Zahid Rahman
No need to apologise.

The real question is how did I know to conduct that particular test and I
was so sure of the result , even before I did.

Believe me , it wasn't a random test.

I was taught C & Unix by Mr. Dimitri. Over the years I realised the  unix
command he taught me are the most used in software development. The C part
of the language he taught is most relevant to developing tools for software
development.











On Fri, 20 Dec 2019, 05:02 John Bush,  wrote:

> I apologize for mistaking overriding method vs class in your
> description. I turned on debugging and it looks that all three classes
> are being found and struts actions are being created. The problem
> appears to be allowing the default process to create those - they get
> created with the same action name [hello-world] and namespace []. Struts
> in that case I believe takes the first encountered just like when using
> a struts.xml file. I don't use the Convention Plugin but I would suggest
> a solution might be to use the @Namespace annotation on the class or
> package. That way you would be able to specify a unique SCOPE when
> calling the action and get the result you need.
>
> John
>
> On 12/19/2019 12:52 AM, Zahid Rahman wrote:
> > This is not overriding method.
> >
> >  > class="org.apache.struts.helloworld.action.HelloWorldAction"
> > method="execute">
> >
> > As you see when you declare the same functionality using the
> > struts.xml Then only that explicitly declared
> > method will be executed by the struts API [framework] in the
> > explicitly declared package.class.
> >
> > Overriding methods in OOP means not using certain declared methods
> > from inherited classes and super impose on inherited methods by
> > writing your own methods.
> > So you use some methods from the inherited class not all [Pick and
> > choose, adapt]
> >
> > This is randomly picking up a class by matching the  class names only.
> > There is no way to match packages names same as stuts.xml due to design
> of
> > annotation API. So I am suggesting do a match of same class names  [
> > validation  method in the annotations API ]  and raising an error to the
> > application developer of presence of duplicate class names.
> >
> >
> >
> >
> >
> > On Thu, 19 Dec 2019 at 05:59, John Bush  wrote:
> >
> >> Overriding methods *is **a valid feature* in Java and probably all
> >> object oriented languages. I'm confident, even at that lowest level, you
> >> wouldn't be able to avoid methods being overridden. Above those layers
> >> of code you have many more layers of code to provide the ability to
> >> communicate with and over web technologies. Again with a high
> >> probability of more methods being overridden. Eventually you get to the
> >> Struts framework which is not flat. It is again layers of code, with
> >> again a high probability of more methods being overridden.
> >>
> >> IMHO A developer needs to understand the technology stack used including
> >> the order of classpaths searched at execution time. A framework is
> >> intended to help you do a job which implies you know what it's doing.
> >>
> >> John
> >>
> >> On 12/18/2019 9:48 AM, Lukasz Lenart wrote:
> >>> Feel free to register a ticket in JIRA, but this is something low
> >>> priority rather.
> >>>
> >>>
> >>> Regards
> >>> Lukasz
> >>>
> >>> sob., 7 gru 2019 o 12:58 Zahid Rahman 
> napisał(a):
> >>>> I think the convention plugin should perform a validation a check for
> >> the
> >>>> presence of multiple same class names within different
> >>>> package names. That ambiguity has been shown by my test.
> >>>> After all it is quite feasible and likely that we could have multiple
> >> same
> >>>> class names from different package names
> >>>> from jars which have been placed on the classpath.
> >>>> We cant have the convention plugin randomly (as shown by my test)
> >>>> executing random code.
> >>>>
> >>>> On Sat, 7 Dec 2019 at 10:51, Yasser Zamani 
> >> wrote:
> >>>>> Hi,
> >>>>>
> >>>>> I guess that the behavior of defining actions with same name and
> >> namespace
> >>>>> is undefined. I think it's not an issue because Convention Plugin has
> >> no
> >>>>> avenue to distinguish between them when yo

Re: Architectural considerations

2019-12-23 Thread Zahid Rahman
sorry
Merry  Christmas

www.backbutton.co.uk

On Mon, 23 Dec 2019 at 22:48, Ken McWilliams 
wrote:

> Regarding being at the right place, no this is a Struts specific mailing
> list. The concerns you bring up are beyond the scope of Struts2, at least
> in general. If you needed specific integration help, as you've seen the
> people here are quite friendly, do feel free to ask.
>
> Consider a general Java mailing list, and if you provide detailed
> requirements and demonstrate efforts at an actual solution then Stack
> Overflow would be good (they aren't too friendly if those requirements are
> not met. While that can be challenging, the reward is faster and higher
> quality results) given the previous threads I strongly advise a general
> Java mailing list since the nature of advice is more sound-boarding than
> specifics.
>
> On Mon, Dec 23, 2019 at 4:18 AM Zahid Rahman  wrote:
>
> > Hi,
> >
> > Somebody advised me that I need to consider connection pooling , load
> > balancing , whether a database design can be perfect.
> > Also not to waste time doing EJBs .
> > Am  I at the right place  ?
> >
>
>
> --
> Sent from my C64 using a 300 baud modem
>


-- 
www.backbutton.co.uk


Re: Architectural considerations

2019-12-23 Thread Zahid Rahman
Sorry posted to wrong mailing list. Should have posted to tomcat-users


On Mon, 23 Dec 2019, 22:48 Ken McWilliams,  wrote:

> Regarding being at the right place, no this is a Struts specific mailing
> list. The concerns you bring up are beyond the scope of Struts2, at least
> in general. If you needed specific integration help, as you've seen the
> people here are quite friendly, do feel free to ask.
>
> Consider a general Java mailing list, and if you provide detailed
> requirements and demonstrate efforts at an actual solution then Stack
> Overflow would be good (they aren't too friendly if those requirements are
> not met. While that can be challenging, the reward is faster and higher
> quality results) given the previous threads I strongly advise a general
> Java mailing list since the nature of advice is more sound-boarding than
> specifics.
>
> On Mon, Dec 23, 2019 at 4:18 AM Zahid Rahman  wrote:
>
> > Hi,
> >
> > Somebody advised me that I need to consider connection pooling , load
> > balancing , whether a database design can be perfect.
> > Also not to waste time doing EJBs .
> > Am  I at the right place  ?
> >
>
>
> --
> Sent from my C64 using a 300 baud modem
>


Architectural considerations

2019-12-23 Thread Zahid Rahman
Hi,

Somebody advised me that I need to consider connection pooling , load
balancing , whether a database design can be perfect.
Also not to waste time doing EJBs .
Am  I at the right place  ?


Re: convention plugin Issue

2019-12-18 Thread Zahid Rahman
This is not overriding method.



As you see when you declare the same functionality using the
struts.xml Then only that explicitly declared
method will be executed by the struts API [framework] in the
explicitly declared package.class.

Overriding methods in OOP means not using certain declared methods
from inherited classes and super impose on inherited methods by
writing your own methods.
So you use some methods from the inherited class not all [Pick and
choose, adapt]

This is randomly picking up a class by matching the  class names only.
There is no way to match packages names same as stuts.xml due to design of
annotation API. So I am suggesting do a match of same class names  [
validation  method in the annotations API ]  and raising an error to the
application developer of presence of duplicate class names.





On Thu, 19 Dec 2019 at 05:59, John Bush  wrote:

> Overriding methods *is **a valid feature* in Java and probably all
> object oriented languages. I'm confident, even at that lowest level, you
> wouldn't be able to avoid methods being overridden. Above those layers
> of code you have many more layers of code to provide the ability to
> communicate with and over web technologies. Again with a high
> probability of more methods being overridden. Eventually you get to the
> Struts framework which is not flat. It is again layers of code, with
> again a high probability of more methods being overridden.
>
> IMHO A developer needs to understand the technology stack used including
> the order of classpaths searched at execution time. A framework is
> intended to help you do a job which implies you know what it's doing.
>
> John
>
> On 12/18/2019 9:48 AM, Lukasz Lenart wrote:
> > Feel free to register a ticket in JIRA, but this is something low
> > priority rather.
> >
> >
> > Regards
> > Lukasz
> >
> > sob., 7 gru 2019 o 12:58 Zahid Rahman  napisał(a):
> >> I think the convention plugin should perform a validation a check for
> the
> >> presence of multiple same class names within different
> >> package names. That ambiguity has been shown by my test.
> >> After all it is quite feasible and likely that we could have multiple
> same
> >> class names from different package names
> >> from jars which have been placed on the classpath.
> >> We cant have the convention plugin randomly (as shown by my test)
> >> executing random code.
> >>
> >> On Sat, 7 Dec 2019 at 10:51, Yasser Zamani 
> wrote:
> >>
> >>> Hi,
> >>>
> >>> I guess that the behavior of defining actions with same name and
> namespace
> >>> is undefined. I think it's not an issue because Convention Plugin has
> no
> >>> avenue to distinguish between them when you request
> >>> http://localhost:8080/hello-world.
> >>>
> >>> Regards.
> >>>
> >>>> -Original Message-
> >>>> From: Zahid Rahman 
> >>>> Sent: Thursday, December 5, 2019 4:51 PM
> >>>> To: Struts Users Mailing List 
> >>>> Subject: convention plugin Issue
> >>>>
> >>>> Hi,
> >>>>
> >>>> On this page
> >>>> https://struts.apache.org/plugins/convention/#setup
> >>>>
> >>>> if I have  com.example.actions.HelloWorld.java
> >>>> and
> >>>> uk.mypackage.actions.HelloWorld.java
> >>>> with  url http://localhost:8080/hello-world then
> >>>> uk.mypackage.actions.HelloWorld.java  execute is run.
> >>>>
> >>>> If I have
> >>>> uk.example.actions.HelloWorld.java
> >>>> and
> >>>> com.example.actions.HelloWorld.java
> >>>> then  com.example.actions.HelloWorld.java  execute is run.
> >>>>
> >>>> uk.mypackage.actions.HelloWorld,java overrides the other two.
> > -
> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > For additional commands, e-mail: user-h...@struts.apache.org
> >
>


Re: Java Singleton , Framework Design Patterns

2019-12-16 Thread Zahid Rahman
ker & receiver of command . Implement
> callback mechanism. Implement undo and redo functionality. Maintain a
> history of commands. Use Visitor pattern in below scenarios:. Similar
> operations have to be performed on objects of different types grouped in a
> structure ; You need to execute many ...
> stackoverflow.com
>
> ?am interested to know which topic prompts your question?
>
> /br/
> Martin
> 
> From: Lukasz Lenart 
> Sent: Thursday, December 12, 2019 1:56 AM
> To: Struts Users Mailing List 
> Subject: Re: Java Singleton , Framework Design Patterns
>
> czw., 12 gru 2019 o 06:13 Zahid Rahman  napisał(a):
> > So my point is I have not been able to find accurate information , if
> some
> > one could furnish me a Java language specification or recommend  a book
> > which accurately describes these I would be grateful.
>
> Start with Gang of Four
> http://www.blackwasp.co.uk/gofpatterns.aspx
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Re: Java Singleton , Framework Design Patterns

2019-12-14 Thread Zahid Rahman
You have been very helpful.
Your information is very much along the same  lines I was headed.

Best Regards
Zahid

On Sat, 14 Dec 2019 at 12:19, Martin Gainty  wrote:

> MG>maybe.. see below
>
> ____
> From: Zahid Rahman 
> Sent: Friday, December 13, 2019 5:09 PM
> To: Struts Users Mailing List 
> Subject: Re: Java Singleton , Framework Design Patterns
>
> Hi,
>
> >?am interested to know which topic prompts your question ?
> As you can see from the log file (below) the spring framework creates and
> destroys a  singleton of a bean.
> So the singleton pattern is used by the container.
> I was also informed that the singleton is used to create a login screen.
> That also appears to be the case from the page
> http://www.blackwasp.co.uk/Singleton.aspx.
>
> The login screen I will be using is the login.java and login.jsp in the
> struts2  "blank app" in "struts-examples-master".
> The struts framework also helps me with duplicate form submission.
> So do I need to use the singleton pattern  ?
>
> MG>here is ted husted struts-blank login.java (un-edited)
> /*
>  * $Id: Login.java 471756 2006-11-06 15:01:43Z husted $
>  *
>  * Licensed to the Apache Software Foundation (ASF) under one
>  * or more contributor license agreements.  See the NOTICE file
>  * distributed with this work for additional information
>  * regarding copyright ownership.  The ASF licenses this file
>  * to you under the Apache License, Version 2.0 (the
>  * "License"); you may not use this file except in compliance
>  * with the License.  You may obtain a copy of the License at
>  *
>  *  http://www.apache.org/licenses/LICENSE-2.0
>  *
>  * Unless required by applicable law or agreed to in writing,
>  * software distributed under the License is distributed on an
>  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>  * KIND, either express or implied.  See the License for the
>  * specific language governing permissions and limitations
>  * under the License.
>  */
> package example;
> public class Login extends ExampleSupport {
> public String execute() throws Exception {
> if (isInvalid(getUsername())) return INPUT;
> if (isInvalid(getPassword())) return INPUT;
> return SUCCESS;
> }
> private boolean isInvalid(String value) {
> return (value == null || value.length() == 0);
> }
> private String username;
> public String getUsername() {
> return username;
> }
> public void setUsername(String username) {
> this.username = username;
> }
> private String password;
> public String getPassword() {
> return password;
> }
> public void setPassword(String password) {
> this.password = password;
> }
> }
>
> //no singleton yet as there is no public static ClassName getInstance()
> //with private constructor pointing to getInstance()
>
> //BUT singleton is used to instantate and set default ObjectFactory for
> XmlConfigurationProvider
> //as seen here in ConfigurationTestBase.java
> package com.opensymphony.xwork2.config.providers;
> public abstract class ConfigurationTestBase extends
> com.opensymphone.xwork2.XWorkTestCase {
> protected com.opensymphony.xwork2.config.ConfigurationProvider
> buildConfigurationProvider(final String filename) {
> configuration = new
> com.opensymphony.xwork2.config.providers.MockConfiguration();
>
> ((com.opensymphony.xwork2.config.providers.MockConfiguration)configuration).selfRegister();
> container = configuration.getContainer();
> XmlConfigurationProvider prov = new
> XmlConfigurationProvider(filename, true);
>
> prov.setObjectFactory(container.getInstance(com.opensymphony.xwork2.ObjectFactory.class));
>
> //but the provider does not use Spring Object Factory which we can remedy
> here
>
> prov.setObjectFactory(container.getInstance(com.opensymphony.xwork2.spring.SpringObjectFactory.class));
>
> //as you mention we must follow springs example of declaring singleton
> bean in ./WEB-INF/context.xml
> 
>  http://www.springframework.org/dtd/spring-beans.dtd;>
> 
>  class="com.opensymphony.xwork2.spring.SpringObjectFactory" singleton="true"
> />
>
> //where struts specifies default ObjectFactory thru
> ./classes/org/apache/struts2/default.properties
> ### if specified, the default object factory can be overridden here
> ### Note: short-hand notation is supported in some cases, such as "spring"
> ###   Alternatively, you can provide a
> com.opensymphony.xwork2.ObjectFactory subclass name here
>
&g

Re: Java Singleton , Framework Design Patterns

2019-12-13 Thread Zahid Rahman
ackoverflow/img/apple-touch-i...@2.png?v=73d79a89bded
> ]<
> https://stackoverflow.com/questions/2857880/command-pattern-vs-visitor-pattern
> >
> Command Pattern vs. Visitor Pattern - Stack Overflow<
> https://stackoverflow.com/questions/2857880/command-pattern-vs-visitor-pattern
> >
> Each pattern has it's own pros, cons and use cases. You can use Command
> pattern to . Decouple the invoker & receiver of command . Implement
> callback mechanism. Implement undo and redo functionality. Maintain a
> history of commands. Use Visitor pattern in below scenarios:. Similar
> operations have to be performed on objects of different types grouped in a
> structure ; You need to execute many ...
> stackoverflow.com
>
> ?am interested to know which topic prompts your question?
>
> /br/
> Martin
> 
> From: Lukasz Lenart 
> Sent: Thursday, December 12, 2019 1:56 AM
> To: Struts Users Mailing List 
> Subject: Re: Java Singleton , Framework Design Patterns
>
> czw., 12 gru 2019 o 06:13 Zahid Rahman  napisał(a):
> > So my point is I have not been able to find accurate information , if
> some
> > one could furnish me a Java language specification or recommend  a book
> > which accurately describes these I would be grateful.
>
> Start with Gang of Four
> http://www.blackwasp.co.uk/gofpatterns.aspx
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Re: Java Singleton , Framework Design Patterns

2019-12-12 Thread Zahid Rahman
Thanks v. Much

On Thu, 12 Dec 2019, 06:56 Lukasz Lenart,  wrote:

> czw., 12 gru 2019 o 06:13 Zahid Rahman  napisał(a):
> > So my point is I have not been able to find accurate information , if
> some
> > one could furnish me a Java language specification or recommend  a book
> > which accurately describes these I would be grateful.
>
> Start with Gang of Four
> http://www.blackwasp.co.uk/gofpatterns.aspx
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Re: Java Singleton , Framework Design Patterns

2019-12-12 Thread Zahid Rahman
Thanks v. Much

On Thu, 12 Dec 2019, 21:37 ,  wrote:

> If you want a definitive Java source -
> https://docs.oracle.com/javase/tutorial/
>
> - Original Message -
> From: "Lukasz Lenart" 
> To: "Struts Users Mailing List" 
> Sent: Thursday, December 12, 2019 12:56:05 AM
> Subject: Re: Java Singleton , Framework Design Patterns
>
> czw., 12 gru 2019 o 06:13 Zahid Rahman  napisał(a):
> > So my point is I have not been able to find accurate information , if
> some
> > one could furnish me a Java language specification or recommend  a book
> > which accurately describes these I would be grateful.
>
> Start with Gang of Four
> http://www.blackwasp.co.uk/gofpatterns.aspx
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Java Singleton , Framework Design Patterns

2019-12-11 Thread Zahid Rahman
Hi,

It is my understanding  that Design Patterns like the Java singleton is
used by framework developers. I.e. the Bean is a singleton.

It is also my assumption that the Java Singleton came in to being because
Java is a  network centric ground up construction.

I don't think I will ever use  the keywords singleton or instanceof as an
application developer. It is my view that the intended audience for these
language features are framework developers not application developers.

I have purchased a number of books, all are incorrect and misleading if my
view correct.

I don't believe these language features came into being as "acts of God" ,
but scientific realisations that these features are required.

So my point is I have not been able to find accurate information , if some
one could furnish me a Java language specification or recommend  a book
which accurately describes these I would be grateful.

I feel this would be the right place to seek such information because
there are framework developers  here.


Regards

Zahid


Re: Struts 2.5.22 and memory?

2019-12-08 Thread Zahid Rahman
There are some causes and solutions
Found here.

https://javarevisited.blogspot.com/2011/09/javalangoutofmemoryerror-permgen-space.html?m=1


On Sun, 8 Dec 2019, 21:30 Heikki Hyyrö (TAU),  wrote:

> I am wondering if this is just a coincidence... But a site I am running
> with Struts 2 started to output errors of form
>
>  > Exception in thread "ajp-bio-8009-exec-164" Exception in thread
> "ajp-bio-8009-exec-183" Exception in thread "ajp-bio-8009-exec-151"
> java.lang.OutOfMemoryError: Java heap space
>
> within a couple of hours after having updated from Struts 2.5.20 to 2.5.22.
>
> As I have not encountered this type of errors on that site before, I am
> wondering if something in Struts 2.5.22 could increase memory usage? It
> could of course be just a coincidence, but the timing is a bit suspicious.
>
> Best regards,
>
> Heikki
>
>
>


Re: convention plugin Issue

2019-12-07 Thread Zahid Rahman
I think the convention plugin should perform a validation a check for the
presence of multiple same class names within different
package names. That ambiguity has been shown by my test.
After all it is quite feasible and likely that we could have multiple same
class names from different package names
from jars which have been placed on the classpath.
We cant have the convention plugin randomly (as shown by my test)
executing random code.

On Sat, 7 Dec 2019 at 10:51, Yasser Zamani  wrote:

> Hi,
>
> I guess that the behavior of defining actions with same name and namespace
> is undefined. I think it's not an issue because Convention Plugin has no
> avenue to distinguish between them when you request
> http://localhost:8080/hello-world.
>
> Regards.
>
> >-----Original Message-
> >From: Zahid Rahman 
> >Sent: Thursday, December 5, 2019 4:51 PM
> >To: Struts Users Mailing List 
> >Subject: convention plugin Issue
> >
> >Hi,
> >
> >On this page
> >https://struts.apache.org/plugins/convention/#setup
> >
> >if I have  com.example.actions.HelloWorld.java
> >and
> >uk.mypackage.actions.HelloWorld.java
> >with  url http://localhost:8080/hello-world then
> >uk.mypackage.actions.HelloWorld.java  execute is run.
> >
> >If I have
> >uk.example.actions.HelloWorld.java
> >and
> >com.example.actions.HelloWorld.java
> >then  com.example.actions.HelloWorld.java  execute is run.
> >
> >uk.mypackage.actions.HelloWorld,java overrides the other two.
>


Re: OFF TOPIC: Introduction

2019-12-05 Thread Zahid Rahman
The code had already undergone two tests.
1. Electrical Rig tests.
2. Physical Rig Tests.
Which showed the code meets the  customer requirements.

The unit test step was the third step . Unit tests are written by
independent  developers. But not by looking at the procedure parameters and
return values from code.

But from the specification document where the algorithms  were detailed for
each procedure and each variable.

That is to say detailed documents on code. Before code.

The unit tests are to make sure the developer followed the documents.

I think the problem here on this email line is that detailed documents of
code before code is written is a challenging concept to grasp. This is also
is known as best practice.

Underlying my point that programmers want to dive into code. Then later
they get unstuck.

I dislike the concept of Javadoc for same reason that documents are
generated from the code which flies in the face of best software
development practice as I understand it.







On Thu, 5 Dec 2019, 22:00 Martin Gainty,  wrote:

> DOB correct
>
> if the dev isnt willing to verify their code works with at least one unit
> test then whats the point of development?
>
> dave did you see the case of the pacemaker's recording of heart electrical
> activity solved a homicide in Australia?
>
> https://www.smh.com.au/national/pacemakers-electrical-memory-that-foiled-a-murderers-alibi-in-court-20030120-gdg4uz.html
>
> best regards
> m.
>
> 
> From: Dave Newton 
> Sent: Tuesday, December 3, 2019 11:31 AM
> To: Struts Users Mailing List 
> Subject: Re: OFF TOPIC: Introduction
>
> On Tue, Dec 3, 2019 at 9:43 AM Zahid Rahman  wrote:
>
> > If the developer  tests his own code then there is a danger that he will
> > pass his misunderstanding of specification.
> >
>
> Correct.
>
>
> > Anyway in the safety critical environments the one who wrote the code
> does
> > not do the testing.
> >
>
> That's simply not the case across the board: there are multiple tiers of
> testing, and the onus is on the developer to do the initial testing.
>
> For example, when I was writing pacemakers--you better believe we tested
> the *crap* out of our code. Were we the *only* ones testing? Of course not;
> there were *many* levels of testing--but it *started* with us.
>
>
> > Tests are also done on hardware electrical rigs ,  simulating feed to
> > sensors.
> >
>
> Yep. And when I was writing fuel pump controllers not only did *I* have a
> set of tests, so did the hardware guys, so did the combination of HW/SW
> guys, so did the verification group, so did whoever gave us our
> certification, etc.
>
> It's not entirely clear to me what your point is, or if you're just arguing
> for the sake of arguing.
>
> Testing is, by necessity, the responsibility of everyone involved in the
> project, which includes the developer.
>
> d.
>


convention plugin Issue

2019-12-05 Thread Zahid Rahman
Hi,

On this page
https://struts.apache.org/plugins/convention/#setup

if I have  com.example.actions.HelloWorld.java
and
uk.mypackage.actions.HelloWorld.java
with  url http://localhost:8080/hello-world
then
uk.mypackage.actions.HelloWorld.java  execute is run.

If I have
uk.example.actions.HelloWorld.java
and
com.example.actions.HelloWorld.java
then  com.example.actions.HelloWorld.java  execute is run.

uk.mypackage.actions.HelloWorld,java overrides the other two.


Re: Black Box Tesing v White Box Testing

2019-12-05 Thread Zahid Rahman
Hi,

> "None of us are resistant to new ideas or ways of looking at
things"
  Happy LEARNING

  https://www.robotshop.com/uk/37-modules-sensor-kit-arduino.html
https://www.raspberrypi.org/
https://beagleboard.org/bone




On Wed, 4 Dec 2019 at 14:11, Dave Newton  wrote:

> On Wed, Dec 4, 2019 at 07:56 Zahid Rahman  wrote:
>
> > The space and defence don't share what they are doing.  So I don't think
> > yours is reasonable  statement that you know what is happening  in the
> > aerospace  and defence industry.
>
>
> Hm. I don't think your assumption that I haven't done defense contracting
> is a reasonable one, but we'll agree to disagree on that one. (If you're
> wondering, encrypted radio systems, and consulting on guidance systems. And
> I still know the people I worked with--and people that use the systems or
> their descendents.)
>
> FWIW: you're going to find people with a pretty wide background in this
> group, many with decades of experience across a full spectrum of domains.
> Speaking for myself, I come from both embedded and application development
> going on 30+ years now. I know others here have similar time in the
> trenches. None of us are resistant to new ideas or ways of looking at
> things--but we have an appreciation for factual claims and accurate
> representations.
>
> Anyway you jumped to a conclusion of reverse engineering  when I was
> > referring to the benefit of traceability when using interpretive code.
>
>
> I "jumped" to reverse engineering because you specifically said an
> advantage of Java was decompilation (not unique to Java), and that's a
> primary component of reverse engineering almost by definition.
>
> d.
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Re: Black Box Tesing v White Box Testing

2019-12-05 Thread Zahid Rahman
On one occasion I had to make use of external procedure (dynamic link
library (DLL)) on a database.

The Oracle  documents showed,Oracle database provides two ways of
interacting with host operating system.
PL/SQL which can create and write files to disk or a developer can create
dll (in C or other 3rd generation language).

There were code example in the documents  showing how to use PL/SQL for one
way interaction with OS , but no example showing C dll interface code .Any
way I decided to give it go nonetheless.

The first problem was every time I tried to install the C/C++ IDE. It would
crash with an incomprehensible error message  i.e. ("OX56F...).

Then I asked myself how did the IDE vendor compile the ide on that
operating.

I asked my internal support staff for any patches for available. It was a
fully licenced environment, so he had a CD delivered with the patches. I
loaded the patches and the IDE installed with out any issues.

Then the DLL wouldn't produce the expected results.

I contacted Oracle  support because we had a support contract.  The
Database Vendor support said we don't support it on that operating system.
Hmmm...

So it would appear the reason there was no sample code in the documents is
because the database vendor couldn't  install the IDE.














On Wed, 4 Dec 2019, 14:11 Dave Newton,  wrote:

> On Wed, Dec 4, 2019 at 07:56 Zahid Rahman  wrote:
>
> > The space and defence don't share what they are doing.  So I don't think
> > yours is reasonable  statement that you know what is happening  in the
> > aerospace  and defence industry.
>
>
> Hm. I don't think your assumption that I haven't done defense contracting
> is a reasonable one, but we'll agree to disagree on that one. (If you're
> wondering, encrypted radio systems, and consulting on guidance systems. And
> I still know the people I worked with--and people that use the systems or
> their descendents.)
>
> FWIW: you're going to find people with a pretty wide background in this
> group, many with decades of experience across a full spectrum of domains.
> Speaking for myself, I come from both embedded and application development
> going on 30+ years now. I know others here have similar time in the
> trenches. None of us are resistant to new ideas or ways of looking at
> things--but we have an appreciation for factual claims and accurate
> representations.
>
> Anyway you jumped to a conclusion of reverse engineering  when I was
> > referring to the benefit of traceability when using interpretive code.
>
>
> I "jumped" to reverse engineering because you specifically said an
> advantage of Java was decompilation (not unique to Java), and that's a
> primary component of reverse engineering almost by definition.
>
> d.
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


blank Page

2019-12-04 Thread Zahid Rahman
Hi,

I downloaded the latest JVM and tomcat.
I set JAVA_HOME  as system variable to the latest version of JVM like any
developer.
the tomcat home page appeared.  wow ! and more wow ! great ! freeware which
talk to the browser.
I no longer have to do 1 week training on vendor tools.
I am free at last free at last , free at last.
Now I can learn this tool to a depth I have never learned before producing
industrial software using the most complex programming features. So complex
that another developer will have serious problems understanding. It will
test his skills to  the limit.
I can now learn HTML and JAVASCRIPT , I thought ANSI SQL  and pure object
orientated programmer. No more wrappers.

Then I  noticed there was a JVM already installed on my operating system in
program files  sub directory. I wanted to replicate the user environment.
so I set JAVA_HOME in the .bat file pointing to latest JVM for tomcat only.
That's when I got a blank page.

It is my understanding that the communication protocol was incompatible
between the latest JDK and the earlier JRE already installed used by
browser. The two JVMS couldn't talk to each other.
So disappointed I was.

Then I found another set of instruction showing  how to plug JSERV module
with Apache web server.
Once I did that the tomcat cat home page re appeared in the same browser.

Now, I come from the third world and I know they use old computers and they
do not have the bandwidth to download 500 - 600 MB operating system patches.
Especially my tribe members. Like Apache I also come from a small  tribe
and I want to prototype an application so that we can keep track. I want to
prototype using Struts2.

Obviously I do not have access to the lowest level communication protocol.
The one that makes it possible for a  web page to travel half way across
the world in a split second.
That is confidential and I am a lowly developer.

Can the expert please tell me, do I still have to use Apache in front or
can I just use tomcat with the latest stable JVM and it will communicate
with what ever browser no matter how old ?


Re: Black Box Tesing v White Box Testing

2019-12-04 Thread Zahid Rahman
The space and defence don't share what they are doing.  So I don't think
yours is reasonable  statement that you know what is happening  in the
aerospace  and defence industry.

Anyway you jumped to a conclusion of reverse engineering  when I was
referring to the benefit of traceability when using interpretive code.








On Wed, 4 Dec 2019, 12:40 Dave Newton,  wrote:

> On Wed, Dec 4, 2019 at 06:36 Zahid Rahman  wrote:
>
> > You're right except in a bespoke hardware , software environment they
> tend
> > to use 68k Motorola chip to eliminate internal unknown risks.
>
>
> I haven't worked on a 68k product for twenty years--I'd be *very* surprised
> if anyone had designed one into a system in the last decade or more. I'm
> not sure if they still produce the hardened version, but I don't recall
> many space-based systems using them, although it was in some military
> hardware--a long time ago.
>
> But that's not really relevant--almost nobody does embedded systems work;
> it's an edge-case.
>
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Re: Black Box Tesing v White Box Testing

2019-12-04 Thread Zahid Rahman
I'm not talking of reverse engineering, my point is traceability.

If you can decompile code then if there is a problem then there is a chance
that you can trace it. With .exe or dll you cannot trace the problem.




On Wed, 4 Dec 2019, 11:06 Dave Newton,  wrote:

> On Wed, Dec 4, 2019 at 01:16 Zahid Rahman  wrote:
>
> > .exe  and  DLLs (C,C++) have unknown internals (AFAIK DLLs can't be
> > decompiled).
>
>
> They're just code like anything else. And I don’t quite understand why
> there’s a distinction made here between reverse engineering an exe and a
> jar.
>
> I also chose Java because one can decompile  classes , so any unknown
> > behaviour can be identified ,
>
>
> Decompiling a jar is a small part of understanding its behavior in a
> system. A variety of mechanisms can alter library behavior during load and
> run time, plus the additional layer of abstraction from the JVM, plus some
> indeterminism depending on what GC and JRE decisions were made.
>
> In any case, unless you’re running on bare metal and assuming we’re
> ignoring cpu unknowns, we’re working in black box environments most of the
> time anyway—it’s just that most of the time we have the luxury of being
> able to ignore this.
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Re: Black Box Tesing v White Box Testing

2019-12-04 Thread Zahid Rahman
You're right except in a bespoke hardware , software environment they tend
to use 68k Motorola chip to eliminate internal unknown risks.






On Wed, 4 Dec 2019, 11:06 Dave Newton,  wrote:

> On Wed, Dec 4, 2019 at 01:16 Zahid Rahman  wrote:
>
> > .exe  and  DLLs (C,C++) have unknown internals (AFAIK DLLs can't be
> > decompiled).
>
>
> They're just code like anything else. And I don’t quite understand why
> there’s a distinction made here between reverse engineering an exe and a
> jar.
>
> I also chose Java because one can decompile  classes , so any unknown
> > behaviour can be identified ,
>
>
> Decompiling a jar is a small part of understanding its behavior in a
> system. A variety of mechanisms can alter library behavior during load and
> run time, plus the additional layer of abstraction from the JVM, plus some
> indeterminism depending on what GC and JRE decisions were made.
>
> In any case, unless you’re running on bare metal and assuming we’re
> ignoring cpu unknowns, we’re working in black box environments most of the
> time anyway—it’s just that most of the time we have the luxury of being
> able to ignore this.
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Re: Black Box Tesing v White Box Testing

2019-12-04 Thread Zahid Rahman
Thanks for a most respectful reply.
I will give details of an incident later.


On Wed, 4 Dec 2019, 11:06 Dave Newton,  wrote:

> On Wed, Dec 4, 2019 at 01:16 Zahid Rahman  wrote:
>
> > .exe  and  DLLs (C,C++) have unknown internals (AFAIK DLLs can't be
> > decompiled).
>
>
> They're just code like anything else. And I don’t quite understand why
> there’s a distinction made here between reverse engineering an exe and a
> jar.
>
> I also chose Java because one can decompile  classes , so any unknown
> > behaviour can be identified ,
>
>
> Decompiling a jar is a small part of understanding its behavior in a
> system. A variety of mechanisms can alter library behavior during load and
> run time, plus the additional layer of abstraction from the JVM, plus some
> indeterminism depending on what GC and JRE decisions were made.
>
> In any case, unless you’re running on bare metal and assuming we’re
> ignoring cpu unknowns, we’re working in black box environments most of the
> time anyway—it’s just that most of the time we have the luxury of being
> able to ignore this.
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


Black Box Tesing v White Box Testing

2019-12-03 Thread Zahid Rahman
During the ADA course  I attended,  the teacher mentioned that no inherited
code or libraries are used in these safety critical environments. Therefore
there are no unknown internals.  Only known internals.

.exe  and  DLLs (C,C++) have unknown internals (AFAIK DLLs can't be
decompiled).  So at the beginning of a project you have made a decision
that you will be doing black box testing and using unknown internals.

In a best practice environment finding one self doing black box testing is
avoided altogether.

I also chose Java because one can decompile  classes , so any unknown
behaviour can be identified , so one is in a white box testing environment
from the outset.

Point being avoid black box environments.


Re: OFF TOPIC: Introduction

2019-12-03 Thread Zahid Rahman
"Phil the contractor" was the first of many in IT industry. I have a long
list.

This guy refers to multimillion real life blunders which I describe in
detail as [lots of words].

What more can I say  (:





On Tue, 3 Dec 2019, 18:33 Dave Newton,  wrote:

> On Tue, Dec 3, 2019 at 1:14 PM Zahid Rahman  wrote:
>
> > What developers do isn't testing.
> >
> > [Bottom up programmer].
> >
>
> This is demonstrably incorrect (trivially). It doesn't even make sense.
>
> AFAIC the burden of proof is on you, because developers do valid testing
> all the time.
>
> (And yes, some developers do some invalid testing some of the time.)
>
> I would challenge the supposition that we didn't test the pacemaker (or the
> fuel pump, although it wasn't as extreme, I'd say) within inches of its
> life, or the payment processing code (ACH stuff pretty much has to work),
> or any number of other projects. You appear to confuse different layers of
> testing, all of which are required (to varying degrees), with "testing",
> which is not a single thing. You're making a lot of assumptions based on
> your specific experience--which is fine, but it might be a good idea to
> take a small step back and recognize that your experience is not everyone's
> experience, what you're calling "testing" is in fact a field unto itself,
> and that maybe some additional experience might broaden your horizons.
>
> Good luck!
>
> d.
>


Re: OFF TOPIC: Introduction

2019-12-03 Thread Zahid Rahman
What developers do isn't testing.

[Bottom up programmer].


On Tue, 3 Dec 2019, 18:10 Dave Newton,  wrote:

> On Tue, Dec 3, 2019 at 12:57 PM Zahid Rahman  wrote:
>
> > We have a difference in opinion. You think you can't  do enough testing.
> >  I  think there are some tests which counts for nothing. It is just
> testing
> > for testing sake.
> >
>
> No, I think there are tests that count for nothing, or test the wrong
> things, or don't test enough.
>
> That doesn't mean developers can't, or shouldn't, test.
>
>
> > [lots of other words]
> >
>
> Neat.
>
> d.
>


Re: OFF TOPIC: Introduction

2019-12-03 Thread Zahid Rahman
We have a difference in opinion. You think you can't  do enough testing.
 I  think there are some tests which counts for nothing. It is just testing
for testing sake.

Because we have difference in opinion/ approach doesn't mean you should get
personal.

At the end of the day people like me who started their career from testing
and maintenance  have a top down approach. Not bottom up.

Bottom up approach  programmers migrate from 4GL to 4GL without seeing the
stupidity of it.

Programming 2 tier thin clients without seeing the stupidity that fat
clients are deployed on user machines so when it comes to thin clients how
can you replace the functionality on the server side when there is only  a
database.

I have no doubt those project were thoroughly tested and all tests passed.
So what went wrong?

That's to say Oracle sold it and bottom up programmers program it without
first looking at specifications and features.

I am proud of the fact I did not write one line of code  in a 4GL to 4GL
migration or 2 tier thin client.


Re: OFF TOPIC: Introduction

2019-12-03 Thread Zahid Rahman
If the developer  tests his own code then there is a danger that he will
pass his misunderstanding of specification.

Anyway in the safety critical environments the one who wrote the code does
not do the testing.

Testing is done by developers.Of course.

On that point I will agree to disagree because the Tech Lead on the project
I worked on would never do the testing.

Phil the contractor was doing unit tests from the code  not from
specification, all he was doing was testing the compiler or the VMS
emulator ( dumb  terminal client server). He was never seen  again.

The safety critical people take testing very seriously. I waited for "phil
the contractor" the next day to give me the specification. The manager said
don't worry about him he won't be coming.
I went from testing to maintenance, ladder up the project lifecycle.

Tests are also done on hardware electrical rigs ,  simulating feed to
sensors.

The fuel management  system was setup up inside fuel tanker and driven
across the city, simulating the movement of an aircraft. Up and down hills
etc.

Apart from live testing which would be fourth type of testing.

Coding in that environment  is merely 10%-15 % of project resources. Should
be part on any project.

I have come across baffoons who want to dive into coding without even going
through the team analysis and design stage. The ones who don't want to
learn anything new are the worst like the  "phil the visual Basic
programmer." The tech lead  who abandoned the project when I told him
everything  is going server side.

 That was not the only buffoonary he displayed because he could not wait to
dive into coding.





















On Tue, 3 Dec 2019, 12:33 Dave Newton,  wrote:

> On Tue, Dec 3, 2019 at 07:04 Zahid Rahman  wrote:
>
> > test from specification not from code and testing MUST not
> > to be done by the person who wrote the code as suggested in a book I read
> > recently.
>
>
> Testing is multi-tiered just like the rest of large applications.
> Developers are in a unique position to do more in-depth testing than pure
> black-box testing would allow, including testing interop layers invisible
> to, say, QA at the front-end.
>
> There's a reason there are different names for different types of testing,
> and ideally, there are multiple layers of testing, performed across dev
> groups.
>
> Dave
>
> --
> em: davelnew...@gmail.com
> mo: 908-380-8699
> tw: @dave_newton <https://twitter.com/dave_newton>
> li: dave-newton <https://www.linkedin.com/in/dave-newton/>
> gh: davelnewton <https://github.com/davelnewton>
> so: Dave Newton <http://stackoverflow.com/users/438992/dave-newton>
> bl[0]: Bucky Bits <http://buckybits.blogspot.com/>
> bl[1]: Maker's End Blog <https://blog.makersend.com>
> sk: davelnewton_skype
>


OFF TOPIC: Introduction

2019-12-03 Thread Zahid Rahman
Hi,


I wish to correct an error on my part, I feel I should have introduced
myself as soon as I logged on.

I was advised by my College Lecturer that I should look for a junior
position on a project to start my career.

I was offered two positions after two job interviews

   1.

   product Support role for a database company or
   2.

   Junior Software Engineer.

I decided to go for the junior software position as that would help me

for self development.

As Junior position one usually starts out doing testing. I was lucky enough
to work for a bespoke hardware and bespoke software company in the aircraft
industry. I would highly recommend a career start in the aerospace and
defence.

There, you will find out what best practices are, for example I was sent on
a week course to learned ADA 83. No libraries are inherited, every line of
code is written to meet specification. Software is tested in a number of
different ways.

The first project, aircraft fuel management system used state of the art
hardware. I quickly moved from testing to another project to find the cause
of software crash. That software needed to be reset via a hardware reset
and the GUI was a red light in the pilot cockpit.

This move happened because I pointed out my observation to the Tech Lead,
from my understanding of a compiler and emulator that “Phil the contractor”
was testing the emulator and he wants me to do the same.

After that I joined a single product company which used 4GL, CA Open road
and Ingress Database with  approx. 250 tables. This company was also built
on best practices with principals same as my first job. The software was
then migrated from CA OpenRoad & Ingress to Oracle forms and Oracle
database.

To complete my self development I joined a software house where I was
exposed to a number of projects at different stages.

There I identified that a 2 tier thin client architecture was an ill
conceived design. My view was confirmed when I found tomcat an application
server which was part of a 3 tier architecture. With this discovery I felt
I conquered Grady Booche's remark that “Industrial Strength software was
beyond the intellect of a developer.”

Ironically 2 tier thin client product used for developing applications,
like struts is used for building applications, was from same company which
offered me the support role. Would I have achieved my objective if I had
taken that support role and not the junior software position ?

At this stage, I do not believe in learning programming language first but
start with the architecture first. That is how I arrived at struts. There
were a number of other requirements which were met by struts also.

I hope this helps anyone looking to master Industrial Strength Software.

Keep in mind,   test from specification not from code and testing MUST not
to be done by the person who wrote the code as suggested in a book I read
recently.

Regards

Zahid


Re: OFF TOPIC: hot reload

2019-12-02 Thread Zahid Rahman
I mean  every time I make a change in the JSP or java classes and then
press CTRL + S.
I wait for the messages below to appear in the console,
I then hit enter in the  internal browser and I can see the changes without
restarting tomcat.

That is exactly how flutter hot reload works. You make code changes and see
the changes in the emulator.
Every youtube video I have seen of struts , JSPs , servlets , made by
"GURUs" they always restart server , then either go to external browser or
go to new instance of internal browser.


Dec 02, 2019 12:00:19 PM org.apache.catalina.core.StandardContext
startInternal
SEVERE: One or more Filters failed to start. Full details will be found in
the appropriate container log file
Dec 02, 2019 12:00:19 PM org.apache.catalina.core.StandardContext
startInternal
SEVERE: Context [/RegisterApplication] startup failed due to previous errors
Dec 02, 2019 12:00:19 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Dec 02, 2019 12:00:19 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Dec 02, 2019 12:00:19 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in [5,610] milliseconds
Dec 02, 2019 12:01:22 PM org.apache.catalina.core.StandardContext reload

On Mon, 2 Dec 2019, 10:44 Yasser Zamani,  wrote:

> Did you mean Struts' "configuration" e.g. struts.xml file hot reload?
>
> Kind Regards.
>
> >-Original Message-
> >From: Zahid Rahman 
> >Sent: Thursday, November 28, 2019 1:17 PM
> >To: Struts Users Mailing List 
> >Subject: OFF TOPIC: hot reload
> >
> >FLUTTER'S hot reload  (memory Hungary emulator) and Struts  development in
> >eclipse works in the same way.
> >which one came first ?
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>


Re: Struts Application Generator plugin

2019-12-01 Thread Zahid Rahman
Personally I am sticking to  ANSI SQL for OLTP and Business Intelligence.
Because although the majority of the time you are using only subset of sql,
once in a while you may come across a situation where you need to
construct a complex query because the specification requires. In such
situations you may have to utilise , full flexibility sql has to offer. So
it is there if you need it.




On Sun, 1 Dec 2019 at 01:12, M Huzaifah  wrote:

> Hi,..
>
> I was wonder to have  generator like you said. My idea came up when i use
> mybatis generator. Mybatis generator will inspect single column in table
> that we've registeren in config, and generate the POJO,Interface, and XML
> for us. For custom purpose i plan to use it for generate JSP, struts2
> controller, and Spring Service (i use Spring instead).
>
> In the future, this feature will usefull when we need to speedup
> development such as create a CRUD on Master Tables
>
>
> Regards
>
> On Sun, Dec 1, 2019, 08:00 Zahid Rahman  wrote:
>
> > Hi,
> >
> > I am sure you are familiar with the Java Object Orientated Code Generator
> > Plugin ,
> > where you can declare a variable in a class and then you are able to
> > generate
> > the repetitive task of generating code for the Getters and  Setters for
> > that variable.
> > No doubt the experience is rather fun too !.
> >
> > Is there a plugin available where you place your cursor in the
> .jsp.
> > start a GUI plugin.
> >
> > create a field variable of type  [s:textfield  s:radio  s:select
> >  s:checkbox  s:textarea s:checkboxlist  etc.] .
> > select the attributes associated for that field , from a list [ drop down
> > or radio button].
> >
> > You then have option of  Generating the corresponding  class  property,
> > including  create a class if one doesn't exist,
> > Go on to generate code for field getter and setter in the class and even
> > perhaps  the  corresponding  s:property in a selected  JSP (create a JSP
> if
> > one doesn't exist, minimum generated code required code by struts
> > framework), Also  creating the corresponding s:property field just above
> >  TAG.  all following the struts design pattern.
> >
> > As you can see the functionality of the Struts application Generator
> plugin
> > is same as the Object orientated getter an setter, constructor code
> > generator plugin, you are familiar using , but specific for struts
> > framework.
> > The struts Application Generator will also eliminated many  of the
> > unnecessary bugs found by application developers.
> >
> > Please see page 411  ISBN 0-8053-5340-2 Object Orientated Analysis and
> > Design with Applications for further details.
> >
> > Best Regards
> > Zahid
> >
> > .
> >
>


Re: Struts Application Generator plugin

2019-11-30 Thread Zahid Rahman
My suggestion or feature request is not an original idea by any means.
This is how 4GLs (4th Generation Language) work or what they are.
I would even go so far as to say the plugin I suggested does meet the  4GL
definition  completely.
4GLs I have come across are CA OPENROAD , ORACLE FORMS, Visual Basic in FAT
client environments.
(two tier, synchronous communication tightly coupled ).
4GLs like OpenRoad and oracle forms were provided by Database companies,
when the architecture was database centric .

As you know we are now working in a network centric environment where there
is a minimum 3 tier  architectural requirement.
browser, application server, database.
Database is no longer the center of the architecture,
So now it should be the application server companies like spring providing
these plugins.
Alongside the  https://start.spring.io/   initialzr website.

If I put my mind to it I could probably knock one off,
But my focus is some where else and I don't want to divert my attention.

How important is such a feature ?
In my view and from my experience It could add millions of GBP to one
companies bottom line.
That's what the 4GLs did for who those realised the value of it.

Also in my previous post I was referring closing  body TAG .

Please correct me if  I is my understand but the controller is the servlet.
 
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

I was referring to the the auto generation of actions class
public class SomeClass  extends ActionSupport {}

Best Regards

Zahid












On Sun, 1 Dec 2019 at 01:12, M Huzaifah  wrote:

> Hi,..
>
> I was wonder to have  generator like you said. My idea came up when i use
> mybatis generator. Mybatis generator will inspect single column in table
> that we've registeren in config, and generate the POJO,Interface, and XML
> for us. For custom purpose i plan to use it for generate JSP, struts2
> controller, and Spring Service (i use Spring instead).
>
> In the future, this feature will usefull when we need to speedup
> development such as create a CRUD on Master Tables
>
>
> Regards
>
> On Sun, Dec 1, 2019, 08:00 Zahid Rahman  wrote:
>
> > Hi,
> >
> > I am sure you are familiar with the Java Object Orientated Code Generator
> > Plugin ,
> > where you can declare a variable in a class and then you are able to
> > generate
> > the repetitive task of generating code for the Getters and  Setters for
> > that variable.
> > No doubt the experience is rather fun too !.
> >
> > Is there a plugin available where you place your cursor in the
> .jsp.
> > start a GUI plugin.
> >
> > create a field variable of type  [s:textfield  s:radio  s:select
> >  s:checkbox  s:textarea s:checkboxlist  etc.] .
> > select the attributes associated for that field , from a list [ drop down
> > or radio button].
> >
> > You then have option of  Generating the corresponding  class  property,
> > including  create a class if one doesn't exist,
> > Go on to generate code for field getter and setter in the class and even
> > perhaps  the  corresponding  s:property in a selected  JSP (create a JSP
> if
> > one doesn't exist, minimum generated code required code by struts
> > framework), Also  creating the corresponding s:property field just above
> >  TAG.  all following the struts design pattern.
> >
> > As you can see the functionality of the Struts application Generator
> plugin
> > is same as the Object orientated getter an setter, constructor code
> > generator plugin, you are familiar using , but specific for struts
> > framework.
> > The struts Application Generator will also eliminated many  of the
> > unnecessary bugs found by application developers.
> >
> > Please see page 411  ISBN 0-8053-5340-2 Object Orientated Analysis and
> > Design with Applications for further details.
> >
> > Best Regards
> > Zahid
> >
> > .
> >
>


Struts Application Generator plugin

2019-11-30 Thread Zahid Rahman
Hi,

I am sure you are familiar with the Java Object Orientated Code Generator
Plugin ,
where you can declare a variable in a class and then you are able to
generate
the repetitive task of generating code for the Getters and  Setters for
that variable.
No doubt the experience is rather fun too !.

Is there a plugin available where you place your cursor in the .jsp.
start a GUI plugin.

create a field variable of type  [s:textfield  s:radio  s:select
 s:checkbox  s:textarea s:checkboxlist  etc.] .
select the attributes associated for that field , from a list [ drop down
or radio button].

You then have option of  Generating the corresponding  class  property,
including  create a class if one doesn't exist,
Go on to generate code for field getter and setter in the class and even
perhaps  the  corresponding  s:property in a selected  JSP (create a JSP if
one doesn't exist, minimum generated code required code by struts
framework), Also  creating the corresponding s:property field just above
 TAG.  all following the struts design pattern.

As you can see the functionality of the Struts application Generator plugin
is same as the Object orientated getter an setter, constructor code
generator plugin, you are familiar using , but specific for struts
framework.
The struts Application Generator will also eliminated many  of the
unnecessary bugs found by application developers.

Please see page 411  ISBN 0-8053-5340-2 Object Orientated Analysis and
Design with Applications for further details.

Best Regards
Zahid

.


OFF TOPIC: hot reload

2019-11-28 Thread Zahid Rahman
FLUTTER'S hot reload  (memory Hungary emulator)
and Struts  development in eclipse works in the same way.
which one came first ?


Re: Update views how to ?

2019-11-26 Thread Zahid Rahman
Many Thanks Huzaifah,
For my application idea, your information  certainly would have met my
requirement and I found your message very helpful and I am very
appreciative.
In the past however I have  done a system work around in an ill-conceived
commercially available system architecture and detected another system work
in another system architecture.
In all good conscious I was not happy with the system work around I did.
But it was at the end of a project.
All in the space of one two months.
Coming across one system work around in an application developers career is
one too many.
So for this reason I will try and apply the chat application first as
suggested by Yasser. If that doesn't meet my requirement then I will try
your suggestions.

Regards
zahid

On Fri, 22 Nov 2019 at 03:27, M Huzaifah  wrote:

> Hi,
>
> You should use stream mecanism for that case. What i've done, i used JMS,
> message-broker, which mean the browser always listen to message-broker
> server using websocket (STOMP,AMQP,etc). When backend push message to the
> broker server, browser automatically receive and render the message to the
> browser. I use ActiveMQ over MQTT, and render the message using javascript
> in browser.
>
> You can find another stream mecanism or reactive application example out
> there.
>
> Regards
>
> On Fri, Nov 22, 2019, 10:06 Zahid Rahman  wrote:
>
> > Hi,
> >
> > I have an admin screen (jsp) where  the administrator updates values i.e.
> > current weather temperature, cricket , football score, death counter
> > showing people killed by knife crime in a city, natural causes , car
> > accidents etc.
> >
> >
> > I have at least two users who are looking at the current temperature or
> > game score etc. (JSP).
> >
> > Once the administrator updates the values , the data viewed by the two
> > users
> > In their browser is now stale data , due to the fact the web browser is
> > based on a stateless pull model.
> >
> > Is there an example app or maven  archetype which shows how I can update
> > or  refresh  the views (JSPs viewed in browser) in all the user  sessions
> > [views ] from inside the running application server using the struts2
> > framework.
> >
>


Re: /struts-2.5.22-all.zip where can download

2019-11-26 Thread Zahid Rahman
Here are some changes and corrections I wish to suggest for page
https://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html
.
What I mean to say is that, I wish the page had been written as follows.

STEP 1.

*-*
*-/pom.xml [file]*





*- /src- /src/main - /src/main/java-
/src/main/resources- /src/main/webapp-
/src/main/webapp/WEB-INF*

*maven jetty:run* command does helps to create file  header  of config
file  */pom.xml*  with error messages
except it does not help to create the tag war.
Without this tag you get build successful message, but jetty does not go
into  *server mode*.  I think this is inconsistent and is very important
because there is no error message and the desired effect is missing.

These are the error messages I am referring which assist with creating
file header of */pom.xml*




*[ERROR]   The project
[unknown-group-id]:[unknown-artifact-id]:[unknown-version]
(c:\struts2\work_dir\mvntest\pom.xml) has 4 errors[ERROR]
'modelVersion' is missing. @ line 1, column 9[ERROR] 'groupId' is
missing. @ line 1, column 9[ERROR] 'artifactId' is missing. @ line 1,
column 9[ERROR] 'version' is missing. @ line 1, column 9*

So  I think file header for the /pom.xml should be mentioned on
that page as follows.






* 4.0.0
org.apachebasic-struts
1.0war*

To remove  the warning of platform independent
there should be a mention to include the following tags






*
UTF-8
2.5.20*

Later in the page the dependency TAG is mentioned , but I feel the
dependencies TAG should also be included as follows.

**

*  *



* org.apache.struts
 struts2-core
 ${struts2.version} *


**

mvn jetty:run  commands does actually inform
*/${build.finalName} deprecated to  /${project.build.finalName}*

Below is my complete pom.xml file

























































*
4.0.0org.apache
basic-struts1.0
war
UTF-8
2.5.20
 org.apache.struts
 struts2-core
 ${struts2.version} 
  basic-struts
org.eclipse.jetty
jetty-maven-plugin
9.4.7.v20170914
  
  /${project.build.finalName}
CTRL+C
8999
10
  src/main/webapp/WEB-INF/web.xml
  
  *


Best Regards

zahid



On Mon, 25 Nov 2019 at 08:41, Lukasz Lenart  wrote:

> niedz., 24 lis 2019 o 06:15 Zahid Rahman 
> napisał(a):
> > "struts cookbook" button is unresponsive on main page
> > http://localhost:8080/struts2-showcase/index.action
> > It was unresponsive in the previous version too.
>
> Thanks, changed to point to https://github.com/apache/struts-examples
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> -
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>


Re: Update views how to ?

2019-11-24 Thread Zahid Rahman
You're welcome.
If you look in the inside front  cover of a book called professional java
server pages by wrox press.
It is a rather an old book now but wasn't when I first bought it.

https://www.amazon.co.uk/Professional-Programming-JavaServer-Enterprise-Javaspaces/dp/1861002777
.
ISBN-13: 978-1861002778, ISBN-10: 1861002777. Such an old book now, the
price is now is next to nothing. £0.83 GBP.

There is a top level design, diagrammatic view of technologies in the
inside front cover.  A person of your technological mind set and ability
will see  immediately what I mean.


When I looked at it I always felt from experience  and observation of
application development (good and bad), JSPs , Bean in application
container with
Socket streams in web browser was the missing  piece and was the route of
the application thread travel. This application thread is both simple yet
flexible whilst guaranteeing data integrity.







On Sun, 24 Nov 2019, 12:13 Yasser Zamani,  wrote:

> Thank you so much Zahid! you made my day :)
>
> As far as I can recall there aren't too much to do to release Struts 2.6.
> I hope it's going to be soon :)
>
> Regards.
>
> >-Original Message-
> >From: Zahid Rahman 
> >Sent: Sunday, November 24, 2019 2:10 PM
> >To: Struts Users Mailing List 
> >Subject: Re: Update views how to ?
> >
> >The  advantages you have outlined in file
> > (quoted below) is
> >precisely the reason for my post . Now I feel struts2 is a complete
> framework  for
> >any imaginable  application.  Struts 2 is now a simple yet powerful ,
> adaptable
> >framework. Please do what you need to do for version
> >2.6 to refine the last piece.
> >
> >
> >
> >
> >Example: A minimal chat room using server push Open current
> >page in different tabs, browsers and computers then send messages.
> >This is a minimal chat room which uses server push to retrieve new
> >messages.
> >It doesn't poll the server frequently to check if a new message is
> available to
> >display.
> >Instead it waits for the server to push back new messages. This approach
> has two
> >obvious advantages:
> >low-lag communication without requests being sent, and no waste of server
> >resources and network bandwidth.
> >Reference: https://www.javaworld.com/article/2077995/java-concurrency/java-
> >concurrency-asynchronous-processing-support-in-servlet-3-0.html
> >">
> >Asynchronous processing support in Servlet 3.0
> >
> >
> >On Sun, 24 Nov 2019, 08:09 Yasser Zamani, 
> wrote:
> >
> >> Hi Zahid,
> >>
> >> Additionally, AFAIK...
> >>
> >> If your users are a lot, then I think you have to wait for Struts 2.6
> >> release where I've added support for Async actions. For an instance
> >> usage see my example at [1] (you can try it via running Struts 2.6
> >> snapshot showcase - it's a simple chat room i.e. classic usage of
> server push).
> >>
> >> Otherwise or anyway, for now, you can try if Struts ExecAndWait is
> >> able to handle your users.
> >>
> >> Regards.
> >>
> >> [1]
> >> https://github.com/apache/struts/pull/179/commits/aee171c3b8ad40100661
> >> 2c4df44ed540fb2ed7e3
> >>
> >> >-Original Message-
> >> >From: M Huzaifah 
> >> >Sent: Friday, November 22, 2019 6:57 AM
> >> >To: Struts Users Mailing List 
> >> >Subject: Re: Update views how to ?
> >> >
> >> >Hi,
> >> >
> >> >You should use stream mecanism for that case. What i've done, i used
> >> >JMS, message-broker, which mean the browser always listen to
> >> >message-broker
> >> server
> >> >using websocket (STOMP,AMQP,etc). When backend push message to the
> >> >broker server, browser automatically receive and render the message
> >> >to the
> >> browser. I
> >> >use ActiveMQ over MQTT, and render the message using javascript in
> >> browser.
> >> >
> >> >You can find another stream mecanism or reactive application example
> >> >out
> >> there.
> >> >
> >> >Regards
> >> >
> >> >On Fri, Nov 22, 2019, 10:06 Zahid Rahman  wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> I have an admin screen (jsp) where  the administrator updates
> >> >> values
> >> i.e.
> >> >> current weather temperature, cricket , football score, death
> >> >> counter showing people killed by knife crime in a city, natural
> >> >> causes , car accidents etc.
> >> >>
> >> >>
> >> >> I have at least two users who are looking at the current
> >> >> temperature or game score etc. (JSP).
> >> >>
> >> >> Once the administrator updates the values , the data viewed by the
> >> >> two users In their browser is now stale data , due to the fact the
> >> >> web browser is based on a stateless pull model.
> >> >>
> >> >> Is there an example app or maven  archetype which shows how I can
> >> >> update or  refresh  the views (JSPs viewed in browser) in all the
> >> >> user sessions [views ] from inside the running application server
> >> >> using the
> >> >> struts2 framework.
> >> >>
> >>
>


Re: Update views how to ?

2019-11-24 Thread Zahid Rahman
The  advantages you have outlined in file
 (quoted below) is
precisely the reason for my post . Now I feel struts2 is a complete
framework  for any imaginable  application.  Struts 2 is now a simple yet
powerful , adaptable framework. Please do what you need to do for version
2.6 to refine the last piece.




Example: A minimal chat room using server push
Open current page in different tabs, browsers and computers then send
messages.
This is a minimal chat room which uses server push to retrieve new
messages.
It doesn't poll the server frequently to check if a new message is
available to display.
Instead it waits for the server to push back new messages. This approach
has two obvious advantages:
low-lag communication without requests being sent, and no waste of server
resources and network bandwidth.
Reference: https://www.javaworld.com/article/2077995/java-concurrency/java-concurrency-asynchronous-processing-support-in-servlet-3-0.html
">
Asynchronous processing support in Servlet 3.0


On Sun, 24 Nov 2019, 08:09 Yasser Zamani,  wrote:

> Hi Zahid,
>
> Additionally, AFAIK...
>
> If your users are a lot, then I think you have to wait for Struts 2.6
> release where I've added support for Async actions. For an instance usage
> see my example at [1] (you can try it via running Struts 2.6 snapshot
> showcase - it's a simple chat room i.e. classic usage of server push).
>
> Otherwise or anyway, for now, you can try if Struts ExecAndWait is able to
> handle your users.
>
> Regards.
>
> [1]
> https://github.com/apache/struts/pull/179/commits/aee171c3b8ad401006612c4df44ed540fb2ed7e3
>
> >-Original Message-
> >From: M Huzaifah 
> >Sent: Friday, November 22, 2019 6:57 AM
> >To: Struts Users Mailing List 
> >Subject: Re: Update views how to ?
> >
> >Hi,
> >
> >You should use stream mecanism for that case. What i've done, i used JMS,
> >message-broker, which mean the browser always listen to message-broker
> server
> >using websocket (STOMP,AMQP,etc). When backend push message to the broker
> >server, browser automatically receive and render the message to the
> browser. I
> >use ActiveMQ over MQTT, and render the message using javascript in
> browser.
> >
> >You can find another stream mecanism or reactive application example out
> there.
> >
> >Regards
> >
> >On Fri, Nov 22, 2019, 10:06 Zahid Rahman  wrote:
> >
> >> Hi,
> >>
> >> I have an admin screen (jsp) where  the administrator updates values
> i.e.
> >> current weather temperature, cricket , football score, death counter
> >> showing people killed by knife crime in a city, natural causes , car
> >> accidents etc.
> >>
> >>
> >> I have at least two users who are looking at the current temperature
> >> or game score etc. (JSP).
> >>
> >> Once the administrator updates the values , the data viewed by the two
> >> users In their browser is now stale data , due to the fact the web
> >> browser is based on a stateless pull model.
> >>
> >> Is there an example app or maven  archetype which shows how I can
> >> update or  refresh  the views (JSPs viewed in browser) in all the user
> >> sessions [views ] from inside the running application server using the
> >> struts2 framework.
> >>
>


Re: /struts-2.5.22-all.zip where can download

2019-11-23 Thread Zahid Rahman
"struts cookbook" button is unresponsive on main page
http://localhost:8080/struts2-showcase/index.action
It was unresponsive in the previous version too.
Both chrome and Firefox browsers.



On Sat, 23 Nov 2019 at 18:17, Yasser Zamani  wrote:

> Hi,
>
> https://dist.apache.org/repos/dist/dev/struts/2.5.22
>
> Thanks for testing the bits!
>
> Regards.
> On 23 November 2019, at 20:03, Sai Man Yau  ieomon...@gmail.com>> wrote:
>
> Dear Friends,
>
> I would like to know where could I download the
> dev/struts/2.5.22/struts-2.5.22-all.zip for my local project to have a test
> run? Thanks.
>
> Regards,
> Simon
>
>


Update views how to ?

2019-11-21 Thread Zahid Rahman
Hi,

I have an admin screen (jsp) where  the administrator updates values i.e.
current weather temperature, cricket , football score, death counter
showing people killed by knife crime in a city, natural causes , car
accidents etc.


I have at least two users who are looking at the current temperature or
game score etc. (JSP).

Once the administrator updates the values , the data viewed by the two users
In their browser is now stale data , due to the fact the web browser is
based on a stateless pull model.

Is there an example app or maven  archetype which shows how I can update
or  refresh  the views (JSPs viewed in browser) in all the user  sessions
[views ] from inside the running application server using the struts2
framework.