J2eeCommonRefactoring

Contents


This wiki page analyse j2ee.common disassembly into more granular, specific module components.

j2ee.common refactoring actions

Class/Package Description Refactoring action Responsible person Complete
o.n.m.j.c.ClasspathUtil class newly created during misc refactorings; not sure what should happen to it next?
o.n.m.j.c.ProjectUtil class newly created during misc refactorings; many(!) modules depend on it; not sure what should happen to it next?
o.n.m.j.c.ServerUtil class newly created during misc refactorings; not sure what should happen to it next?
o.n.m.j.c.project.EMGenStrategyResolverImpl [1] some project support class could be moved to j2ee.persistence mjanicek
o.n.m.j.c.SharabilityUtility few project specific util methods keep in j2ee.common
o.n.m.j.c.ui.J2EEUISettings Same purpose as o.n.m.javaee.project.api.ui.UserProjectSettings (some fields are even identical in both classes). Both classes should be merged. mjanicek
o.n.m.j.c.ui.* most of the classes in this package should not be in the API at all; the package provides support for "Broken"Something; code should be rewritten to use ProjectProblems SPI; should stay as project support
o.n.m.j.c.DDEditorNavigator moved to j2ee.dd APIs dkonecny
o.n.m.j.c.DatasourceHelper who is using it? could it move to persistence module?
o.n.m.j.c.DatasourceUIHelper could it move with DatasourceHelper to persistence module?
o.n.m.j.c.MetadataModelReadHelper Almost identical implementation is in j2ee.persistence.util and websvc.rest.support. These should be deleted and replaced by the one from metamodel API. should be moved to the metamodel API module dkonecny
o.n.m.j.c.Transaction and TransactionSupport API us not used; there is single implementation of it which nobody can be using as API does not have clients; I deleted the APIs dkonecny
o.n.m.j.c.method.*, o.n.m.j.c.method.impl.* API package and its implementation subpackage seems to provide functionality to generate Java classes, methods, etc. mainly for EJB CMP which is obsolete now. FieldCustomizer deleted (CMP related), another APIs moved into j2ee.core.utilities to be at the rest of similar APIs. marfous
o.n.m.j.c.queries.* [2] Extracted to the javaee.injection module mjanicek
o.n.m.j.c.EEInjectiontargetQueryImplementation Implementation of above SPI; Should be moved to the javaee.injection once it will be possible to do that with respect to the current dependencies mjanicek
o.n.m.j.c.project.CompilationOnlyClassPathModifier delete dkonecny
o.n.m.j.c.project.FileChangeSupport* not needed anymore - delete dkonecny
o.n.m.j.c.project.ui.FileChooser unrelated; nothing EE specific deleted dkonecny
o.n.m.j.c.Util [3] zillion of totally random methods all methods were moved to different API classes dkonecny
o.n.m.j.c.FileSearchUtility looks a bit dated; mixed bag of random FS utils; some are web specific; most of them are not could be moved somewhere else
o.n.m.j.c.dd.DDHelper misc utilities to create deployment descriptors; ideal candidate for movement into the utils-part module (javaee.utils ?) mjanicek
o.n.m.j.c.J2eeProjectCapabilities project capabilities helper methods; might be better moved to javaee.specs.support or disintegrated? marfous

new javaee.project module content

As discussed in 230831 all project related API classes from j2ee.common were moved to new module javaee.project. The classes are:

Class/Package Description Refactoring action Responsible person Complete
o.n.m.j.c.project.ArtifactCopyOnSaveSupport some project support class keep in j2ee.common dkonecny
o.n.m.j.c.project.BaseClientSideDevelopmentSupport currently used as a base class for two project modules (maven.j2ee and web.project); if we will have general module for project-related stuffs this class could be improved to be concrete final implementation and the instance could be retrieved by factory with one static method returning this default implementation ideal candidate for movement into the project-part module (javaee.project ?) dkonecny
o.n.m.j.c.project.PersistenceProviderSupplierImpl [4] some project support class still should be moved from javaee.project to j2ee.persistence
o.n.m.j.c.project.ArtifactCopyOnSaveSupport some project support class keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.AbstractLogicalViewProvider shared project UI base class keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.DeployOnSaveUtils some project utilities keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.ExtraLibrariesNode some shared project UI keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.J2EEProjectProperties random collection of helper methods keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.J2eePlatformUiSupport random collection of helper methods keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.ProjectImportLocationWizardPanel wizard panels shared by project types keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.ProjectLocationWizardPanel wizard panels shared by project types keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.ProjectServerWizardPanel wizard panels shared by project types keep in j2ee.common dkonecny
o.n.m.j.c.project.ui.MessageUtils EE unrelated; could be moved somewhere else dkonecny
o.n.m.j.c.project.ui.UserProjectSettings helper class for reading/storing misc Preferences; used by project modules (j2ee.clientproject, j2ee.common - project related classes, j2ee.earproject, j2ee.ejbjarproject, web.project); ideal candidate for movement into the project-part module (javaee.project ?) dkonecny
o.n.m.j.c.project.WhiteListUpdater helper class for white list used by oracle cloud; currently used by two project modules (j2ee.ejbjarproject, web.project), later on it will be used also by maven.j2ee module; ideal candidate for movement into the project-part module (javaee.project ?) dkonecny

JavaEE APIs summary/consolidation

Module Public/Friend Description Refactoring action
j2ee.core Public provides single Profile class
j2ee.core.utilities Friend in java cluster; seems to be not used very much; fairly EE unrelated helper methods
javaee.specs.support Friend APIs/SPIs to describe supported EE features
web.common Friend getting fairly diverse similarly like j2ee.common
j2ee.api.ejbmodule Friend EJB, CAR and EAR module APIs; despite its name the module is not limited just to EJB module
api.web.module Public WEB module APIs; eg. priviledged templates, frameworks, WebModule
web.core Friend despite its name this is JSP support module so not really relevant here, just confusing name Should be changed to something like jsp.editor
web.project Friend provides API for web project creation
j2ee.ejbjarproject Friend API for ejb project creation
j2ee.clientproject Friend API for client project creation
j2eeapis Friend wrapper for jsr88javax.jar - is it still needed?
javaee.api Friend java ee6 api jar Should be changed to libs.javaee6
javaee7.api Friend java ee7 api jar Should be changed to libs.javaee7
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo