Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Plug-in refactoring"

Line 32: Line 32:
  
 
'''Refactored from:''' org.eclipse.jst.jsf.facesconfig.common, org.eclipse.jst.pagedesigner.common, org.eclipse.jst.jsf.ui (possibly that UI that is JSF facet dependent like the wizard pages).
 
'''Refactored from:''' org.eclipse.jst.jsf.facesconfig.common, org.eclipse.jst.pagedesigner.common, org.eclipse.jst.jsf.ui (possibly that UI that is JSF facet dependent like the wizard pages).
 
  
 
=== org.eclipse.jst.jsf.ui ===
 
=== org.eclipse.jst.jsf.ui ===
Line 44: Line 43:
 
'''Refactored from:''' org.eclipse.jst.jsf.ui, org.eclipse.jst.jsf.contentassist.el (those logic and extensions that support UI creation/interaction), org.eclipse.jst.jsf.validation.el (those logic and extensions that support UI creation/interaction).
 
'''Refactored from:''' org.eclipse.jst.jsf.ui, org.eclipse.jst.jsf.contentassist.el (those logic and extensions that support UI creation/interaction), org.eclipse.jst.jsf.validation.el (those logic and extensions that support UI creation/interaction).
  
=== org.eclipse.jst.jsf.facesconfig.ui ===
+
=== org.eclipse.jst.jsf.ui.facesconfig ===
  
 
'''Purpose:''' Stand-alone Faces config editor and associated non-shared UI.
 
'''Purpose:''' Stand-alone Faces config editor and associated non-shared UI.
Line 53: Line 52:
  
 
'''Refactored from:''' org.eclipse.jst.jsf.facesconfig.ui.
 
'''Refactored from:''' org.eclipse.jst.jsf.facesconfig.ui.
 
  
 
=== org.eclipse.jst.(?jsf?).pagedesigner ===
 
=== org.eclipse.jst.(?jsf?).pagedesigner ===
Line 63: Line 61:
 
'''Can depend on:''' any plugins except jst.jsf.ui.
 
'''Can depend on:''' any plugins except jst.jsf.ui.
  
=== org.eclipse.jst.jsf.default.tagsupport ===
+
=== org.eclipse.jst.jsf.standard.tagsupport ===
  
 
'''Purpose:''' Isolates exemplary implementation and meta-data for specific tag libraries.  This support ships for "out of the box" experience for all users, but should be easily replaced at will be adopters.
 
'''Purpose:''' Isolates exemplary implementation and meta-data for specific tag libraries.  This support ships for "out of the box" experience for all users, but should be easily replaced at will be adopters.
Line 72: Line 70:
  
 
'''Refactored from:''' Tag specific parts of org.eclipse.jst.jsf.metadataprocessors, org.eclipse.jst.jsf.taglibprocessing, org.eclipse.jst.jsf.designtime.
 
'''Refactored from:''' Tag specific parts of org.eclipse.jst.jsf.metadataprocessors, org.eclipse.jst.jsf.taglibprocessing, org.eclipse.jst.jsf.designtime.
 
  
 
=== Undecided ===
 
=== Undecided ===
  
 
The fate of code in the page designer contributions for jsp.core and jsf.ui must be decided.  Some jsp.core code may belong in jsf.common.  org.eclipse.jst.pagedesigner.jsf.ui probably needs to stand-alone.
 
The fate of code in the page designer contributions for jsp.core and jsf.ui must be decided.  Some jsp.core code may belong in jsf.common.  org.eclipse.jst.pagedesigner.jsf.ui probably needs to stand-alone.

Revision as of 19:54, 7 November 2006

This document describes the proposed refactoring of JSF tooling plugins for JSF 1.0 (Europa, WTP 2.0 release alignment).

Plugin Overview

org.eclipse.jst.jsf.common

Purpose: Contains all "JSF neutral" shared framework code. This is code that is currently only used by JSF tooling, but which may benefit a wider Eclipse audience becase it is not JSF specific. Examples include Unified EL tooling, tag library meta-data and context resolver frameworks.

Can contain: API or non-API code. Should not contain UI code or extension points that create new UI (i.e. editors, views). Also should not contain extension points that create JSF-specific extensions.

Can depend: *Must not* have any plugin dependencies on JSF tooling. Plugin must be usable by external adopters without including any other JSF code.

Refactored from: org.eclipse.jst.jsf.context.* (some possible exclusions on symbols), org.eclipse.jst.jsf.contentmodel.annotations, org.eclipse.jst.jsf.core (meta-data support, some type support), org.eclipse.jst.jsf.validation.el (only the generic operators), possibly some of org.eclipse.jst.pagedesigner.jsp.core.

org.eclipse.jst.jsf.core

Purpose: Contains main "core JSF" framework code. This is where most of the non-UI JSF tooling framework should go. Exceptions are for large stand-along non-UI plugins such as the faces-config model.

Can contain: API or non-API code. Should not contain UI code or extension points that create new UI.

Can depend: Must *only* depend on jsf.common and non-JSF dependencies.

Refactored from: org.eclipse.jst.jsf.core, org.eclipse.jst.jsf.contentassist.el (those parts that support content assist but that don't do direct UI contributions), org.eclipse.jst.jsf.validation.el (those parts that support JSF validation, but that do not create direct UI contributions), org.eclipse.jst.jsf.metadataprocessors, org.eclipse.jst.jsf.taglibprocessing (excluding specific tag meta-data), org.eclipse.jst.jsf.designtime (excluding specific tag meta-data), org.eclipse.jst.jsf.facesconfig an org.eclipse.jst.jsf.facesconfig.edit.

org.eclipse.jst.jsf.common.ui

Purpose: Contains shared UI dependencies.

Can contain: API or non-API. Should not contain stand-alone UI; purpose is sharable JSF UI. Should not create new UI extensions but may create new extension points.

Can depend on: org.eclipse.jst.jsf.common, org.eclipse.jst.jsf.core, org.eclipse.jst.jsf.facesconfig, non-JSF dependencies only.

Refactored from: org.eclipse.jst.jsf.facesconfig.common, org.eclipse.jst.pagedesigner.common, org.eclipse.jst.jsf.ui (possibly that UI that is JSF facet dependent like the wizard pages).

org.eclipse.jst.jsf.ui

Purpose: Stand-alone and exemplary UI for JSF tooling.

Can contain: API or non-API. Should not be shared be other plugins.

Can depend on: any plugins *but* no other plugins should have dependency on it (system should work if it is dropped).

Refactored from: org.eclipse.jst.jsf.ui, org.eclipse.jst.jsf.contentassist.el (those logic and extensions that support UI creation/interaction), org.eclipse.jst.jsf.validation.el (those logic and extensions that support UI creation/interaction).

org.eclipse.jst.jsf.ui.facesconfig

Purpose: Stand-alone Faces config editor and associated non-shared UI.

Can contain: non-shared UI for editing application configuration files.

Can depend on: any plugins except jst.jsf.ui, any page designer plugins.

Refactored from: org.eclipse.jst.jsf.facesconfig.ui.

org.eclipse.jst.(?jsf?).pagedesigner

Purpose: Contains the stand-alone page designer editor and associated non-shared UI.

Can contain: non-shared UI for editing JSF-JSP pages.

Can depend on: any plugins except jst.jsf.ui.

org.eclipse.jst.jsf.standard.tagsupport

Purpose: Isolates exemplary implementation and meta-data for specific tag libraries. This support ships for "out of the box" experience for all users, but should be easily replaced at will be adopters.

Can contain: All default tag support for JSF components that is considered "exemplary" rather than "core framework".

Can depend on: anything *but* should not be referenced by *any* other JSF plugin. All framework plugins should continue to function (though with reduced functionality) if this plugin is removed.

Refactored from: Tag specific parts of org.eclipse.jst.jsf.metadataprocessors, org.eclipse.jst.jsf.taglibprocessing, org.eclipse.jst.jsf.designtime.

Undecided

The fate of code in the page designer contributions for jsp.core and jsf.ui must be decided. Some jsp.core code may belong in jsf.common. org.eclipse.jst.pagedesigner.jsf.ui probably needs to stand-alone.

Back to the top