Re: svn commit: r1824260 - in /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbi z/webapp/control: ExternalLoginKeysManager.java LoginWorker.java

2018-02-14 Thread Jacques Le Roux

Hi Michael,

Actually these were commits I recently (1 week ago in r1823324) put to myself 
to quickly check.

I could give this information in the commit log, would it help you?

What would you use for action done, improvement? Maybe completed?

Jacques

Le 14/02/2018 à 20:45, Michael Brohl a écrit :

Jacques, please amend the commit message, thank you.
Regards,
Michael




Am 14.02.2018 um 17:40 schrieb jler...@apache.org:

Author: jleroux
Date: Wed Feb 14 16:40:19 2018
New Revision: 1824260

URL: http://svn.apache.org/viewvc?rev=1824260=rev
Log:
No functional change, removes TODOs that are OK

Modified:

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java

ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java?rev=1824260=1824259=1824260=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
 Wed Feb 14 16:40:19 2018
@@ -208,7 +208,7 @@ public class ExternalLoginKeysManager {
 GenericValue userLogin = 
EntityQuery.use(delegator).from("UserLogin").where("userLoginId", 
userLoginId).queryOne();
 if (userLogin != null) {
 // Check it's the right tenant in case username and password 
are the same in different tenants
-// TODO : not sure this is really useful in the case of 
external server, should not hurt anyway
+// Not sure this is really useful in the case of external 
server, should not hurt anyway
 LocalDispatcher dispatcher = (LocalDispatcher) 
request.getAttribute("dispatcher");
 String oldDelegatorName = delegator.getDelegatorName();
 ServletContext servletContext = session.getServletContext();

Modified: 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java?rev=1824260=1824259=1824260=diff
==
--- 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
 Wed Feb 14 16:40:19 2018
@@ -628,7 +628,6 @@ public class LoginWorker {
 doBasicLogout(userLogin, request, response);

 //autoLogoutFromAllBackendSessions(userLogin, request, response);
-// TODO check why, seems no sense
 if (request.getAttribute("_AUTO_LOGIN_LOGOUT_") == null) {
 return autoLoginCheck(request, response);
 }
@@ -846,7 +845,7 @@ public class LoginWorker {
 session.removeAttribute("autoUserLogin");
 session.removeAttribute("autoName");

-request.setAttribute("_AUTO_LOGIN_LOGOUT_", Boolean.TRUE); // TODO 
check it's useful
+request.setAttribute("_AUTO_LOGIN_LOGOUT_", Boolean.TRUE);
 return "success";
 }









Re: Overriding eca definition

2018-02-14 Thread Devanshu Vyas
+1 for this effort Suraj!

Thanks & Regards,
Devanshu Vyas.

On Sat, Feb 10, 2018 at 6:12 PM, Suraj Khurana <
suraj.khur...@hotwaxsystems.com> wrote:

> Hi Nicolas,
>
> I think there is a confusion here.
> I am trying to find the reason why condition-service have not been
> implemented for ecas?
> I there is no such reason, I propose we should have a similar concept for
> ecas as well.
> So that we can write something like:
>
>
> value="ORDER_COMPLETED"/>
> value="Y"/>
>
>
> 
>
> Here, checkForSomeCondition service must return true to proceed for
> issueImmediatelyFulfilledOrder.
> HTH.
>
> --
> Thanks and Regards,
> *Suraj Khurana* | Sr. Enterprise Software Engineer
> *HotWax Commerce*  by  *HotWax Systems*
> Plot no. 80, Scheme no. 78, Vijay Nagar, Indore, M.P. India 452010
>
> On Sat, Feb 10, 2018 at 1:35 PM, Nicolas Malin 
> wrote:
>
> > Hello Suraj,
> >
> > Currently I see no possibility to override an eca because definitions are
> > all loaded and we can have exactly two identical definition with
> different
> > action. In this case difficult to spot the eca to disable/improve.
> >
> > So before try to override an eca I suggest to implement an identification
> > like :
> >
> >  >  package="org.apache.ofbiz.accounting"
> id="FinAccountTransBalanceUpda
> > te">
> >  > value="FINACT_TRNS_APPROVED"/>
> >  mode="sync"/>
> > 
> >
> > and after we would implement a new element as flying idea :
> >  > id="FinAccountTransBalanceUpdate">
> >   
> >  > value="LOVE"/>
> >   
> > 
> > or
> >  > id="FinAccountTransBalanceUpdate">
> > or
> > > id="FinAccountTransBalanceUpdate">
> >
> >  > value="LOVE"/>
> > 
> >
> > 
> >
> > Nicolas
> >
> >
> >
> > On 09/02/2018 14:01, Suraj Khurana wrote:
> >
> >> Hello,
> >>
> >> What is the best way to override entity eca definition?
> >> Suppose you need to add a condition-service as well in eca, as far as I
> >> can
> >> check, currently, there is no way to handle condition service in eca
> rule.
> >>
> >> IMO, this could be interesting to have this thing, is it intentional
> that
> >> we do this only for seca rules and not for eca's?
> >>
> >> Please share your thoughts on this.
> >> --
> >> Thanks and Regards,
> >> *Suraj Khurana* | Omnichannel OMS Technical Expert
> >> *HotWax Commerce*  by  *HotWax Systems*
> >> Plot no. 80, Scheme no. 78, Vijay Nagar, Indore, M.P. India 452010
> >>
> >>
> >
>


Re: svn commit: r1824260 - in /ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control: ExternalLoginKeysManager.java LoginWorker.java

2018-02-14 Thread Michael Brohl
Jacques, please amend the commit message, thank you.
Regards,
Michael



> Am 14.02.2018 um 17:40 schrieb jler...@apache.org:
> 
> Author: jleroux
> Date: Wed Feb 14 16:40:19 2018
> New Revision: 1824260
> 
> URL: http://svn.apache.org/viewvc?rev=1824260=rev
> Log:
> No functional change, removes TODOs that are OK
> 
> Modified:
>
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
>
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
> 
> Modified: 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java?rev=1824260=1824259=1824260=diff
> ==
> --- 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ExternalLoginKeysManager.java
>  Wed Feb 14 16:40:19 2018
> @@ -208,7 +208,7 @@ public class ExternalLoginKeysManager {
> GenericValue userLogin = 
> EntityQuery.use(delegator).from("UserLogin").where("userLoginId", 
> userLoginId).queryOne();
> if (userLogin != null) {
> // Check it's the right tenant in case username and password 
> are the same in different tenants
> -// TODO : not sure this is really useful in the case of 
> external server, should not hurt anyway
> +// Not sure this is really useful in the case of external 
> server, should not hurt anyway
> LocalDispatcher dispatcher = (LocalDispatcher) 
> request.getAttribute("dispatcher");
> String oldDelegatorName = delegator.getDelegatorName();
> ServletContext servletContext = session.getServletContext();
> 
> Modified: 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java?rev=1824260=1824259=1824260=diff
> ==
> --- 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
>  (original)
> +++ 
> ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
>  Wed Feb 14 16:40:19 2018
> @@ -628,7 +628,6 @@ public class LoginWorker {
> doBasicLogout(userLogin, request, response);
> 
> //autoLogoutFromAllBackendSessions(userLogin, request, response);
> -// TODO check why, seems no sense
> if (request.getAttribute("_AUTO_LOGIN_LOGOUT_") == null) {
> return autoLoginCheck(request, response);
> }
> @@ -846,7 +845,7 @@ public class LoginWorker {
> session.removeAttribute("autoUserLogin");
> session.removeAttribute("autoName");
> 
> -request.setAttribute("_AUTO_LOGIN_LOGOUT_", Boolean.TRUE); // TODO 
> check it's useful
> +request.setAttribute("_AUTO_LOGIN_LOGOUT_", Boolean.TRUE);
> return "success";
> }
> 
> 
> 



Re: [DISCUSSION] Review ProductPromo action and condition process

2018-02-14 Thread Jacques Le Roux

Cool, thanks

Jacques


Le 14/02/2018 à 14:54, Nicolas Malin a écrit :

Hi Jacques,

Normally yes, it's in read only.

Of course I will create an issue with the patch when the POC will be functional

Nicolas

On 14/02/2018 12:01, Jacques Le Roux wrote:

Hi Nicolas,

Is that open, ie accessible to everyone?

Jacques


Le 14/02/2018 à 09:03, Nicolas Malin a écrit :
Hello , for information we started a POC on nereide labs, if you want to follow the work it's here : 
https://labs.nereide.fr/10031/ofbiz-promo-engine-soa/compare/trunk...develop


Nicolas


On 30/12/2017 11:05, Nicolas Malin wrote:

Thanks for you return, yes I will try to work on POC this next year.

Nicolas


Le 12/12/2017 à 12:14, Rishi Solanki a écrit :

+1 for the proposal, Nicolas!


Rishi Solanki
Sr Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com
www.hotwax.co

On Mon, Dec 11, 2017 at 7:20 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:


Ha I see, you speak about

 
 
 

Then yes I understand and I think a POC would be welcome :)

Jacques


Le 11/12/2017 à 13:08, Jacques Le Roux a écrit :


Hi Nicolas,

I don't see why you speak about enumeration for ProductPromoCond and
ProductPromoAction which are plain entities.

Jacques


Le 08/12/2017 à 14:14, Nicolas Malin a écrit :


Hello,

Yesterday during a boring time in the come back home train, I read the
ofbiz demo data review that the condition and action method are listed
through enumeration like :




and liked to the code by java hard code (ProductPromoWorker.java)

condition :
 } else if ("PPIP_PRODUCT_TOTAL".equals(inputParamEnumId)) {
 // this type of condition allows items involved to be
involved in other quantity consuming cond/action, and does pro-rate the
price


action :
} else if ("PROMO_GWP".equals(productPromoActionEnumId)) {
...

This isn't really useful to manage and extend it but an idea raise in my
mind :)

Why not replace the enumeration by a customMethod. We can define a
interface service one for action and one for condition, with the related
customMethodType. Each hard coded enumeration would be convert to service.

Like this we can surcharge the current rules easily and create new one
for customer site without modify the core.
The main strategy point would be the interface service to pass the good
parameters.




This is easily to improve on java code, screen and data.
What do you thinks ? Do you have an other idea to improve this ?

Cheers,
Nicolas




















Apache EU Roadshow CFP Closing Soon (23 February)

2018-02-14 Thread Sharan F

Hello Everyone

This is an initial reminder to let you all know that we are holding an 
Apache EU Roadshow co-located with FOSS Backstage in Berlin on 13^th and 
14^th June 2018. https://s.apache.org/tCHx


The Call for Proposals (CFP) for the Apache EU Roadshow is currently 
open and will close at the end of next week, so if you have been 
delaying making a submission because the closing date seemed a long way 
off, then it's time to start getting your proposals submitted.


So what are we looking for?
We will have 2 Apache Devrooms available during the 2 day Roadshow so 
are looking for projects including incubating ones, to submit 
presentations, panel discussions, BoFs, or workshop proposals. The main 
focus of the Roadshow will be IoT, Cloud, Httpd and Tomcat so if your 
project is involved in or around any of these technologies at Apache 
then we are very interested in hearing from you.


Community and collaboration is important at Apache so if your project is 
interested in organising a project sprint, meetup or hackathon during 
the Roadshow, then please submit it inthe CFP as we do have some space 
available to allocate for these.


If you are wanting to submit a talk on open source community related 
topics such as the Apache Way, governance or legal aspects then please 
submit these to the CFP for FOSS Backstage.


Tickets for the Apache EU Roadshow are included as part of the 
registration for FOSS Backstage, so to attend the Roadshow you will need 
to register for FOSS Backstage. Early Bird tickets are still available 
until the 21^st February 2018.


Please see below for important URLs to remember:

-  To submit a CFP for the Apache EU Roadshow 
:http://apachecon.com/euroadshow18/ 


-  To submit a CFP for FOSS Backstage : 
https://foss-backstage.de/call-papers


-  To register to attend the Apache EU Roadshow and/or FOSS Backstage : 
https://foss-backstage.de/tickets


For further updates and information about the Apache EU Roadshowplease 
check http://apachecon.com/euroadshow18/


Thanks
Sharan Foga, VP Apache Community Development


Re: [DISCUSSION] Review ProductPromo action and condition process

2018-02-14 Thread Nicolas Malin

Hi Jacques,

Normally yes, it's in read only.

Of course I will create an issue with the patch when the POC will be 
functional


Nicolas

On 14/02/2018 12:01, Jacques Le Roux wrote:

Hi Nicolas,

Is that open, ie accessible to everyone?

Jacques


Le 14/02/2018 à 09:03, Nicolas Malin a écrit :
Hello , for information we started a POC on nereide labs, if you want 
to follow the work it's here : 
https://labs.nereide.fr/10031/ofbiz-promo-engine-soa/compare/trunk...develop


Nicolas


On 30/12/2017 11:05, Nicolas Malin wrote:

Thanks for you return, yes I will try to work on POC this next year.

Nicolas


Le 12/12/2017 à 12:14, Rishi Solanki a écrit :

+1 for the proposal, Nicolas!


Rishi Solanki
Sr Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com
www.hotwax.co

On Mon, Dec 11, 2017 at 7:20 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:


Ha I see, you speak about

 
enumTypeId="PROD_PROMO" hasTable="N" parentTypeId=""/>
 enumTypeId="PROD_PROMO_IN_PARAM" hasTable="N" 
parentTypeId="PROD_PROMO"/>

 

Then yes I understand and I think a POC would be welcome :)

Jacques


Le 11/12/2017 à 13:08, Jacques Le Roux a écrit :


Hi Nicolas,

I don't see why you speak about enumeration for ProductPromoCond and
ProductPromoAction which are plain entities.

Jacques


Le 08/12/2017 à 14:14, Nicolas Malin a écrit :


Hello,

Yesterday during a boring time in the come back home train, I 
read the
ofbiz demo data review that the condition and action method are 
listed

through enumeration like :

productPromoActionEnumId="PROMO_GWP"

.../>
inputParamEnumId="PPIP_PRODUCT_TOTAL"

operatorEnumId="PPC_GTE" condValue="1"/>

and liked to the code by java hard code (ProductPromoWorker.java)

condition :
 } else if 
("PPIP_PRODUCT_TOTAL".equals(inputParamEnumId)) {

 // this type of condition allows items involved to be
involved in other quantity consuming cond/action, and does 
pro-rate the

price


action :
} else if ("PROMO_GWP".equals(productPromoActionEnumId)) {
...

This isn't really useful to manage and extend it but an idea 
raise in my

mind :)

Why not replace the enumeration by a customMethod. We can define a
interface service one for action and one for condition, with the 
related
customMethodType. Each hard coded enumeration would be convert 
to service.


Like this we can surcharge the current rules easily and create 
new one

for customer site without modify the core.
The main strategy point would be the interface service to pass 
the good

parameters.

customMethodId="PPA_PROMO_GWP"

.../>
customMethodId="PPC_PRODUCT_TOTAL"

operatorEnumId="PPC_GTE" condValue="1"/>

This is easily to improve on java code, screen and data.
What do you thinks ? Do you have an other idea to improve this ?

Cheers,
Nicolas

















Re: [DISCUSSION] Review ProductPromo action and condition process

2018-02-14 Thread Jacques Le Roux

Hi Nicolas,

Is that open, ie accessible to everyone?

Jacques


Le 14/02/2018 à 09:03, Nicolas Malin a écrit :
Hello , for information we started a POC on nereide labs, if you want to follow the work it's here : 
https://labs.nereide.fr/10031/ofbiz-promo-engine-soa/compare/trunk...develop


Nicolas


On 30/12/2017 11:05, Nicolas Malin wrote:

Thanks for you return, yes I will try to work on POC this next year.

Nicolas


Le 12/12/2017 à 12:14, Rishi Solanki a écrit :

+1 for the proposal, Nicolas!


Rishi Solanki
Sr Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com
www.hotwax.co

On Mon, Dec 11, 2017 at 7:20 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:


Ha I see, you speak about

 
 
 

Then yes I understand and I think a POC would be welcome :)

Jacques


Le 11/12/2017 à 13:08, Jacques Le Roux a écrit :


Hi Nicolas,

I don't see why you speak about enumeration for ProductPromoCond and
ProductPromoAction which are plain entities.

Jacques


Le 08/12/2017 à 14:14, Nicolas Malin a écrit :


Hello,

Yesterday during a boring time in the come back home train, I read the
ofbiz demo data review that the condition and action method are listed
through enumeration like :




and liked to the code by java hard code (ProductPromoWorker.java)

condition :
 } else if ("PPIP_PRODUCT_TOTAL".equals(inputParamEnumId)) {
 // this type of condition allows items involved to be
involved in other quantity consuming cond/action, and does pro-rate the
price


action :
} else if ("PROMO_GWP".equals(productPromoActionEnumId)) {
...

This isn't really useful to manage and extend it but an idea raise in my
mind :)

Why not replace the enumeration by a customMethod. We can define a
interface service one for action and one for condition, with the related
customMethodType. Each hard coded enumeration would be convert to service.

Like this we can surcharge the current rules easily and create new one
for customer site without modify the core.
The main strategy point would be the interface service to pass the good
parameters.




This is easily to improve on java code, screen and data.
What do you thinks ? Do you have an other idea to improve this ?

Cheers,
Nicolas














Travel Assistance applications open

2018-02-14 Thread Sharan F

—

The Travel Assistance Committee (TAC) are pleased to announce that travel 
assistance applications for ApacheCon NA 2018 are now open!

We will be supporting ApacheCon NA Montreal, Canada on 24th - 29th September 
2018

 TAC exists to help those that would like to attend ApacheCon events, but are 
unable to do so for financial reasons.
For more info on this years applications and qualifying criteria, please visit the TAC 
website at < http://www.apache.org/travel/  >. 
Applications are now open and will close 1st May.

Important: Applications close on May 1st, 2018. Applicants have until the 
closing date above to submit their applications (which should contain as much 
supporting material as required to efficiently and accurately process their 
request), this will enable TAC to announce successful awards shortly afterwards.

As usual, TAC expects to deal with a range of applications from a diverse range 
of backgrounds. We therefore encourage (as always) anyone thinking about 
sending in an application to do so ASAP.
We look forward to greeting many of you in Montreal

Kind Regards,
Gavin - (On behalf of the Travel Assistance Committee)
—





Re: [DISCUSSION] Review ProductPromo action and condition process

2018-02-14 Thread Nicolas Malin
Hello , for information we started a POC on nereide labs, if you want to 
follow the work it's here : 
https://labs.nereide.fr/10031/ofbiz-promo-engine-soa/compare/trunk...develop


Nicolas


On 30/12/2017 11:05, Nicolas Malin wrote:

Thanks for you return, yes I will try to work on POC this next year.

Nicolas


Le 12/12/2017 à 12:14, Rishi Solanki a écrit :

+1 for the proposal, Nicolas!


Rishi Solanki
Sr Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com
www.hotwax.co

On Mon, Dec 11, 2017 at 7:20 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:


Ha I see, you speak about

 
 enumTypeId="PROD_PROMO_IN_PARAM" hasTable="N" 
parentTypeId="PROD_PROMO"/>

 

Then yes I understand and I think a POC would be welcome :)

Jacques


Le 11/12/2017 à 13:08, Jacques Le Roux a écrit :


Hi Nicolas,

I don't see why you speak about enumeration for ProductPromoCond and
ProductPromoAction which are plain entities.

Jacques


Le 08/12/2017 à 14:14, Nicolas Malin a écrit :


Hello,

Yesterday during a boring time in the come back home train, I read 
the
ofbiz demo data review that the condition and action method are 
listed

through enumeration like :

productPromoActionEnumId="PROMO_GWP"

.../>
inputParamEnumId="PPIP_PRODUCT_TOTAL"

operatorEnumId="PPC_GTE" condValue="1"/>

and liked to the code by java hard code (ProductPromoWorker.java)

condition :
 } else if ("PPIP_PRODUCT_TOTAL".equals(inputParamEnumId)) {
 // this type of condition allows items involved to be
involved in other quantity consuming cond/action, and does 
pro-rate the

price


action :
} else if ("PROMO_GWP".equals(productPromoActionEnumId)) {
...

This isn't really useful to manage and extend it but an idea raise 
in my

mind :)

Why not replace the enumeration by a customMethod. We can define a
interface service one for action and one for condition, with the 
related
customMethodType. Each hard coded enumeration would be convert to 
service.


Like this we can surcharge the current rules easily and create new 
one

for customer site without modify the core.
The main strategy point would be the interface service to pass the 
good

parameters.

customMethodId="PPA_PROMO_GWP"

.../>
customMethodId="PPC_PRODUCT_TOTAL"

operatorEnumId="PPC_GTE" condValue="1"/>

This is easily to improve on java code, screen and data.
What do you thinks ? Do you have an other idea to improve this ?

Cheers,
Nicolas