[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

2016-12-02 Thread Taher Alkhateeb (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-8337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Taher Alkhateeb updated OFBIZ-8337:
---
Attachment: OFBIZ-8337-3.patch

Re-attaching the patch with an additional modification to Classpath.java to 
remove all the native libraries stuff

> Refactor and simplify the startup sequence in OFBiz
> ---
>
> Key: OFBIZ-8337
> URL: https://issues.apache.org/jira/browse/OFBIZ-8337
> Project: OFBiz
>  Issue Type: Improvement
>  Components: base, start
>Affects Versions: Upcoming Release
>Reporter: Taher Alkhateeb
>Assignee: Taher Alkhateeb
>Priority: Minor
> Attachments: OFBIZ-8337-2.patch, OFBIZ-8337-3.patch, 
> OFBIZ-8337-3.patch, OFBIZ-8337.patch
>
>
> The startup sequence in OFBiz is highly complex and requires improvements on 
> multiple levels including:
> - The entire classpath buildup logic and 
> org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea 
> of classpath isolation between the components created many more problems than 
> it solved, and right now the classpath construction is the responsibility of 
> the build system.
> - The custom classloader needs to be removed as well together with the 
> classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have 
> two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of 
> startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
> only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove 
> the start() method but also to cleanup the very messy logic currently 
> residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

2016-12-02 Thread Taher Alkhateeb (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-8337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Taher Alkhateeb updated OFBIZ-8337:
---
Attachment: OFBIZ-8337-3.patch

This is another major patch which further refactors the startup sequence:

- Delete the NativeLibClassLoader
- Refactor the ComponentContainer and StartupControlPanel to operate without
  the NativeLibClassLoader. This substantially simplifies the code
- Declare a URLClassLoader in ComponentContainer that is instantiated upon
  building the classpath for all components. This makes the classloader start
  in one shot
- Simplify the Config file and remove fields that are not used. Also
  refactor some messy logic for loading the props file and other code
  improvements
- Refactor all the .properties files for startup to have a consistent
  structure that clearly documents all available properties and the
  default value for each property. This change is also related to the
  changes applied on Config.java
- Remove the declaration of the StartupLoader implementation class
  from all startup .properties files because only one implementation exists
  and it should be the default always.
- Refactor the loaders retrieval code (main, rmi, test, load-data) defined
  in the startup .properties files
- Refactor some switch statements to comply with java coding standards
- Add the DTDs defined in base through Gradle because we removed the
  NativeLibClassLoader and the classpath buildup logic in StartupControlPanel

> Refactor and simplify the startup sequence in OFBiz
> ---
>
> Key: OFBIZ-8337
> URL: https://issues.apache.org/jira/browse/OFBIZ-8337
> Project: OFBiz
>  Issue Type: Improvement
>  Components: base, start
>Affects Versions: Upcoming Release
>Reporter: Taher Alkhateeb
>Assignee: Taher Alkhateeb
>Priority: Minor
> Attachments: OFBIZ-8337-2.patch, OFBIZ-8337-3.patch, OFBIZ-8337.patch
>
>
> The startup sequence in OFBiz is highly complex and requires improvements on 
> multiple levels including:
> - The entire classpath buildup logic and 
> org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea 
> of classpath isolation between the components created many more problems than 
> it solved, and right now the classpath construction is the responsibility of 
> the build system.
> - The custom classloader needs to be removed as well together with the 
> classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have 
> two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of 
> startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
> only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove 
> the start() method but also to cleanup the very messy logic currently 
> residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

2016-11-28 Thread Taher Alkhateeb (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-8337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Taher Alkhateeb updated OFBIZ-8337:
---
Affects Version/s: (was: 16.11.01)
   Upcoming Release

> Refactor and simplify the startup sequence in OFBiz
> ---
>
> Key: OFBIZ-8337
> URL: https://issues.apache.org/jira/browse/OFBIZ-8337
> Project: OFBiz
>  Issue Type: Improvement
>  Components: base, start
>Affects Versions: Upcoming Release
>Reporter: Taher Alkhateeb
>Assignee: Taher Alkhateeb
>Priority: Minor
> Attachments: OFBIZ-8337-2.patch, OFBIZ-8337.patch
>
>
> The startup sequence in OFBiz is highly complex and requires improvements on 
> multiple levels including:
> - The entire classpath buildup logic and 
> org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea 
> of classpath isolation between the components created many more problems than 
> it solved, and right now the classpath construction is the responsibility of 
> the build system.
> - The custom classloader needs to be removed as well together with the 
> classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have 
> two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of 
> startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
> only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove 
> the start() method but also to cleanup the very messy logic currently 
> residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

2016-11-27 Thread Taher Alkhateeb (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-8337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Taher Alkhateeb updated OFBIZ-8337:
---
Attachment: OFBIZ-8337-2.patch

This is a new major patch for refactoring the startup sequence with the 
following highlights:

- simplify and cleanup the ofbiz-containers.xml to have only one entry
- substantially simplify the ComponentLoaderConfig class and remove unnecessary 
defined state
- delete the JustLoadComponentsContainer (used to exist for the server command 
--testlist which no longer exists)
- Fully refactor the ComponentContainer class and breakup the messy logic into 
chunks of private methods. The methods are also properly documented.

It is still not up to notch, but compared to the absolute mess it used to be, 
the code is now much more readable.

> Refactor and simplify the startup sequence in OFBiz
> ---
>
> Key: OFBIZ-8337
> URL: https://issues.apache.org/jira/browse/OFBIZ-8337
> Project: OFBiz
>  Issue Type: Improvement
>  Components: base, start
>Affects Versions: 16.11.01
>Reporter: Taher Alkhateeb
>Assignee: Taher Alkhateeb
>Priority: Minor
> Attachments: OFBIZ-8337-2.patch, OFBIZ-8337.patch
>
>
> The startup sequence in OFBiz is highly complex and requires improvements on 
> multiple levels including:
> - The entire classpath buildup logic and 
> org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea 
> of classpath isolation between the components created many more problems than 
> it solved, and right now the classpath construction is the responsibility of 
> the build system.
> - The custom classloader needs to be removed as well together with the 
> classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have 
> two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of 
> startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
> only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove 
> the start() method but also to cleanup the very messy logic currently 
> residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

2016-09-28 Thread Taher Alkhateeb (JIRA)

 [ 
https://issues.apache.org/jira/browse/OFBIZ-8337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Taher Alkhateeb updated OFBIZ-8337:
---
Description: 
The startup sequence in OFBiz is highly complex and requires improvements on 
multiple levels including:

- The entire classpath buildup logic and org.apache.ofbiz.base.start.Classpath 
needs to be removed. The original idea of classpath isolation between the 
components created many more problems than it solved, and right now the 
classpath construction is the responsibility of the build system.
- The custom classloader needs to be removed as well together with the 
classpath mentioned above.
- The StartupLoader interface should remove the start() method and just have 
two methods, load and unload.
- The startup sequence should have only one StartupLoader, not an array of 
startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
only class responsible for bootstrapping OFBiz
- The ContainerLoader needs to be completely refactored, not only to remove the 
start() method but also to cleanup the very messy logic currently residing 
there.

  was:
The startup sequence in OFBiz is highly complex and requires improvements on 
multiple levels including:

- The entire classpath buildup logic and org.apache.ofbiz.base.start.Classpath 
needs to be removed. The original idea of classpath isolation between the 
components created many more problems than it solved, and right now the 
classpath construction is the responsibility of the build system.
- The custom classloader needs to be removed as well together with the 
classpath mentioned above.
- The StartupLoader interface should remove the start() method and just have 
two methods, load and unload.
- The startup sequence should have only one StartupLoader, not an array of 
startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
only class responsible for bootstrapping OFBiz
- The ContainerLoader needs to be completely refactored, not only to remove the 
start() method but also to remove cleanup the very messy logic currently 
residing there.


> Refactor and simplify the startup sequence in OFBiz
> ---
>
> Key: OFBIZ-8337
> URL: https://issues.apache.org/jira/browse/OFBIZ-8337
> Project: OFBiz
>  Issue Type: Improvement
>  Components: base, start
>Affects Versions: Upcoming Branch
>Reporter: Taher Alkhateeb
>Assignee: Taher Alkhateeb
>Priority: Minor
>
> The startup sequence in OFBiz is highly complex and requires improvements on 
> multiple levels including:
> - The entire classpath buildup logic and 
> org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea 
> of classpath isolation between the components created many more problems than 
> it solved, and right now the classpath construction is the responsibility of 
> the build system.
> - The custom classloader needs to be removed as well together with the 
> classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have 
> two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of 
> startup loaders. This StartupLoader (implemented as ContainerLoader) is the 
> only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove 
> the start() method but also to cleanup the very messy logic currently 
> residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)