Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/IJSFCoreConstants.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/JSFVersion.java149
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/AbstractTagRegistryFactoryProvider.java14
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeJSFPreferenceModel.java118
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeTagRegistryFactory.java309
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/IJSFPreferenceModel.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryInfo.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryProvider.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java393
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCoreTraceOptions.java145
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibrariesContainerInitializer.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibraryClasspathContainer.java74
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFRegistryVersionInfo.java47
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java311
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/RegistryUpgradeCommitHandler.java171
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagLibraryRegistryLoader.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryInfo.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryProviderLoader.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistParser.java384
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistStrategy.java104
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/FunctionCompletionStrategy.java239
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolInfo.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolResolveUtil.java189
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/AbstractContentDescriberForFacelets.java228
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFacelet.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFaceletCompositeComponent.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/XMLDocumentElementAttributeContentDescriber.java208
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jem/BeanProxyUtil.java509
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigDialogSettingData.java121
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigModel.java161
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryInternalReference.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryRegistryUtil.java548
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java222
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java237
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java197
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java781
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java214
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java96
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java706
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java558
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java434
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java515
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java272
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java186
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java213
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java235
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryXMLProcessor.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/Messages.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/MigrateV1toV2Operation.java125
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeOperation.java217
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeStatus.java105
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/VersionUpgradeOperation.java236
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/messages.properties6
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties94
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/J2EEUtils.java461
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JEEUtils.java344
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFConfigurationPresetFactory11.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetException.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java432
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java474
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetPrimaryRuntimeChangedListener.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallConfig.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java152
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFLibraryValidator.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtilFactory.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java726
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils11.java98
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils12.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils20.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JsfFacetConfigurationUtil.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderDetector.java93
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderUninstallOperation.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2AttrAdapter.java141
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2ElementAdapter.java242
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/AttributeIdentifierFactory.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/CMUtil.java374
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/DocumentTagIdentifier.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IJSFConstants.java979
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/ITLDConstants.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/JSPTagIdentifier.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java359
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TLDTagIdentifier.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TagIdentifierFactory.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigLocater.java163
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigProvider.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ArtifactEditJSFAppConfigProvider.java142
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java316
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/DefaultJSFAppConfigLocater.java151
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IFacesConfigChangeListener.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigLocater.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvider.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvidersChangeListener.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigLocater.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigProvider.java300
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JARFileJSFAppConfigProvider.java253
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigManager.java181
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigProvidersChangeEvent.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigUtils.java367
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java119
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManager.java544
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManagerProviderStrategy.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/CompositeJSFAppConfigLocatorProviderStrategy.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigLocatorProviderStrategy.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigManagerProviderStrategy.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/ExtensionBasedJSFAppConfigManagerProviderStrategy.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigLocatorProvider.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManager.java284
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManagerFactory.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigLocatorProviderStrategy.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigManagerFactory.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/TestableJSFAppConfigManagerProviderStrategy.java21
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryConfigurationHelper.java89
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReference.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferencePluginProvided.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceServerSupplied.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserDefined.java20
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserSpecified.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFVersion.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/AbstractJSFLibraryReferenceImpl.java158
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceFacadeFactory.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferencePluginProvidedImpl.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceServerSuppliedImpl.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceUserSpecifiedImpl.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/Messages.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/messages.properties1
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryArchiveFilesDelegate.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java136
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/internal/PluginProvidedJSFLibraryCreationHelper2.java147
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/HTMLContentModelMetaDataTranslator.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/INamespaceModelProvider.java15
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/JSPContentModelMetaDataTranslator.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/Messages.java47
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java360
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataLocator.java186
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataTLDTranslator.java163
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/messages.properties4
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/MemberConstraint.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/Messages.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/messages.properties1
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/ElementToTagIdentifierMapping.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/EvaluationException.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/InvalidExpressionException.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/TagMatchingAlgorithm.java121
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/XPathMatchingAlgorithm.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DTAppManagerUtil.java184
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DesignTimeApplicationManager.java867
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContext.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContextFactory.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractExternalContextFactoryLocator.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTFacesContext.java207
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTJSPExternalContext.java173
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DefaultDTExternalContextFactory.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IDTExternalContext.java82
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IExternalContextFactoryLocator.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/ViewRootHolder.java192
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTMethodResolver.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTPropertyResolver.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTVariableResolver.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTMethodResolver.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTPropertyResolver.java309
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTVariableResolver.java177
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IDecorativeResolver.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IInstancePerProjectResolver.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/BasicExtensionFactory.java309
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/DecoratableExtensionFactory.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/Messages.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/AdditionalContextSymbolInfo.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/DataModelVariableFactory.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java217
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPModelProcessor.java939
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/Messages.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/StartupHandler.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/messages.properties8
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ITagElementResolver.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ViewBasedTaglibResolverFactory.java251
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/AbstractJSFResourceLocator.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResource.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceContainer.java11
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceFragment.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceLocator.java24
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJarBasedJSFResource.java20
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IWorkspaceJSFResourceFragment.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResource.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceChangeListener.java110
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceContainer.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceFragment.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResource.java107
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResourceLocator.java178
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceFragmentIdentifier.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceIdentifier.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/Messages.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceFragmentIdentifier.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifier.java112
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java167
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResource.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceContainer.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceLocator.java78
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceResourceManager.java406
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/messages.properties1
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTPropertyResolver.java234
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTVariableResolver.java206
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/DataModelVariableTestFacade.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/JSPTagVariableSymbolSourceProvider.java114
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/Messages.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSource.java387
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSourceFactory.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleSymbolSourceProvider.java201
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/StaticJavaTypeSymbolFactory.java93
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ValueExpressionSymbolFactory.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractDTViewHandler.java327
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapter.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapterFactory.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentConstructionData.java102
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentTreeConstructionStrategy.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTComponentIntrospector.java402
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java330
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTUIViewRoot.java104
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTViewHandler.java614
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IDTViewHandler.java255
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapter.java128
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapterFactory.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewRootHandle.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java229
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/TaglibBasedViewDefnAdapter.java70
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ViewObjectConstructionStrategy.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLComponentTreeConstructionStrategy.java193
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewDefnAdapter.java319
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectConstructionStrategy.java525
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectMappingService.java382
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/AbstractCustomViewMapper.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/CustomViewMappingAdapter.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ICustomViewMapper.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java202
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataLoader.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataMapper.java170
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/mappers/ValueHolderAttributeMapper.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/AttributeToPropertyMapping.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ClassTypeInfo_.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingFactory.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingPackage.java949
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentTypeInfo_.java108
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ConverterTypeInfo_.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/CustomViewMapperExtensionLoader.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagMapping.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagToViewObjectMapping.java114
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ValidatorTypeInfo_.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/AttributeToPropertyMappingImpl.java293
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ClassTypeInfo_Impl.java264
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingFactoryImpl.java184
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingPackageImpl.java699
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentTypeInfo_Impl.java292
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ConverterTypeInfo_Impl.java222
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagMappingImpl.java294
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagToViewObjectMappingImpl.java314
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ValidatorTypeInfo_Impl.java180
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingAdapterFactory.java256
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceFactoryImpl.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceImpl.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingSwitch.java286
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingXMLProcessor.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/AbstractTagRegistry.java149
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/ITagRegistry.java150
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/TagRegistryFactory.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/AbstractTagResolvingStrategy.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CMNodeNamedMapAdapter.java159
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CompositeTagResolvingStrategy.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultJSPTagResolver.java192
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultTagTypeInfo.java655
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/IAttributeAdvisor.java102
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/ITagResolvingStrategy.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/JSPTagResolvingStrategy.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/Messages.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/MetadataAttributeAdvisor.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDComponentTagElement.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDConverterTagElement.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDJSFTagElement.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDNamespace.java314
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagAttribute.java213
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagElement.java258
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagHandlerElement.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDValidatorTagElement.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TagIntrospectingStrategy.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/UnresolvedJSPTagResolvingStrategy.java62
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/ServletBeanProxyContributor.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/TagAnalyzer.java870
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/messages.properties1
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/MasterIndex.java442
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/PersistedDataTagStrategy.java257
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/SerializableTLDNamespace.java159
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/TagRepository.java166
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperation.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperationFactory.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryManager.java251
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryPreferences.java394
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDTagRegistry.java478
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TagIndexListener.java104
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/messages.properties19
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractStructuredDocumentSymbolResolverFactory.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractSymbolContextResolver.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/CachingSymbolContextResolver.java223
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/IStructuredDocumentSymbolResolverFactory.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/ISymbolContextResolver.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/StructuredDocumentSymbolResolverFactory.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolver.java225
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolverReader.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java255
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBeanSymbolSourceProvider.java240
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBuiltInSymbolProvider.java414
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultDataTableSymbolFactory.java92
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/FileContextUtil.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/JSFSymbolFactory.java420
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/Messages.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/SymbolUtil.java70
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/package-info.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractMetaDataEnabledFeature.java182
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractRootTypeDescriptor.java108
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/DefaultTypeDescriptor.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IMetaDataEnabledFeature.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IType.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/ITypeDescriptor.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataContext.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataEnabledProcessingFactory.java207
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/TaglibMetadataContext.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ELIsNotValidException.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ICreateValues.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IDefaultValue.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValue.java47
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValues.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidELValues.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidValues.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidationMessage.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/PossibleValue.java135
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ValidationMessage.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/package-info.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledType.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeRegistry.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeFactory.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeRegistry.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/IMetaDataEnabledFeatureExtension.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureAdapterFactory.java158
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureExtension.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureRegistry.java177
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/package-info.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfo.java323
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfos.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosFactory.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosPackage.java709
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationAttribute.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationInfo.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationTemplate.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfoImpl.java727
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosFactoryImpl.java152
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosImpl.java165
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosPackageImpl.java520
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationAttributeImpl.java221
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationInfoImpl.java224
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationTemplateImpl.java183
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosAdapterFactory.java194
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosSwitch.java223
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/AbstractEnumerationType.java137
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ActionType.java217
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BindingType.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BooleanType.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSClassType.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSIdType.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSStyleType.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CharacterType.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ColorType.java128
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentBindingType.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentIDType.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ContentType.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CurrencyCodeType.java232
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DateTimePatternType.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DirectBindingType.java21
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DoubleType.java89
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/EnumerationType.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ExpressionBindingType.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDFeatures.java127
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDType.java20
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierFeatures.java305
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierType.java26
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDFeatures.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDType.java20
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IdentifierType.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IntegerType.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/JavaClassType.java498
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LanguageCodeType.java127
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LengthType.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LinkType.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LocaleType.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LongType.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/Messages.java1101
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MethodBindingType.java78
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MultiSignatureEnumerationType.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberPatternType.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberType.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ObjectType.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/PathType.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/RelativePathType.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ResourceBundleType.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ScriptType.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/StringType.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/TimeZoneType.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/URIType.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueBindingType.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueType.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/WebPathType.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/messages.properties278
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/package-info.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/AbstractXMLViewValidationStrategy.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ELValidationPreferences.java767
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSFViewValidator.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSPSemanticValidatorTest.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFTypeComparatorPreferences.java339
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidationContext.java159
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidatorFactory.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/LocalizedMessage.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/Severity.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ValidationPreferences.java104
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/XMLViewDefnValidator.java203
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidationUtil.java479
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidator.java428
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ApplicationValidationVisitor.java398
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AttributeValidationVisitor.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/BehaviorValidationVisitor.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClassNameEObjectValidationVisitor.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClientBehaviorRendererValidationVisitor.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ComponentValidatorVisitor.java151
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ConverterValidationVisitor.java116
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/DiagnosticFactory.java412
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/EObjectValidationVisitor.java173
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FacesConfigValidator.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FactoryValidationVisitor.java351
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ILocalizedMessage.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedBeanValidationVisitor.java131
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedPropertyValidationVisitor.java98
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/Messages.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationCaseValidationVisitor.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationRuleValidator.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NodeValidationVisitor.java134
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyNameValidationVisitor.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyValidationVisitor.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RenderKitValidationVisitor.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RendererValidationVisitor.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ValidatorTypeValidationVisitor.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ViewIdValidator.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/messages.properties28
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsFactory.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsPackage.java353
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ContainsTagConstraint.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagId.java81
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagSet.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsFactoryImpl.java127
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsPackageImpl.java329
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ContainsTagConstraintImpl.java220
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagIdImpl.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagSetImpl.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsAdapterFactory.java154
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceFactoryImpl.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceImpl.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsSwitch.java175
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsXMLProcessor.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ASTSemanticValidator.java612
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELExpressionValidator.java163
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELValidationUtil.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/EvaluationTracker.java70
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/IExpressionSemanticValidator.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/QuickFixAssistant.java149
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ValueExpressionTracker.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java561
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/Messages.java159
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/messages.properties44
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AddArithmeticBinaryOperator.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AndBinaryOperator.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ArithmeticBinaryOperator.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BinaryOperator.java163
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BracketOperator.java184
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DivArithmeticBinaryOperator.java266
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DotOperator.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EmptyUnaryOperator.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualityRelationalBinaryOperator.java544
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualsBinaryRelationalOperator.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanEqRelationalBinaryOperator.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanRelationalBinaryOperator.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanEqRelationalBinaryOperator.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanRelationalBinaryOperator.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LogicalBinaryOperator.java183
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LtGtRelationalBinaryOperator.java230
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MemberAccessorOperator.java269
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/Messages.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MinusUnaryOperator.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ModArithmeticBinaryOperator.java388
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MultiplyArithmeticBinaryOperator.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NoDivArithmeticBinaryOperator.java305
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotEqualsBinaryRelationalOperator.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotUnaryOperator.java105
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/OrBinaryOperator.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/RelationalBinaryOperator.java239
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/SubtractArithmeticBinaryOperator.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/TernaryChoiceOperator.java143
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/UnaryOperator.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/messages.properties21
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletDiagnosticFactory.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletValidationPreferences.java291
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/Messages.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/messages.properties11
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/AttributeValidatingStrategy.java763
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java247
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/DiagnosticFactory.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/Messages.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/messages.properties6
535 files changed, 0 insertions, 79021 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/IJSFCoreConstants.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/IJSFCoreConstants.java
deleted file mode 100644
index 0e8ff1a5b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/IJSFCoreConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core;
-
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * JSF Core framework constants
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public final class IJSFCoreConstants
-{
- /**
- * The global id for the JSF facet
- * TODO: align with extensioin point through plugin.properties
- */
- public static final String JSF_CORE_FACET_ID = "jst.jsf"; //$NON-NLS-1$
- /**
- * The facet version for a JSF 1.0 project
- * TODO: align with extensioin point through plugin.properties
- */
- public final static String FACET_VERSION_1_0 = "1.0"; //$NON-NLS-1$
- /**
- * The constant id for a JSF 1.0 project
- */
- public final static String JSF_VERSION_1_0 = FACET_VERSION_1_0;
- /**
- * The facet version for a JSF 1.1 project
- * TODO: align with extensioin point through plugin.properties
- */
- public final static String FACET_VERSION_1_1 = "1.1"; //$NON-NLS-1$
- /**
- * The constant id for a JSF 1.1 project
- */
- public final static String JSF_VERSION_1_1 = FACET_VERSION_1_1;
- /**
- * The facet version for a JSF 1.2 project
- * TODO: align with extensioin point through plugin.properties
- */
- public final static String FACET_VERSION_1_2 = "1.2";//$NON-NLS-1$
- /**
- * The constant id for a JSF 1.2 project
- */
- public final static String JSF_VERSION_1_2 = FACET_VERSION_1_2;
-
- /**
- * The facet version for a JSF 2.0 project
- */
- public static final String FACET_VERSION_2_0 = "2.0"; //$NON-NLS-1$
- /**
- * The version string for a JSF 2.0 project
- */
- public static final String JSF_VERSION_2_0 = FACET_VERSION_2_0;
-
- /**
- * @param facet
- * @return true if the facet is a jsf facet.
- *
- */
- public static boolean isJSFFacet(final IProjectFacet facet)
- {
- return JSF_CORE_FACET_ID.equals(facet.getId());
- }
- private IJSFCoreConstants()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/JSFVersion.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/JSFVersion.java
deleted file mode 100644
index a76ab5449..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/JSFVersion.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author gekessle
- *
- */
-public enum JSFVersion {
-
- /**
- * Unknown version support
- */
- UNKNOWN,
- /**
- * Supports JSF Version 1.0
- */
- V1_0,
- /**
- * Supports JSF Version 1.1
- */
- V1_1,
- /**
- * Supports JSF Version 1.1
- */
- V1_2,
- /**
- * Supports JSF Version 2.0
- */
- V2_0;
-
- // WARNING: you MUST add newer versions to the end; the ordinal value of
- // of the version is used in compareTo.
- @Override
- public String toString() {
- switch(this)
- {
- case V1_0:
- return IJSFCoreConstants.JSF_VERSION_1_0;
- case V1_1:
- return IJSFCoreConstants.JSF_VERSION_1_1;
- case V1_2:
- return IJSFCoreConstants.JSF_VERSION_1_2;
- case V2_0:
- return IJSFCoreConstants.JSF_VERSION_2_0;
- case UNKNOWN:
- return "unknown"; //$NON-NLS-1$
- default:
- throw new IllegalStateException("Missing string conversion: "+this.name()); //$NON-NLS-1$
- }
- }
-
- /**
- * @param valueAsString
- * @return the reverse mapping to an enum from toString() returns
- */
- public static JSFVersion valueOfString(String valueAsString)
- {
- if (IJSFCoreConstants.JSF_VERSION_1_0.equals(valueAsString))
- {
- return V1_0;
- }
- else if (IJSFCoreConstants.JSF_VERSION_1_1.equals(valueAsString))
- {
- return V1_1;
- }
- else if (IJSFCoreConstants.JSF_VERSION_1_2.equals(valueAsString))
- {
- return V1_2;
- }
- else if (IJSFCoreConstants.FACET_VERSION_2_0.equals(valueAsString))
- {
- return V2_0;
- }
- else if ("unknown".equals(valueAsString)) //$NON-NLS-1$
- {
- return UNKNOWN;
- }
- else
- {
- return null;
- }
- }
-
- /**
- * @param facetVersion
- * @return the jsf version for the facet version
- * @throw IllegalArgumentException if the underlying facet is not a JSF facet.
- */
- public static JSFVersion valueOfFacetVersion(final IProjectFacetVersion facetVersion)
- {
- if (!IJSFCoreConstants.isJSFFacet(facetVersion.getProjectFacet()))
- {
- throw new IllegalArgumentException("Not a JSF facet: "+facetVersion.getProjectFacet().toString()); //$NON-NLS-1$
- }
-
- String versionString = facetVersion.getVersionString();
- if (versionString != null)
- {
- return valueOfString(versionString);
- }
- return null;
- }
-
- /**
- * @param project
- * @return the project version of the project.
- */
- public static JSFVersion valueOfProject(final IProject project)
- {
- try
- {
- if (project != null && FacetedProjectFramework.isFacetedProject(project))
- {
- IFacetedProject fProj = ProjectFacetsManager.create(project);
- if (fProj != null)
- {
- IProjectFacetVersion projectFacetVersion = fProj.getProjectFacetVersion(
- ProjectFacetsManager.getProjectFacet(IJSFCoreConstants.JSF_CORE_FACET_ID));
- if (projectFacetVersion != null)
- {
- return valueOfFacetVersion(projectFacetVersion);
- }
- }
- }
- }
- catch(final CoreException ce)
- {
- // ignore and fall-through
- // TODO: is this worth logging?
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/AbstractTagRegistryFactoryProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/AbstractTagRegistryFactoryProvider.java
deleted file mode 100644
index 5e2c01c16..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/AbstractTagRegistryFactoryProvider.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Set;
-
-/**
- * Sub-classed by all tag registry factories
- * @author cbateman
- *
- */
-public abstract class AbstractTagRegistryFactoryProvider implements ITagRegistryFactoryProvider
-{
- public abstract Set<ITagRegistryFactoryInfo> getTagRegistryFactories();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeJSFPreferenceModel.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeJSFPreferenceModel.java
deleted file mode 100644
index 08dabf945..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeJSFPreferenceModel.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Composite of preference models
- *
- * @author cbateman
- *
- */
-public class CompositeJSFPreferenceModel implements IJSFPreferenceModel
-{
- private final List<IJSFPreferenceModel> _models;
-
- /**
- * @param models
- */
- public CompositeJSFPreferenceModel(final List<IJSFPreferenceModel> models)
- {
- _models = models;
- }
-
- /*
- * Commits all child instances
- */
- public void commit(final IPreferenceStore prefStore)
- {
- for (final IJSFPreferenceModel model : _models)
- {
- model.commit(prefStore);
- }
- }
-
- /**
- * Searches each child until it finds the value associated with key.
- * @return null if not found.
- */
- public Object getStoredValueByKey(final IScopeContext context, final String key)
- {
- Object value = null;
-
- SEARCH: for (final IJSFPreferenceModel model : _models)
- {
- value = model.getStoredValueByKey(context, key);
- if (value != null)
- {
- break SEARCH;
- }
- }
- return value;
- }
-
- /**
- * Same as getStoredValueByKey but using getValueByKey instead
- */
- public Object getValueByKey(final IScopeContext context, final String key)
- {
- Object value = null;
-
- SEARCH: for (final IJSFPreferenceModel model : _models)
- {
- value = model.getValueByKey(context, key);
- if (value != null)
- {
- break SEARCH;
- }
- }
- return value;
- }
-
- /**
- * Calls load on all children with prefStore
- */
- public void load(final IPreferenceStore prefStore)
- {
- for (final IJSFPreferenceModel model : _models)
- {
- model.load(prefStore);
- }
- }
-
- /**
- * Calls set defaults on all children
- */
- public void setDefaults()
- {
- for (final IJSFPreferenceModel model : _models)
- {
- model.setDefaults();
- }
- }
-
- public Object setValueByKey(final IScopeContext context, final String key, final Object value)
- {
- for (final IJSFPreferenceModel model : _models)
- {
- if (model.getValueByKey(context, key) != null)
- {
- return model.setValueByKey(context, key, value);
- }
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeTagRegistryFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeTagRegistryFactory.java
deleted file mode 100644
index a3abf88a4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/CompositeTagRegistryFactory.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jst.jsf.common.internal.policy.CanonicallyOrderedIteratorPolicy;
-import org.eclipse.jst.jsf.common.internal.policy.IIteratorPolicy;
-import org.eclipse.jst.jsf.common.internal.policy.IdentifierOrderedIteratorPolicy;
-import org.eclipse.jst.jsf.common.internal.strategy.AbstractIdentifiableStrategy;
-import org.eclipse.jst.jsf.common.internal.strategy.IIdentifiableStrategy;
-import org.eclipse.jst.jsf.common.internal.strategy.IteratorPolicyBasedStrategyComposite;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.eclipse.jst.jsf.designtime.internal.view.model.TagRegistryFactory.TagRegistryFactoryException;
-
-/**
- * Employs a policy-based strategy to construct a TagRegistry for a particular
- * content-type in a particular project.
- *
- * @author cbateman
- *
- */
-public final class CompositeTagRegistryFactory
-{
- private static CompositeTagRegistryFactory INSTANCE;
-
- private static ITagRegistryFactoryProvider TEST_PROVIDER;
- /**
- * For JUNIT TEST ONLY!!!!!
- * @param factoryProvider
- */
- public synchronized void setTestInjectedProvider(final ITagRegistryFactoryProvider factoryProvider)
- {
- TEST_PROVIDER = factoryProvider;
- // TODO: this is risky
-// _cachedExtensionsByType.clear();
- }
-
- /**
- * @return the single instance of the registry factory
- */
- public static synchronized CompositeTagRegistryFactory getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new CompositeTagRegistryFactory();
- }
- return INSTANCE;
- }
-
-// private final Map<TagRegistryIdentifier, Set<ITagRegistryFactoryInfo>> _cachedExtensionsByType =
-// new HashMap<TagRegistryIdentifier, Set<ITagRegistryFactoryInfo>>(4);
-
- private CompositeTagRegistryFactory()
- {
- // singleton: no external instantiation
- }
-
-
- /**
- * @param id
- * @return a tag registry for the id or null if there isn't one.
- */
- public final ITagRegistry getRegistry(final TagRegistryIdentifier id)
- {
- final Set<ITagRegistryFactoryInfo> handlers = getAllTagRegistryFactories();
-
- final Set<ITagRegistryFactoryInfo> matchingHandlers = findMatchingExtensions(
- id, handlers);
-
- if (matchingHandlers.size() > 0)
- {
- // optimize: if there is only one handler, no need for strategy
- if (matchingHandlers.size() == 1)
- {
- try
- {
- return matchingHandlers.iterator().next().getTagRegistryFactory()
- .createTagRegistry(id.getProject());
- }
- catch (TagRegistryFactoryException e)
- {
- JSFCorePlugin.log(e, "While trying to acquire a registry"); //$NON-NLS-1$
- }
- }
- else
- {
- // for now, we will order by the canonical name of the extension
- // id in ascending order. Later, we may make this preference
- // based.
- final TagRegistrySelectionStrategy selectionStrategy = new TagRegistrySelectionStrategy(
- new CanonicallyOrderedIteratorPolicy<String>());
-
- for (final Iterator<ITagRegistryFactoryInfo> it = matchingHandlers
- .iterator(); it.hasNext();)
- {
- selectionStrategy.addStrategy(it.next().getTagRegistryFactory());
- }
- return selectionStrategy.perform(id.getProject());
- }
- }
-
- return null;
- }
-
- /**
- * @return get all tag registry factories
- */
- public Set<ITagRegistryFactoryInfo> getAllTagRegistryFactories()
- {
- List<String> selectionOrder = new ArrayList<String>();
- selectionOrder.add("testInjection"); //$NON-NLS-1$
- selectionOrder.add("extensionPointInjection"); //$NON-NLS-1$
- selectionOrder.add("platformDefault"); //$NON-NLS-1$
-
- IdentifierOrderedIteratorPolicy<String> policy = new IdentifierOrderedIteratorPolicy<String>(selectionOrder);
- // ignore iterator values that don't exist in the list of possible selections.
- policy.setExcludeNonExplicitValues(true);
- final TagRegistryFactoryProviderSelectionStrategy providerSelector
- = new TagRegistryFactoryProviderSelectionStrategy(policy);
- providerSelector.addStrategy(
- new AbstractIdentifiableStrategy<IProject, ITagRegistryFactoryProvider, String>("testInjection", "FIXME: not for display", null) //$NON-NLS-1$ //$NON-NLS-2$
- {
- @Override
- public ITagRegistryFactoryProvider perform(IProject input)
- throws Exception
- {
- ITagRegistryFactoryProvider injectedProvider = null;
- synchronized(CompositeTagRegistryFactory.class)
- {
- injectedProvider = TEST_PROVIDER;
- }
- if (injectedProvider != null)
- {
- final ITagRegistryFactoryProvider useMe = injectedProvider;
- return new AbstractTagRegistryFactoryProvider()
- {
- @Override
- public Set<ITagRegistryFactoryInfo> getTagRegistryFactories()
- {
- return useMe.getTagRegistryFactories();
- }
- };
- }
- return null;
- }
- });
- providerSelector.addStrategy(
- new AbstractIdentifiableStrategy<IProject, ITagRegistryFactoryProvider, String>("platformDefault", "FIXME: not for display", null) //$NON-NLS-1$ //$NON-NLS-2$
- {
- @Override
- public ITagRegistryFactoryProvider perform(IProject input)
- throws Exception
- {
- return new AbstractTagRegistryFactoryProvider()
- {
- @Override
- public Set<ITagRegistryFactoryInfo> getTagRegistryFactories()
- {
- return TagLibraryRegistryLoader.getAllHandlers();
- }
- };
- }
- });
-
- ITagRegistryFactoryProvider provider = providerSelector.perform(null);
- if (provider != null)
- {
- return provider.getTagRegistryFactories();
- }
- return Collections.emptySet();
- }
-
- private Set<ITagRegistryFactoryInfo> findMatchingExtensions(
- TagRegistryIdentifier id, Set<ITagRegistryFactoryInfo> handlers)
- {
- Set<ITagRegistryFactoryInfo> matching = new HashSet<ITagRegistryFactoryInfo>(
- 4);
-
- for (final ITagRegistryFactoryInfo handler : handlers) {
- if (handler.getContentTypes().contains(id.getContentType())
- && handler.getTagRegistryFactory().projectIsValid(
- id.getProject())) {
- matching.add(handler);
- }
- }
-
- // // if there is nothing matching, just store the empty set and
- // // discard the extra memory
- // if (matching.size() > 0)
- // {
- // _cachedExtensionsByType.put(id, matching);
- // }
- // else
- // {
- // _cachedExtensionsByType.put(id, Collections.EMPTY_SET);
- // }
- return matching;
- }
-
- /**
- * Identifies a content type/project context in which to request a tag
- * registry.
- *
- * @author cbateman
- *
- */
- public final static class TagRegistryIdentifier
- {
- private final IProject _project;
- private final IContentType _contentType;
-
- /**
- * @param project
- * @param contentType
- */
- public TagRegistryIdentifier(final IProject project,
- final IContentType contentType)
- {
- _project = project;
- _contentType = contentType;
- }
-
- /**
- * @return project
- */
- public IProject getProject()
- {
- return _project;
- }
-
- /**
- * @return content type
- */
- public IContentType getContentType()
- {
- return _contentType;
- }
-
- public boolean equals(final Object o) {
- if (o instanceof TagRegistryIdentifier) {
- final TagRegistryIdentifier other = (TagRegistryIdentifier)o;
- final int otherProjectHash = other.getProject() != null ? other.getProject().hashCode() : 0;
- final int thisProjectHash = getProject() != null ? getProject().hashCode() : 0;
- if (otherProjectHash == thisProjectHash &&
- other.getContentType().equals(this.getContentType()))
- return true;
- }
- return false;
- }
-
- public int hashCode() {
- return (getProject() != null ? getProject().hashCode() : 0) + 7*_contentType.hashCode();
- }
-
- }
-
- private static class TagRegistrySelectionStrategy
- extends
- IteratorPolicyBasedStrategyComposite<IProject, ITagRegistry, ITagRegistry, String, IIdentifiableStrategy<IProject, ITagRegistry, String>>
- {
- private static final ITagRegistry NO_RESULT = null;
-
- protected TagRegistrySelectionStrategy(IIteratorPolicy<String> policy)
- {
- super(policy);
- }
-
- @Override
- public ITagRegistry getNoResult()
- {
- return NO_RESULT;
- }
- }
-
- private static class TagRegistryFactoryProviderSelectionStrategy
- extends
- IteratorPolicyBasedStrategyComposite<IProject, ITagRegistryFactoryProvider, ITagRegistryFactoryProvider, String, IIdentifiableStrategy<IProject, ITagRegistryFactoryProvider, String>>
- {
- protected TagRegistryFactoryProviderSelectionStrategy(
- IIteratorPolicy<String> policy)
- {
- super(policy);
- }
-
- private static final ITagRegistryFactoryProvider NO_RESULT = null;
-
- @Override
- public ITagRegistryFactoryProvider getNoResult()
- {
- return NO_RESULT;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/IJSFPreferenceModel.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/IJSFPreferenceModel.java
deleted file mode 100644
index 13af43b10..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/IJSFPreferenceModel.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Defines a generic JSF preferences model
- *
- * @author cbateman
- *
- */
-public interface IJSFPreferenceModel
-{
- /**
- * Loads the object from the preference store provided
- *
- * @param prefStore
- */
- public void load(IPreferenceStore prefStore);
-
- /**
- * Copies the object into the preference store but DOES NOT SAVE IT
- *
- * @param prefStore
- */
- public void commit(IPreferenceStore prefStore);
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults();
-
- /**
- * @param context
- * @param key
- * @return the preference value in context with using key as the id
- */
- public Object getValueByKey(final IScopeContext context, final String key);
-
- /**
- * @param context
- * @param key
- * @return the preference value in context using key as the id and drawing
- * it directly from the preference store
- */
- public Object getStoredValueByKey(final IScopeContext context, final String key);
-
- /**
- * Set the preference value indicated by key in context to value. May
- * throw ClassCastException if value is not the type expected for the key
- * @param context
- * @param key
- * @param value
- * @return the old value
- */
- public Object setValueByKey(final IScopeContext context, final String key, final Object value);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryInfo.java
deleted file mode 100644
index 8af623681..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryInfo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jst.jsf.designtime.internal.view.model.TagRegistryFactory;
-
-/**
- * @author cbateman
- * @noimplement
- */
-public interface ITagRegistryFactoryInfo
-{
- /**
- * @return the content types that the tag registry supports.
- */
- public abstract Set<IContentType> getContentTypes();
-
- /**
- * @return the tag registry factory.
- */
- public abstract TagRegistryFactory getTagRegistryFactory();
-
- /**
- * @return the unique id of the factory.
- */
- public abstract String getId();
-
- /**
- * @return the description of the tag registry factory.
- */
- public abstract String getDescription();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryProvider.java
deleted file mode 100644
index 95ddab7b9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/ITagRegistryFactoryProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Set;
-
-/**
- * The factory provider interface for tag registries.
- *
- */
-public interface ITagRegistryFactoryProvider
-{
- /**
- * @return the set of tag registry factories to be used to construct
- * tag registries.
- */
- Set<ITagRegistryFactoryInfo> getTagRegistryFactories();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java
deleted file mode 100644
index 0670ce94c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCorePlugin.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- * Ian Trimble - JSFLibraryRegistry work
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.context.IDelegatingFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2;
-import org.eclipse.jst.jsf.designtime.context.AbstractDTExternalContextFactory;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTMethodResolver;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTPropertyResolver;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTVariableResolver;
-import org.eclipse.jst.jsf.designtime.internal.BasicExtensionFactory;
-import org.eclipse.jst.jsf.designtime.internal.DecoratableExtensionFactory;
-import org.eclipse.jst.jsf.designtime.internal.BasicExtensionFactory.ExtensionData;
-import org.eclipse.jst.jsf.designtime.internal.resolver.ViewBasedTaglibResolverFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.AbstractDTViewHandler;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * JSF Core plugin.
- *
- * @author Gerry Kessler - Oracle, Ian Trimble - Oracle
- */
-public class JSFCorePlugin extends WTPPlugin
-{
- /**
- * The plugin id
- */
- public static final String PLUGIN_ID = "org.eclipse.jst.jsf.core"; // org.eclipse.jst.jsf.core.internal.JSFCorePlugin"; //$NON-NLS-1$
- // //$NON-NLS-1$
-
- /**
- * The extension point id (plugin relative) for the tag registry factory provider.
- */
- public static final String TAG_REGISTRY_FACTORY_PROVIDER_ID = "tagRegistryFactory"; //$NON-NLS-1$
-
- // The shared instance.
- private static JSFCorePlugin plugin;
-
- private IPreferenceStore preferenceStore;
-
- private ViewBasedTaglibResolverFactory _tagLibResolverFactory;
-
- /**
- * The constructor.
- */
- public JSFCorePlugin()
- {
- plugin = this;
- }
-
- /**
- * This method is called upon plug-in activation
- *
- * @param context
- * @throws Exception
- */
- @Override
- public void start(final BundleContext context) throws Exception
- {
- super.start(context);
- final IStructuredDocumentContextResolverFactory2 factory = IStructuredDocumentContextResolverFactory2.INSTANCE;
- if (factory instanceof IDelegatingFactory)
- {
- _tagLibResolverFactory = new ViewBasedTaglibResolverFactory();
- ((IDelegatingFactory) factory)
- .addFactoryDelegate(_tagLibResolverFactory);
- }
- else
- {
- log("Error adding tag resolver delegate", new Throwable()); //$NON-NLS-1$
- }
- }
-
- /**
- * This method is called when the plug-in is stopped
- *
- * @param context
- * @throws Exception
- */
- @Override
- public void stop(final BundleContext context) throws Exception
- {
- super.stop(context);
-
- final IStructuredDocumentContextResolverFactory2 factory = IStructuredDocumentContextResolverFactory2.INSTANCE;
-
- if (factory instanceof IDelegatingFactory
- && _tagLibResolverFactory != null)
- {
- ((IDelegatingFactory) factory)
- .removeFactoryDelegate(_tagLibResolverFactory);
- }
- plugin = null;
- }
-
- /**
- * Returns the shared instance.
- *
- * @return the shared instance
- */
- public static JSFCorePlugin getDefault()
- {
- return plugin;
- }
-
- /**
- * @param e
- * @param msg
- */
- public static void log(final Exception e, final String msg)
- {
- final IStatus logStatus = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e);
- JSFCorePlugin currentPlugin = getDefault();
- if (currentPlugin != null)
- {
- final ILog log = currentPlugin.getLog();
- if (log != null)
- {
- log.log(logStatus);
- }
- }
- System.err.println(logStatus);
- }
-
- /**
- * Logs using the default ILog implementation provided by getLog().
- *
- * @param severity
- * Severity (IStatus constant) of log entry
- * @param message
- * Human-readable message describing log entry
- * @param ex
- * Throwable instance (can be null)
- */
- public static void log(final int severity, final String message,
- final Throwable ex)
- {
- Status logObject = new Status(severity, PLUGIN_ID, IStatus.OK, message, ex);
- JSFCorePlugin default1 = getDefault();
- if (default1 != null)
- {
- ILog log = default1.getLog();
- if (log != null)
- {
- log.log(logObject);
- return;
- }
- }
- System.err.println(logObject.toString());
- }
-
- /**
- * Logs using the default ILog implementation provided by getLog().
- *
- * @param severity
- * Severity (IStatus constant) of log entry
- * @param message
- * Human-readable message describing log entry
- */
- public static void log(final int severity, final String message)
- {
- log(severity, message, null);
- }
-
- /**
- * Logs a message for this plugin
- *
- * @param message
- * @param t
- */
- public static void log(final String message, final Throwable t)
- {
- final ILog log = plugin.getLog();
- log.log(new Status(IStatus.ERROR, plugin.getBundle().getSymbolicName(),
- 0, message, t));
- }
-
- @Override
- public String getPluginID()
- {
- return PLUGIN_ID;
- }
-
- /**
- * @param id
- * @return all registered symbol source providers
- */
- public synchronized static ExtensionData<AbstractDTVariableResolver> getVariableResolvers(final String id)
- {
- checkAndInitVariableResolverFactory();
- return _variableResolverFactory.getExtensions().get(id);
- }
-
- /**
- * @param forName
- * @return the ids of variable resolvers for 'forName'.
- */
- public synchronized static List<String> getVariableResolversForName(
- final String forName)
- {
- checkAndInitVariableResolverFactory();
- return Collections.unmodifiableList(_variableResolverFactory
- .getIdsForName(forName));
- }
-
- /**
- * @return true if there any decorative resolvers in the system. This
- * is provided so that decorative variable resolvers can avoid expensive
- * calculations looking for these resolvers when there are none.
- */
- public synchronized static boolean hasDecorativeVariableResolvers()
- {
- checkAndInitVariableResolverFactory();
- return _variableResolverFactory.getNumDecorativeResolvers() > 0;
- }
-
- private synchronized static void checkAndInitVariableResolverFactory()
- {
- if (_variableResolverFactory == null)
- {
- _variableResolverFactory = new DecoratableExtensionFactory<AbstractDTVariableResolver>(
- getDefault().getBundle(), VARIABLE_RESOLVER_EXT_POINT_NAME,
- VARIABLE_RESOLVER_ELEMENT_NAME, false);
- }
- }
-
- private static DecoratableExtensionFactory<AbstractDTVariableResolver> _variableResolverFactory;
- private final static String VARIABLE_RESOLVER_EXT_POINT_NAME = "variableresolver"; //$NON-NLS-1$
- private final static String VARIABLE_RESOLVER_ELEMENT_NAME = "variableresolver"; //$NON-NLS-1$
-
- /**
- * @param id
- * @return a map of all registered property resolvers by id
- */
- public synchronized static ExtensionData<AbstractDTPropertyResolver> getPropertyResolver(final String id)
- {
- checkAndInitPropertyFactory();
- return _propertyResolverFactory.getExtensions().get(id);
- }
-
- private synchronized static void checkAndInitPropertyFactory()
- {
- if (_propertyResolverFactory == null)
- {
- _propertyResolverFactory = new DecoratableExtensionFactory<AbstractDTPropertyResolver>(
- getDefault().getBundle(), PROPERTY_RESOLVER_EXT_POINT_NAME,
- PROPERTY_RESOLVER_ELEMENT_NAME, false);
- }
- }
-
- /**
- * @param forName
- * @return the ids of variable resolvers for 'forName'.
- */
- public synchronized static List<String> getPropertyResolversForName(
- final String forName)
- {
- checkAndInitVariableResolverFactory();
- return Collections.unmodifiableList(_propertyResolverFactory
- .getIdsForName(forName));
- }
-
- /**
- * @return true if there an decorating resolvers
- */
- public synchronized static boolean hasDecorativePropertyResolvers()
- {
- checkAndInitVariableResolverFactory();
- return _propertyResolverFactory.getNumDecorativeResolvers() > 0;
- }
-
- private static DecoratableExtensionFactory<AbstractDTPropertyResolver> _propertyResolverFactory;
- private final static String PROPERTY_RESOLVER_EXT_POINT_NAME = "propertyresolver"; //$NON-NLS-1$
- private final static String PROPERTY_RESOLVER_ELEMENT_NAME = "propertyresolver"; //$NON-NLS-1$
-
- /**
- * @param id
- * @return a map of all registered method resolvers by id
- */
- public synchronized static ExtensionData<AbstractDTMethodResolver> getMethodResolvers(final String id)
- {
- checkAndInitMethodResolverFactory();
- return _methodResolverFactory.getExtensions().get(id);
- }
-
- private synchronized static void checkAndInitMethodResolverFactory()
- {
- if (_methodResolverFactory == null)
- {
- _methodResolverFactory = new BasicExtensionFactory<AbstractDTMethodResolver>(
- getDefault().getBundle(), METHOD_RESOLVER_EXT_POINT_NAME,
- METHOD_RESOLVER_ELEMENT_NAME, false);
- }
- }
- private static BasicExtensionFactory<AbstractDTMethodResolver> _methodResolverFactory;
- private final static String METHOD_RESOLVER_EXT_POINT_NAME = "methodresolver"; //$NON-NLS-1$
- private final static String METHOD_RESOLVER_ELEMENT_NAME = "methodresolver"; //$NON-NLS-1$
-
- /**
- * @param id
- * @return a map of all registered external context providers by id
- */
- public synchronized static ExtensionData<AbstractDTExternalContextFactory> getExternalContextProviders(final String id)
- {
- checkAndInitExternalContextFactory();
- return _externalContextResolverFactory.getExtensions().get(id);
- }
-
- private synchronized static void checkAndInitExternalContextFactory()
- {
- if (_externalContextResolverFactory == null)
- {
- _externalContextResolverFactory = new BasicExtensionFactory<AbstractDTExternalContextFactory>(
- getDefault().getBundle(), EXTERNAL_CONTEXT_EXT_POINT_NAME,
- EXTERNAL_CONTEXT_ELEMENT_NAME, false);
- }
- }
-
- private static BasicExtensionFactory<AbstractDTExternalContextFactory> _externalContextResolverFactory;
- private final static String EXTERNAL_CONTEXT_EXT_POINT_NAME = "externalcontext"; //$NON-NLS-1$
- private final static String EXTERNAL_CONTEXT_ELEMENT_NAME = "externalcontext"; //$NON-NLS-1$
-
- /**
- * @param id
- * @return a map of all registered external context providers by id
- */
- public synchronized static ExtensionData<AbstractDTViewHandler> getViewHandlers(final String id)
- {
- checkAndInitViewHandler();
- return _viewHandlerFactory.getExtensions().get(id);
- }
-
- private synchronized static void checkAndInitViewHandler()
- {
- if (_viewHandlerFactory == null)
- {
- _viewHandlerFactory = new BasicExtensionFactory<AbstractDTViewHandler>(
- getDefault().getBundle(), VIEWHANDLER_EXT_POINT_NAME,
- VIEWHANDLER_ELEMENT_NAME, true);
- }
- }
-
- private static BasicExtensionFactory<AbstractDTViewHandler> _viewHandlerFactory;
- private final static String VIEWHANDLER_EXT_POINT_NAME = "viewhandler"; //$NON-NLS-1$
- private final static String VIEWHANDLER_ELEMENT_NAME = "viewhandler"; //$NON-NLS-1$
-
- /**
- * @return the preference store for this bundle TODO: this is copied from
- * AbstractUIPlugin; need to upgrade to new IPreferencesService
- */
- public synchronized IPreferenceStore getPreferenceStore()
- {
- // Create the preference store lazily.
- if (this.preferenceStore == null)
- {
- this.preferenceStore = new ScopedPreferenceStore(
- new InstanceScope(), getBundle().getSymbolicName());
-
- }
- return this.preferenceStore;
- }
-
- /**
- * @param name
- * @return the extension point called name for this bundle
- */
- public IExtensionPoint getExtension(final String name)
- {
- return Platform.getExtensionRegistry().getExtensionPoint(
- plugin.getBundle().getSymbolicName(), name);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCoreTraceOptions.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCoreTraceOptions.java
deleted file mode 100644
index 4beb9e3b0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFCoreTraceOptions.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.osgi.framework.debug.FrameworkDebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-/**
- * Defines that standard runtime trace options for debugging. See .options file
- * for definitions.
- *
- * @author cbateman
- *
- */
-public final class JSFCoreTraceOptions
-{
- /**
- * True if debug tracing is enabled. Other tracing cannot be enabled unless
- * this is enabled.
- */
- public static final boolean ENABLED;
-
- /**
- * True if tag introspector tracing is enabled
- */
- public static final boolean TRACE_JSPTAGINTROSPECTOR;
- /**
- * True if tag introspector performance tracing is enabled
- */
- public static final boolean TRACE_JSPTAGINTROSPECTOR_PERF;
-
- /**
- * True if the JSP tag registry tracing is enabled
- */
- public static final boolean TRACE_JSPTAGREGISTRY;
-
- /**
- * True if handling of JSP TagIndex changes are being traced
- */
- public static final boolean TRACE_JSPTAGREGISTRY_CHANGES;
-
- /**
- * True if the JSP persistent jsp tag resolver strategy is being traced.
- */
- public static final boolean TRACE_JSPTAGPERSISTENCE;
-
- /**
- * True if the TLD registry manager tracing is enabled
- */
- public static final boolean TRACE_TLDREGISTRYMANAGER;
-
-
- /**
- * True if the TLD registry performance tracing is enabled
- */
- public static final boolean TRACE_JSPTAGREGISTRY_PERF;
-
- private static final String KEY_DEBUG_ENABLED = "/debug"; //$NON-NLS-1$
- private static final String KEY_DESIGNTIME = "/designtime"; //$NON-NLS-1$
- private static final String KEY_DESIGNTIME_VIEW = KEY_DESIGNTIME + "/view"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGINTROSPECTOR = KEY_DESIGNTIME_VIEW
- + "/jsptagintrospection"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGINTROSPECTOR_PERF =
- KEY_VIEW_JSPTAGINTROSPECTOR + "/perf"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGREGISTRY = KEY_DESIGNTIME_VIEW
- + "/jsptagregistry"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGPERSISTENCE = KEY_DESIGNTIME_VIEW
- + "/jsptagpersistence"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGREGISTRY_CHANGES =
- KEY_VIEW_JSPTAGREGISTRY + "/changes"; //$NON-NLS-1$
- private static final String KEY_VIEW_JSPTAGREGISTRY_PERF =
- KEY_VIEW_JSPTAGREGISTRY + "/perf"; //$NON-NLS-1$
- private static final String KEY_VIEW_TLDREGISTRYMANAGER =
- KEY_DESIGNTIME_VIEW + "/tldregistrymanager"; //$NON-NLS-1$
-
-
- static
- {
- final DebugOptions debugOptions = FrameworkDebugOptions.getDefault();
-
- ENABLED = debugOptions != null
- && debugOptions.getBooleanOption(JSFCorePlugin.PLUGIN_ID
- + KEY_DEBUG_ENABLED, false);
-
- if (ENABLED)
- {
- TRACE_JSPTAGINTROSPECTOR = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGINTROSPECTOR, false);
- TRACE_JSPTAGREGISTRY = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGREGISTRY, false);
- TRACE_JSPTAGREGISTRY_CHANGES = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGREGISTRY_CHANGES, false);
- TRACE_TLDREGISTRYMANAGER = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_TLDREGISTRYMANAGER, false);
- TRACE_JSPTAGREGISTRY_PERF = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGREGISTRY_PERF, false);
- TRACE_JSPTAGINTROSPECTOR_PERF = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGINTROSPECTOR_PERF, false);
- TRACE_JSPTAGPERSISTENCE = debugOptions.getBooleanOption(
- JSFCorePlugin.PLUGIN_ID + KEY_VIEW_JSPTAGPERSISTENCE, false);
- }
- else
- {
- TRACE_JSPTAGINTROSPECTOR = false;
- TRACE_JSPTAGREGISTRY = false;
- TRACE_JSPTAGREGISTRY_CHANGES = false;
- TRACE_TLDREGISTRYMANAGER = false;
- TRACE_JSPTAGREGISTRY_PERF = false;
- TRACE_JSPTAGINTROSPECTOR_PERF = false;
- TRACE_JSPTAGPERSISTENCE = false;
- }
- }
-
- /**
- * @param message
- */
- public static void log(final String message)
- {
- System.out.println(message);
- }
-
- /**
- * @param msg A short label placed before the trace of t to show the source
- * @param t
- */
- public static void log(final String msg, final Throwable t)
- {
- System.out.printf("%s: Exception Trace:\n\n",msg); //$NON-NLS-1$
- t.printStackTrace(System.out);
- System.out.print("\n\n\n"); //$NON-NLS-1$
- }
-
- private JSFCoreTraceOptions()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibrariesContainerInitializer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibrariesContainerInitializer.java
deleted file mode 100644
index 9884d9dff..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibrariesContainerInitializer.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-
-/**
- * Initialize JSF Libraries as classpath containers
- */
-@SuppressWarnings("deprecation")
-public class JSFLibrariesContainerInitializer extends
- ClasspathContainerInitializer {
-
- private static final String MISSING_LIBRARY = Messages.JSFLibrariesContainerInitializer_missing_library;
-
- /**
- * Constructor
- */
- public JSFLibrariesContainerInitializer() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.ClasspathContainerInitializer#initialize(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
- */
- public void initialize(IPath containerPath, IJavaProject project) throws CoreException {
- if (isJSFLibraryContainer(containerPath)) {
- String libId= containerPath.lastSegment();
-
- JSFLibrary ref= JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry().getJSFLibraryByID(libId);
- if (ref != null) {
- JSFLibraryClasspathContainer container= new JSFLibraryClasspathContainer(ref);
- JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { project }, new IClasspathContainer[] { container }, null);
- }
- }
- }
-
- private boolean isJSFLibraryContainer(IPath path) {
- return path != null && path.segmentCount() == 2 && JSFLibraryConfigurationHelper.JSF_LIBRARY_CP_CONTAINER_ID.equals(path.segment(0));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.ClasspathContainerInitializer#canUpdateClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
- */
- public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
- return isJSFLibraryContainer(containerPath);
- }
-
- /**
- * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getDescription(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
- */
- public String getDescription(IPath containerPath, IJavaProject project) {
- if (isJSFLibraryContainer(containerPath)) {
- String id = containerPath.lastSegment();
- JSFLibrary libref = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry().getJSFLibraryByID(id);
- String displayText = id;
-
- if (libref == null){
- displayText = displayText + " " + MISSING_LIBRARY; //$NON-NLS-1$
- }
-
- return displayText;
- }
- return super.getDescription(containerPath, project);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getComparisonID(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
- */
- public Object getComparisonID(IPath containerPath, IJavaProject project) {
- return containerPath;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibraryClasspathContainer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibraryClasspathContainer.java
deleted file mode 100644
index 3d03bf47d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFLibraryClasspathContainer.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-
-
-/**
- * JSF Library classpath container
- */
-@SuppressWarnings("deprecation")
-public class JSFLibraryClasspathContainer implements IClasspathContainer {
- private static final String NON_IMPL_DESC = Messages.JSFLibraryClasspathContainer_NON_IMPL_LIBRARY;
- private static final String IMPL_DESC = Messages.JSFLibraryClasspathContainer_IMPL_LIBRARY;
-
- private JSFLibrary lib;
-
- /**
- * @param lib
- */
- public JSFLibraryClasspathContainer(JSFLibrary lib) {
- this.lib = lib;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
- */
- public IClasspathEntry[] getClasspathEntries() {
- return JSFLibraryRegistryUtil.getInstance().getClasspathEntries(lib);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
- */
- public String getDescription() {
- StringBuffer buf = new StringBuffer(lib.getLabel());
- buf.append(" "); //$NON-NLS-1$
- if (lib.isImplementation())
- buf.append(IMPL_DESC);
- else
- buf.append(NON_IMPL_DESC);
-
- return buf.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.IClasspathContainer#getKind()
- */
- public int getKind() {
- return IClasspathContainer.K_APPLICATION;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jdt.core.IClasspathContainer#getPath()
- */
- public IPath getPath() {
- return new Path(JSFLibraryConfigurationHelper.JSF_LIBRARY_CP_CONTAINER_ID).append(this.lib.getID());
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFRegistryVersionInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFRegistryVersionInfo.java
deleted file mode 100644
index 19fa69644..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/JSFRegistryVersionInfo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import org.osgi.framework.Version;
-
-/**
- * A value object the describes the current and expected state of the JSF Library
- * Registry
- *
- * @author cbateman
- *
- */
-final class JSFRegistryVersionInfo
-{
- private Version _curVersion; // the version of the current registry on disk
- private Version _expectedVersion; // the expected or required version of the registry
-
- JSFRegistryVersionInfo(Version oldVersion, Version expectedVersion)
- {
- super();
- _curVersion = oldVersion;
- _expectedVersion = expectedVersion;
- }
-
- /**
- * @return the version of the registry found in the current workspace
- */
- public Version getCurVersion() {
- return _curVersion;
- }
-
- /**
- * @return the version of the registry that is expected
- */
- public Version getExpectedVersion() {
- return _expectedVersion;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java
deleted file mode 100644
index 9f92eecac..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/Messages.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- * Ian Trimble - changed to work correctly with org.eclipse.osgi.util.NLS
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler.
- *
- * @author Gerry Kessler - Oracle, Ian Trimble - Oracle
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.internal.messages"; //$NON-NLS-1$
-
- /**
- * see messages.properties
- */
- public static String Could_Not_GetJSFVersion;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_DupeJarValidation;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_INITIAL_VALIDATION_IMPL_TYPE;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_INVALID_JSF_CONFIG_FILE_NAME;
-
-
- /**
- * see messages.properties
- */
- public static String JSFLibCfgDialogSettingData_Sticky_Component_Lib_Not_Exist;
-
- /**
- * see messages.properties
- */
- public static String JSFLibrariesContainerInitializer_missing_library;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryClasspathContainer_IMPL_LIBRARY;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryClasspathContainer_NON_IMPL_LIBRARY;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryConfigModel_Null_Data_Source;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryConfigPersistData_SAVED_COMPLIB_NOT_FOUND;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryConfigPersistData_SAVED_IMPLLIB_NOT_FOUND;
-
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistry_ErrorCreatingURL;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistry_NoLoadCreatingNew;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistry_ErrorSaving;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistry_DEFAULT_IMPL_LABEL;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistry_ErrorLoadingFromExtPt;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateServletName;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFilePath;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFileXML;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes;
-
- /**
- * see messages.properties
- */
- public static String ArchiveFileImpl_CannotCopyFile;
- /**
- * see messages.properties
- */
- public static String ArchiveFileImpl_CannotCloseFile;
- /**
- * see messages.properties
- */
- public static String ArchiveFileImpl_CannotLocatePluginRelativeFile;
-
- /**
- * see messages.properties
- */
- public static String JSFUtils_MissingJAR;
-
- /**
- * see messages.properties
- */
- public static String PluginProvidedJSFLibraryCreationHelper_ErrorCreating;
- /**
- * see messages.properties
- */
- public static String PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition;
-
- /**
- * see messages.properties
- */
- public static String JSFUtils_ErrorCreatingConfigFile;
- /**
- * see messages.properties
- */
- public static String JSFUtils_ErrorClosingConfigFile;
-
- /**
- * see messages.properties
- */
- public static String JSFAppConfigUtils_ErrorOpeningJarFile;
-
- /**
- * see messages.properties
- */
- public static String JARFileJSFAppConfigProvider_ErrorLoadingModel;
-
- /**
- * see messages.properties
- */
- public static String J2EEModuleDependencyDelegate_UpdatingJ2EEModuleDependencies;
- /**
- * see messages.properties
- */
- public static String J2EEModuleDependencyDelegate_UpdatingJ2EEModuleDependenciesForProject;
-
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigration05_to_10_title;
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigration05_to_10_message;
-
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigration05_to_10_customMessage;
-
-
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigrationCannot05_to_10_title;
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigrationCannot05_to_10_message;
-
- /**
- * see messages.properties
- */
- public static String JSFRegistryMigrationCannot05_to_10_customMessage;
-
-
- /**
- * see messages.properties
- */
- public static String RegistryMigrationStartupHandler_Dialog_Abort_And_Exit_Migration;
-
- /**
- * see messages.properties
- */
- public static String RegistryMigrationStartupHandler_Dialog_Confirm_Migration;
-
- /**
- * see messages.properties
- */
- public static String RegistryMigrationStartupHandler_Error_committing_migration;
-
- /**
- * see messages.properties
- */
- public static String RegistryMigrationStartupHandler_Error_Rolling_Back_Migration;
-
- /**
- * see messages.properties
- */
- public static String RegistryMigrationStartupHandler_Launch_Migration_Doc_On_Confirm;
- /**
- * see messages.properties
- */
- public static String RegistryUpgradeCommitHandler_Text;
- /**
- * see messages.properties
- */
- public static String RegistryUpgradeCommitHandler_Title;
-
- /**
- * see messages.properties
- */
- public static String JSFFacet11_presetLabel;
-
- /**
- * see messages.properties
- */
- public static String JSFFacet11_presetDescription;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_AllowJavascriptDescription;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_AutoScrollDescription;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_InternalErr;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_ConfigErr;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_MaxFileSizeDescription;
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_NonUpdateableWebXML;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_PrettyHtmlDescription;
-
- /**
- * see messages.properties
- */
- public static String JSFFacetInstallDelegate_StateSavingMethod;
- /**
- * see messages.properties
- */
- public static String JSFFacetUninstallDelegate_ConfigErr;
- /**
- * see messages.properties
- */
- public static String JSFFacetUninstallDelegate_NonUpdateableWebXML;
- /**
- * see messages.properties
- */
- public static String JSFLibraryValidator_MISSING_JSF_IMPLEMENTATION_CLASSES;
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/RegistryUpgradeCommitHandler.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/RegistryUpgradeCommitHandler.java
deleted file mode 100644
index 80b7e7308..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/RegistryUpgradeCommitHandler.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryUpgradeUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.UpgradeStatus;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-/**
- * Commits registry migration
- * @author cbateman
- *
- */
-@SuppressWarnings("deprecation")
-public class RegistryUpgradeCommitHandler
-{
-
- /**
- * handle migration
- */
- public static void commitMigrationIfNecessary()
- {
- JSFLibraryRegistryUpgradeUtil upgradeUtil =
- JSFLibraryRegistryUpgradeUtil.getInstance();
-
- UpgradeStatus status = upgradeUtil.getUpgradeStatus();
-
- if (status.getSeverity() == IStatus.OK)
- {
- if (status.isUpgradeOccurred())
- {
- handle05_to_10(status);
- }
- }
- else
- {
- handleErrorInMigration(status);
- }
- }
-
- private static void handle05_to_10(UpgradeStatus status)
- {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Handle05_to_10_migration(status));
- }
-
- private static void handleErrorInMigration(UpgradeStatus status)
- {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
- {
- public void run()
- {
- final Shell shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
- MessageDialog.openError(shell, Messages.RegistryUpgradeCommitHandler_Title, Messages.RegistryUpgradeCommitHandler_Text);
- }
- });
- }
-
- private static class Handle05_to_10_migration implements Runnable
- {
- private final UpgradeStatus _status;
-
- Handle05_to_10_migration(UpgradeStatus status)
- {
- _status = status;
- }
-
- public void run()
- {
- // no prompting necessary. just commit.
- doConfirmed(false);
- }
-
- private void doConfirmed(boolean userWantsMigrationDocLaunch) {
- // delete V1 registry, leave backup file
- IStatus result = _status.commit();
-
- if (result.getSeverity() != IStatus.OK)
- {
- final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- MessageDialog.openError(shell, Messages.RegistryMigrationStartupHandler_Error_committing_migration, result.getMessage());
- }
-
- // if user confirmed, launch migration doc
- if (userWantsMigrationDocLaunch)
- try {
- IWorkbenchBrowserSupport browserSupport =
- PlatformUI.getWorkbench().getBrowserSupport();
- URL url = new URL("http://wiki.eclipse.org/index.php/JSF_Library_Migration"); //$NON-NLS-1$
- browserSupport.createBrowser("JSFMigrationDoc").openURL(url); //$NON-NLS-1$
- } catch (PartInitException e) {
- JSFCorePlugin.log(e,"Error handling migration"); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- JSFCorePlugin.log(e,"Error handling migration"); //$NON-NLS-1$
- }
- }
-
-// private void doAbortAndExit()
-// {
-// // rollback
-// IStatus result = _status.rollback();
-//
-// if (result.getSeverity() != IStatus.OK)
-// {
-// final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-// MessageDialog.openError(shell, Messages.RegistryMigrationStartupHandler_Error_Rolling_Back_Migration, result.getMessage());
-// }
-// // close workbench
-// PlatformUI.getWorkbench().close();
-// }
-// }
-//
-// private static class ConfirmDialog extends MessageDialogWithToggle
-// {
-// final static int CONFIRMED = 0;
-// final static int ABORT_AND_EXIT = 1;
-//
-// /**
-// * @param parentShell
-// * @param dialogTitle
-// * @param dialogMessage
-// */
-// public ConfirmDialog(Shell parentShell, String dialogTitle,
-// String dialogMessage) {
-// super(parentShell
-// , dialogTitle
-// , null
-// , dialogMessage
-// , WARNING
-// , new String[] { Messages.RegistryMigrationStartupHandler_Dialog_Confirm_Migration, Messages.RegistryMigrationStartupHandler_Dialog_Abort_And_Exit_Migration }
-// , ABORT_AND_EXIT
-// , Messages.RegistryMigrationStartupHandler_Launch_Migration_Doc_On_Confirm, true);
-// }
-//
-// /**
-// * Override so that the button ids line up with the constants
-// * expected
-// * @param parent
-// */
-// protected void createButtonsForButtonBar(Composite parent) {
-// final String[] buttonLabels = getButtonLabels();
-// final Button[] buttons = new Button[buttonLabels.length];
-// final int defaultButtonIndex = getDefaultButtonIndex();
-//
-// for (int i = 0; i < buttonLabels.length; i++) {
-// String label = buttonLabels[i];
-// Button button = createButton(parent, i, label,
-// defaultButtonIndex == i);
-// buttons[i] = button;
-//
-// }
-// setButtons(buttons);
-// }
-//
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagLibraryRegistryLoader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagLibraryRegistryLoader.java
deleted file mode 100644
index 2bf72df9d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagLibraryRegistryLoader.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-
-/**
- * Loads and caches extension for the tagRegistry extension point.
- *
- * @author cbateman
- *
- */
-/* package */class TagLibraryRegistryLoader
-{
- private final static String EXTENSION_ID = "tagregistry"; //$NON-NLS-1$
- private final static String ELEMENT_NAME = "tagRegistry"; //$NON-NLS-1$
-
- private static Set<ITagRegistryFactoryInfo> _extensions;
-
- /**
- * @return the list of handlers. The list is not modifiable and will throw
- * exceptions if it is attempted.
- */
- public static synchronized Set<ITagRegistryFactoryInfo> getAllHandlers()
- {
- if (_extensions == null)
- {
- _extensions = readAllHandlers();
- }
- return Collections.unmodifiableSet(_extensions);
-
- }
-
- private static Set<ITagRegistryFactoryInfo> readAllHandlers()
- {
- Set<ITagRegistryFactoryInfo> result = new HashSet<ITagRegistryFactoryInfo>();
- IExtensionPoint extensionPoint = JSFCorePlugin.getDefault()
- .getExtension(EXTENSION_ID);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++)
- {
- IExtension ext = extensions[i];
- IConfigurationElement[] configElements = ext
- .getConfigurationElements();
-
- for (int j = 0; j < configElements.length; j++)
- {
- final IConfigurationElement element = configElements[j];
- if (ELEMENT_NAME.equals(element.getName()))
- {
- try
- {
- final TagRegistryFactoryInfo extension = new TagRegistryFactoryInfo(
- element);
- result.add(extension);
- }
- catch (CoreException e)
- {
- JSFCorePlugin.log(e,
- "Error loading tag registry extension: " //$NON-NLS-1$
- + element.getContributor().getName()
- + "." + element.getAttribute("id")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryInfo.java
deleted file mode 100644
index 8e581ef9e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryInfo.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jst.jsf.designtime.internal.view.model.TagRegistryFactory;
-
-/**
- * Encapsulates information about tag registry extensions
- *
- */
-public final class TagRegistryFactoryInfo implements ITagRegistryFactoryInfo
-{
- private final String _description;
- private final String _id;
- private final TagRegistryFactory _tagRegistry;
- private final Set<IContentType> _contentTypes;
-
- /**
- * @param element
- * @throws CoreException
- */
- TagRegistryFactoryInfo(IConfigurationElement element)
- throws CoreException
- {
- // do this first since it has highest potential to fail
- _tagRegistry = (TagRegistryFactory) element
- .createExecutableExtension("class"); //$NON-NLS-1$
-
- final String localId = element.getAttribute("id"); //$NON-NLS-1$
- _id = element.getContributor().getName() + "." + localId; //$NON-NLS-1$
-
- _description = element.getAttribute("description"); //$NON-NLS-1$
-
- final IConfigurationElement[] contentTypes = element
- .getChildren("content-type"); //$NON-NLS-1$
-
- final IContentTypeManager typeManager = Platform
- .getContentTypeManager();
- _contentTypes = new HashSet<IContentType>();
- for (IConfigurationElement contentTypeElement : contentTypes)
- {
- final String contentTypeId = contentTypeElement
- .getAttribute("contentTypeId"); //$NON-NLS-1$
-
- final IContentType contentType = typeManager
- .getContentType(contentTypeId);
- _contentTypes.add(contentType);
- }
- }
-
- /**
- * @return the user displyable description
- */
- public String getDescription()
- {
- return _description;
- }
-
- /**
- * @return the unique of the extension
- */
- public String getId()
- {
- return _id;
- }
-
- /**
- * @return the registry
- */
- public TagRegistryFactory getTagRegistryFactory()
- {
- return _tagRegistry;
- }
-
- /**
- * Set is immutable.
- *
- * @return the content types this registry is registered against.
- */
- public Set<IContentType> getContentTypes()
- {
- return Collections.unmodifiableSet(_contentTypes);
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryProviderLoader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryProviderLoader.java
deleted file mode 100644
index 62217da71..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/TagRegistryFactoryProviderLoader.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.jst.jsf.core.internal;
-
-import static org.eclipse.jst.jsf.core.internal.JSFCorePlugin.PLUGIN_ID;
-import static org.eclipse.jst.jsf.core.internal.JSFCorePlugin.TAG_REGISTRY_FACTORY_PROVIDER_ID;
-
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.jsf.common.internal.pde.AbstractSimpleClassExtensionRegistryReader;
-
-/**
- * Loader class for the tag registry factory provider extension point.
- *
- */
-public class TagRegistryFactoryProviderLoader extends
- AbstractSimpleClassExtensionRegistryReader<ITagRegistryFactoryProvider>
-{
-
- /**
- * @param listComparator
- */
- protected TagRegistryFactoryProviderLoader(
- Comparator<org.eclipse.jst.jsf.common.internal.pde.AbstractSimpleClassExtensionRegistryReader.SortableExecutableExtension<ITagRegistryFactoryProvider>> listComparator)
- {
- super(PLUGIN_ID, TAG_REGISTRY_FACTORY_PROVIDER_ID, "factoryProvider", "class", NO_SORT); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected void handleLoadFailure(CoreException ce)
- {
- JSFCorePlugin.log(ce, "Loading tag registry factory provider extension points"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistParser.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistParser.java
deleted file mode 100644
index 78c3c6ca8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistParser.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTAddExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTAndExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTChoiceExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTEqualityExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTFunctionInvocation;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTLiteral;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTMultiplyExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTOrExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTRelationalExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTUnaryExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValue;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValuePrefix;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValueSuffix;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserConstants;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserVisitor;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.SimpleNode;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.jst.jsp.core.internal.java.jspel.TokenMgrError;
-
-/**
- * Consumes an EL expression and converts into a completion prefix
- *
- * @author cbateman
- *
- */
-public final class ContentAssistParser
-{
- /**
- * @param relativePosition -- 1-based position in elText (first position is 1)
- * @param elText
- * @return a content assist strategy for the given position and el expression
- * or null if one cannot be determined
- */
- public static ContentAssistStrategy getPrefix(final int relativePosition, final String elText)
- {
- if (elText == null)
- {
- return null;
- }
- else if ("".equals(elText.trim())) //$NON-NLS-1$
- {
- return new IdCompletionStrategy("", ""); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- PrefixVisitor visitor = getVisitorForPosition(relativePosition, elText);
- return visitor != null? visitor.getPrefix() : null;
- }
-
- /**
- * Get symbol and symbol region at given position in el string
- * @param context - IStructuredDocumentContext
- * @param relativePosition - position in el string
- * @param elText - el string
- * @return SymbolInfo. May be null.
- */
- public static SymbolInfo getSymbolInfo(IStructuredDocumentContext context, final int relativePosition, final String elText) {
- if (elText == null || "".equals(elText.trim())) //$NON-NLS-1$
- {
- return null;
- }
- PrefixVisitor visitor = getVisitorForPosition(relativePosition, elText);
- if (visitor != null) {
- SymbolInfo symbolInfo = visitor.getSymbolInfo(context);
- if (symbolInfo != null) {
- Region r = symbolInfo.getRelativeRegion();
- if (relativePosition > r.getOffset() && relativePosition <= r.getOffset() + r.getLength()) {
- return symbolInfo;
- }
- }
- }
- return null;
- }
-
- private static PrefixVisitor getVisitorForPosition(final int relativePosition,
- final String elText) {
- final java.io.StringReader reader = new java.io.StringReader(elText);
- final JSPELParser parser = new JSPELParser(reader);
-
- try
- {
- final ASTExpression expr = parser.Expression();
- final PrefixVisitor visitor = new PrefixVisitor(relativePosition, elText);
- expr.jjtAccept(visitor, null);
- return visitor;
- }
- catch (ParseException pe)
- {
- // TODO: handle parser by using current and expected tokens
- return null;
- }
- catch (TokenMgrError tme)
- {
- // TODO: handle parser by using current and expected tokens
- return null;
- }
- }
-
- private static String substring(String s, Region r) {
- return s.substring(r.getOffset(), r.getOffset() + r.getLength());
- }
-
- private static class PrefixVisitor implements JSPELParserVisitor
- {
- private final int _relativePos;
- private final String _fullText;
-
- private String _symbolPrefix; // = null; initialized as tree is visited
- private int _prefixType;
- private boolean _prefixResolved; // = false; set to true when the prefix is resolved
- private int _symbolStartPos = 1; // first char has position 1
- private int _symbolEndPos = 0;
-
- PrefixVisitor(final int relativePos, final String fullText)
- {
- _relativePos = relativePos;
- _fullText = fullText;
- }
-
- /**
- * @return the prefix if resolved or null if not resolved
- */
- public ContentAssistStrategy getPrefix()
- {
- if (_prefixResolved)
- {
- switch(_prefixType)
- {
- case ContentAssistStrategy.PREFIX_TYPE_DOT_COMPLETION:
- return new FunctionCompletionStrategy(_symbolPrefix, getProposalStart());
-
- case ContentAssistStrategy.PREFIX_TYPE_ID_COMPLETION:
- return new IdCompletionStrategy(_symbolPrefix, getProposalStart());
-
- case ContentAssistStrategy.PREFIX_TYPE_EMPTY_EXPRESSION:
- return new IdCompletionStrategy("", getProposalStart()); //$NON-NLS-1$
-
- default:
- // do nothing; fall-through to return null
- }
- }
-
- return null;
- }
-
- /**
- * @param context - IStructuredDocumentContext
- * @return symbol and symbol region if resolved, null otherwise
- */
- public SymbolInfo getSymbolInfo(IStructuredDocumentContext context) {
- if (_prefixResolved && _symbolStartPos < _symbolEndPos) {
- Region region = new Region(_symbolStartPos - 1, _symbolEndPos - _symbolStartPos + 1);
- ISymbol symbol = null;
- switch (_prefixType) {
- case ContentAssistStrategy.PREFIX_TYPE_ID_COMPLETION:
- symbol = SymbolResolveUtil.getSymbolForVariable(context, substring(_fullText, region));
- break;
- case ContentAssistStrategy.PREFIX_TYPE_DOT_COMPLETION:
- symbol = SymbolResolveUtil.getSymbolForVariableSuffixExpr(context, _symbolPrefix + "." + substring(_fullText, region), _symbolEndPos == _fullText.length()); //$NON-NLS-1$
- break;
- }
- if (symbol != null) {
- return new SymbolInfo(symbol, region);
- }
- }
- return null;
- }
-
- private String getProposalStart() {
- if (_symbolStartPos <= _relativePos) {
- return _fullText.substring(_symbolStartPos - 1, _relativePos - 1);
- }
- return ""; //$NON-NLS-1$
- }
-
- public Object visit(ASTAddExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTAndExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTChoiceExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTEqualityExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTFunctionInvocation node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTLiteral node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTMultiplyExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTOrExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTRelationalExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTUnaryExpression node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTValue node, Object data)
- {
- // we're only in this value expr if it contains the cursor
- if (testContainsCursor(node))
- {
- return node.childrenAccept(this, data);
- }
-
- return null;
- }
-
- public Object visit(ASTValuePrefix node, Object data)
- {
- // for now, only concern ourselves with simple (identifier) prefixes
- if (!_prefixResolved
- && node.jjtGetNumChildren() == 0
- && node.getFirstToken().kind == JSPELParserConstants.IDENTIFIER)
- {
- _symbolPrefix = node.getFirstToken().image;
-
- if (testContainsCursor(node))
- {
- // if the cursor is on this id, we don't need to visit
- // further since we know both the prefix -- the id -- and
- // the type -- it's an id completion
- _prefixType = ContentAssistStrategy.PREFIX_TYPE_ID_COMPLETION;
- _symbolStartPos = node.getFirstToken().beginColumn;
- _symbolEndPos = node.getFirstToken().endColumn;
- _prefixResolved = true;
- }
- }
- return node.childrenAccept(this, data);
- }
-
- public Object visit(ASTValueSuffix node, Object data)
- {
- // for now, only deal with the simple .id suffix
- Token lastToken = node.getLastToken();
- if (node.jjtGetNumChildren() == 0)
- {
- if (!_prefixResolved
- && node.getFirstToken().kind == JSPELParserConstants.DOT)
- {
- if (lastToken.kind == JSPELParserConstants.IDENTIFIER)
- {
- if (testContainsCursor(node))
- {
- _prefixType = ContentAssistStrategy.PREFIX_TYPE_DOT_COMPLETION;
- int proposalStartLength = _relativePos - lastToken.beginColumn;
- if (proposalStartLength < 0) { // Cursor after firstToken start but before lastToken start?
- proposalStartLength = 0;
- }
- _symbolStartPos = lastToken.beginColumn;
- _symbolEndPos = lastToken.endColumn;
- _prefixResolved = true;
- }
- // only include this suffix on the path if the cursor is
- // further to the right. Thus for x.^y we get a prefix "x"
- // and for x.y.^z we get "x.y" since this the part we must
- // resolve the prefix for
- else
- {
- _symbolPrefix += node.getFirstToken().image + lastToken.image;
- }
- }
- else if (lastToken == node.getFirstToken())
- {
- if (testCursorImmediatelyAfter(node))
- {
- _prefixType = ContentAssistStrategy.PREFIX_TYPE_DOT_COMPLETION;
- _symbolStartPos = lastToken.endColumn + 1;
- _symbolEndPos = lastToken.endColumn;
- _prefixResolved = true;
- }
- }
- }
-
- return null;
- }
-
- if (node.getFirstToken().kind == JSPELParserConstants.LBRACKET)
- {
- // try to support ca inside the brackets
- node.childrenAccept(this, data);
- }
-
- Object retValue = node.childrenAccept(this, data);
-
- if (!_prefixResolved)
- {
- // if we haven't resolved the prefix yet, then we need
- // to append this suffix value
- _symbolPrefix += _fullText.substring(node.getFirstToken().beginColumn-1, node.getLastToken().endColumn);
- }
-
- return retValue;
- }
-
- public Object visit(SimpleNode node, Object data)
- {
- return node.childrenAccept(this, data);
- }
-
- private boolean testCursorImmediatelyAfter(SimpleNode node)
- {
- return node.getLastToken().endColumn == _relativePos-1;
- }
-
- /**
- * "Containing a cursor" here is deemed to mean that current cursor
- * position as indicated by _relativePos, is either directly before, on or
- * directly after an expression. For example, in a Value expression like
- *
- * x x x . y y y . z z z
- * ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
- * 1 2 3 4 5 6 7 8 9 0 1 2
- *
- * Position's 1-4 are on xxx, 5-8 are on yyy and 9-12 are on zzz
- *
- * @param node
- * @return true if the node "contains the cursor" (see above)
- */
- private boolean testContainsCursor(SimpleNode node)
- {
- return (node.getFirstToken().beginColumn <= _relativePos
- && node.getLastToken().endColumn+1 >= _relativePos);
-
- }
- }
-
- private ContentAssistParser()
- {
- // utility class; not instantiable
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistStrategy.java
deleted file mode 100644
index 1e7d43c20..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/ContentAssistStrategy.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import java.util.List;
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-
-/**
- * Encapsulates an EL content assist completion prefix
- *
- * @author cbateman
- *
- */
-public abstract class ContentAssistStrategy
-{
- /**
- * ContentAssistStrategy type for a dot content assist completion
- */
- public final static int PREFIX_TYPE_DOT_COMPLETION = 0;
- /**
- * ContentAssistStrategy type for an id content assist completion
- */
- public final static int PREFIX_TYPE_ID_COMPLETION = 1;
- /**
- * Completions for an empty expression
- */
- public final static int PREFIX_TYPE_EMPTY_EXPRESSION = 2;
-
- private final int type;
- private final String value;
- private final String proposalStart;
-
- /**
- * @param type
- * @param value
- * @param proposalStart
- */
- public ContentAssistStrategy(final int type, final String value, final String proposalStart)
- {
- super();
- this.type = type;
- this.value = value;
- this.proposalStart = proposalStart;
- }
-
- /**
- * @return the type of this completion prefix as defined by
- * one of the PREFIX_TYPE constants
- */
- public final int getType()
- {
- return type;
- }
-
- /**
- * @return the token which this prefix is for
- */
- public final String getValue()
- {
- return value;
- }
-
- /**
- * @param context
- * @return the list of proposals for this strategy. Contents of the list
- * must be of type ICompletionProposal. List should be considered immutable.
- */
- public abstract List<ICompletionProposal> getProposals(IStructuredDocumentContext context);
-
- /**
- * @return the part of the proposal which was already typed when user invoked autocomplete
- */
- public String getProposalStart() {
- return proposalStart;
- }
-
- /**
- * @param completionList
- * @param proposal
- */
- protected void addProposalsMatchingProposalStart(final List completionList, final ICompletionProposal[] proposal) {
- final String start = getProposalStart();
- for (int j = 0; j < proposal.length; j++) {
- final String proposalString = proposal[j].getDisplayString();
- //TODO Should use "real" proposal replacement instead of displayString:
- if (proposalString.length() >= start.length() &&
- proposalString.substring(0, start.length()).equalsIgnoreCase(start))
- {
- completionList.add(proposal[j]);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/FunctionCompletionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/FunctionCompletionStrategy.java
deleted file mode 100644
index ff58d1b5c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/FunctionCompletionStrategy.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ITextRegionContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider;
-import org.eclipse.jst.jsf.context.symbol.provider.ProposalCreationFactoryAdapter;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider.IProposalCreationFactory;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A completion strategy for function completions like:
- *
- * v a r .
- * ^
- *
- * @author cbateman
- *
- */
-public class FunctionCompletionStrategy extends ContentAssistStrategy
-{
- /**
- * @param value
- * @param proposalStart
- */
- public FunctionCompletionStrategy(final String value, final String proposalStart)
- {
- super(ContentAssistStrategy.PREFIX_TYPE_DOT_COMPLETION, value, proposalStart);
- }
-
- @Override
- public List<ICompletionProposal> getProposals(final IStructuredDocumentContext context)
- {
- List<ICompletionProposal> completionList = Collections.EMPTY_LIST;
- final ISymbolContextResolver symbolResolver =
- StructuredDocumentSymbolResolverFactory.getInstance().
- getSymbolContextResolver(context);
-
- final ISymbol symbol = SymbolResolveUtil.getSymbolForVariableSuffixExpr(context, getValue(), false);
-
- // if we get a completion symbol, get it's proposals
- if (symbol instanceof IObjectSymbol)
- {
- final List expectedMethodBindings = new ArrayList();
- final ISymbol[] suffixes = getSymbols((IObjectSymbol) symbol,
- context,
- symbolResolver,
- expectedMethodBindings);
-
- final ComposedAdapterFactory factory =
- new ComposedAdapterFactory(
- ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
- final IProposalCreationFactory creationInfo =
- new MyProposalFactory(context, getProposalStart().length(),
- expectedMethodBindings);
-
- completionList = new ArrayList<ICompletionProposal>();
- for (final ISymbol propSymbol : suffixes) {
- final Object provider =
- factory.adapt(propSymbol, IContentProposalProvider.class);
-
- if (provider instanceof IContentProposalProvider)
- {
- final ICompletionProposal[] proposal =
- ((IContentProposalProvider) provider).
- getProposals(propSymbol, creationInfo);
- if (proposal != null)
- {
- addProposalsMatchingProposalStart(completionList,
- proposal);
- }
- }
- }
- }
-
- return Collections.unmodifiableList(completionList);
- }
-
- private ISymbol[] getSymbols(final IObjectSymbol symbol,
- final IStructuredDocumentContext context,
- final ISymbolContextResolver symbolResolver,
- final List expectedMethodBindings)
- {
- final List symbols = new ArrayList();
-
- if (SymbolResolveUtil.isMethodBindingExpected(context, expectedMethodBindings))
- {
- symbols.addAll(Arrays.asList(
- symbolResolver.getMethods(symbol)));
- }
-
- symbols.addAll(Arrays.asList(symbolResolver.getProperties(symbol)));
-
- return (ISymbol[]) symbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- private static class MyProposalFactory extends ProposalCreationFactoryAdapter
- {
- private final static int DEFAULT_RELEVANCE = 1;
-
- private final static int HIGH_RELEVANCE = 2;
- private final static int NORMAL_RELEVANCE = 1;
- private final static int LOW_RELEVANCE = 0;
-
- private final List _expectedMethodBindings;
- private final IStructuredDocumentContext _context;
-
- /**
- * @param context
- * @param replacementLength
- * @param expectedMethodBindings
- */
- public MyProposalFactory(final IStructuredDocumentContext context, final int replacementLength,
- final List expectedMethodBindings) {
- super(context.getDocumentPosition() - replacementLength, replacementLength);
- _context = context;
- _expectedMethodBindings = expectedMethodBindings;
- }
-
- @Override
- public ICompletionProposal createProposal(final String replacementText,
- final String displayText,
- final String additionalText,
- final Image displayImage,
- final Object target)
- {
- int replacementOffset = _replacementOffset;
- int replacementLength = _replacementLength;
-
- // TODO: I regard this as a bit of hack, but until we write our
- // proposal implementation, it's basically the only way I can
- // see to do this
- // if it's an array, we must check if we need to replace a
- // preceding '.'
- if (replacementText.startsWith("[")) //$NON-NLS-1$
- {
- ITextRegionContextResolver textResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getTextRegionResolver(_context);
-
- if (textResolver.getRegionType().equals(DOMJSPRegionContexts.JSP_VBL_CLOSE))
- {
- textResolver =
- IStructuredDocumentContextResolverFactory.
- INSTANCE.getTextRegionResolver(textResolver.getPreviousContext());
- }
-
- final String regionText = textResolver.getRegionText();
- final int regionStart = textResolver.getStartOffset();
-
- if (DOMJSPRegionContexts.JSP_VBL_CONTENT.equals(textResolver.getRegionType())
- && regionText != null
- && regionStart != -1
- && regionStart < _context.getDocumentPosition())
- {
- final int relativeOffset = _context.getDocumentPosition() - regionStart - 1;
-
- if (regionText.charAt(relativeOffset) == '.')
- {
- // we must replace a length of 1 (the dot)
- // at an offset on prior
- replacementOffset--;
- replacementLength = 1;
- }
- }
- }
-
- return createDefaultProposal(replacementText,
- replacementOffset,
- replacementLength,
- replacementText.length(),
- displayImage,
- displayText,
- null,
- additionalText,
- getRelevance(target, DEFAULT_RELEVANCE));
- }
-
- private int getRelevance(final Object target, final int defaultRelevance)
- {
- // if method bindings are expected, then list exact signature
- // matches top most. Still list non-matching methods, but put
- // them at the bottom
- if (_expectedMethodBindings.size() > 0)
- {
- if (target instanceof IMethodSymbol)
- {
- final IMethodSymbol methodSymbol = (IMethodSymbol) target;
-
- for (final Iterator it = _expectedMethodBindings.iterator();
- it.hasNext();)
- {
- final String methodType = (String) it.next();
-
- // we have a match, so push to the top
- if (methodType.equals(methodSymbol.getSignature()))
- {
- return HIGH_RELEVANCE;
- }
- }
-
- // if we get out of the loop, then this method doesn't
- // match the expected signature
- return LOW_RELEVANCE;
- }
-
- // non-method targets have normal relevance when mb expected
- return NORMAL_RELEVANCE;
- }
-
- // otherwise, simply return the default for all
- return defaultRelevance;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java
deleted file mode 100644
index f965d8ce5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/IdCompletionStrategy.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider;
-import org.eclipse.jst.jsf.context.symbol.provider.ProposalCreationFactoryAdapter;
-import org.eclipse.jst.jsf.context.symbol.provider.IContentProposalProvider.IProposalCreationFactory;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A strategy for getting completions for EL id completions like:
- *
- * var
- * ^
- *
- * @author cbateman
- *
- */
-class IdCompletionStrategy extends ContentAssistStrategy
-{
-
- /**
- * Construct a strategy for completing an ID completion
- *
- * @param prefixValue
- * @param proposalStart - the part of the proposal which was already typed when user invoked autocomplete
- */
- public IdCompletionStrategy(final String prefixValue, String proposalStart)
- {
- super(ContentAssistStrategy.PREFIX_TYPE_ID_COMPLETION, prefixValue, proposalStart);
- }
-
- /**
- * @see org.eclipse.jst.jsf.core.internal.contentassist.el.ContentAssistStrategy#getProposals(org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext)
- */
- public List<ICompletionProposal> getProposals(IStructuredDocumentContext context)
- {
- final List<ICompletionProposal> completionList = new ArrayList<ICompletionProposal>();
- final IWorkspaceContextResolver workspaceResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.
- getWorkspaceContextResolver(context);
-
- final IFile iFile = (IFile) workspaceResolver.getResource();
-
- ISymbol[] symbols = null;
-
- if (iFile != null)
- {
- final ISymbolContextResolver symbolResolver =
- StructuredDocumentSymbolResolverFactory.getInstance().
- getSymbolContextResolver(context);
-
- symbols = symbolResolver.getAllVariables();
- }
-
- final ComposedAdapterFactory factory =
- new ComposedAdapterFactory(ComposedAdapterFactory.
- Descriptor.Registry.INSTANCE);
-
- final IProposalCreationFactory creationInfo =
- new MyProposalFactory(context.getDocumentPosition(), getProposalStart().length());
-
- for (int i = 0; symbols != null && i < symbols.length; i++)
- {
- final ISymbol symbol = symbols[i];
-
- final Object adapter =
- factory.adapt(symbol, IContentProposalProvider.class);
-
- if (adapter instanceof IContentProposalProvider)
- {
- final IContentProposalProvider provider =
- (IContentProposalProvider) adapter;
- final ICompletionProposal[] proposal =
- provider.getProposals(symbol, creationInfo);
- if (proposal != null)
- {
- addProposalsMatchingProposalStart(completionList, proposal);
- }
- }
- }
-
- return Collections.unmodifiableList(completionList);
- }
-
- private static class MyProposalFactory extends ProposalCreationFactoryAdapter
- {
- private final static int HIGH_RELEVANCE = 2;
- private final static int NORMAL_RELEVANCE = 1;
- private final static int LOW_RELEVANCE = 0;
-
- /**
- * @param replacementOffset
- * @param replacementLength
- */
- public MyProposalFactory(int replacementOffset, int replacementLength)
- {
- /*TODO I changed the meaning of "replacementLength" from "number of chars AFTER cursor to be
- * replaced" to "number of chars BEFORE cursor to be replaced. Since "replacementLength"
- * has always been 0 (constructor is only called by IdCompletionStrategy.getProposals()),
- * this should not change anything, but I don't know if there have been different plans
- * for "replacementLength".
- * TODO Maybe this change should be done in the super class instead?
- */
- super(replacementOffset - replacementLength, replacementLength);
- }
-
- public ICompletionProposal createProposal(final String replacementText,
- final String displayText,
- final String additionalText,
- final Image displayImage,
- final Object targetObject)
- {
- return createDefaultProposal(replacementText, _replacementOffset,
- _replacementLength,
- replacementText.length(), displayImage,
- displayText, null, additionalText,
- getRelevance(targetObject));
- }
-
- private int getRelevance(Object target)
- {
- // put tag vars at top, followed by beans, then implicits and other
- if (target instanceof IInstanceSymbol)
- {
- final IInstanceSymbol symbol = (IInstanceSymbol) target;
-
- switch (symbol.getRuntimeSource().getValue())
- {
- case ERuntimeSource.TAG_INSTANTIATED_SYMBOL:
- return HIGH_RELEVANCE;
- case ERuntimeSource.MANAGED_BEAN_SYMBOL:
- return NORMAL_RELEVANCE;
- case ERuntimeSource.BUILT_IN_SYMBOL:
- case ERuntimeSource.OTHER:
- return LOW_RELEVANCE;
- }
- }
-
- // if none of the above, return low relevance
- return LOW_RELEVANCE;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolInfo.java
deleted file mode 100644
index dc7652bd8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolInfo.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import org.eclipse.jface.text.Region;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * class contains a symbol and it's region
- *
- */
-public class SymbolInfo {
-
- private final ISymbol symbol;
- private final Region relativeRegion;
-
- /**
- * @param symbol
- * @param relativeRegion
- */
- public SymbolInfo(ISymbol symbol, Region relativeRegion) {
- super();
- this.symbol = symbol;
- this.relativeRegion = relativeRegion;
- }
-
- /**
- * @return the symbol
- */
- public ISymbol getSymbol() {
- return symbol;
- }
-
- /**
- * @return the relative region
- */
- public Region getRelativeRegion() {
- return relativeRegion;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolResolveUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolResolveUtil.java
deleted file mode 100644
index 29b151853..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contentassist/el/SymbolResolveUtil.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contentassist.el;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Utility class for resolving symbols for a IStructuredDocumentContext.
- */
-public class SymbolResolveUtil {
-
- private SymbolResolveUtil() {
- // utility class; not instantiable
- }
-
- /**
- * Get symbol for a variable (managed bean name, bundle name)
- *
- * @param context
- * @param name
- * @return ISymbol
- */
- public static ISymbol getSymbolForVariable(
- final IStructuredDocumentContext context, final String name) {
- final ISymbolContextResolver symbolResolver = StructuredDocumentSymbolResolverFactory
- .getInstance().getSymbolContextResolver(context);
-
- return symbolResolver.getVariable(name);
- }
-
- /**
- * Get symbol for a variable suffix (e. g. bean property/method, bundle
- * property). Takes into account whether method bindings are expected for
- * the given context.
- *
- * @param context -
- * the IStructuredDocumentContext
- * @param fullName -
- * full name of the suffix (e. g. bean.property1.property2)
- * @param isLastSuffix -
- * set true if there follows no other suffix. Method names will
- * only be considered if true
- * @return ISymbol. May be null.
- */
- public static ISymbol getSymbolForVariableSuffixExpr(
- final IStructuredDocumentContext context, final String fullName,
- final boolean isLastSuffix) {
- String[] ids = fullName.split("\\."); //$NON-NLS-1$
-
- // if no suffixes, only one id
- if (ids.length < 1) {
- ids = new String[] { fullName };
- }
-
- final ISymbolContextResolver symbolResolver = StructuredDocumentSymbolResolverFactory
- .getInstance().getSymbolContextResolver(context);
- if (symbolResolver != null) {
- ISymbol symbol = symbolResolver.getVariable(ids[0]);
- if (symbol instanceof IInstanceSymbol
- && ((IInstanceSymbol) symbol).isTypeResolved()) {
- for (int curSuffixIdx = 1; curSuffixIdx < ids.length; curSuffixIdx++) {
- if (isLastSuffix && curSuffixIdx == ids.length - 1
- && isMethodBindingExpected(context)) {
- /*
- * TODO Take into acount required method signature,
- * since there may be different methods with the same
- * name
- */
- return symbolResolver.getMethod((IObjectSymbol) symbol,
- ids[curSuffixIdx]);
- }
-
- final ISymbol property = symbolResolver.getProperty(symbol,
- ids[curSuffixIdx]);
-
- if (property == null) {
- return null;
- }
- symbol = property;
- }
- return symbol;
- }
- }
- return null;
- }
-
- /**
- * Tells whether method bindings are expected for the given context.
- *
- * @param context -
- * the IStructuredDocumentContext
- * @return true, if method bindings expected
- */
- public static boolean isMethodBindingExpected(
- final IStructuredDocumentContext context) {
- return isMethodBindingExpected(context, null);
- }
-
- /**
- * Tells whether method bindings are expected for the given context. Will
- * add signatures of expected method bindings to a given list.
- *
- * @param context -
- * the IStructuredDocumentContext
- * @param expectedBindings -
- * a list. If not null, signatures of expected method bindings
- * will be appended to this list.
- * @return true, if method bindings expected
- */
- public static boolean isMethodBindingExpected(
- final IStructuredDocumentContext context,
- final List expectedBindings) {
- final IDOMContextResolver domResolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(context);
-
- final Node curNode = domResolver.getNode();
-
- if (curNode instanceof Attr) {
- final Attr attr = (Attr) curNode;
- final Element element = attr.getOwnerElement();
-
- final ITaglibContextResolver taglibResolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getTaglibContextResolver(context);
-
- final String uri = taglibResolver.getTagURIForNodeName(element);
-
- final List elVals = MetaDataEnabledProcessingFactory.getInstance()
- .getAttributeValueRuntimeTypeFeatureProcessors(
- IValidELValues.class, context, uri,
- element.getLocalName(), attr.getLocalName());
-
- boolean methodBindingExpected = false;
- for (final Iterator it = elVals.iterator(); it.hasNext();) {
- final IValidELValues validValues = (IValidELValues) it.next();
-
- try {
- final CompositeType type = validValues
- .getExpectedRuntimeType();
- if (type != null
- && type.getAssignmentTypeMask() == IAssignable.ASSIGNMENT_TYPE_NONE) {
- methodBindingExpected = true;
- if (expectedBindings != null) {
- expectedBindings.addAll(Arrays.asList(validValues
- .getExpectedRuntimeType().getSignatures()));
- } else {
- // if we don't need the method signatures, *one*
- // expected method binding is sufficient.
- return true;
- }
- }
- } catch (final ELIsNotValidException e) {
- // do nothing
- }
- }
- return methodBindingExpected;
- }
- // default condition is no method binding
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/AbstractContentDescriberForFacelets.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/AbstractContentDescriberForFacelets.java
deleted file mode 100644
index 108f683d7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/AbstractContentDescriberForFacelets.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Oracle - copy and modify ContentDescriberForHTML
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.util.Arrays;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescriber;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.html.core.internal.contenttype.HTMLResourceEncodingDetector;
-import org.eclipse.wst.sse.core.internal.encoding.EncodingMemento;
-import org.eclipse.wst.sse.core.internal.encoding.IContentDescriptionExtended;
-import org.eclipse.wst.sse.core.internal.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.sse.core.utils.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.XMLTokenizer;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Copied from ContentDescriberForHTML, since that class is final but we need to add description
- * criteria.
- */
-
-public abstract class AbstractContentDescriberForFacelets implements ITextContentDescriber {
-
- /**
- * Get the patterns to match against value of namespace attributes (of the document element).
- * @return Array of Pattern instances to match against value of namespace attributes (of the
- * document element).
- */
- protected abstract Pattern[] getNSValuePatterns();
-
- final private static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.CHARSET, IContentDescription.BYTE_ORDER_MARK, IContentDescriptionExtended.DETECTED_CHARSET, IContentDescriptionExtended.UNSUPPORTED_CHARSET, IContentDescriptionExtended.APPROPRIATE_DEFAULT};
-
- public int describe(InputStream contents, IContentDescription description) throws IOException {
- int result = IContentDescriber.INDETERMINATE;
- byte[] bom = null;
- if (description != null) {
- calculateSupportedOptions(contents, description);
- Object value = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
- if (value instanceof byte[]) {
- bom = (byte[])value;
- }
- } else {
- contents.reset();
- bom = getByteOrderMark(contents);
- }
- Object value =
- (description != null ? description.getProperty(IContentDescription.CHARSET) : null);
- String charsetName = null;
- if (value != null) {
- charsetName = value.toString();
- } else {
- if (Arrays.equals(IContentDescription.BOM_UTF_16BE, bom)) {
- charsetName = "UTF-16BE"; //$NON-NLS-1$
- } else if (Arrays.equals(IContentDescription.BOM_UTF_16LE, bom)) {
- charsetName = "UTF-16LE"; //$NON-NLS-1$
- } else {
- charsetName = "UTF-8"; //$NON-NLS-1$
- }
- }
- contents.reset();
- result = checkCriteria(new InputStreamReader(contents, Charset.forName(charsetName)));
- return result;
- }
-
- public int describe(Reader contents, IContentDescription description) throws IOException {
- int result = IContentDescriber.INDETERMINATE;
- if (description != null) {
- calculateSupportedOptions(contents, description);
- }
- contents.reset();
- result = checkCriteria(contents);
- return result;
- }
-
- public QualifiedName[] getSupportedOptions() {
- return SUPPORTED_OPTIONS;
- }
-
- private void calculateSupportedOptions(InputStream contents, IContentDescription description) throws IOException {
- if (isRelevent(description)) {
- IResourceCharsetDetector detector = getDetector();
- detector.set(contents);
- handleCalculations(description, detector);
- }
- }
-
- private void calculateSupportedOptions(Reader contents, IContentDescription description) throws IOException {
- if (isRelevent(description)) {
- IResourceCharsetDetector detector = getDetector();
- detector.set(contents);
- handleCalculations(description, detector);
- }
- }
-
- private IResourceCharsetDetector getDetector() {
- return new HTMLResourceEncodingDetector();
- }
-
- private void handleCalculations(IContentDescription description, IResourceCharsetDetector detector) throws IOException {
- EncodingMemento encodingMemento = ((HTMLResourceEncodingDetector) detector).getEncodingMemento();
- Object detectedByteOrderMark = encodingMemento.getUnicodeBOM();
- if (detectedByteOrderMark != null) {
- Object existingByteOrderMark = description.getProperty(IContentDescription.BYTE_ORDER_MARK);
- if (!detectedByteOrderMark.equals(existingByteOrderMark)) {
- description.setProperty(IContentDescription.BYTE_ORDER_MARK, detectedByteOrderMark);
- }
- }
-
- if (!encodingMemento.isValid()) {
- description.setProperty(IContentDescriptionExtended.UNSUPPORTED_CHARSET, encodingMemento.getInvalidEncoding());
- description.setProperty(IContentDescriptionExtended.APPROPRIATE_DEFAULT, encodingMemento.getAppropriateDefault());
- }
-
- Object detectedCharset = encodingMemento.getDetectedCharsetName();
- Object javaCharset = encodingMemento.getJavaCharsetName();
-
- if (detectedCharset != null) {
- description.setProperty(IContentDescriptionExtended.DETECTED_CHARSET, detectedCharset);
- }
-
- if (javaCharset != null) {
- Object existingCharset = description.getProperty(IContentDescription.CHARSET);
- if (!javaCharset.equals(existingCharset)) {
- Object defaultCharset = detector.getSpecDefaultEncoding();
- if (defaultCharset != null) {
- if (!defaultCharset.equals(javaCharset)) {
- description.setProperty(IContentDescription.CHARSET, javaCharset);
- }
- } else {
- description.setProperty(IContentDescription.CHARSET, javaCharset);
- }
- }
- }
-
- }
-
- private boolean isRelevent(IContentDescription description) {
- boolean result = false;
- if (description != null) {
- if (description.isRequested(IContentDescription.BYTE_ORDER_MARK)) {
- result = true;
- } else if (description.isRequested(IContentDescription.CHARSET)) {
- result = true;
- } else if (description.isRequested(IContentDescriptionExtended.APPROPRIATE_DEFAULT)) {
- result = true;
- } else if (description.isRequested(IContentDescriptionExtended.DETECTED_CHARSET)) {
- result = true;
- } else if (description.isRequested(IContentDescriptionExtended.UNSUPPORTED_CHARSET)) {
- result = true;
- }
- }
- return result;
- }
-
- private int checkCriteria(Reader contents) throws IOException {
- final Pattern[] nsValuePatterns = getNSValuePatterns();
- if (nsValuePatterns == null || nsValuePatterns.length == 0) {
- return INVALID;
- }
- final Pattern nsNamePattern = Pattern.compile("xmlns:.*"); //$NON-NLS-1$
-
- String attributeName = null;
- String attributeValue = null;
-
- XMLTokenizer tokenizer = new XMLTokenizer(contents);
-
- String token = tokenizer.primGetNextToken();
- while (token != null &&
- !DOMRegionContext.XML_TAG_CLOSE.equals(token) &&
- !DOMRegionContext.XML_EMPTY_TAG_CLOSE.equals(token)) {
-
- if (DOMRegionContext.XML_TAG_ATTRIBUTE_NAME.equals(token)) {
- attributeName = tokenizer.yytext();
- }
- else if (DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE.equals(token)) {
- attributeValue = StringUtils.strip(tokenizer.yytext());
- for (int i = 0; i < nsValuePatterns.length; i++) {
- if (nsNamePattern.matcher(attributeName).matches()) {
- if (nsValuePatterns[i].matcher(attributeValue).matches()) {
- return VALID;
- }
- }
- }
- }
- token = tokenizer.primGetNextToken();
- }
- return INVALID;
- }
-
- private static byte[] getByteOrderMark(InputStream contents) throws IOException {
- int first = contents.read();
- if (first == 0xEF) {
- // look for the UTF-8 Byte Order Mark (BOM)
- int second = contents.read();
- int third = contents.read();
- if (second == 0xBB && third == 0xBF)
- return IContentDescription.BOM_UTF_8;
- }
- else if (first == 0xFE) {
- // look for the UTF-16 BOM
- if (contents.read() == 0xFF)
- return IContentDescription.BOM_UTF_16BE;
- }
- else if (first == 0xFF) {
- if (contents.read() == 0xFE)
- return IContentDescription.BOM_UTF_16LE;
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFacelet.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFacelet.java
deleted file mode 100644
index d450994ee..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFacelet.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contenttype;
-
-import java.util.regex.Pattern;
-
-/**
- * Content Describer for a "facelet" (document element has an xmlns attribute with a value that
- * matches ".*jsf.*" or ".*faces.*").
- *
- * @author ian.trimble@oracle.com
- */
-public class ContentDescriberForFacelet extends AbstractContentDescriberForFacelets {
-
- @Override
- protected Pattern[] getNSValuePatterns() {
- return new Pattern[] {
- Pattern.compile(".*jsf.*"), //$NON-NLS-1$
- Pattern.compile(".*faces.*") //$NON-NLS-1$
- };
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFaceletCompositeComponent.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFaceletCompositeComponent.java
deleted file mode 100644
index 4bb808de7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/ContentDescriberForFaceletCompositeComponent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contenttype;
-
-import java.util.regex.Pattern;
-
-/**
- * Content Describer for a "facelet composite component" (document element has an xmlns attribute
- * with a value that matches "http://java.sun.com/jsf/composite").
- *
- * @author ian.trimble@oracle.com
- */
-public class ContentDescriberForFaceletCompositeComponent extends AbstractContentDescriberForFacelets {
-
- @Override
- protected Pattern[] getNSValuePatterns() {
- return new Pattern[] {
- Pattern.compile("http://java.sun.com/jsf/composite") //$NON-NLS-1$
- };
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/XMLDocumentElementAttributeContentDescriber.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/XMLDocumentElementAttributeContentDescriber.java
deleted file mode 100644
index cd38062b5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/contenttype/XMLDocumentElementAttributeContentDescriber.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.contenttype;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.wst.sse.core.utils.StringUtils;
-import org.eclipse.wst.xml.core.internal.parser.XMLTokenizer;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Matches the first tag of the content using attribute/value regex pairs.
- * <br/>
- * <br/>
- * Example:<br/>
- * &lt;describer class="XMLDocumentElementAttributeContentDescriber"&gt;<br/>
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="xmlns:ns1" value="http://example.com/ns1" /&gt;<br/>
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="xmlns:.*" value="http://example.com/ns2" /&gt;<br/>
- * &lt;/describer&gt;
- */
-public final class XMLDocumentElementAttributeContentDescriber
- implements ITextContentDescriber, IExecutableExtension {
-
- private static class AttributeValuePatternPair {
- Pattern attribute;
- Pattern value;
-
- public AttributeValuePatternPair(Pattern attribute, Pattern value) {
- super();
- this.attribute = attribute;
- this.value = value;
- }
-
- public String toString() {
- return attribute + " : " + value; //$NON-NLS-1$
- }
- }
-
- private static final String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
- private static final String ATTRIBUTE_VALUE = "value"; //$NON-NLS-1$
-
- // TODO: support all of the options of the standard HTML content describer?
- private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.BYTE_ORDER_MARK};
-
- /*
- * Reads from from the stream. Note that the stream will not be repositioned when the method
- * returns. Copied from org.eclipse.core.internal.content.Util
- */
- private static byte[] getByteOrderMark(InputStream input) throws IOException {
- int first = input.read();
- if (first == 0xEF) {
- // look for the UTF-8 Byte Order Mark (BOM)
- int second = input.read();
- int third = input.read();
- if (second == 0xBB && third == 0xBF)
- return IContentDescription.BOM_UTF_8;
- }
- else if (first == 0xFE) {
- // look for the UTF-16 BOM
- if (input.read() == 0xFF)
- return IContentDescription.BOM_UTF_16BE;
- }
- else if (first == 0xFF) {
- if (input.read() == 0xFE)
- return IContentDescription.BOM_UTF_16LE;
- }
- return null;
- }
-
- private AttributeValuePatternPair[] fPairs = null;
-
- /**
- * Create an instance.
- */
- public XMLDocumentElementAttributeContentDescriber() {
- super();
- }
-
- private int checkCriteria(Reader contents) throws IOException {
- if (fPairs == null || fPairs.length == 0)
- return INVALID;
-
- String attributeName = null;
- String attributeValue = null;
-
- XMLTokenizer tokenizer = new XMLTokenizer(contents);
-
- String token = tokenizer.primGetNextToken();
- while (token != null &&
- !DOMRegionContext.XML_TAG_CLOSE.equals(token) &&
- !DOMRegionContext.XML_EMPTY_TAG_CLOSE.equals(token)) {
-
- if (DOMRegionContext.XML_TAG_ATTRIBUTE_NAME.equals(token)) {
- attributeName = tokenizer.yytext();
- }
- else if (DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE.equals(token)) {
- attributeValue = StringUtils.strip(tokenizer.yytext());
- for (int i = 0; i < fPairs.length; i++) {
- boolean nameMatched = fPairs[i].attribute.matcher(attributeName).matches();
- if(nameMatched) {
- boolean valueMatched = fPairs[i].value.matcher(attributeValue).matches();
- if(valueMatched) {
- return VALID;
- }
- }
- }
- }
- token = tokenizer.primGetNextToken();
- }
- return INVALID;
- }
-
- public int describe(InputStream contents, IContentDescription description) throws IOException {
- contents.reset();
- byte[] bom = getByteOrderMark(contents);
- if (bom != null && description != null)
- description.setProperty(IContentDescription.BYTE_ORDER_MARK, bom);
-
- Object value =
- description != null ? description.getProperty(IContentDescription.CHARSET) : null;
- String charsetName = null;
- if (value != null) {
- charsetName = value.toString();
- }
- else {
- if (Arrays.equals(IContentDescription.BOM_UTF_16BE, bom)) {
- charsetName = "UTF-16BE"; //$NON-NLS-1$
- }
- else if (Arrays.equals(IContentDescription.BOM_UTF_16LE, bom)) {
- charsetName = "UTF-16LE"; //$NON-NLS-1$
- }
- else {
- charsetName = "UTF-8"; //$NON-NLS-1$
- }
- }
- contents.reset();
- // Check to see if we matched our criteria.
- return checkCriteria(new InputStreamReader(contents, Charset.forName(charsetName)));
- }
-
- public int describe(Reader contents, IContentDescription description) throws IOException {
- contents.reset();
- // Check to see if we matched our criteria.
- return checkCriteria(contents);
- }
-
- public QualifiedName[] getSupportedOptions() {
- return SUPPORTED_OPTIONS;
- }
-
- @SuppressWarnings("unchecked")
- public void setInitializationData(
- final IConfigurationElement config,
- final String propertyName,
- final Object data) throws CoreException {
-
- if (data instanceof String) {
- // TODO: why is this here? (imported verbatim from bug attachment)
- }
- else if (data instanceof Hashtable) {
- IConfigurationElement describerElement = config.getChildren("describer")[0]; //$NON-NLS-1$
- IConfigurationElement[] params = describerElement.getChildren("parameter"); //$NON-NLS-1$
- List<AttributeValuePatternPair> pairs = new ArrayList<AttributeValuePatternPair>();
- for (int i = 0; i < params.length; i++) {
- String rawName = params[i].getAttribute(ATTRIBUTE_NAME);
- String rawValue = params[i].getAttribute(ATTRIBUTE_VALUE);
- if (rawName == null || rawValue == null)
- continue;
- Pattern attributeName = Pattern.compile(rawName);
- Pattern attributeValue = Pattern.compile(rawValue);
- pairs.add(new AttributeValuePatternPair(attributeName, attributeValue));
- }
- fPairs = pairs.toArray(new AttributeValuePatternPair[pairs.size()]);
- }
-
- if (fPairs == null || fPairs.length == 0) {
- throw new CoreException(
- new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,
- "Attributes not specified", null)); //$NON-NLS-1$
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jem/BeanProxyUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jem/BeanProxyUtil.java
deleted file mode 100644
index ac189b31d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jem/BeanProxyUtil.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jem;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IFieldProxy;
-import org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-import org.eclipse.jst.jsf.common.util.TypeUtil;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Convenience methods for using bean proxies
- *
- * @author cbateman
- *
- */
-public final class BeanProxyUtil
-{
-
- /**
- * A convenience wrapper for manipulating JEM proxy types
- *
- */
- public static class BeanProxyWrapper
- {
- private final static IBeanProxy[] NO_ARGS = new IBeanProxy[0];
- private final static IBeanTypeProxy[] NO_ARG_TYPES = new IBeanTypeProxy[0];
-
- private final IBeanTypeProxy _typeProxy;
- private final IProject _project;
- private IBeanProxy _instance;
-
- /**
- * @param project
- * @param typeProxy
- */
- public BeanProxyWrapper(final IProject project, final IBeanTypeProxy typeProxy)
- {
- super();
- _typeProxy = typeProxy;
- _project = project;
- }
-
- /**
- * Initialize a proxied instance of the type referred to by typeProxy.
- *
- * @throws ProxyException
- */
- public void init() throws ProxyException
- {
- if (_instance == null)
- {
- try
- {
- _instance = _typeProxy.newInstance();
- }
- catch (final ThrowableProxy e)
- {
- throw new ProxyException(e);
- }
- catch (final NoClassDefFoundError ndfe)
- {
- throw new ProxyException(ndfe);
- }
- catch (final ExceptionInInitializerError e)
- {
- throw new ProxyException(e);
- }
- }
- }
-
- /**
- * Re-initialize the proxied instance of typeProxy.
- *
- * @throws ProxyException
- */
- public void reinit() throws ProxyException
- {
- _instance = null;
- init();
- }
-
- /**
- * @return the instance proxy
- */
- public IBeanProxy getInstance()
- {
- return _instance;
- }
-
- /**
- * <p>
- * Call the method called methodName on the proxied instance. If
- * args.length is 0 then the zero-argument method is found and called.
- * </p>
- *
- * @param methodName
- * @param args
- * @param argTypes
- * @return the result of calling the method or null if there is no such
- * method.
- * @throws ProxyException
- */
- public IBeanProxy call(final String methodName,
- final IBeanProxy[] args, final IBeanTypeProxy[] argTypes)
- throws ProxyException
- {
- try
- {
- final IMethodProxy method = getMethodProxy(methodName, argTypes);
- /*(argTypes.length == 0) ? _typeProxy
- .getMethodProxy(methodName) : _typeProxy
- .getMethodProxy(methodName, argTypes);*/
-
- if (method != null)
- {
- method.setAccessible(true);
- return method.invoke(_instance, args);
- }
- }
- catch (final ThrowableProxy tp)
- {
- throw new ProxyException(tp);
- }
- catch (final NoClassDefFoundError ndfe)
- {
- throw new ProxyException(ndfe);
- }
-
- return null;
- }
-
- /**
- * Convenience method for call(methodName, new {@link IBeanProxy}[0],
- * new {@link IBeanTypeProxy}[0])
- *
- * @param methodName
- * @return the proxied return value
- * @throws ProxyException
- */
- public IBeanProxy call(final String methodName) throws ProxyException
- {
- return call(methodName, NO_ARGS, NO_ARG_TYPES);
- }
-
- /**
- * <p>
- * Calls the zero-argument method called 'methodName' on the proxied
- * instance and if it results in a String return value, returns it. If
- * the method does not return a String value, then null is returned.
- * </p>
- *
- * @param methodName
- * @return the string value or null.
- * @throws ProxyException
- */
- public String callStringMethod(final String methodName)
- throws ProxyException
- {
- final IBeanProxy result = call(methodName);
-
- if (result instanceof IStringBeanProxy)
- {
- return ((IStringBeanProxy) result).stringValue();
- }
-
- return null;
- }
-
- /**
- * <p>
- * Calls the zero-argument method called 'methodName' on the proxied
- * instance and if it results in an Integer value, returns it. If the
- * method does not return an integer value, then null is returned.
- * </p>
- *
- * @param methodName
- * @return the integer value or null.
- * @throws ProxyException
- */
- public Integer callIntMethod(final String methodName)
- throws ProxyException
- {
- final IBeanProxy result = call(methodName, NO_ARGS, NO_ARG_TYPES);
-
- if (result instanceof IIntegerBeanProxy)
- {
- return Integer.valueOf(((IIntegerBeanProxy) result).intValue());
- }
-
- return null;
- }
-
- /**
- * Use the typeProxy for the proxied instance to try to acquire the
- * field called fieldName of type String. Note that this won't find
- * private fields on supertypes.
- *
- * Equivalent to getStringFieldValue(fieldName, _typeProxy);
- *
- * @param fieldName
- * @return the String value of fieldName on the proxied instance or
- * null.
- * @throws ProxyException
- */
- public String getStringFieldValue(final String fieldName)
- throws ProxyException
- {
- return getStringFieldValue(fieldName, _typeProxy);
- }
-
- /**
- * Use the provided typeProxy to acquire the field proxy for the field
- * proxy called fieldName. Normally, you would use the type proxy of the
- * instance bean, however there are cases such as acquiring the value a
- * private field on a supertype where you need the type proxy for the
- * super type.
- *
- * @param fieldName
- * @param typeProxy
- * @return the string value or null.
- * @throws ProxyException
- */
- public String getStringFieldValue(final String fieldName,
- final IBeanTypeProxy typeProxy) throws ProxyException
- {
- final IBeanProxy value = getFieldValue(fieldName, typeProxy);
-
- if (value instanceof IStringBeanProxy)
- {
- return ((IStringBeanProxy) value).stringValue();
- }
-
- return null;
- }
-
- /**
- * @param fieldName
- * @param typeProxy
- * @return the declared field value on the proxied instance called
- * fieldName or null.
- * @throws ProxyException
- */
- public IBeanProxy getFieldValue(final String fieldName,
- final IBeanTypeProxy typeProxy) throws ProxyException
- {
- // avoid having JEM log a warning if we can prove the call to find
- // the field will fail
- if (!hasField(fieldName))
- {
- return null;
- }
-
- try
- {
- final IFieldProxy fieldProxy = typeProxy
- .getDeclaredFieldProxy(fieldName);
-
- if (fieldProxy != null)
- {
- fieldProxy.setAccessible(true);
- return fieldProxy.get(_instance);
- }
- }
- catch (final ThrowableProxy e)
- {
- throw new ProxyException(e);
- }
- catch (final NoClassDefFoundError ndfe)
- {
- throw new ProxyException(ndfe);
- }
-
- return null;
- }
-
- /**
- * Same as {@link #getFieldValue(String, IBeanTypeProxy)} except it will
- * climb the parent hierarchy looking for the first field called
- * fieldName.
- *
- * @param fieldName
- * @param typeProxy
- * @return the proxied value or null
- * @throws ProxyException
- */
- public IBeanProxy getFieldValueIncludeParents(final String fieldName,
- final IBeanTypeProxy typeProxy) throws ProxyException
- {
- IBeanTypeProxy curType = typeProxy;
-
- PARENT_LOOP: while (curType != null)
- {
- final IBeanProxy field = getFieldValue(fieldName, curType);
- if (field != null)
- {
- return field;
- }
-
- try
- {
- IBeanTypeProxy oldType = curType;
- curType = curType.getSuperBeanTypeProxy();
- // avoid infinite loop: if the parent of curType can't
- // be resolved, JEM returns the same type, so curType
- // never becomes null
- if (oldType == curType)
- {
- break PARENT_LOOP;
- }
- }
- catch (final NullPointerException npe)
- {
- // suppress npe caused by getSuperBeanTypeProxy
- // not doing a null check on getSuperType()
- curType = null;
- }
- }
-
- // have got to the top of hierarchy and not found the field
- return null;
- }
-
- /**
- * @return the proxied instance
- */
- public final IBeanProxy getBeanProxy()
- {
- return _instance;
- }
-
- private IMethodProxy getMethodProxy(final String methodName, final IBeanTypeProxy[] argTypes)
- {
- IBeanTypeProxy curType = _typeProxy;
-
- PARENT_LOOP: while (curType != null)
- {
- final IMethodProxy[] declaredMethods = curType.getDeclaredMethods();
- if (declaredMethods != null)
- {
- final IMethodProxy foundMethod = findMethodInList(methodName, argTypes, declaredMethods);
- if (foundMethod != null)
- {
- return foundMethod;
- }
- }
-
- // avoid infinite loop: if the parent of curType can't
- // be resolved, JEM returns the same type, so curType
- // never becomes null
- IBeanTypeProxy oldType = curType;
- curType = _typeProxy.getSuperBeanTypeProxy();
- if (oldType == curType)
- {
- break PARENT_LOOP;
- }
- }
- return null;
- }
-
- private IMethodProxy findMethodInList(final String methodName, final IBeanTypeProxy[] argTypes,
- final IMethodProxy[] listOfMethods)
- {
- METHODS_LOOP: for (final IMethodProxy methodProxy : listOfMethods)
- {
- if (methodName.equals(methodProxy.getName()))
- {
- final IBeanTypeProxy[] parameterTypes =
- methodProxy.getParameterTypes();
- if (argTypes.length == parameterTypes.length)
- {
- for (int i = 0; i < argTypes.length; i++)
- {
- if (!argTypes[i].getTypeName().equals(parameterTypes[i].getTypeName()))
- {
- // if we find a parameter type mismatch, then
- // skip this method; it's not it
- continue METHODS_LOOP;
- }
- }
- // if we get to here, we have a method with right name
- // and parameters
- return methodProxy;
- }
- }
- }
- return null;
- }
-
- private boolean hasField(final String fieldName)
- {
- final IType type = lazilyCalculateType();
- if (type != null)
- {
- final IField field = type.getField(fieldName);
- return field.exists();
- }
- return false;
- }
-
- private IType _type;
- private boolean _checkedType;
- private IType lazilyCalculateType()
- {
- if (!_checkedType)
- {
- _checkedType = true;
- final String typeName = _typeProxy.getTypeName();
- final IJavaProject javaProject = JavaCore.create(_project);
- if (typeName != null && typeName.startsWith("L")) //$NON-NLS-1$
- {
- _type = TypeUtil.resolveType(javaProject, typeName);
- }
- else
- {
- try
- {
- _type = javaProject.findType(typeName);
- }
- catch (JavaModelException e)
- {
- JSFCorePlugin.log(e, "While loading type: "+typeName); //$NON-NLS-1$
- }
- }
- }
- return _type;
- }
-
-// private Map<String, List<IMethod>> _methods;
-//
-// private Map<String, List<IMethod>> lazilyCalculateMethods(final IType type)
-// {
-// if (_methods == null)
-// {
-// _methods = new HashMap<String, List<IMethod>>();
-// final JDTBeanIntrospector introspector = new JDTBeanIntrospector(type);
-// final IMethod[] methods = introspector.getAllMethods();
-//
-// for (final IMethod method : methods)
-// {
-// List<IMethod> byName = _methods.get(method.getElementName());
-// if (byName == null)
-// {
-// byName = new ArrayList<IMethod>();
-// _methods.put(method.getElementName(), byName);
-// }
-//
-// try {
-// if (method.exists()
-// && Flags.isPublic(method.getFlags()))
-// {
-// byName.add(method);
-// }
-// } catch (JavaModelException e) {
-// JSFCorePlugin.log(e, "While getting flags on method: "+method.getElementName());
-// }
-// }
-// }
-// return _methods;
-// }
-
- }
-
- /**
- * Checked exception the wraps problems thrown by JEM proxying into a single
- * exception
- *
- */
- public static class ProxyException extends Exception
- {
- private static final long serialVersionUID = -1526057761795574331L;
-
- /**
- * @param message
- * @param cause
- */
- public ProxyException(final String message, final Throwable cause)
- {
- super(message, cause);
- }
-
- /**
- * @param cause
- */
- public ProxyException(final Throwable cause)
- {
- super(cause);
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigDialogSettingData.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigDialogSettingData.java
deleted file mode 100644
index 2b7f26379..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigDialogSettingData.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Justin Chen
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryconfig;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * To construct implementation library and component libraries from sticky values
- * in DialogSettings as saved libraries.
- *
- * @author Justin Chen - Oracle
- * @deprecated
- */
-public class JSFLibraryConfigDialogSettingData {
- /**
- * Delimintor for parsing a persistent property string.
- */
- final protected static String SEPARATOR =":"; //$NON-NLS-1$
-
- /**
- * Parsing delimnitor for elements in a tuple.
- */
- final protected static String SPTR_TUPLE = ":"; //$NON-NLS-1$
- /**
- * Parsing delimintor for tuples in a persistent property string.
- */
- final protected static String EO_TUPLE = ";"; //$NON-NLS-1$
-
- final private JSFLibraryRegistryUtil jsfLibReg;
- private String[] savedCompLibs;
- private List selJSFLibComp; // lazy initialized
-
-
- /**
- * Constructor where implementation type was chosen to be USER_SPECIFIED. Created for backwards compatibilty when server supplied was not an option.
- * @param compLibs
- */
- public JSFLibraryConfigDialogSettingData( String[] compLibs) {
- this.jsfLibReg = JSFLibraryRegistryUtil.getInstance();
- this.savedCompLibs = compLibs;
-
- // Verify and log a message if a saved component library no longer exists.
- verifySavedLibAvailability();
- }
-
- /**
- * Return the list of saved component libraries and their deployment settings.
- *
- * @return selJSFLibComp List
- */
- public List getJSFComponentLibraries() {
- if (selJSFLibComp == null) {
- selJSFLibComp = new ArrayList();
-
- if (savedCompLibs != null && savedCompLibs.length > 0) {
- JSFLibraryInternalReference lib = null;
- String item;
- String[] attributes;
- String id;
- boolean deploy = false;
-
- for (int i = 0; i < savedCompLibs.length; i++) {
- item = savedCompLibs[i];
- attributes = item.split(SEPARATOR);
-
- id = attributes[0];
- deploy = Boolean.valueOf(attributes[1]).booleanValue();
-
- lib = jsfLibReg.getJSFLibraryReferencebyID(id);
- if (lib != null) {
- selJSFLibComp.add(new JSFLibraryInternalReference(lib.getLibrary(), true, deploy));
- } /*else {
- // already logged if a saved component library is no longer available.
- }*/
- }
- }
- }
- return selJSFLibComp;
- }
-
- /**
- * Only need to verify component library availability from sticky settings.
- */
- private void verifySavedLibAvailability() {
- List validLibs = new ArrayList();
- if (savedCompLibs != null && savedCompLibs.length > 0) {
- String item = null;
- String[] attributes;
- boolean invalidRefs = false;
- for (int i = 0; i < savedCompLibs.length; i++) {
- item = savedCompLibs[i];
- attributes = item.split(SEPARATOR);
-
- if (jsfLibReg.getJSFLibraryReferencebyID(attributes[0]) != null) {
- validLibs.add(item);
- } else {
- invalidRefs = true;
-// JSFCorePlugin.log(IStatus.INFO, Messages.JSFLibCfgDialogSettingData_Sticky_Component_Lib_Not_Exist);
- }
- }
- if (invalidRefs){
- String [] validCompLibs = (String[])validLibs.toArray(new String[validLibs.size()]);
- if (validCompLibs.length > 0)
- System.arraycopy(validCompLibs, 0, savedCompLibs, 0, validCompLibs.length);
- else
- savedCompLibs = new String[]{};
- }
- }
-
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigModel.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigModel.java
deleted file mode 100644
index 3d1e7e674..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryConfigModel.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Oracle
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryconfig;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.internal.Messages;
-
-/**
- * Model for the custom control <b>JSFLibraryConfigControl</b>.
- * A JSFLibraryConfigModel object is initialized from a source and updated with
- * selected implementation and component libraries when selections are changed.
- *
- * @author Justin Chen - Oracle
- * @deprecated
- */
-public class JSFLibraryConfigModel {
- final private JSFLibraryConfigDialogSettingData data;
- final private JSFLibraryRegistryUtil jsfLibReg;
- private List colJSFCompLib;
-
- /**
- * Private constructor.
- * @param data
- */
- private JSFLibraryConfigModel(JSFLibraryConfigDialogSettingData data) {
- this.data = data;
- this.jsfLibReg = JSFLibraryRegistryUtil.getInstance();
- }
-
- /**
- * Return JSF component libraries.
- *
- * This list is initialized from JSF library registry and updated with persistent
- * configuration data.
- *
- * @return List
- * see also org.eclipse.jst.jsf.ui.properties.IJSFLibraryDecoratorProvider#getProjectJSFComponentLibraries()
- */
- public List getJSFComponentLibraries() {
- if (colJSFCompLib == null) {
- /* To initialize a component library list from registry and then
- * update list with saved component libraries.
- */
- colJSFCompLib = jsfLibReg.getJSFComponentLibraries();
- Iterator it = data.getJSFComponentLibraries().iterator();
- JSFLibraryInternalReference targetItem = null;
- JSFLibraryInternalReference srcItem = null;
- while (it.hasNext()) {
- targetItem = (JSFLibraryInternalReference) it.next();
- srcItem = jsfLibReg.getJSFLibraryReferencebyID(targetItem.getID());
- if (srcItem != null) {
- srcItem.setSelected(true);
- srcItem.setToBeDeployed(targetItem.isCheckedToBeDeployed());
- }
- }
- }
- return colJSFCompLib;
- }
-
- /**
- * Return the selected JSF component libraries currently.
- * An empty list is returned when no component libraries are selected.
- *
- * @return list List
- */
- public List getCurrentJSFComponentLibrarySelection() {
- List list = new ArrayList();
-
- Iterator it = getJSFComponentLibraries().iterator();
- JSFLibraryInternalReference crtItem = null;
- while (it.hasNext()) {
- crtItem = (JSFLibraryInternalReference) it.next();
- if (crtItem.isSelected()) {
- list.add(crtItem);
- }
- }
- return list;
- }
-
- /**
- * Returned saved component libraries which were persisted as
- * DialogSettings or project persistent properties.
- *
- * @return List
- */
- public List getSavedJSFComponentLibraries() {
- return data.getJSFComponentLibraries();
- }
-
- /**
- * Update the JSF library component libraries selection.
- *
- * @param libraries List
- */
- public void setCurrentJSFComponentLibrarySelection(final List libraries) {
- if (libraries != null) {
- /* Reset all item in component library list to unselect first.
- * Then, update each item in cmponent libraries to the provided list.
- */
- setJSFLibrariesSelection(getJSFComponentLibraries(), false);
-
- Iterator it = libraries.iterator();
- JSFLibraryInternalReference crtItem;
- JSFLibraryInternalReference srcItem = null;
- while (it.hasNext()) {
- crtItem = (JSFLibraryInternalReference) it.next();
- srcItem = jsfLibReg.getJSFLibraryReferencebyID(crtItem.getID());
-
- if (srcItem != null) {
- srcItem.setSelected(true);
- srcItem.setToBeDeployed(crtItem.isCheckedToBeDeployed());
- }
- }
- }
- }
-
- /**
- * Set selection state to given state to each libray in the collection.
- *
- * @param libs List
- * @param state boolean
- */
- private void setJSFLibrariesSelection(final List libs, final boolean state) {
- Iterator it = libs.iterator();
- JSFLibraryInternalReference crtjsflib;
- while (it.hasNext()) {
- crtjsflib = (JSFLibraryInternalReference) it.next();
- crtjsflib.setSelected(state);
- }
- }
-
- /**
- * Factory class to create new JSFLibraryConfigModel instances
- */
- public static final class JSFLibraryConfigModelFactory {
- /**
- * To create a new instance of JSFLibraryConfigModel object.
- * A NullPointerException is raised if source is null.
- *
- * @param source JSFLibraryConfiglModelSource
- * @return JSFLibraryConfigModel
- */
- public static JSFLibraryConfigModel createInstance(final JSFLibraryConfigDialogSettingData source) {
- if (source == null) {
- throw new NullPointerException(Messages.JSFLibraryConfigModel_Null_Data_Source);
- }
- return new JSFLibraryConfigModel(source);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryInternalReference.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryInternalReference.java
deleted file mode 100644
index 8c8481b1f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryInternalReference.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Oracle
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryconfig;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-
-/**
- * Attach additonal attributes such as selection and deployment
- * to a JSF library when it is referenced by a project.
- *
- * @author Justin Chen - Oracle
- * @deprecated
- */
-public class JSFLibraryInternalReference {
- final private JSFLibrary jsfLib;
- private boolean check4Deploy; // Initialized from default in workspace
- private boolean selected; // selected for project
-
- /**
- * Constructor
- * @param jsfLib JSFLibrary instance embedded inside.
- * @param selected boolean true if selected, otherwise, not selected.
- * @param deploy boolean true if needs to be deployed, otherwise, won't be deployed.
- */
- public JSFLibraryInternalReference(JSFLibrary jsfLib, boolean selected, boolean deploy) {
- this.jsfLib = jsfLib;
- this.selected = selected;
- this.check4Deploy = deploy;
- }
-
- /**
- * Return the embedded JSFLibrary instance.
- *
- * @return jsfLib JSFLibrary
- */
- public JSFLibrary getLibrary() {
- return jsfLib;
- }
-
- /**
- * Set the to be deployed flag.
- *
- * @param deploy boolean
- */
- public void setToBeDeployed(final boolean deploy) {
- check4Deploy = deploy;
- }
-
- /**
- * Return true if the JSF library needs to be deployed.
- * Otheriwse, return false.
- *
- * @return boolean
- */
- public boolean isCheckedToBeDeployed() {
- return check4Deploy;
- }
-
- /**
- * Set the selected attribute to a JSFLibraryLibraryReference object.
- *
- * @param selected boolean
- */
- public void setSelected(final boolean selected) {
- this.selected = selected;
- }
-
- /**
- * Return true if the JSF library is referenced by a project.
- * Otherwise, return false.
- *
- * @return selected boolean
- */
- public boolean isSelected() {
- return selected;
- }
-
- /**
- * To generate a string that represents the JSFLibraryLibraryReference
- * object for persistence.
- *
- * @return String
- */
- protected String generatePersistString() {
- return (getID() + JSFLibraryConfigDialogSettingData.SPTR_TUPLE +
- String.valueOf(isSelected()) + JSFLibraryConfigDialogSettingData.SPTR_TUPLE +
- String.valueOf(isCheckedToBeDeployed()));
- }
-
- /**
- * Helper method to return the library ID from the embedded
- * JSFLibrary instance.
- *
- * @return id String
- */
- public String getID() {
- return jsfLib.getID();
- }
-
- /**
- * Helper method to return the library name from the embedded
- * JSFLibrary instance.
- *
- * @return name String
- */
- public String getName() {
- return jsfLib.getName();
- }
-
- /**
- * Helper method to return the label for the library from the embedded
- * JSFLibrary instance.
- *
- * @return name String
- */
- public String getLabel() {
- return jsfLib.getLabel();
- }
-
- /**
- * Return true if the embedded JSF library instance i implementation.
- * Otherwise, return false.
- *
- * @return boolean
- */
- public boolean isImplementation() {
- return jsfLib.isImplementation();
- }
-
- /**
- * Help method to return a list of Archive files from
- * the embedded JSFLibrary instance.
- *
- * @return boolean
- */
- public EList getArchiveFiles() {
- return jsfLib.getArchiveFiles();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryRegistryUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryRegistryUtil.java
deleted file mode 100644
index ac56b9ba2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryconfig/JSFLibraryRegistryUtil.java
+++ /dev/null
@@ -1,548 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Oracle
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryconfig;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFLibraryClasspathContainer;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.RegistryUpgradeCommitHandler;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter.MaintainDefaultImplementationAdapter;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceFactoryImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryUpgradeUtil;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-import org.eclipse.jst.jsf.core.jsflibraryregistry.PluginProvidedJSFLibraryCreationHelper;
-import org.eclipse.jst.jsf.core.jsflibraryregistry.internal.PluginProvidedJSFLibraryCreationHelper2;
-
-/**
- * A singleton maintains lists of implementation and component libraries
- * in registry.
- *
- * Each item in the lists contains a workingcopy of a JSF library and
- * decorates with usage information such selection and deployment.
- *
- * The lists are updated when there are changes in JSF library registry.
- *
- * @author Justin Chen, etc. - Oracle
- * @deprecated
- */
-public class JSFLibraryRegistryUtil {
- private static JSFLibraryRegistryUtil instance = null;
-
- private List implLibs = null;
- private List compLibs = null;
-
-
- // The NS URI of the JSF Library Registry's Ecore package. (Must match
- // setting on package in Ecore model.)
- private static final String JSF_LIBRARY_REGISTRY_NSURI = "http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd"; //$NON-NLS-1$
-
- private static final String LIB_EXT_PT = "pluginProvidedJsfLibraries"; //$NON-NLS-1$
- //deprecated ext-pt
- private static final String OLD_LIB_EXT_PT = "jsfLibraries"; //$NON-NLS-1$
-
- // The JSF Library Registry EMF resource instance.
- private static JSFLibraryRegistryResourceImpl jsfLibraryRegistryResource = null;
-
- //JSFLibraryRegistry singleton
- private JSFLibraryRegistry jsfLibraryRegistry;
-
- /**
- * Private constructor
- */
- private JSFLibraryRegistryUtil() {
- //nothing to do
- }
-
- /**
- * Return the singleton instance of JSFLibraryRegistryUtil.
- *
- * @return JSFLibraryRegistryUtil
- */
- public synchronized static JSFLibraryRegistryUtil getInstance() {
- if ( instance == null ) {
- instance = new JSFLibraryRegistryUtil();
- instance.loadJSFLibraryRegistry();
- }
- return instance;
- }
-
- /**
- * Convenience method to return the JSFLibraryRegistry instance.
- *
- * @return jsfLibReg JSFLibraryRegistry
- */
- public JSFLibraryRegistry getJSFLibraryRegistry() {
- return jsfLibraryRegistry;
- }
-
- /**
- * Get the default JSF implementation library instance.
- * A null is returned when there is no libraries in the registry.
- *
- * @return JSFLibraryInternalReference
- */
- public JSFLibraryInternalReference getDefaultJSFImplementationLibrary() {
- JSFLibrary dftImplLib = getJSFLibraryRegistry().getDefaultImplementation();
-
- return ((dftImplLib != null) ?
- getJSFLibraryReferencebyID(dftImplLib.getID()) :
- null);
- }
-
- /**
- * Get the working copy of JSF implementation libraries.
- * The list is updated when there are changes in registry.
- *
- * @return List
- */
- List getJSFImplementationLibraries() {
- if (implLibs == null) {
- implLibs = wrapJSFLibraries(getJSFLibraryRegistry().getImplJSFLibraries());
- } else {
- if (implLibs.size() != getJSFLibraryRegistry().getImplJSFLibraries().size() ||
- isAnyLibraryChanged(implLibs)) {
- implLibs.clear();
- implLibs = wrapJSFLibraries(getJSFLibraryRegistry().getImplJSFLibraries());
- }
- }
- return implLibs;
- }
-
- /**
- * Get the working copy of JSF component libraries.
- * The list is updated when there are changes in registry.
- *
- * @return List
- */
- List getJSFComponentLibraries() {
- if (compLibs == null) {
- compLibs = wrapJSFLibraries(getJSFLibraryRegistry().getNonImplJSFLibraries());
- } else {
- if (compLibs.size() != getJSFLibraryRegistry().getNonImplJSFLibraries().size() ||
- isAnyLibraryChanged(compLibs)) {
- compLibs.clear();
- compLibs = wrapJSFLibraries(getJSFLibraryRegistry().getNonImplJSFLibraries());
- }
- }
- return compLibs;
- }
-
- /**
- * Get the JSFLibraryDecorator object from the provided ID.
- * A null is returned no library matches the ID.
- *
- * @param id String
- * @return JSFLibraryDecorator
- */
- public JSFLibraryInternalReference getJSFLibraryReferencebyID(final String id) {
- Iterator it = getJSFImplementationLibraries().iterator();
- JSFLibraryInternalReference crtItem = null;
-
- // search implementation libraries
- while(it.hasNext()) {
- crtItem = (JSFLibraryInternalReference)it.next();
- if (id.equals(crtItem.getID())) {
- return crtItem;
- }
- }
- // search component libraries
- it = getJSFComponentLibraries().iterator();
- while(it.hasNext()) {
- crtItem = (JSFLibraryInternalReference)it.next();
- if (id.equals(crtItem.getID())) {
- return crtItem;
- }
- }
- return null;
- }
-
- /**
- * Add a JSF Library into collection for either
- * JSF implementation libraries or component libraries.
- * The decision is based on if a JSF library is an implementation.
- *
- * @param library JSFLibraryLibraryReference
- */
- public void addJSFLibrary(final JSFLibraryInternalReference library) {
- // Library is added only if it does not exist in registry
- if (library != null && getJSFLibraryRegistry().getJSFLibraryByID(library.getID()) == null) {
- // Add the library working copy into workspace registry.
- JSFLibrary jsfLib = library.getLibrary();
- getJSFLibraryRegistry().addJSFLibrary(jsfLib.getWorkingCopy());
-
- // Add library into the collection depends on its type.
- List list = (library.isImplementation() ?
- getJSFImplementationLibraries() :
- getJSFComponentLibraries());
- list.add(library);
- }
- }
-
- private List wrapJSFLibraries(final EList libs) {
- List list = new ArrayList();
- if (libs != null) {
- JSFLibrary jsfLib;
- JSFLibraryInternalReference jsfLibDctr;
-
- Iterator it = libs.iterator();
- while (it.hasNext()) {
- jsfLib = (JSFLibrary) it.next();
- // Set unselected and undeployed initially.
- jsfLibDctr = new JSFLibraryInternalReference(jsfLib, //.getWorkingCopy(),
- false,
- false);
- list.add(jsfLibDctr);
- }
- }
- return list;
- }
-
- private boolean isAnyLibraryChanged(final List list) {
- Iterator it = list.iterator();
- JSFLibraryInternalReference wclib = null; // working copy library
- JSFLibrary lib = null;
-
- while(it.hasNext()) {
- wclib = (JSFLibraryInternalReference)it.next();
- lib = getJSFLibraryRegistry().getJSFLibraryByID(wclib.getID());
- if (lib == null) { // removed. Hence, changed.
- return true;
- }
- if (wclib.getArchiveFiles().size() !=
- lib.getArchiveFiles().size()) { // Archives changed..
- return true;
- }
- if (isAnyArchiveFileChanged(wclib.getArchiveFiles(),
- lib.getArchiveFiles())) { // Check archive file changes. I.e., name and location
- return true;
- }
- }
- return false;
- }
-
- private boolean isAnyArchiveFileChanged(final EList source, EList target) {
- ArchiveFile arSrc = null;
- Iterator it = source.iterator();
- while (it.hasNext()) {
- arSrc = (ArchiveFile) it.next();
- if (!findMatchedArchive(arSrc, target)) {
- return true;
- }
- }
- return false;
- }
-
- private boolean findMatchedArchive(ArchiveFile source, EList list) {
- ArchiveFile target = null;
- Iterator it = list.iterator();
- while (it.hasNext()) {
- target = (ArchiveFile) it.next();
- if (target.equals(source)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Get the classpath entries for a JSF Library
- * @param lib
- * @return IClasspathEntry[]
- */
- public IClasspathEntry[] getClasspathEntries(JSFLibrary lib){
- //TODO: cache to optimize. probably belongs inside JSFLibrary model.
- ArrayList res= new ArrayList(lib.getArchiveFiles().size());
- for (Iterator it=lib.getArchiveFiles().iterator();it.hasNext();) {
- ArchiveFile jar= (ArchiveFile)it.next();
- if (jar != null && jar.exists()) {
- IClasspathEntry entry = getClasspathEntry(jar);
- if (entry != null)
- res.add(entry);
- }
- }
- IClasspathEntry[] entries= (IClasspathEntry[]) res.toArray(new IClasspathEntry[res.size()]);
- return entries;
- }
-
- /**
- * Create IClasspathEntry for ArchiveFile
- * @param jar
- * @return IClasspathEntry
- */
- public IClasspathEntry getClasspathEntry(ArchiveFile jar){
- IClasspathEntry entry = null;
- if (jar !=null && jar.exists()){
- entry = JavaCore.newLibraryEntry(new Path(jar.getResolvedSourceLocation()), null, null);//, nu, sourceAttachRoot, accessRules, extraAttributes, false/*not exported*/);
- }
- return entry;
- }
-
- /**
- * Binds JSF Libraries to classpath containers when the library changes.
- *
- * This method will deal with library/cp container renames by removing the old classpath container and then adding.
- *
- * @param oldId
- * @param newId
- * @param monitor
- * @throws JavaModelException
- */
- public static void rebindClasspathContainerEntries(String oldId, String newId, IProgressMonitor monitor) throws JavaModelException {
- IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
- IJavaProject[] projects= JavaCore.create(root).getJavaProjects();
- IPath containerPath= new Path(JSFLibraryConfigurationHelper.JSF_LIBRARY_CP_CONTAINER_ID).append(newId);
- IPath oldContainerPath = new Path(JSFLibraryConfigurationHelper.JSF_LIBRARY_CP_CONTAINER_ID).append(oldId);
-
- JSFLibrary lib = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry().getJSFLibraryByID(newId);
- List affectedProjects= new ArrayList();
- boolean removeAndAddBecauseOfRename = (!oldId.equals(newId));
- // find all projects using the old container name...
- for (int i= 0; i < projects.length; i++) {
- IJavaProject project= projects[i];
- IClasspathEntry[] entries= project.getRawClasspath();
- for (int k= 0; k < entries.length; k++) {
- IClasspathEntry curr= entries[k];
- if (curr.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
- if (oldContainerPath.equals(curr.getPath())) {
- affectedProjects.add(project);
- break;
- }
- }
- }
- }
-
- if (!affectedProjects.isEmpty()) {
- IJavaProject[] affected= (IJavaProject[]) affectedProjects.toArray(new IJavaProject[affectedProjects.size()]);
- IClasspathContainer[] containers= new IClasspathContainer[affected.length];
- removeAndAddBecauseOfRename = (!oldId.equals(newId));
- if (removeAndAddBecauseOfRename){//not very pretty... remove and add new container
- IClasspathEntry newEntry = JavaCore.newContainerEntry(containerPath);
- for (int i= 0; i < affected.length; i++) {
- IJavaProject project= affected[i];
- IClasspathEntry[] entries= project.getRawClasspath();
- List keptEntries = new ArrayList();
- //keep all entries except the old one
- for (int k= 0; k < entries.length; k++) {
- IClasspathEntry curr= entries[k];
- if (curr.getEntryKind() == IClasspathEntry.CPE_CONTAINER){
- if( ! oldContainerPath.equals(curr.getPath()))
- keptEntries.add(curr);
- }
- else {
- keptEntries.add(curr);
- }
- }
- // add new container entry
- keptEntries.add(newEntry);
- setRawClasspath(project, keptEntries, monitor);
- }
-
- }
- else {//rebind
-
- JSFLibraryClasspathContainer container= new JSFLibraryClasspathContainer(lib);
- containers[0] = container;
-
- JavaCore.setClasspathContainer(containerPath, affected, containers, monitor);
- }
- } else {
- if (monitor != null) {
- monitor.done();
- }
- }
- }
-
- /**
- * Sets the raw classpath on a project and logs an error if it when a JavaModelException occurs
- * @param project
- * @param cpEntries
- * @param monitor
- */
- public static void setRawClasspath(IJavaProject project, List cpEntries, IProgressMonitor monitor) {
- IClasspathEntry[] entries = (IClasspathEntry[])cpEntries.toArray(new IClasspathEntry[0]);
- try {
- project.setRawClasspath(entries, monitor);
- } catch (JavaModelException e) {
- JSFCorePlugin.log(e, "Unable to set classpath for: "+project.getProject().getName()); //$NON-NLS-1$
- }
- }
-
- /**
- * Loads the JSFLibraryRegistry EMF object from plugin-specfic workspace
- * settings location.
- */
- private void loadJSFLibraryRegistry() {
- try {
-
- EPackage.Registry.INSTANCE.put(JSF_LIBRARY_REGISTRY_NSURI, JSFLibraryRegistryPackageImpl.init());
- URI jsfLibRegURI = JSFLibraryRegistryUpgradeUtil.getRegistryURI(JSFLibraryRegistryUpgradeUtil.JSF_LIBRARY_REGISTRY_LATESTVERSION_URL);
- JSFLibraryRegistryUpgradeUtil.getInstance().upgradeRegistryIfNecessary(JSFLibraryRegistryUpgradeUtil.LATESTVERSION);
-
- JSFLibraryRegistryResourceFactoryImpl resourceFactory = new JSFLibraryRegistryResourceFactoryImpl();
- jsfLibraryRegistryResource = (JSFLibraryRegistryResourceImpl)resourceFactory.createResource(jsfLibRegURI);
- try {
- Map options = new HashMap();
- //disable notifications during load to avoid changing stored default implementation
- options.put(XMLResource.OPTION_DISABLE_NOTIFY, Boolean.TRUE);
- jsfLibraryRegistryResource.load(options);
- jsfLibraryRegistry = (JSFLibraryRegistry)jsfLibraryRegistryResource.getContents().get(0);
-
- loadJSFLibraryExtensions();
- loadDeprecatedJSFLibraryExtensions();//to be removed
-
- } catch(IOException ioe) {
- //Create a new Registry instance
- jsfLibraryRegistry = JSFLibraryRegistryFactory.eINSTANCE.createJSFLibraryRegistry();
- jsfLibraryRegistryResource = (JSFLibraryRegistryResourceImpl)resourceFactory.createResource(jsfLibRegURI);
- jsfLibraryRegistryResource.getContents().add(jsfLibraryRegistry);
- loadJSFLibraryExtensions();
- loadDeprecatedJSFLibraryExtensions();//to be removed
- saveJSFLibraryRegistry();
- }
- //add adapter to maintain default implementation
- if (jsfLibraryRegistry != null) {
- //check that a default impl is set. if not pick first one if available.
- JSFLibrary defLib = jsfLibraryRegistry.getDefaultImplementation();
- if (defLib == null && jsfLibraryRegistry.getImplJSFLibraries().size() > 0){
- jsfLibraryRegistry.setDefaultImplementation((JSFLibrary)jsfLibraryRegistry.getImplJSFLibraries().get(0));
- saveJSFLibraryRegistry();
- }
- jsfLibraryRegistry.eAdapters().add(MaintainDefaultImplementationAdapter.getInstance());
-
- //commit
- RegistryUpgradeCommitHandler.commitMigrationIfNecessary();
- }
- } catch(MalformedURLException mue) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorCreatingURL, mue);
- }
- }
-///////////////////////////////// Load and Save JSF Library Registry ////////////////////////////////////////////////
-
- /**
- * Creates library registry items from extension points.
- */
- private void loadJSFLibraryExtensions() {
- try {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(JSFCorePlugin.PLUGIN_ID, LIB_EXT_PT);
- IExtension[] extensions = point.getExtensions();
- for (int i=0;i < extensions.length;i++){
- IExtension ext = extensions[i];
- for (int j=0;j < ext.getConfigurationElements().length;j++){
- PluginProvidedJSFLibraryCreationHelper2 newLibCreator = new PluginProvidedJSFLibraryCreationHelper2(ext.getConfigurationElements()[j]);
- JSFLibrary newLib = newLibCreator.create();
-
- /**
- * Additional check on if a plug-in contributes jsflibraries is an expanded folder.
- * Fix related to bug 144954.
- *
- * It would be ideal to check if a plug-in is distributed as a JAR
- * before a JSFLibrary is created.
- *
- * This is a temporary solution since JARs in a JAR case is not
- * supported in this release. Bug 14496.
- */
- if (newLib != null) //&& isJSFLibinExpandedFolder(newLib))
- jsfLibraryRegistry.addJSFLibrary(newLib);
- }
- }
- } catch (InvalidRegistryObjectException e) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorLoadingFromExtPt, e);
- }
- }
-
- /**
- * Creates deprecated library registry items from extension points.
- * TO BE REMOVED
- */
- private void loadDeprecatedJSFLibraryExtensions() {
- try {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(JSFCorePlugin.PLUGIN_ID, OLD_LIB_EXT_PT);
- IExtension[] extensions = point.getExtensions();
- for (int i=0;i < extensions.length;i++){
- IExtension ext = extensions[i];
- for (int j=0;j < ext.getConfigurationElements().length;j++){
- PluginProvidedJSFLibraryCreationHelper newLibCreator = new PluginProvidedJSFLibraryCreationHelper(ext.getConfigurationElements()[j]);
- JSFLibrary newLib = newLibCreator.create();
-
- /**
- * Additional check on if a plug-in contributes jsflibraries is an expanded folder.
- * Fix related to bug 144954.
- *
- * It would be ideal to check if a plug-in is distributed as a JAR
- * before a JSFLibrary is created.
- *
- * This is a temporary solution since JARs in a JAR case is not
- * supported in this release. Bug 14496.
- */
- if (newLib != null ) //&& isJSFLibinExpandedFolder(newLib))
- jsfLibraryRegistry.addJSFLibrary(newLib);
- }
- }
- } catch (InvalidRegistryObjectException e) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorLoadingFromExtPt, e);
- }
- }
-
- /**
- * Saves the JSFLibraryRegistry EMF object from plugin-specfic workspace
- * settings location. (Called from stop(BundleContext).)
- * @return true if save is successful
- */
- public boolean saveJSFLibraryRegistry() {
- boolean saved = false;
- if (jsfLibraryRegistryResource != null) {
- try {
- jsfLibraryRegistryResource.save(Collections.EMPTY_MAP);
- saved = true;
- } catch(IOException ioe) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorSaving, ioe);
- }
- } else {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFLibraryRegistry_ErrorSaving);
- }
- return saved;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java
deleted file mode 100644
index f09420f62..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/ArchiveFile.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Archive File</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile()
- * @model
- * @generated
- * @deprecated
- */
-public interface ArchiveFile extends EObject{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Source Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Source Location</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Source Location</em>' attribute.
- * @see #setSourceLocation(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_SourceLocation()
- * @model required="true"
- * @generated
- */
- String getSourceLocation();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * If the value passed is found to be relative to the workspace, a
- * workspace-relative location is stored; to prevent this behaviour, call
- * isRelativeToWorkspace(false) before calling this method.
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Source Location</em>' attribute.
- * @see #getSourceLocation()
- * @generated
- */
- void setSourceLocation(String value);
-
- /**
- * Returns the value of the '<em><b>Relative To Workspace</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Relative To Workspace</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Relative To Workspace</em>' attribute.
- * @see #setRelativeToWorkspace(boolean)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_RelativeToWorkspace()
- * @model default="true" required="true"
- * @generated
- */
- boolean isRelativeToWorkspace();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Relative To Workspace</em>' attribute.
- * @see #isRelativeToWorkspace()
- * @generated
- */
- void setRelativeToWorkspace(boolean value);
-
- /**
- * Returns the value of the '<em><b>Relative Dest Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Relative Dest Location</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Relative Dest Location</em>' attribute.
- * @see #setRelativeDestLocation(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_RelativeDestLocation()
- * @model required="true"
- * @generated
- */
- String getRelativeDestLocation();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Relative Dest Location</em>' attribute.
- * @see #getRelativeDestLocation()
- * @generated
- */
- void setRelativeDestLocation(String value);
-
- /**
- * Returns the value of the '<em><b>JSF Library</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>JSF Library</em>' container reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>JSF Library</em>' container reference.
- * @see #setJSFLibrary(JSFLibrary)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getArchiveFile_JSFLibrary()
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles
- * @model opposite="ArchiveFiles" required="true"
- * @generated
- */
- JSFLibrary getJSFLibrary();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>JSF Library</em>' container reference.
- * @see #getJSFLibrary()
- * @generated
- */
- void setJSFLibrary(JSFLibrary value);
-
- /**
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Path</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * @return the path
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- String getPath();
-
- /**
- * <!-- begin-user-doc -->
- * @return the name
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- String getName();
-
- /**
- * <!-- begin-user-doc -->
- * @return true if exists
- * <!-- end-user-doc -->
- * @model required="true"
- * @generated
- */
- boolean exists();
-
- /**
- * <!-- begin-user-doc -->
- * @param object
- * @return true if equal
- * <!-- end-user-doc -->
- * @model required="true" objectRequired="true"
- * @generated
- */
- boolean equals(Object object);
-
- /**
- * <!-- begin-user-doc -->
- * @return the hashCode
- * <!-- end-user-doc -->
- * @model required="true"
- * @generated
- */
- int hashCode();
-
- /**
- * <!-- begin-user-doc -->
- * @param baseDestLocation
- * @return true if copied succeeds
- * <!-- end-user-doc -->
- * @model required="true" baseDestLocationRequired="true"
- * @generated
- */
- boolean copyTo(String baseDestLocation);
-
- /**
- * <!-- begin-user-doc -->
- * @return the resolved source location
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- String getResolvedSourceLocation();
-
-} // ArchiveFile
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java
deleted file mode 100644
index bb6a7d1e1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibrary.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>JSF Library</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID <em>ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary()
- * @model
- * @generated
- * @deprecated
- */
-public interface JSFLibrary extends EObject{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>ID</b></em>' attribute.
- * The default value is <code>""</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>ID</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>ID</em>' attribute.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_ID()
- * @model default="" transient="true" changeable="false" derived="true"
- * @generated
- */
- String getID();
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Name()
- * @model required="true"
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>JSF Version</b></em>' attribute.
- * The default value is <code>"UNKNOWN"</code>.
- * The literals are from the enumeration {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>JSF Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>JSF Version</em>' attribute.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
- * @see #setJSFVersion(JSFVersion)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_JSFVersion()
- * @model default="UNKNOWN" required="true"
- * @generated
- */
- JSFVersion getJSFVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>JSF Version</em>' attribute.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
- * @see #getJSFVersion()
- * @generated
- */
- void setJSFVersion(JSFVersion value);
-
- /**
- * Returns the value of the '<em><b>Deployed</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Deployed</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Deployed</em>' attribute.
- * @see #setDeployed(boolean)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Deployed()
- * @model default="true" required="true"
- * @generated
- */
- boolean isDeployed();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Deployed</em>' attribute.
- * @see #isDeployed()
- * @generated
- */
- void setDeployed(boolean value);
-
- /**
- * Returns the value of the '<em><b>Implementation</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Implementation</em>' attribute.
- * @see #setImplementation(boolean)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_Implementation()
- * @model default="false" required="true"
- * @generated
- */
- boolean isImplementation();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Implementation</em>' attribute.
- * @see #isImplementation()
- * @generated
- */
- void setImplementation(boolean value);
-
- /**
- * Returns the value of the '<em><b>Archive Files</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile}.
- * It is bidirectional and its opposite is '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Archive Files</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Archive Files</em>' containment reference list.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibrary_ArchiveFiles()
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary
- * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile" opposite="JSFLibrary" containment="true"
- * @generated
- */
- EList getArchiveFiles();
-
- /**
- * <!-- begin-user-doc -->
- * @param fullPath
- * @return true if fullPath contains archive file
- * <!-- end-user-doc -->
- * @model required="true" fullPathRequired="true"
- * @generated
- */
- boolean containsArchiveFile(String fullPath);
-
- /**
- * <!-- begin-user-doc -->
- * @return the working copy
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- JSFLibrary getWorkingCopy();
-
- /**
- * <!-- begin-user-doc -->
- * @param otherLibrary
- * <!-- end-user-doc -->
- * @model otherLibraryRequired="true"
- * @generated
- */
- void updateValues(JSFLibrary otherLibrary);
-
- /**
- * <!-- begin-user-doc -->
- * @param baseDestLocation
- * @return true if copy succeeds
- * <!-- end-user-doc -->
- * @model required="true" baseDestLocationRequired="true"
- * @generated
- */
- boolean copyTo(String baseDestLocation);
-
- /**
- * <!-- begin-user-doc -->
- * @return label
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- String getLabel();
-
-} // JSFLibrary
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java
deleted file mode 100644
index 1b6b25f4a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistry.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.Messages;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>JSF Library Registry</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries <em>JSF Libraries</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry()
- * @model
- * @generated
- * @deprecated
- */
-public interface JSFLibraryRegistry extends EObject{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Default Implementation ID</b></em>' attribute.
- * The default value is <code>""</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Default Implementation ID</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Default Implementation ID</em>' attribute.
- * @see #setDefaultImplementationID(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_DefaultImplementationID()
- * @model default=""
- * @generated
- */
- String getDefaultImplementationID();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Default Implementation ID</em>' attribute.
- * @see #getDefaultImplementationID()
- * @generated
- */
- void setDefaultImplementationID(String value);
-
- /**
- *The default implementation message string
- */
- public static final String DEFAULT_IMPL_LABEL = Messages.JSFLibraryRegistry_DEFAULT_IMPL_LABEL;
-
- /**
- * Returns the value of the '<em><b>JSF Libraries</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>JSF Libraries</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>JSF Libraries</em>' containment reference list.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_JSFLibraries()
- * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary" containment="true"
- * @generated
- */
- EList getJSFLibraries();
-
- /**
- * Returns the value of the '<em><b>Plugin Provided JSF Libraries</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Plugin Provided JSF Libraries</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Plugin Provided JSF Libraries</em>' containment reference list.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFLibraryRegistry_PluginProvidedJSFLibraries()
- * @model type="org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary" containment="true" transient="true"
- * @generated
- */
- EList getPluginProvidedJSFLibraries();
-
- /**
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Default Implementation</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * @return the default implementation
- * <!-- end-user-doc -->
- * @model kind="operation" required="true"
- * @generated
- */
- JSFLibrary getDefaultImplementation();
-
- /**
- * <!-- begin-user-doc -->
- * @param implementation
- * <!-- end-user-doc -->
- * @model implementationRequired="true"
- * @generated
- */
- void setDefaultImplementation(JSFLibrary implementation);
-
- /**
- * <!-- begin-user-doc -->
- * @param ID
- * @return the jsf library
- * <!-- end-user-doc -->
- * @model required="true" IDRequired="true"
- * @generated
- */
- JSFLibrary getJSFLibraryByID(String ID);
-
- /**
- * <!-- begin-user-doc -->
- * @param name
- * @return the jsf libraries matching name
- * <!-- end-user-doc -->
- * @model required="true" many="false" nameRequired="true"
- * @generated
- */
- EList getJSFLibrariesByName(String name);
-
- /**
- * <!-- begin-user-doc -->
- * @return the implementation JSF libraries
- * <!-- end-user-doc -->
- * @model kind="operation" required="true" many="false"
- * @generated
- */
- EList getImplJSFLibraries();
-
- /**
- * <!-- begin-user-doc -->
- * @return the non-implementation JSF libraries
- * <!-- end-user-doc -->
- * @model kind="operation" required="true" many="false"
- * @generated
- */
- EList getNonImplJSFLibraries();
-
- /**
- * <!-- begin-user-doc -->
- * @return all the JSF libraries
- * <!-- end-user-doc -->
- * @model kind="operation" required="true" many="false"
- * @generated
- */
- EList getAllJSFLibraries();
-
- /**
- * <!-- begin-user-doc -->
- * @param library
- * @return true if add succeeds
- * <!-- end-user-doc -->
- * @model required="true" libraryRequired="true"
- * @generated
- */
- boolean addJSFLibrary(JSFLibrary library);
-
- /**
- * <!-- begin-user-doc -->
- * @param library
- * @return true if remove succeeds
- * <!-- end-user-doc -->
- * @model required="true" libraryRequired="true"
- * @generated
- */
- boolean removeJSFLibrary(JSFLibrary library);
-
-} // JSFLibraryRegistry
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java
deleted file mode 100644
index 1a988e7f3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- * @deprecated
- */
-public interface JSFLibraryRegistryFactory extends EFactory{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- JSFLibraryRegistryFactory eINSTANCE = org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>JSF Library Registry</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>JSF Library Registry</em>'.
- * @generated
- */
- JSFLibraryRegistry createJSFLibraryRegistry();
-
- /**
- * Returns a new object of class '<em>JSF Library</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>JSF Library</em>'.
- * @generated
- */
- JSFLibrary createJSFLibrary();
-
- /**
- * Returns a new object of class '<em>Archive File</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Archive File</em>'.
- * @generated
- */
- ArchiveFile createArchiveFile();
-
- /**
- * Returns a new object of class '<em>Plugin Provided JSF Library</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Plugin Provided JSF Library</em>'.
- * @generated
- */
- PluginProvidedJSFLibrary createPluginProvidedJSFLibrary();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- JSFLibraryRegistryPackage getJSFLibraryRegistryPackage();
-
-} //JSFLibraryRegistryFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java
deleted file mode 100644
index 4acf3f81c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFLibraryRegistryPackage.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory
- * @model kind="package"
- * @generated
- * @deprecated
- */
-@SuppressWarnings("hiding")
-public interface JSFLibraryRegistryPackage extends EPackage{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "jsflibraryregistry"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "jsflibreg"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- JSFLibraryRegistryPackage eINSTANCE = org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl <em>JSF Library Registry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibraryRegistry()
- * @generated
- */
- int JSF_LIBRARY_REGISTRY = 0;
-
- /**
- * The feature id for the '<em><b>Default Implementation ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID = 0;
-
- /**
- * The feature id for the '<em><b>JSF Libraries</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY_REGISTRY__JSF_LIBRARIES = 1;
-
- /**
- * The feature id for the '<em><b>Plugin Provided JSF Libraries</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES = 2;
-
- /**
- * The number of structural features of the '<em>JSF Library Registry</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY_REGISTRY_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl <em>JSF Library</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibrary()
- * @generated
- */
- int JSF_LIBRARY = 1;
-
- /**
- * The feature id for the '<em><b>ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__ID = 0;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__NAME = 1;
-
- /**
- * The feature id for the '<em><b>JSF Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__JSF_VERSION = 2;
-
- /**
- * The feature id for the '<em><b>Deployed</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__DEPLOYED = 3;
-
- /**
- * The feature id for the '<em><b>Implementation</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__IMPLEMENTATION = 4;
-
- /**
- * The feature id for the '<em><b>Archive Files</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY__ARCHIVE_FILES = 5;
-
- /**
- * The number of structural features of the '<em>JSF Library</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int JSF_LIBRARY_FEATURE_COUNT = 6;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl <em>Archive File</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getArchiveFile()
- * @generated
- */
- int ARCHIVE_FILE = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl <em>Plugin Provided JSF Library</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getPluginProvidedJSFLibrary()
- * @generated
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY = 2;
-
- /**
- * The feature id for the '<em><b>ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__ID = JSF_LIBRARY__ID;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__NAME = JSF_LIBRARY__NAME;
-
- /**
- * The feature id for the '<em><b>JSF Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__JSF_VERSION = JSF_LIBRARY__JSF_VERSION;
-
- /**
- * The feature id for the '<em><b>Deployed</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__DEPLOYED = JSF_LIBRARY__DEPLOYED;
-
- /**
- * The feature id for the '<em><b>Implementation</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__IMPLEMENTATION = JSF_LIBRARY__IMPLEMENTATION;
-
- /**
- * The feature id for the '<em><b>Archive Files</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__ARCHIVE_FILES = JSF_LIBRARY__ARCHIVE_FILES;
-
- /**
- * The feature id for the '<em><b>Plugin ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID = JSF_LIBRARY_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY__LABEL = JSF_LIBRARY_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Plugin Provided JSF Library</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PLUGIN_PROVIDED_JSF_LIBRARY_FEATURE_COUNT = JSF_LIBRARY_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Relative To Workspace</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARCHIVE_FILE__RELATIVE_TO_WORKSPACE = 0;
-
- /**
- * The feature id for the '<em><b>Source Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARCHIVE_FILE__SOURCE_LOCATION = 1;
-
- /**
- * The feature id for the '<em><b>Relative Dest Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARCHIVE_FILE__RELATIVE_DEST_LOCATION = 2;
-
- /**
- * The feature id for the '<em><b>JSF Library</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARCHIVE_FILE__JSF_LIBRARY = 3;
-
- /**
- * The number of structural features of the '<em>Archive File</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ARCHIVE_FILE_FEATURE_COUNT = 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion <em>JSF Version</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFVersion()
- * @generated
- */
- int JSF_VERSION = 4;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry <em>JSF Library Registry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>JSF Library Registry</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry
- * @generated
- */
- EClass getJSFLibraryRegistry();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID <em>Default Implementation ID</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Default Implementation ID</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getDefaultImplementationID()
- * @see #getJSFLibraryRegistry()
- * @generated
- */
- EAttribute getJSFLibraryRegistry_DefaultImplementationID();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries <em>JSF Libraries</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>JSF Libraries</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getJSFLibraries()
- * @see #getJSFLibraryRegistry()
- * @generated
- */
- EReference getJSFLibraryRegistry_JSFLibraries();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Plugin Provided JSF Libraries</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry#getPluginProvidedJSFLibraries()
- * @see #getJSFLibraryRegistry()
- * @generated
- */
- EReference getJSFLibraryRegistry_PluginProvidedJSFLibraries();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary <em>JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>JSF Library</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary
- * @generated
- */
- EClass getJSFLibrary();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID <em>ID</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>ID</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getID()
- * @see #getJSFLibrary()
- * @generated
- */
- EAttribute getJSFLibrary_ID();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getName()
- * @see #getJSFLibrary()
- * @generated
- */
- EAttribute getJSFLibrary_Name();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion <em>JSF Version</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>JSF Version</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getJSFVersion()
- * @see #getJSFLibrary()
- * @generated
- */
- EAttribute getJSFLibrary_JSFVersion();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed <em>Deployed</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Deployed</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isDeployed()
- * @see #getJSFLibrary()
- * @generated
- */
- EAttribute getJSFLibrary_Deployed();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation <em>Implementation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Implementation</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#isImplementation()
- * @see #getJSFLibrary()
- * @generated
- */
- EAttribute getJSFLibrary_Implementation();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles <em>Archive Files</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Archive Files</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary#getArchiveFiles()
- * @see #getJSFLibrary()
- * @generated
- */
- EReference getJSFLibrary_ArchiveFiles();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile <em>Archive File</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Archive File</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile
- * @generated
- */
- EClass getArchiveFile();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation <em>Source Location</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Source Location</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getSourceLocation()
- * @see #getArchiveFile()
- * @generated
- */
- EAttribute getArchiveFile_SourceLocation();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace <em>Relative To Workspace</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Relative To Workspace</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#isRelativeToWorkspace()
- * @see #getArchiveFile()
- * @generated
- */
- EAttribute getArchiveFile_RelativeToWorkspace();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation <em>Relative Dest Location</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Relative Dest Location</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getRelativeDestLocation()
- * @see #getArchiveFile()
- * @generated
- */
- EAttribute getArchiveFile_RelativeDestLocation();
-
- /**
- * Returns the meta object for the container reference '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary <em>JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>JSF Library</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile#getJSFLibrary()
- * @see #getArchiveFile()
- * @generated
- */
- EReference getArchiveFile_JSFLibrary();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary <em>Plugin Provided JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Plugin Provided JSF Library</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary
- * @generated
- */
- EClass getPluginProvidedJSFLibrary();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Plugin ID</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID()
- * @see #getPluginProvidedJSFLibrary()
- * @generated
- */
- EAttribute getPluginProvidedJSFLibrary_PluginID();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getLabel <em>Label</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Label</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getLabel()
- * @see #getPluginProvidedJSFLibrary()
- * @generated
- */
- EAttribute getPluginProvidedJSFLibrary_Label();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion <em>JSF Version</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>JSF Version</em>'.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
- * @generated
- */
- EEnum getJSFVersion();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- JSFLibraryRegistryFactory getJSFLibraryRegistryFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl <em>JSF Library Registry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibraryRegistry()
- * @generated
- */
-// @SuppressWarnings("hiding")
- EClass JSF_LIBRARY_REGISTRY = eINSTANCE.getJSFLibraryRegistry();
-
- /**
- * The meta object literal for the '<em><b>Default Implementation ID</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID = eINSTANCE.getJSFLibraryRegistry_DefaultImplementationID();
-
- /**
- * The meta object literal for the '<em><b>JSF Libraries</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EReference JSF_LIBRARY_REGISTRY__JSF_LIBRARIES = eINSTANCE.getJSFLibraryRegistry_JSFLibraries();
-
- /**
- * The meta object literal for the '<em><b>Plugin Provided JSF Libraries</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EReference JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES = eINSTANCE.getJSFLibraryRegistry_PluginProvidedJSFLibraries();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl <em>JSF Library</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFLibrary()
- * @generated
- */
-// @SuppressWarnings("hiding")
- EClass JSF_LIBRARY = eINSTANCE.getJSFLibrary();
-
- /**
- * The meta object literal for the '<em><b>ID</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY__ID = eINSTANCE.getJSFLibrary_ID();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY__NAME = eINSTANCE.getJSFLibrary_Name();
-
- /**
- * The meta object literal for the '<em><b>JSF Version</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY__JSF_VERSION = eINSTANCE.getJSFLibrary_JSFVersion();
-
- /**
- * The meta object literal for the '<em><b>Deployed</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY__DEPLOYED = eINSTANCE.getJSFLibrary_Deployed();
-
- /**
- * The meta object literal for the '<em><b>Implementation</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute JSF_LIBRARY__IMPLEMENTATION = eINSTANCE.getJSFLibrary_Implementation();
-
- /**
- * The meta object literal for the '<em><b>Archive Files</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EReference JSF_LIBRARY__ARCHIVE_FILES = eINSTANCE.getJSFLibrary_ArchiveFiles();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl <em>Archive File</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getArchiveFile()
- * @generated
- */
-// @SuppressWarnings("hiding")
- EClass ARCHIVE_FILE = eINSTANCE.getArchiveFile();
-
- /**
- * The meta object literal for the '<em><b>Relative To Workspace</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute ARCHIVE_FILE__RELATIVE_TO_WORKSPACE = eINSTANCE.getArchiveFile_RelativeToWorkspace();
-
- /**
- * The meta object literal for the '<em><b>Source Location</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute ARCHIVE_FILE__SOURCE_LOCATION = eINSTANCE.getArchiveFile_SourceLocation();
-
- /**
- * The meta object literal for the '<em><b>Relative Dest Location</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute ARCHIVE_FILE__RELATIVE_DEST_LOCATION = eINSTANCE.getArchiveFile_RelativeDestLocation();
-
- /**
- * The meta object literal for the '<em><b>JSF Library</b></em>' container reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EReference ARCHIVE_FILE__JSF_LIBRARY = eINSTANCE.getArchiveFile_JSFLibrary();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl <em>Plugin Provided JSF Library</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getPluginProvidedJSFLibrary()
- * @generated
- */
-// @SuppressWarnings("hiding")
- EClass PLUGIN_PROVIDED_JSF_LIBRARY = eINSTANCE.getPluginProvidedJSFLibrary();
-
- /**
- * The meta object literal for the '<em><b>Plugin ID</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID = eINSTANCE.getPluginProvidedJSFLibrary_PluginID();
-
- /**
- * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- EAttribute PLUGIN_PROVIDED_JSF_LIBRARY__LABEL = eINSTANCE.getPluginProvidedJSFLibrary_Label();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion <em>JSF Version</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryPackageImpl#getJSFVersion()
- * @generated
- */
-// @SuppressWarnings("hiding")
- EEnum JSF_VERSION = eINSTANCE.getJSFVersion();
-
- }
-
-} //JSFLibraryRegistryPackage
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java
deleted file mode 100644
index 6954088a6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/JSFVersion.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>JSF Version</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getJSFVersion()
- * @model
- * @generated
- * @deprecated
- */
-public final class JSFVersion extends AbstractEnumerator {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The '<em><b>UNKNOWN</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>UNKNOWN</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #UNKNOWN_LITERAL
- * @model
- * @generated
- * @ordered
- */
- public static final int UNKNOWN = -1;
-
- /**
- * The '<em><b>V1 1</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>V1 1</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #V1_1_LITERAL
- * @model name="v1_1"
- * @generated
- * @ordered
- */
- public static final int V1_1 = 1;
-
- /**
- * The '<em><b>V1 2</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>V1 2</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #V1_2_LITERAL
- * @model name="v1_2"
- * @generated
- * @ordered
- */
- public static final int V1_2 = 2;
-
- /**
- * The '<em><b>UNKNOWN</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #UNKNOWN
- * @generated
- * @ordered
- */
- public static final JSFVersion UNKNOWN_LITERAL = new JSFVersion(UNKNOWN, "UNKNOWN", "UNKNOWN"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>V1 1</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #V1_1
- * @generated
- * @ordered
- */
- public static final JSFVersion V1_1_LITERAL = new JSFVersion(V1_1, "v1_1", "v1_1"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>V1 2</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #V1_2
- * @generated
- * @ordered
- */
- public static final JSFVersion V1_2_LITERAL = new JSFVersion(V1_2, "v1_2", "v1_2"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * An array of all the '<em><b>JSF Version</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final JSFVersion[] VALUES_ARRAY =
- new JSFVersion[] {
- UNKNOWN_LITERAL,
- V1_1_LITERAL,
- V1_2_LITERAL,
- };
-
- /**
- * A public read-only list of all the '<em><b>JSF Version</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>JSF Version</b></em>' literal with the specified literal value.
- * <!-- begin-user-doc -->
- * @param literal value
- * @return the JSF version for name value
- * <!-- end-user-doc -->
- * @generated
- */
- public static JSFVersion get(String literal) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- JSFVersion result = VALUES_ARRAY[i];
- if (result.toString().equals(literal)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>JSF Version</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * @param name
- * @return JSFVersion
- * <!-- end-user-doc -->
- * @generated
- */
- public static JSFVersion getByName(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- JSFVersion result = VALUES_ARRAY[i];
- if (result.getName().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>JSF Version</b></em>' literal with the specified integer value.
- * <!-- begin-user-doc -->
- * @param value
- * @return the JSFVersion for the integer 'value'
- * <!-- end-user-doc -->
- * @generated
- */
- public static JSFVersion get(int value) {
- switch (value) {
- case UNKNOWN: return UNKNOWN_LITERAL;
- case V1_1: return V1_1_LITERAL;
- case V1_2: return V1_2_LITERAL;
- }
- return null;
- }
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private JSFVersion(int value, String name, String literal) {
- super(value, name, literal);
- }
-
- /**
- * Returns the '<em><b>JSF Version</b></em>' literal with the specified
- * name like the get(String) method does, but will return UNKNOWN instead
- * of null if the name is not recognized.
- * <!-- begin-user-doc -->
- * @param name
- * @return the JSFVersion
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public static JSFVersion getJSFVersion(String name) {
- JSFVersion version = get(name);
- if (version == null) {
- version = UNKNOWN_LITERAL;
- }
- return version;
- }
-
-} //JSFVersion
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java
deleted file mode 100644
index 9ec7a5352..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/PluginProvidedJSFLibrary.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Plugin Provided JSF Library</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getLabel <em>Label</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getPluginProvidedJSFLibrary()
- * @model
- * @generated
- * @deprecated
- */
-public interface PluginProvidedJSFLibrary extends JSFLibrary{
- /**
- * Separator between plugin id and JSF Library name
- */
- public static final String ID_SEPARATOR = "$$"; //$NON-NLS-1$
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Plugin ID</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Plugin ID</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Plugin ID</em>' attribute.
- * @see #setPluginID(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getPluginProvidedJSFLibrary_PluginID()
- * @model required="true"
- * @generated
- */
- String getPluginID();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getPluginID <em>Plugin ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Plugin ID</em>' attribute.
- * @see #getPluginID()
- * @generated
- */
- void setPluginID(String value);
-
- /**
- * Returns the value of the '<em><b>Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Label</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Label</em>' attribute.
- * @see #setLabel(String)
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#getPluginProvidedJSFLibrary_Label()
- * @model required="true"
- * @generated
- */
- String getLabel();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary#getLabel <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Label</em>' attribute.
- * @see #getLabel()
- * @generated
- */
- void setLabel(String value);
-
-} // PluginProvidedJSFLibrary
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java
deleted file mode 100644
index eb3ff119c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/adapter/MaintainDefaultImplementationAdapter.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-
-/**
- * EMF adapter that attempts to always maintain a default implementation
- * JSFLibrary upon addition and removal of JSFLibrary instances and upon
- * changing of a JSFLibrary instance's implementation property.
- *
- * @author Ian Trimble - Oracle
- * @deprecated
- */
-public class MaintainDefaultImplementationAdapter extends AdapterImpl {
-
- private static MaintainDefaultImplementationAdapter INSTANCE =
- new MaintainDefaultImplementationAdapter();
-
- /**
- * Gets the single instance of this adapter.
- *
- * @return The single instance of this adapter.
- */
- public static MaintainDefaultImplementationAdapter getInstance() {
- return INSTANCE;
- }
-
- /**
- * Called to notify this adapter that a change has occured.
- *
- * @param notification EMF Notification instance
- */
- public void notifyChanged(Notification notification) {
- Object objNotifier = notification.getNotifier();
- if (objNotifier instanceof JSFLibraryRegistry) {
- int eventType = notification.getEventType();
- switch (eventType) {
- case Notification.ADD:
- Object objNewValue = notification.getNewValue();
- if (objNewValue instanceof JSFLibrary) {
- libraryAdded((JSFLibrary)objNewValue);
- }
- break;
- case Notification.REMOVE:
- Object objOldValue = notification.getOldValue();
- if (objOldValue instanceof JSFLibrary) {
- libraryRemoved((JSFLibrary)objOldValue);
- }
- break;
- }
- } else if (objNotifier instanceof JSFLibrary) {
- if (notification.getFeatureID(JSFLibrary.class) == JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION) {
- implementationFlagSet((JSFLibrary)objNotifier);
- }
- }
- }
-
- /**
- * Checks if the library added is an implementation and, if so, makes it
- * the default implementation if it is the only implementation.
- *
- * @param library JSFLibrary instance
- */
- protected void libraryAdded(JSFLibrary library) {
- if (library != null && library.isImplementation()) {
- JSFLibraryRegistry jsfLibReg = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry();
- EList impls = jsfLibReg.getImplJSFLibraries();
- if (impls.size() == 1) {
- jsfLibReg.setDefaultImplementation(library);
- }
- }
- }
-
- /**
- * Checks if the library removed is the default implementation and, if so,
- * makes the first remaining implementation the new default or nulls out
- * the default implementation if no other implementation remains.
- *
- * @param library JSFLibrary instance
- */
- protected void libraryRemoved(JSFLibrary library) {
- if (library != null && library.isImplementation()) {
- JSFLibraryRegistry jsfLibReg = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry();
- JSFLibrary defaultImpl = jsfLibReg.getDefaultImplementation();
- if (defaultImpl == null || library.getID().equals(defaultImpl.getID())) {
- setNewDefaultImplementation();
- }
- }
- }
-
- /**
- * Checks if the implementation flag of the JSFLibrary has been changed
- * such that it is now eligible to become the default implementation or
- * such that it is no longer eligible as the default implementation and
- * sets the default implementation appropriately. Note that the passed
- * JSFLibrary instance must have been added to the model before calling
- * this method for it to have any effect.
- *
- * @param library JSFLibrary instance
- */
- private void implementationFlagSet(JSFLibrary library) {
- JSFLibraryRegistry jsfLibReg = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry();
- if (jsfLibReg != null) {
- JSFLibrary defaultImpl = jsfLibReg.getDefaultImplementation();
- if (
- library.isImplementation() &&
- defaultImpl == null
- ) {
- jsfLibReg.setDefaultImplementation(library);
- } else if (
- !library.isImplementation() &&
- (defaultImpl != null && library.getID().equals(defaultImpl.getID())))
- {
- setNewDefaultImplementation();
- }
- }
- }
-
- /**
- * Sets the first available JSFLibrary marked as an implementation as the
- * default implementation or sets the default implementation to null if no
- * JSFLibrary is marked as an implementation.
- */
- protected void setNewDefaultImplementation() {
- JSFLibraryRegistry jsfLibReg = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry();
- EList impls = jsfLibReg.getImplJSFLibraries();
- if (impls.size() > 0) {
- jsfLibReg.setDefaultImplementation((JSFLibrary)impls.get(0));
- } else {
- jsfLibReg.setDefaultImplementation(null);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
deleted file mode 100644
index 958378769..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
+++ /dev/null
@@ -1,706 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Archive File</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#isRelativeToWorkspace <em>Relative To Workspace</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getSourceLocation <em>Source Location</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getRelativeDestLocation <em>Relative Dest Location</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.ArchiveFileImpl#getJSFLibrary <em>JSF Library</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- * @deprecated
- */
-public class ArchiveFileImpl extends EObjectImpl implements ArchiveFile {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #isRelativeToWorkspace() <em>Relative To Workspace</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isRelativeToWorkspace()
- * @generated
- * @ordered
- */
- protected static final boolean RELATIVE_TO_WORKSPACE_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isRelativeToWorkspace() <em>Relative To Workspace</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isRelativeToWorkspace()
- * @generated
- * @ordered
- */
- protected boolean relativeToWorkspace = RELATIVE_TO_WORKSPACE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getSourceLocation() <em>Source Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSourceLocation()
- * @generated
- * @ordered
- */
- protected static final String SOURCE_LOCATION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getSourceLocation() <em>Source Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSourceLocation()
- * @generated
- * @ordered
- */
- protected String sourceLocation = SOURCE_LOCATION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getRelativeDestLocation() <em>Relative Dest Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRelativeDestLocation()
- * @generated
- * @ordered
- */
- protected static final String RELATIVE_DEST_LOCATION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getRelativeDestLocation() <em>Relative Dest Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRelativeDestLocation()
- * @generated
- * @ordered
- */
- protected String relativeDestLocation = RELATIVE_DEST_LOCATION_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ArchiveFileImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the static eClass
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JSFLibraryRegistryPackage.Literals.ARCHIVE_FILE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the source location
- * <!-- end-user-doc -->
- * @generated
- */
- public String getSourceLocation() {
- return sourceLocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * Enhanced to not only set the location but also to attempt to determine
- * if the location passed is relative to the current workspace. If so, only
- * the relative location is stored. If not, the full location as passed is
- * stored and the relativeToWorkspace property is set to false. To override
- * this behaviour and set the absolute location as passed regardless, call
- * setRelativeToWorkspace(false) BEFORE calling this method.
- *
- * @param newSourceLocation
- *
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setSourceLocation(String newSourceLocation) {
- String oldSourceLocation = sourceLocation;
- if (relativeToWorkspace) {
- IWorkspaceRoot workspaceRoot = getWorkspaceRoot();
- if (workspaceRoot != null) {
- IPath wsRootPath = workspaceRoot.getLocation();
- IPath srcPath = new Path(newSourceLocation);
- if (workspaceRoot.findMember(srcPath) != null) {
- sourceLocation = newSourceLocation;
- } else if (wsRootPath.isPrefixOf(srcPath)) {
- int segmentsMatched = wsRootPath.matchingFirstSegments(srcPath);
- srcPath = srcPath.removeFirstSegments(segmentsMatched).setDevice(null);
- sourceLocation = srcPath.toOSString();
- } else {
- sourceLocation = newSourceLocation;
- relativeToWorkspace = false;
- }
- }
- } else {
- sourceLocation = newSourceLocation;
- }
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION, oldSourceLocation, sourceLocation));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return true if file is relative to workspace
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isRelativeToWorkspace() {
- return relativeToWorkspace;
- }
-
- /**
- * <!-- begin-user-doc -->
- * To override workspace-relative recognition behaviour, be sure to call
- * this method with a false value BEFORE calling setLocation(String).
- * @param newRelativeToWorkspace
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRelativeToWorkspace(boolean newRelativeToWorkspace) {
- boolean oldRelativeToWorkspace = relativeToWorkspace;
- relativeToWorkspace = newRelativeToWorkspace;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE, oldRelativeToWorkspace, relativeToWorkspace));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the relative destination location
- * <!-- end-user-doc -->
- * @generated
- */
- public String getRelativeDestLocation() {
- return relativeDestLocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newRelativeDestLocation
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRelativeDestLocation(String newRelativeDestLocation) {
- String oldRelativeDestLocation = relativeDestLocation;
- relativeDestLocation = newRelativeDestLocation;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION, oldRelativeDestLocation, relativeDestLocation));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the jsf library instance
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibrary getJSFLibrary() {
- if (eContainerFeatureID != JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY) return null;
- return (JSFLibrary)eContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newJSFLibrary
- * @param msgs
- * @return NotificationChain
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetJSFLibrary(JSFLibrary newJSFLibrary, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newJSFLibrary, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, msgs);
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newJSFLibrary
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJSFLibrary(JSFLibrary newJSFLibrary) {
- if (newJSFLibrary != eInternalContainer() || (eContainerFeatureID != JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY && newJSFLibrary != null)) {
- if (EcoreUtil.isAncestor(this, newJSFLibrary))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newJSFLibrary != null)
- msgs = ((InternalEObject)newJSFLibrary).eInverseAdd(this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibrary.class, msgs);
- msgs = basicSetJSFLibrary(newJSFLibrary, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY, newJSFLibrary, newJSFLibrary));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the path
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getPath() {
- String path = null;
- String resolvedSourceLocation = getResolvedSourceLocation();
- if (resolvedSourceLocation != null) {
- int iPos = resolvedSourceLocation.lastIndexOf('/');
- if (iPos < 0) {
- iPos = resolvedSourceLocation.lastIndexOf('\\');
- }
- if (iPos < 1) {
- path = ""; //$NON-NLS-1$
- } else {
- path = resolvedSourceLocation.substring(0, iPos);
- }
- }
- return path;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the name
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getName() {
- String name = null;
- String resolvedSourceLocation = getResolvedSourceLocation();
- if (resolvedSourceLocation != null) {
- int iPos = resolvedSourceLocation.lastIndexOf('/');
- if (iPos < 0) {
- iPos = resolvedSourceLocation.lastIndexOf('\\');
- }
- if (iPos < 0 || iPos == resolvedSourceLocation.length() - 1) {
- name = resolvedSourceLocation;
- } else {
- name = resolvedSourceLocation.substring(iPos + 1);
- }
- }
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return true if the archive file exists in the bundle
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean exists() {
- boolean exists = false;
- if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
- Bundle bundle = getBundle();
- if (bundle != null) {
- exists = bundle.getEntry(sourceLocation) != null;
- }
- } else {
- String resolvedSourceLocation = getResolvedSourceLocation();
- if (resolvedSourceLocation != null) {
- exists = new File(resolvedSourceLocation).exists();
- }
- }
- return exists;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param object
- * @return true if equal
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean equals(Object object) {
- boolean equal = false;
- if (object instanceof ArchiveFile) {
- String resolvedSourceLocation = getResolvedSourceLocation();
- String objResolvedSourceLocation = ((ArchiveFile)object).getResolvedSourceLocation();
- if (resolvedSourceLocation == null && objResolvedSourceLocation == null) {
- equal = true;
- } else if (resolvedSourceLocation != null) {
- equal = resolvedSourceLocation.equals(objResolvedSourceLocation);
- }
- }
- return equal;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return a the resolved source location hash or 0 if it is null
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public int hashCode() {
- return getResolvedSourceLocation() != null ? getResolvedSourceLocation().hashCode() : 0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param baseDestLocation
- * @return true if the copy is successful
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean copyTo(String baseDestLocation) {
- boolean copied = false;
- InputStream in = null;
- OutputStream out = null;
- IPath outPath = new Path(baseDestLocation);
- if (relativeDestLocation != null) {
- outPath = outPath.append(relativeDestLocation);
- }
- outPath = outPath.append(getName());
- try {
- if (!outPath.toFile().exists()) {
- out = new FileOutputStream(outPath.toOSString());
- } else {
- return copied;
- }
- if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
- Bundle bundle = getBundle();
- URL inURL = bundle.getEntry(sourceLocation);
- if (inURL != null) {
- in = inURL.openStream();
- } else {
- JSFCorePlugin.log(
- IStatus.ERROR,
- NLS.bind(Messages.ArchiveFileImpl_CannotLocatePluginRelativeFile,
- sourceLocation));
- return copied;
- }
- } else {
- in = new FileInputStream(getResolvedSourceLocation());
- }
- byte[] buf = new byte[1024];
- int len = 0;
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- copied = true;
- } catch(FileNotFoundException fnfe) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.ArchiveFileImpl_CannotCopyFile, fnfe);
- } catch(IOException ioe) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.ArchiveFileImpl_CannotCopyFile, ioe);
- } finally {
- try {
- if (in != null) {
- in.close();
- }
- if (out != null) {
- out.close();
- }
- } catch(IOException ioe) {
- JSFCorePlugin.log(IStatus.WARNING, Messages.ArchiveFileImpl_CannotCloseFile, ioe);
- }
- }
- return copied;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the resolved source location
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getResolvedSourceLocation() {
- String resolvedSourceLocation = null;
- /**
- * The implementation to support PluginProvidedJSFLibrary assume the following.
- * 1. Plugin provided JSF library needs to be distributed as an expanded folder.
- * 2. JARs for plugin provided JSF library need to reside inside the folder mentioned in item 1 above.
- * 3. Each JAR needs to specify a relative path for the folder mentioned in item 1 above.
- *
- * Fix for bug 144954.
- */
- if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
- Bundle bundle = getBundle();
- if (bundle != null) {
- //resolvedSourceLocation = appendSeparator(bundleLocation) + sourceLocation;
- try {
- Path srcPath = new Path(sourceLocation);
- URL fileURL = FileLocator.find(bundle, srcPath, null);
- if (fileURL != null){
- URL url = FileLocator.resolve(fileURL);
- resolvedSourceLocation = url.getPath();
- }
- else
- resolvedSourceLocation = sourceLocation;
- } catch (IOException e) {
- resolvedSourceLocation = sourceLocation;
- }
- } else {
- resolvedSourceLocation = sourceLocation;
- }
- } else {
- if (isRelativeToWorkspace()) {
- IWorkspaceRoot workspaceRoot = getWorkspaceRoot();
- if (workspaceRoot != null) {
- String workspaceLocation = workspaceRoot.getLocation().toOSString();
- if (workspaceLocation != null) {
- resolvedSourceLocation = appendSeparator(workspaceLocation) + sourceLocation;
- } else {
- resolvedSourceLocation = sourceLocation;
- }
- } else {
- resolvedSourceLocation = sourceLocation;
- }
- } else {
- resolvedSourceLocation = sourceLocation;
- }
- }
- return resolvedSourceLocation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetJSFLibrary((JSFLibrary)otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- return basicSetJSFLibrary(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param msgs
- * @return NotificationChain
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- return eInternalContainer().eInverseRemove(this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibrary.class, msgs);
- }
- return super.eBasicRemoveFromContainerFeature(msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param featureID
- * @param resolve
- * @param coreType
- * @return
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
- return isRelativeToWorkspace() ? Boolean.TRUE : Boolean.FALSE;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
- return getSourceLocation();
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
- return getRelativeDestLocation();
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- return getJSFLibrary();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param featureID
- * @param newValue
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
- setRelativeToWorkspace(((Boolean)newValue).booleanValue());
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
- setSourceLocation((String)newValue);
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
- setRelativeDestLocation((String)newValue);
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- setJSFLibrary((JSFLibrary)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
- setRelativeToWorkspace(RELATIVE_TO_WORKSPACE_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
- setSourceLocation(SOURCE_LOCATION_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
- setRelativeDestLocation(RELATIVE_DEST_LOCATION_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- setJSFLibrary((JSFLibrary)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_TO_WORKSPACE:
- return relativeToWorkspace != RELATIVE_TO_WORKSPACE_EDEFAULT;
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__SOURCE_LOCATION:
- return SOURCE_LOCATION_EDEFAULT == null ? sourceLocation != null : !SOURCE_LOCATION_EDEFAULT.equals(sourceLocation);
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__RELATIVE_DEST_LOCATION:
- return RELATIVE_DEST_LOCATION_EDEFAULT == null ? relativeDestLocation != null : !RELATIVE_DEST_LOCATION_EDEFAULT.equals(relativeDestLocation);
- case JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY:
- return getJSFLibrary() != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * Gets the Bundle instance by parent PluginProvidedJSFLibrary instance's
- * pluginID property, if and only if the parent JSFLibrary instance IS a
- * PluginProvidedJSFLibrary, else returns null.
- * @return Bundle instance, or null if not located or applicable
- */
- protected Bundle getBundle() {
- Bundle bundle = null;
- if (getJSFLibrary() instanceof PluginProvidedJSFLibrary) {
- String pluginID = ((PluginProvidedJSFLibrary)getJSFLibrary()).getPluginID();
- if (pluginID != null) {
- bundle = Platform.getBundle(pluginID);
- }
- }
- return bundle;
- }
-
- /**
- * Gets the IWorkspaceRoot instance.
- * @return IWorkspaceRoot instance
- */
- protected IWorkspaceRoot getWorkspaceRoot() {
- IWorkspaceRoot workspaceRoot = null;
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- if (workspace != null) {
- workspaceRoot = workspace.getRoot();
- }
- return workspaceRoot;
- }
-
- /**
- * @param path
- * @return the the path string with invalid path separators correctly fixed
- */
- protected String appendSeparator(String path) {
- String newPath = null;
- if (!path.endsWith("\\") && !path.endsWith("/")) { //$NON-NLS-1$ //$NON-NLS-2$
- newPath = path + System.getProperty("file.separator"); //$NON-NLS-1$
- } else {
- newPath = path;
- }
- return newPath;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the string representation of this archive file
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (RelativeToWorkspace: "); //$NON-NLS-1$
- result.append(relativeToWorkspace);
- result.append(", SourceLocation: "); //$NON-NLS-1$
- result.append(sourceLocation);
- result.append(", RelativeDestLocation: "); //$NON-NLS-1$
- result.append(relativeDestLocation);
- result.append(')');
- return result.toString();
- }
-
-} //ArchiveFileImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java
deleted file mode 100644
index 40c29b104..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryImpl.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.adapter.MaintainDefaultImplementationAdapter;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>JSF Library</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getID <em>ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getJSFVersion <em>JSF Version</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#isDeployed <em>Deployed</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#isImplementation <em>Implementation</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryImpl#getArchiveFiles <em>Archive Files</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- * @deprecated
- */
-public class JSFLibraryImpl extends EObjectImpl implements JSFLibrary {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getID() <em>ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getID()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = ""; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getID() <em>ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getID()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getJSFVersion() <em>JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJSFVersion()
- * @generated
- * @ordered
- */
- protected static final JSFVersion JSF_VERSION_EDEFAULT = JSFVersion.UNKNOWN_LITERAL;
-
- /**
- * The cached value of the '{@link #getJSFVersion() <em>JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJSFVersion()
- * @generated
- * @ordered
- */
- protected JSFVersion jsfVersion = JSF_VERSION_EDEFAULT;
-
- /**
- * The default value of the '{@link #isDeployed() <em>Deployed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDeployed()
- * @generated
- * @ordered
- */
- protected static final boolean DEPLOYED_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isDeployed() <em>Deployed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isDeployed()
- * @generated
- * @ordered
- */
- protected boolean deployed = DEPLOYED_EDEFAULT;
-
- /**
- * The default value of the '{@link #isImplementation() <em>Implementation</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isImplementation()
- * @generated
- * @ordered
- */
- protected static final boolean IMPLEMENTATION_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isImplementation() <em>Implementation</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isImplementation()
- * @generated
- * @ordered
- */
- protected boolean implementation = IMPLEMENTATION_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getArchiveFiles() <em>Archive Files</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getArchiveFiles()
- * @generated
- * @ordered
- */
- protected EList archiveFiles;
-
- /**
- * <!-- begin-user-doc -->
- * Enhanced to not only create an instance but also to set an initial ID
- * (which can be reset later) and to add the
- * MaintainDefaultImplementationAdapter to the list of adapters.
- * <!-- end-user-doc -->
- * @generated NOT
- */
- protected JSFLibraryImpl() {
- super();
-// //set initial ID; will be overwritten from XML if already persisted
-// setID(String.valueOf(System.currentTimeMillis()));
- //add adapter to maintain a default implementation
- eAdapters().add(MaintainDefaultImplementationAdapter.getInstance());
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the static eClass
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JSFLibraryRegistryPackage.Literals.JSF_LIBRARY;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getID() {
- return getName();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the name
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newName
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the jsf version
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFVersion getJSFVersion() {
- return jsfVersion;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newJSFVersion
- * <!-- end-user-doc -->
- * @generated
- */
- public void setJSFVersion(JSFVersion newJSFVersion) {
- JSFVersion oldJSFVersion = jsfVersion;
- jsfVersion = newJSFVersion == null ? JSF_VERSION_EDEFAULT : newJSFVersion;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION, oldJSFVersion, jsfVersion));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return true if library is to be deployed
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isDeployed() {
- return deployed;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newDeployed
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDeployed(boolean newDeployed) {
- boolean oldDeployed = deployed;
- deployed = newDeployed;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED, oldDeployed, deployed));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return true if implementation
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isImplementation() {
- return implementation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newImplementation
- * <!-- end-user-doc -->
- * @generated
- */
- public void setImplementation(boolean newImplementation) {
- boolean oldImplementation = implementation;
- implementation = newImplementation;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION, oldImplementation, implementation));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the list of archive files
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getArchiveFiles() {
- if (archiveFiles == null) {
- archiveFiles = new EObjectContainmentWithInverseEList(ArchiveFile.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES, JSFLibraryRegistryPackage.ARCHIVE_FILE__JSF_LIBRARY);
- }
- return archiveFiles;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param fullPath
- * @return the true if the fullPath contains an archive file
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean containsArchiveFile(String fullPath) {
- boolean contains = false;
- if (fullPath != null) {
- Iterator itArchiveFiles = getArchiveFiles().iterator();
- while (itArchiveFiles.hasNext()) {
- ArchiveFile archiveFile = (ArchiveFile)itArchiveFiles.next();
- if (fullPath.equals(archiveFile.getResolvedSourceLocation())) {
- contains = true;
- break;
- }
- }
- }
- return contains;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the working copy
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public JSFLibrary getWorkingCopy() {
- JSFLibrary workingCopyLib = JSFLibraryRegistryFactory.eINSTANCE.createJSFLibrary();
-// workingCopyLib.setID(getID());
- workingCopyLib.setName(getName());
- workingCopyLib.setJSFVersion(getJSFVersion());
- workingCopyLib.setDeployed(isDeployed());
- workingCopyLib.setImplementation(isImplementation());
- Iterator itArchiveFiles = getArchiveFiles().iterator();
- while (itArchiveFiles.hasNext()) {
- ArchiveFile srcArchiveFile = (ArchiveFile)itArchiveFiles.next();
- ArchiveFile destArchiveFile = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
- destArchiveFile.setRelativeToWorkspace(srcArchiveFile.isRelativeToWorkspace());
- destArchiveFile.setSourceLocation(srcArchiveFile.getSourceLocation());
- destArchiveFile.setRelativeDestLocation(srcArchiveFile.getRelativeDestLocation());
- workingCopyLib.getArchiveFiles().add(destArchiveFile);
- }
- return workingCopyLib;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param otherLibrary
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void updateValues(JSFLibrary otherLibrary) {
- if (otherLibrary != null) {
-// setID(otherLibrary.getID());
- setName(otherLibrary.getName());
- setJSFVersion(otherLibrary.getJSFVersion());
- setDeployed(otherLibrary.isDeployed());
- setImplementation(otherLibrary.isImplementation());
- Iterator itArchiveFiles = otherLibrary.getArchiveFiles().iterator();
- getArchiveFiles().clear();
- while (itArchiveFiles.hasNext()) {
- ArchiveFile srcArchiveFile = (ArchiveFile)itArchiveFiles.next();
- ArchiveFile destArchiveFile = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
- destArchiveFile.setRelativeToWorkspace(srcArchiveFile.isRelativeToWorkspace());
- destArchiveFile.setSourceLocation(srcArchiveFile.getSourceLocation());
- destArchiveFile.setRelativeDestLocation(srcArchiveFile.getRelativeDestLocation());
- getArchiveFiles().add(destArchiveFile);
- }
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param baseDestLocation
- * @return the base destination location
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean copyTo(String baseDestLocation) {
- boolean allCopied = true;
- Iterator itFiles = getArchiveFiles().iterator();
- while (itFiles.hasNext()) {
- ArchiveFile archiveFile = (ArchiveFile)itFiles.next();
- boolean copied = archiveFile.copyTo(baseDestLocation);
- allCopied = allCopied && copied;
- }
- return allCopied;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getLabel() {
- return getName();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- return ((InternalEList)getArchiveFiles()).basicAdd(otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- return ((InternalEList)getArchiveFiles()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
- return getID();
- case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
- return getName();
- case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
- return getJSFVersion();
- case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
- return isDeployed() ? Boolean.TRUE : Boolean.FALSE;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
- return isImplementation() ? Boolean.TRUE : Boolean.FALSE;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- return getArchiveFiles();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
- setName((String)newValue);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
- setJSFVersion((JSFVersion)newValue);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
- setDeployed(((Boolean)newValue).booleanValue());
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
- setImplementation(((Boolean)newValue).booleanValue());
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- getArchiveFiles().clear();
- getArchiveFiles().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
- setName(NAME_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
- setJSFVersion(JSF_VERSION_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
- setDeployed(DEPLOYED_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
- setImplementation(IMPLEMENTATION_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- getArchiveFiles().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case JSFLibraryRegistryPackage.JSF_LIBRARY__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case JSFLibraryRegistryPackage.JSF_LIBRARY__JSF_VERSION:
- return jsfVersion != JSF_VERSION_EDEFAULT;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__DEPLOYED:
- return deployed != DEPLOYED_EDEFAULT;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__IMPLEMENTATION:
- return implementation != IMPLEMENTATION_EDEFAULT;
- case JSFLibraryRegistryPackage.JSF_LIBRARY__ARCHIVE_FILES:
- return archiveFiles != null && !archiveFiles.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the string representation
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (ID: "); //$NON-NLS-1$
- result.append(id);
- result.append(", Name: "); //$NON-NLS-1$
- result.append(name);
- result.append(", JSFVersion: "); //$NON-NLS-1$
- result.append(jsfVersion);
- result.append(", Deployed: "); //$NON-NLS-1$
- result.append(deployed);
- result.append(", Implementation: "); //$NON-NLS-1$
- result.append(implementation);
- result.append(')');
- return result.toString();
- }
-
-} //JSFLibraryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java
deleted file mode 100644
index 14b1ff6c9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryFactoryImpl.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryFactoryImpl extends EFactoryImpl implements JSFLibraryRegistryFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * @return the initialized factory
- * <!-- end-user-doc -->
- * @generated
- */
- public static JSFLibraryRegistryFactory init() {
- try {
- JSFLibraryRegistryFactory theJSFLibraryRegistryFactory = (JSFLibraryRegistryFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/webtools/jsf/schema/jsflibraryregistry.xsd"); //$NON-NLS-1$
- if (theJSFLibraryRegistryFactory != null) {
- return theJSFLibraryRegistryFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new JSFLibraryRegistryFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eClass
- * @return the static eclass
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY: return createJSFLibraryRegistry();
- case JSFLibraryRegistryPackage.JSF_LIBRARY: return createJSFLibrary();
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY: return createPluginProvidedJSFLibrary();
- case JSFLibraryRegistryPackage.ARCHIVE_FILE: return createArchiveFile();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param initialValue
- * @return an instance of eDataType for initialValue
- * <!-- end-user-doc -->
- * @generated
- */
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case JSFLibraryRegistryPackage.JSF_VERSION:
- return createJSFVersionFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param instanceValue
- * @return the string created from instanceValue from eDataType
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case JSFLibraryRegistryPackage.JSF_VERSION:
- return convertJSFVersionToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the jsf library registry
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistry createJSFLibraryRegistry() {
- JSFLibraryRegistryImpl jsfLibraryRegistry = new JSFLibraryRegistryImpl();
- return jsfLibraryRegistry;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the jsf library
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibrary createJSFLibrary() {
- JSFLibraryImpl jsfLibrary = new JSFLibraryImpl();
- return jsfLibrary;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the archive file
- * <!-- end-user-doc -->
- * @generated
- */
- public ArchiveFile createArchiveFile() {
- ArchiveFileImpl archiveFile = new ArchiveFileImpl();
- return archiveFile;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the plugin provided JSF library
- * <!-- end-user-doc -->
- * @generated
- */
- public PluginProvidedJSFLibrary createPluginProvidedJSFLibrary() {
- PluginProvidedJSFLibraryImpl pluginProvidedJSFLibrary = new PluginProvidedJSFLibraryImpl();
- return pluginProvidedJSFLibrary;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param initialValue
- * @return the jsfVersion the dataType
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFVersion createJSFVersionFromString(EDataType eDataType, String initialValue) {
- JSFVersion result = JSFVersion.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param instanceValue
- * @return the string version of the data type
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertJSFVersionToString(EDataType eDataType, Object instanceValue) {
- return instanceValue == null ? null : instanceValue.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the registry package
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryPackage getJSFLibraryRegistryPackage() {
- return (JSFLibraryRegistryPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the package
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static JSFLibraryRegistryPackage getPackage() {
- return JSFLibraryRegistryPackage.eINSTANCE;
- }
-
-} //JSFLibraryRegistryFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java
deleted file mode 100644
index 8e262636b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryImpl.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>JSF Library Registry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getDefaultImplementationID <em>Default Implementation ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getJSFLibraries <em>JSF Libraries</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.JSFLibraryRegistryImpl#getPluginProvidedJSFLibraries <em>Plugin Provided JSF Libraries</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryImpl extends EObjectImpl implements JSFLibraryRegistry {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getDefaultImplementationID() <em>Default Implementation ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDefaultImplementationID()
- * @generated
- * @ordered
- */
- protected static final String DEFAULT_IMPLEMENTATION_ID_EDEFAULT = ""; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getDefaultImplementationID() <em>Default Implementation ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDefaultImplementationID()
- * @generated
- * @ordered
- */
- protected String defaultImplementationID = DEFAULT_IMPLEMENTATION_ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getJSFLibraries() <em>JSF Libraries</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getJSFLibraries()
- * @generated
- * @ordered
- */
- protected EList jsfLibraries;
-
- /**
- * The cached value of the '{@link #getPluginProvidedJSFLibraries() <em>Plugin Provided JSF Libraries</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPluginProvidedJSFLibraries()
- * @generated
- * @ordered
- */
- protected EList pluginProvidedJSFLibraries;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JSFLibraryRegistryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the static eClass
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JSFLibraryRegistryPackage.Literals.JSF_LIBRARY_REGISTRY;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the default implementation id
- * <!-- end-user-doc -->
- * @generated
- */
- public String getDefaultImplementationID() {
- return defaultImplementationID;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newDefaultImplementationID
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDefaultImplementationID(String newDefaultImplementationID) {
- String oldDefaultImplementationID = defaultImplementationID;
- defaultImplementationID = newDefaultImplementationID;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID, oldDefaultImplementationID, defaultImplementationID));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the list of jsf libraries
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getJSFLibraries() {
- if (jsfLibraries == null) {
- jsfLibraries = new EObjectContainmentEList(JSFLibrary.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES);
- }
- return jsfLibraries;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the list of plugin provided JSF libraries
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getPluginProvidedJSFLibraries() {
- if (pluginProvidedJSFLibraries == null) {
- pluginProvidedJSFLibraries = new EObjectContainmentEList(PluginProvidedJSFLibrary.class, this, JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES);
- }
- return pluginProvidedJSFLibraries;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the default implemention JSF library
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public JSFLibrary getDefaultImplementation() {
- return getJSFLibraryByID(getDefaultImplementationID());
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param implementation
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public void setDefaultImplementation(JSFLibrary implementation) {
- if (implementation != null) {
- setDefaultImplementationID(implementation.getID());
- } else {
- setDefaultImplementationID(null);
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
- return ((InternalEList)getJSFLibraries()).basicRemove(otherEnd, msgs);
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
- return ((InternalEList)getPluginProvidedJSFLibraries()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
- return getDefaultImplementationID();
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
- return getJSFLibraries();
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
- return getPluginProvidedJSFLibraries();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
- setDefaultImplementationID((String)newValue);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
- getJSFLibraries().clear();
- getJSFLibraries().addAll((Collection)newValue);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
- getPluginProvidedJSFLibraries().clear();
- getPluginProvidedJSFLibraries().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
- setDefaultImplementationID(DEFAULT_IMPLEMENTATION_ID_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
- getJSFLibraries().clear();
- return;
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
- getPluginProvidedJSFLibraries().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID:
- return DEFAULT_IMPLEMENTATION_ID_EDEFAULT == null ? defaultImplementationID != null : !DEFAULT_IMPLEMENTATION_ID_EDEFAULT.equals(defaultImplementationID);
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__JSF_LIBRARIES:
- return jsfLibraries != null && !jsfLibraries.isEmpty();
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES:
- return pluginProvidedJSFLibraries != null && !pluginProvidedJSFLibraries.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param ID
- * @return the jsf library of ID or null if none
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public JSFLibrary getJSFLibraryByID(String ID) {
- JSFLibrary library = null;
- if (ID != null) {
- Iterator itLibs = getAllJSFLibraries().iterator();
- while (itLibs.hasNext()) {
- JSFLibrary curLib = (JSFLibrary)itLibs.next();
- if (ID.equals(curLib.getID())) {
- library = curLib;
- break;
- }
- }
- }
- return library;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param name
- * @return the list of libraries named 'name'
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public EList getJSFLibrariesByName(String name) {
- EList libraries = new BasicEList();
- if (name != null) {
- Iterator itLibs = getAllJSFLibraries().iterator();
- while(itLibs.hasNext()) {
- JSFLibrary curLib = (JSFLibrary)itLibs.next();
- if (name.equals(curLib.getName())) {
- libraries.add(curLib);
- }
- }
- }
- return libraries;
- }
-
- /**
- * <!-- begin-user-doc -->
- * This is a convenience method to return an EList of JSFLibrary instances
- * that are marked as JSF implementations; while all instances are valid
- * references, the returned EList should not be used for additions and/or
- * removals of instances (use the EList returned by getJSFLibraries()).
- * @return the list of implemention jsf libraries
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public EList getImplJSFLibraries() {
- EList implementations = new BasicEList();
- Iterator itLibs = getAllJSFLibraries().iterator();
- while (itLibs.hasNext()) {
- JSFLibrary lib = (JSFLibrary)itLibs.next();
- if (lib.isImplementation()) {
- implementations.add(lib);
- }
- }
- return implementations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * This is a convenience method to return an EList of JSFLibrary instances
- * that are not marked as JSF implementations; while all instances are
- * valid references, the returned EList should not be used for additions
- * and/or removals of instances (use the EList returned by
- * getJSFLibraries()).
- * @return the non-implemention JSF libraries
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public EList getNonImplJSFLibraries() {
- EList nonImplementations = new BasicEList();
- Iterator itLibs = getAllJSFLibraries().iterator();
- while (itLibs.hasNext()) {
- JSFLibrary lib = (JSFLibrary)itLibs.next();
- if (!lib.isImplementation()) {
- nonImplementations.add(lib);
- }
- }
- return nonImplementations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * This is a convenience method to return an EList of JSFLibrary instances
- * and PluginProvidedJSFLibrary instances; while all instances are valid
- * references, the returned EList should not be used for additions and/or
- * removals of instances (use the EList returned by getJSFLibraries()).
- * @return all JSF libraries
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public EList getAllJSFLibraries() {
- EList allLibs = new BasicEList();
- allLibs.addAll(getJSFLibraries());
- allLibs.addAll(getPluginProvidedJSFLibraries());
- return allLibs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param library
- * @return true if library is successfully added
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean addJSFLibrary(JSFLibrary library) {
- boolean added = false;
- if (library instanceof PluginProvidedJSFLibrary) {
- added = getPluginProvidedJSFLibraries().add(library);
- } else {
- added = getJSFLibraries().add(library);
- }
- return added;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param library
- * @return true if library is successfully removed
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean removeJSFLibrary(JSFLibrary library) {
- boolean removed = false;
- if (library instanceof PluginProvidedJSFLibrary) {
- removed = getPluginProvidedJSFLibraries().remove(library);
- } else {
- removed = getJSFLibraries().remove(library);
- }
- return removed;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the string representation
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (DefaultImplementationID: "); //$NON-NLS-1$
- result.append(defaultImplementationID);
- result.append(')');
- return result.toString();
- }
-
-
-} //JSFLibraryRegistryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java
deleted file mode 100644
index 514777c13..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/JSFLibraryRegistryPackageImpl.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryPackageImpl extends EPackageImpl implements JSFLibraryRegistryPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass jsfLibraryRegistryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass jsfLibraryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass archiveFileEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass pluginProvidedJSFLibraryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum jsfVersionEEnum = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private JSFLibraryRegistryPackageImpl() {
- super(eNS_URI, JSFLibraryRegistryFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the JSF library registry package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static JSFLibraryRegistryPackage init() {
- if (isInited) return (JSFLibraryRegistryPackage)EPackage.Registry.INSTANCE.getEPackage(JSFLibraryRegistryPackage.eNS_URI);
-
- // Obtain or create and register package
- JSFLibraryRegistryPackageImpl theJSFLibraryRegistryPackage = (JSFLibraryRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof JSFLibraryRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new JSFLibraryRegistryPackageImpl());
-
- isInited = true;
-
- // Create package meta-data objects
- theJSFLibraryRegistryPackage.createPackageContents();
-
- // Initialize created meta-data
- theJSFLibraryRegistryPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theJSFLibraryRegistryPackage.freeze();
-
- return theJSFLibraryRegistryPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eclass
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getJSFLibraryRegistry() {
- return jsfLibraryRegistryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibraryRegistry_DefaultImplementationID() {
- return (EAttribute)jsfLibraryRegistryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the ereference
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getJSFLibraryRegistry_JSFLibraries() {
- return (EReference)jsfLibraryRegistryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the ereference
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getJSFLibraryRegistry_PluginProvidedJSFLibraries() {
- return (EReference)jsfLibraryRegistryEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eclass
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getJSFLibrary() {
- return jsfLibraryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibrary_ID() {
- return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibrary_Name() {
- return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibrary_JSFVersion() {
- return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibrary_Deployed() {
- return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getJSFLibrary_Implementation() {
- return (EAttribute)jsfLibraryEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the ereference
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getJSFLibrary_ArchiveFiles() {
- return (EReference)jsfLibraryEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eclass
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getArchiveFile() {
- return archiveFileEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getArchiveFile_SourceLocation() {
- return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getArchiveFile_RelativeToWorkspace() {
- return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getArchiveFile_RelativeDestLocation() {
- return (EAttribute)archiveFileEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the ereference
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getArchiveFile_JSFLibrary() {
- return (EReference)archiveFileEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eclass
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPluginProvidedJSFLibrary() {
- return pluginProvidedJSFLibraryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eattribute
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPluginProvidedJSFLibrary_PluginID() {
- return (EAttribute)pluginProvidedJSFLibraryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPluginProvidedJSFLibrary_Label() {
- return (EAttribute)pluginProvidedJSFLibraryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the eenum
- * <!-- end-user-doc -->
- * @generated
- */
- public EEnum getJSFVersion() {
- return jsfVersionEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the jsf library registry factory
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryFactory getJSFLibraryRegistryFactory() {
- return (JSFLibraryRegistryFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- jsfLibraryRegistryEClass = createEClass(JSF_LIBRARY_REGISTRY);
- createEAttribute(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__DEFAULT_IMPLEMENTATION_ID);
- createEReference(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__JSF_LIBRARIES);
- createEReference(jsfLibraryRegistryEClass, JSF_LIBRARY_REGISTRY__PLUGIN_PROVIDED_JSF_LIBRARIES);
-
- jsfLibraryEClass = createEClass(JSF_LIBRARY);
- createEAttribute(jsfLibraryEClass, JSF_LIBRARY__ID);
- createEAttribute(jsfLibraryEClass, JSF_LIBRARY__NAME);
- createEAttribute(jsfLibraryEClass, JSF_LIBRARY__JSF_VERSION);
- createEAttribute(jsfLibraryEClass, JSF_LIBRARY__DEPLOYED);
- createEAttribute(jsfLibraryEClass, JSF_LIBRARY__IMPLEMENTATION);
- createEReference(jsfLibraryEClass, JSF_LIBRARY__ARCHIVE_FILES);
-
- pluginProvidedJSFLibraryEClass = createEClass(PLUGIN_PROVIDED_JSF_LIBRARY);
- createEAttribute(pluginProvidedJSFLibraryEClass, PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID);
- createEAttribute(pluginProvidedJSFLibraryEClass, PLUGIN_PROVIDED_JSF_LIBRARY__LABEL);
-
- archiveFileEClass = createEClass(ARCHIVE_FILE);
- createEAttribute(archiveFileEClass, ARCHIVE_FILE__RELATIVE_TO_WORKSPACE);
- createEAttribute(archiveFileEClass, ARCHIVE_FILE__SOURCE_LOCATION);
- createEAttribute(archiveFileEClass, ARCHIVE_FILE__RELATIVE_DEST_LOCATION);
- createEReference(archiveFileEClass, ARCHIVE_FILE__JSF_LIBRARY);
-
- // Create enums
- jsfVersionEEnum = createEEnum(JSF_VERSION);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Add supertypes to classes
- pluginProvidedJSFLibraryEClass.getESuperTypes().add(this.getJSFLibrary());
-
- // Initialize classes and features; add operations and parameters
- initEClass(jsfLibraryRegistryEClass, JSFLibraryRegistry.class, "JSFLibraryRegistry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getJSFLibraryRegistry_DefaultImplementationID(), ecorePackage.getEString(), "DefaultImplementationID", "", 0, 1, JSFLibraryRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEReference(getJSFLibraryRegistry_JSFLibraries(), this.getJSFLibrary(), null, "JSFLibraries", null, 0, -1, JSFLibraryRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getJSFLibraryRegistry_PluginProvidedJSFLibraries(), this.getPluginProvidedJSFLibrary(), null, "PluginProvidedJSFLibraries", null, 0, -1, JSFLibraryRegistry.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- EOperation op = addEOperation(jsfLibraryRegistryEClass, this.getJSFLibrary(), "getJSFLibraryByID", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "ID", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getJSFLibrariesByName", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "name", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getImplJSFLibraries", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getNonImplJSFLibraries", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEEList(), "getAllJSFLibraries", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEBoolean(), "addJSFLibrary", 1, 1); //$NON-NLS-1$
- addEParameter(op, this.getJSFLibrary(), "library", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryRegistryEClass, ecorePackage.getEBoolean(), "removeJSFLibrary", 1, 1); //$NON-NLS-1$
- addEParameter(op, this.getJSFLibrary(), "library", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryRegistryEClass, this.getJSFLibrary(), "getDefaultImplementation", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryRegistryEClass, null, "setDefaultImplementation"); //$NON-NLS-1$
- addEParameter(op, this.getJSFLibrary(), "implementation", 1, 1); //$NON-NLS-1$
-
- initEClass(jsfLibraryEClass, JSFLibrary.class, "JSFLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getJSFLibrary_ID(), ecorePackage.getEString(), "ID", "", 0, 1, JSFLibrary.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getJSFLibrary_Name(), ecorePackage.getEString(), "Name", null, 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getJSFLibrary_JSFVersion(), this.getJSFVersion(), "JSFVersion", "UNKNOWN", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getJSFLibrary_Deployed(), ecorePackage.getEBoolean(), "Deployed", "true", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getJSFLibrary_Implementation(), ecorePackage.getEBoolean(), "Implementation", "false", 1, 1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEReference(getJSFLibrary_ArchiveFiles(), this.getArchiveFile(), this.getArchiveFile_JSFLibrary(), "ArchiveFiles", null, 0, -1, JSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryEClass, ecorePackage.getEBoolean(), "containsArchiveFile", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "fullPath", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryEClass, this.getJSFLibrary(), "getWorkingCopy", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryEClass, null, "updateValues"); //$NON-NLS-1$
- addEParameter(op, this.getJSFLibrary(), "otherLibrary", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(jsfLibraryEClass, ecorePackage.getEBoolean(), "copyTo", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "baseDestLocation", 1, 1); //$NON-NLS-1$
-
- addEOperation(jsfLibraryEClass, ecorePackage.getEString(), "getLabel", 1, 1); //$NON-NLS-1$
-
- initEClass(pluginProvidedJSFLibraryEClass, PluginProvidedJSFLibrary.class, "PluginProvidedJSFLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getPluginProvidedJSFLibrary_PluginID(), ecorePackage.getEString(), "pluginID", null, 1, 1, PluginProvidedJSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPluginProvidedJSFLibrary_Label(), ecorePackage.getEString(), "Label", null, 1, 1, PluginProvidedJSFLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(archiveFileEClass, ArchiveFile.class, "ArchiveFile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getArchiveFile_RelativeToWorkspace(), ecorePackage.getEBoolean(), "RelativeToWorkspace", "true", 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getArchiveFile_SourceLocation(), ecorePackage.getEString(), "SourceLocation", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getArchiveFile_RelativeDestLocation(), ecorePackage.getEString(), "RelativeDestLocation", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getArchiveFile_JSFLibrary(), this.getJSFLibrary(), this.getJSFLibrary_ArchiveFiles(), "JSFLibrary", null, 1, 1, ArchiveFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(archiveFileEClass, ecorePackage.getEString(), "getName", 1, 1); //$NON-NLS-1$
-
- addEOperation(archiveFileEClass, ecorePackage.getEString(), "getPath", 1, 1); //$NON-NLS-1$
-
- addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "exists", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "equals", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEJavaObject(), "object", 1, 1); //$NON-NLS-1$
-
- addEOperation(archiveFileEClass, ecorePackage.getEInt(), "hashCode", 1, 1); //$NON-NLS-1$
-
- op = addEOperation(archiveFileEClass, ecorePackage.getEBoolean(), "copyTo", 1, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "baseDestLocation", 1, 1); //$NON-NLS-1$
-
- addEOperation(archiveFileEClass, ecorePackage.getEString(), "getResolvedSourceLocation", 1, 1); //$NON-NLS-1$
-
- // Initialize enums and add enum literals
- initEEnum(jsfVersionEEnum, JSFVersion.class, "JSFVersion"); //$NON-NLS-1$
- addEEnumLiteral(jsfVersionEEnum, JSFVersion.UNKNOWN_LITERAL);
- addEEnumLiteral(jsfVersionEEnum, JSFVersion.V1_1_LITERAL);
- addEEnumLiteral(jsfVersionEEnum, JSFVersion.V1_2_LITERAL);
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //JSFLibraryRegistryPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java
deleted file mode 100644
index f4ed9570c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/PluginProvidedJSFLibraryImpl.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Plugin Provided JSF Library</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl#getPluginID <em>Plugin ID</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.impl.PluginProvidedJSFLibraryImpl#getLabel <em>Label</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- * @deprecated
- */
-public class PluginProvidedJSFLibraryImpl extends JSFLibraryImpl implements PluginProvidedJSFLibrary {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("hiding")
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPluginID()
- * @generated
- * @ordered
- */
- protected static final String PLUGIN_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getPluginID() <em>Plugin ID</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPluginID()
- * @generated
- * @ordered
- */
- protected String pluginID = PLUGIN_ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLabel()
- * @generated
- * @ordered
- */
- protected static final String LABEL_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLabel()
- * @generated
- * @ordered
- */
- protected String label = LABEL_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PluginProvidedJSFLibraryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the static eclass
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return JSFLibraryRegistryPackage.Literals.PLUGIN_PROVIDED_JSF_LIBRARY;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the plugin id
- * <!-- end-user-doc -->
- * @generated
- */
- public String getPluginID() {
- return pluginID;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newPluginID
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPluginID(String newPluginID) {
- String oldPluginID = pluginID;
- pluginID = newPluginID;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID, oldPluginID, pluginID));
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return translatable label
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getLabel() {
- if (label == null)
- return super.getLabel();
- return label;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLabel(String newLabel) {
- String oldLabel = label;
- label = newLabel;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__LABEL, oldLabel, label));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
- return getPluginID();
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__LABEL:
- return getLabel();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
- setPluginID((String)newValue);
- return;
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__LABEL:
- setLabel((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
- setPluginID(PLUGIN_ID_EDEFAULT);
- return;
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__LABEL:
- setLabel(LABEL_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__PLUGIN_ID:
- return PLUGIN_ID_EDEFAULT == null ? pluginID != null : !PLUGIN_ID_EDEFAULT.equals(pluginID);
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY__LABEL:
- return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getID() {
- return getPluginID() + ID_SEPARATOR + getName();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the working copy
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public JSFLibrary getWorkingCopy() {
- PluginProvidedJSFLibrary workingCopyLib = JSFLibraryRegistryFactory.eINSTANCE.createPluginProvidedJSFLibrary();
-// workingCopyLib.setID(getID());
- workingCopyLib.setName(getName());
- if (label != null) workingCopyLib.setLabel(getLabel());
- workingCopyLib.setJSFVersion(getJSFVersion());
- workingCopyLib.setDeployed(isDeployed());
- workingCopyLib.setImplementation(isImplementation());
- workingCopyLib.setPluginID(getPluginID());
- Iterator itArchiveFiles = getArchiveFiles().iterator();
- while (itArchiveFiles.hasNext()) {
- ArchiveFile srcArchiveFile = (ArchiveFile)itArchiveFiles.next();
- ArchiveFile destArchiveFile = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
- destArchiveFile.setRelativeToWorkspace(srcArchiveFile.isRelativeToWorkspace());
- destArchiveFile.setSourceLocation(srcArchiveFile.getSourceLocation());
- destArchiveFile.setRelativeDestLocation(srcArchiveFile.getRelativeDestLocation());
- workingCopyLib.getArchiveFiles().add(destArchiveFile);
- }
- return workingCopyLib;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the string representation
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (pluginID: "); //$NON-NLS-1$
- result.append(pluginID);
- result.append(", Label: "); //$NON-NLS-1$
- result.append(label);
- result.append(')');
- return result.toString();
- }
-
-} //PluginProvidedJSFLibraryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java
deleted file mode 100644
index 5a89728f7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryAdapterFactory.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryAdapterFactory extends AdapterFactoryImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static JSFLibraryRegistryPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = JSFLibraryRegistryPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * @param object
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected JSFLibraryRegistrySwitch modelSwitch =
- new JSFLibraryRegistrySwitch() {
- public Object caseJSFLibraryRegistry(JSFLibraryRegistry object) {
- return createJSFLibraryRegistryAdapter();
- }
- public Object caseJSFLibrary(JSFLibrary object) {
- return createJSFLibraryAdapter();
- }
- public Object casePluginProvidedJSFLibrary(PluginProvidedJSFLibrary object) {
- return createPluginProvidedJSFLibraryAdapter();
- }
- public Object caseArchiveFile(ArchiveFile object) {
- return createArchiveFileAdapter();
- }
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter)modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry <em>JSF Library Registry</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry
- * @generated
- */
- public Adapter createJSFLibraryRegistryAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary <em>JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary
- * @generated
- */
- public Adapter createJSFLibraryAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile <em>Archive File</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile
- * @generated
- */
- public Adapter createArchiveFileAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary <em>Plugin Provided JSF Library</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary
- * @generated
- */
- public Adapter createPluginProvidedJSFLibraryAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //JSFLibraryRegistryAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java
deleted file mode 100644
index 321c2b756..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceFactoryImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceImpl
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryResourceFactoryImpl extends ResourceFactoryImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryResourceFactoryImpl() {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * @param uri
- * @return the Resource
- * <!-- end-user-doc -->
- * @generated
- */
- public Resource createResource(URI uri) {
- Resource result = new JSFLibraryRegistryResourceImpl(uri);
- return result;
- }
-
-} //JSFLibraryRegistryResourceFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java
deleted file mode 100644
index 21ab70186..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryResourceImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.JSFLibraryRegistryResourceFactoryImpl
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryResourceImpl extends XMLResourceImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public JSFLibraryRegistryResourceImpl(URI uri) {
- super(uri);
- }
-
-} //JSFLibraryRegistryResourceImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java
deleted file mode 100644
index acda86934..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistrySwitch.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistry;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistrySwitch {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static JSFLibraryRegistryPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistrySwitch() {
- if (modelPackage == null) {
- modelPackage = JSFLibraryRegistryPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public Object doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch((EClass)eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case JSFLibraryRegistryPackage.JSF_LIBRARY_REGISTRY: {
- JSFLibraryRegistry jsfLibraryRegistry = (JSFLibraryRegistry)theEObject;
- Object result = caseJSFLibraryRegistry(jsfLibraryRegistry);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JSFLibraryRegistryPackage.JSF_LIBRARY: {
- JSFLibrary jsfLibrary = (JSFLibrary)theEObject;
- Object result = caseJSFLibrary(jsfLibrary);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JSFLibraryRegistryPackage.PLUGIN_PROVIDED_JSF_LIBRARY: {
- PluginProvidedJSFLibrary pluginProvidedJSFLibrary = (PluginProvidedJSFLibrary)theEObject;
- Object result = casePluginProvidedJSFLibrary(pluginProvidedJSFLibrary);
- if (result == null) result = caseJSFLibrary(pluginProvidedJSFLibrary);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case JSFLibraryRegistryPackage.ARCHIVE_FILE: {
- ArchiveFile archiveFile = (ArchiveFile)theEObject;
- Object result = caseArchiveFile(archiveFile);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>JSF Library Registry</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>JSF Library Registry</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJSFLibraryRegistry(JSFLibraryRegistry object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>JSF Library</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>JSF Library</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseJSFLibrary(JSFLibrary object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Archive File</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Archive File</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseArchiveFile(ArchiveFile object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Plugin Provided JSF Library</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Plugin Provided JSF Library</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object casePluginProvidedJSFLibrary(PluginProvidedJSFLibrary object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //JSFLibraryRegistrySwitch
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java
deleted file mode 100644
index a46aa5944..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Utility for checking for, and upgrading the JSF Library Registry when the EMF model changes.
- * @deprecated
- */
-public class JSFLibraryRegistryUpgradeUtil {
- static String v1Tov2UpgradeURL = "http://www.eclipse.org/JSFxxxxxxxxxxxxxxxxxxxxxx"; //$NON-NLS-1$
-
- /**
- * default state is OK, no upgrade
- */
- private UpgradeStatus upgradeStatus;
-
- /**
- * The workspace-relative part of the URL of the JSF Library Registry
- * persistence store. (version 1)
- */
- public static final String JSF_LIBRARY_REGISTRY_V1_URL = ".metadata/.plugins/org.eclipse.jst.jsf.core/JSFLibraryRegistry.xml"; //$NON-NLS-1$
-
- /**
- * The workspace-relative part of the URL of the JSF Library Registry
- * persistence store. (version 2)
- */
- public static final String JSF_LIBRARY_REGISTRY_V2_URL = ".metadata/.plugins/org.eclipse.jst.jsf.core/JSFLibraryRegistryV2.xml"; //$NON-NLS-1$
-
- /**
- * The LATEST VERSION of the workspace-relative part of the URL of the JSF Library Registry
- * persistence store.
- */
- public static final String JSF_LIBRARY_REGISTRY_LATESTVERSION_URL = JSF_LIBRARY_REGISTRY_V2_URL;
- /**
- * The latest version value.
- */
- public static final int LATESTVERSION = 2;
-
- private static final int NO_VERSION = 0;
-
- private static JSFLibraryRegistryUpgradeUtil INSTANCE;
-
- /**
- * @return the stateful runtime singleton
- */
- public static synchronized JSFLibraryRegistryUpgradeUtil getInstance(){
- if (INSTANCE == null){
- INSTANCE = new JSFLibraryRegistryUpgradeUtil();
- }
- return INSTANCE;
- }
-
- /**
- * Return the URI for the specified JSF Library Registry
- * @param registryVersion
- * @return URI
- * @throws MalformedURLException
- */
- public static URI getRegistryURI(String registryVersion) throws MalformedURLException {
- URL jsfLibRegURL = new URL(Platform.getInstanceLocation().getURL(), registryVersion);
- return URI.createURI(jsfLibRegURL.toString());
- }
-
- /**
- * @param originalFile
- * @return the backup file name for a file
- */
- public static String getBackupFileName(final String originalFile)
- {
- return originalFile.concat(".bkp"); //$NON-NLS-1$
- }
-
- /**
- * Upgrades the JSF Library registry from oldest to newest
- * @param expectedVersion
- */
- public void upgradeRegistryIfNecessary(int expectedVersion) {
- //when adding upgrades, the upgrades should progress from oldest to newest
- try
- {
- int curVersion = getCurVersion();
-
- if (curVersion < expectedVersion && curVersion != NO_VERSION)
- {
- UpgradeOperation op = getUpgradeOperation(curVersion);
-
- if (op.canExecute())
- {
- try
- {
- // TODO: when move to Java 5, use co-variant return
- upgradeStatus = (UpgradeStatus)
- op.execute(new NullProgressMonitor(), null);
- upgradeStatus.setUpgradeOperation(op);
- }
- catch (ExecutionException e)
- {
- // should never happen since we control the URL's
- JSFCorePlugin.log(IStatus.ERROR, "Error during loading JSF Library registry", e); //$NON-NLS-1$
- //TODO: flag failure in status
- upgradeStatus =
- new UpgradeStatus(IStatus.ERROR, true, Messages.JSFLibraryRegistryUpgradeUtil_Error);
- }
- }
- else
- {
- // TODO: what if can't execute?
- upgradeStatus =
- new UpgradeStatus(IStatus.ERROR, false, Messages.JSFLibraryRegistryUpgradeUtil_Error); }
- }
- else
- {
- // everything ok, not upgrade
- upgradeStatus = new UpgradeStatus();
- }
- }
- catch (MalformedURLException e) {
- // should never happen since we control the URL's
- JSFCorePlugin.log(IStatus.ERROR, "Error during loading JSF Library registry", e); //$NON-NLS-1$
- }
- }
-
- private int getCurVersion() throws MalformedURLException
- {
- // TODO: need generalized algorithm here
- URI v2File = getRegistryURI(JSF_LIBRARY_REGISTRY_V2_URL);
- File file = new File(v2File.toFileString());
- if (file.exists())
- {
- return 2;
- }
-
- URI v1File = getRegistryURI(JSF_LIBRARY_REGISTRY_V1_URL);
- file = new File(v1File.toFileString());
- if (file.exists())
- {
- return 1;
- }
- return NO_VERSION;
- }
-
- /**
- * @param curVersion
- * @return the upgrade operation to move from curVersion to the latest
- * @throws MalformedURLException
- */
- protected UpgradeOperation getUpgradeOperation(int curVersion) throws MalformedURLException
- {
- UpgradeOperation op = new UpgradeOperation(Messages.JSFLibraryRegistryUpgradeUtil_Operation);
- switch(curVersion)
- {
- case 1:
- op.addVersionUpgrade(
- new MigrateV1toV2Operation(Messages.JSFLibraryRegistryUpgradeUtil_v1Tov2Operation
- ,getRegistryURI(JSF_LIBRARY_REGISTRY_V1_URL)
- , getRegistryURI(JSF_LIBRARY_REGISTRY_V2_URL)));
- }
-
- return op;
- }
-
-
- /**
- * @return array of {@link UpgradeStatus}s. There can be more than one if the registry has been upgraded by more than one version.
- * Will not be null.
- */
- public UpgradeStatus getUpgradeStatus(){
- return this.upgradeStatus;
- }
-
- static void deleteFile(String fileName) {
- File f = new File(fileName);
- if (f.exists()){
- f.delete();
- if (f.exists())
- f.deleteOnExit();
- }
- }
-
- static void copyFile(String srcFileName, String destFileName) {
-
- File srcFile = new File(srcFileName);
- File destFile = new File(destFileName);
- FileInputStream from = null;
- FileOutputStream to = null;
- try {
- from = new FileInputStream(srcFile);
- to = new FileOutputStream(destFile);
- byte[] buffer = new byte[4096];
- int bytesRead;
-
- while ((bytesRead = from.read(buffer)) != -1)
- to.write(buffer, 0, bytesRead); // write
- } catch (IOException ioe){
- JSFCorePlugin.log(ioe, "Error during file copy"); //$NON-NLS-1$
- } finally {
- if (from != null)
- try {
- from.close();
- } catch (IOException e) {
- JSFCorePlugin.log(e, "Error during file close"); //$NON-NLS-1$
- }
- if (to != null)
- try {
- to.close();
- } catch (IOException e) {
- JSFCorePlugin.log(e, "Error during file close"); //$NON-NLS-1$
- }
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryXMLProcessor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryXMLProcessor.java
deleted file mode 100644
index f2b268b9b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryXMLProcessor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: JSFLibraryRegistryXMLProcessor.java,v 1.4 2008/11/18 22:23:53 gkessler Exp $
- */
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @deprecated
- */
-public class JSFLibraryRegistryXMLProcessor extends XMLProcessor {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2005 Oracle Corporation"; //$NON-NLS-1$
-
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JSFLibraryRegistryXMLProcessor() {
- super((EPackage.Registry.INSTANCE));
- JSFLibraryRegistryPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the JSFLibraryRegistryResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * @return Map of registrations
- * <!-- end-user-doc -->
- * @generated
- */
- protected Map getRegistrations() {
- if (registrations == null) {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new JSFLibraryRegistryResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new JSFLibraryRegistryResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //JSFLibraryRegistryXMLProcessor
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/Messages.java
deleted file mode 100644
index a06c4f4db..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/Messages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler.
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistryUpgradeUtil_Error;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistryUpgradeUtil_Operation;
- /**
- * see messages.properties
- */
- public static String JSFLibraryRegistryUpgradeUtil_v1Tov2Operation;
- /**
- * see messages.properties
- */
- public static String UpgradeOperation_Success;
- /**
- * see messages.properties
- */
- public static String UpgradeStatus_Error;
- /**
- * see messages.properties
- */
- public static String UpgradeStatus_OK;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/MigrateV1toV2Operation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/MigrateV1toV2Operation.java
deleted file mode 100644
index 1b1ace271..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/MigrateV1toV2Operation.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-
-/**
- * @deprecated
- */
-class MigrateV1toV2Operation extends VersionUpgradeOperation {
-
- private final URI _v1Registry;
- private final URI _v2Registry;
-
- /**
- * @param label
- * @param v1Registry
- * @param v2Registry
- */
- public MigrateV1toV2Operation(String label, URI v1Registry, URI v2Registry) {
- super(label, 1, 2);
- _v1Registry = v1Registry;
- _v2Registry = v2Registry;
- }
-
- public IStatus doCommit() {
- JSFLibraryRegistryUpgradeUtil.deleteFile(_v1Registry.toFileString());
- return Status.OK_STATUS;
- }
-
- public IStatus doExecute(IProgressMonitor monitor, IAdaptable info)
- {
- JSFLibraryRegistryUpgradeUtil.copyFile
- (_v1Registry.toFileString(), JSFLibraryRegistryUpgradeUtil.getBackupFileName(_v1Registry.toFileString()));
- JSFLibraryRegistryResourceFactoryImpl resourceFactory = new JSFLibraryRegistryResourceFactoryImpl();
- JSFLibraryRegistryResourceImpl res = (JSFLibraryRegistryResourceImpl)resourceFactory.createResource(_v1Registry);
- try {
- URI newRegURI =
- JSFLibraryRegistryUpgradeUtil.getRegistryURI
- (JSFLibraryRegistryUpgradeUtil.JSF_LIBRARY_REGISTRY_V2_URL);
- Map options = new HashMap();
- //disable notifications during load to avoid changing stored default implementation
- options.put(XMLResource.OPTION_DISABLE_NOTIFY, Boolean.TRUE);
- res.load(options);
- //if we got this far then the registry was empty
- //"upgrade" to v2 and then delete old. no point in upgrade status being sent
- JSFLibraryRegistryUtil.getInstance().saveJSFLibraryRegistry();
- JSFLibraryRegistryUpgradeUtil.copyFile(_v1Registry.toFileString(), newRegURI.toFileString());//save as v2 file
- JSFLibraryRegistryUpgradeUtil.deleteFile(_v1Registry.toFileString());
-
- return new UpgradeStatus();//all is ok and no need to alert user
-
- } catch(IOException ioe) {
- //this was expected... if there was actual v1 contents in the regsistry... upgrade by saving
- //perform save which will lose the ID
- try {
- res.save(Collections.EMPTY_MAP);
- //create v2 xml file
- URI newRegURI =
- JSFLibraryRegistryUpgradeUtil.getRegistryURI
- (JSFLibraryRegistryUpgradeUtil.JSF_LIBRARY_REGISTRY_V2_URL);
- JSFLibraryRegistryUpgradeUtil.copyFile(_v1Registry.toFileString(), newRegURI.toFileString());
- //delete upgraded v1
- JSFLibraryRegistryUpgradeUtil.deleteFile(_v1Registry.toFileString());
- //restore backup to v1 name
- JSFLibraryRegistryUpgradeUtil.copyFile(_v1Registry.toFileString().concat(".bkp"), _v1Registry.toFileString()); //$NON-NLS-1$
- //Alert end user
- return new UpgradeStatus(IStatus.OK, true, Messages.JSFRegistryMigration05_to_10_customMessage);
- } catch(IOException e) {
- JSFCorePlugin.log(IStatus.ERROR, "Error during repository upgrade from v1 to v2", e); //$NON-NLS-1$
- return new UpgradeStatus(IStatus.ERROR, false,
- Messages.JSFRegistryMigrationCannot05_to_10_customMessage);
- }
- }
- //return ;
- }
-
- public IStatus doRedo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
- return doExecute(monitor, info);
- }
-
-
- public boolean canUndo() {
- // commit is undoable for this operation
- return super.canUndo() && !hasCommitted();
- }
-
- public IStatus doUndo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- //restore backup to v1 name
- JSFLibraryRegistryUpgradeUtil.copyFile(_v1Registry.toFileString().concat(".bkp"), _v1Registry.toFileString()); //$NON-NLS-1$
-
- // delete the new registry
- JSFLibraryRegistryUpgradeUtil.deleteFile(_v2Registry.toFileString());
-
- //and the backup
- JSFLibraryRegistryUpgradeUtil.deleteFile(_v1Registry.toFileString().concat(".bkp")); //$NON-NLS-1$
-
- return Status.OK_STATUS;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeOperation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeOperation.java
deleted file mode 100644
index 205f3b88a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeOperation.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Encapsulates a chain of one or more version steps into a full upgrade.
- *
- * @author cbateman
- * @deprecated
- */
-public class UpgradeOperation extends AbstractOperation {
-
- private final List/*<VersionUpgradeOperation*/ _stepOperations;
-
- /**
- * @param label
- */
- public UpgradeOperation(String label) {
- super(label);
- _stepOperations = new ArrayList();
- }
-
- /**
- * Add upgrade operation to the list of operations.
- * Execute, undo and redo call each operation's corresponding
- * method in the order they are added to the list.
- * @param operation
- */
- public void addVersionUpgrade(VersionUpgradeOperation operation)
- {
- _stepOperations.add(operation);
- }
-
- /**
- * @param monitor
- * @param info
- * @return an OK status if all goes well. The status for the first op
- * that fails otherwise.
- * @throws ExecutionException
- */
- public IStatus execute(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
-
- boolean upgraded = false;
-
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- VersionUpgradeOperation op = (VersionUpgradeOperation) it.next();
- // TODO: move to covariant
- UpgradeStatus status = (UpgradeStatus) op.execute(monitor, info);
-
- // fail fast
- if (status.getSeverity() != IStatus.OK)
- {
- return status;
- }
-
- // once an upgrade is flagged, set flag
- if (status.isUpgradeOccurred())
- {
- upgraded = true;
- }
- }
-
- return new UpgradeStatus(IStatus.OK, upgraded, Messages.UpgradeOperation_Success);
- }
-
- /**
- * @param monitor
- * @param info
- * @return an OK status if all goes well. The status for the first op
- * that fails otherwise.
- * @throws ExecutionException
- */
- public IStatus redo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- VersionUpgradeOperation op = (VersionUpgradeOperation) it.next();
- IStatus status = op.redo(monitor, info);
-
- // fail fast
- if (status.getSeverity() != IStatus.OK)
- {
- return status;
- }
- }
-
- return new UpgradeStatus(IStatus.OK, true, Messages.UpgradeOperation_Success);
- }
-
- /**
- * @param monitor
- * @param info
- * @return an OK status if all goes well. The status for the first op
- * that fails otherwise.
- * @throws ExecutionException
- */
- public IStatus undo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- VersionUpgradeOperation op = (VersionUpgradeOperation) it.next();
- IStatus status = op.undo(monitor, info);
-
- // fail fast
- if (status.getSeverity() != IStatus.OK)
- {
- return status;
- }
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * @return an OK status if all goes well. The status for the first op
- * that fails otherwise.
- * @throws ExecutionException
- */
- public IStatus commit() throws ExecutionException
- {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- VersionUpgradeOperation op = (VersionUpgradeOperation) it.next();
-
- if (op.canCommit())
- {
- IStatus status = op.commit();
-
- // fail fast
- if (status.getSeverity() != IStatus.OK)
- {
- return status;
- }
- }
- }
-
- return Status.OK_STATUS;
- }
-
- public boolean canExecute()
- {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- IUndoableOperation op = (IUndoableOperation) it.next();
-
- // fail fast
- if (!op.canExecute())
- {
- return false;
- }
- }
-
- return true;
- }
-
- public boolean canRedo() {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- IUndoableOperation op = (IUndoableOperation) it.next();
-
- // fail fast
- if (!op.canRedo())
- {
- return false;
- }
- }
-
- return true;
- }
-
- public boolean canUndo() {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- IUndoableOperation op = (IUndoableOperation) it.next();
-
- // fail fast
- if (!op.canUndo())
- {
- return false;
- }
- }
-
- return true;
- }
-
- public void dispose()
- {
- for (final Iterator it = _stepOperations.iterator(); it.hasNext();)
- {
- IUndoableOperation op = (IUndoableOperation) it.next();
- op.dispose();
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeStatus.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeStatus.java
deleted file mode 100644
index 30a42e1f2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/UpgradeStatus.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Communicates the status of the JSF Library Registry
- * @deprecated
- */
-public class UpgradeStatus extends Status
-{
- private final boolean upgradeOccurred;
- private UpgradeOperation upgradeOperation;
-
- /**
- * All-is-well UpgradeStatus constructor
- */
- public UpgradeStatus(){
- super(IStatus.OK, JSFCorePlugin.getDefault().getPluginID(), Messages.UpgradeStatus_OK);
- this.upgradeOccurred = false;
- }
-
- /**
- * Constructor when registry upgrade has occured or there is a problem during upgrade
- * @param severity
- * @param upgradeOccurred flag
- * @param message
- *
- */
- public UpgradeStatus(int severity, boolean upgradeOccurred, String message){
- super(severity, JSFCorePlugin.getDefault().getPluginID(), message);
- this.upgradeOccurred = upgradeOccurred;
- }
-
- /**
- * @return true if a registry upgrade occurred
- */
- public boolean isUpgradeOccurred() {
- return upgradeOccurred;
- }
-
- /**
- * @return the operation used to do the upgrade.
- */
- protected UpgradeOperation getUpgradeOperation() {
- return upgradeOperation;
- }
-
- void setUpgradeOperation(UpgradeOperation upgradeOperation)
- {
- this.upgradeOperation = upgradeOperation;
- }
-
- /**
- * Commits any upgrade that has occurred
- * @return the result of the commit
- */
- public IStatus commit()
- {
- if (upgradeOperation != null)
- {
- try
- {
- return upgradeOperation.commit();
- }
- catch (ExecutionException e)
- {
- return new Status(IStatus.ERROR, JSFCorePlugin.getDefault().getPluginID(), Messages.UpgradeStatus_Error, e);
- }
- }
- return Status.OK_STATUS;
- }
-
- /**
- * @return the result of rolling back any changes
- */
- public IStatus rollback()
- {
- if (upgradeOperation != null)
- {
- try
- {
- return upgradeOperation.undo(new NullProgressMonitor(), null);
- }
- catch (ExecutionException e)
- {
- return new Status(IStatus.ERROR, JSFCorePlugin.getDefault().getPluginID(), Messages.UpgradeStatus_Error, e);
- }
- }
- return Status.OK_STATUS;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/VersionUpgradeOperation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/VersionUpgradeOperation.java
deleted file mode 100644
index 48f5b4050..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/VersionUpgradeOperation.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Implements a single step (vX -> v(X+1)) version upgrade as an
- * Eclipse operation. Adds an additional "commit" abstract method. This
- * can be called after execute in situations where further actions require
- * user approval etc. See the javadocs for the method, it contains important
- * API rules
- *
- * @author cbateman
- * @deprecated
- */
-public abstract class VersionUpgradeOperation extends AbstractOperation
-{
- /**
- * the version being upgraded from
- */
- protected final int _oldVersion;
- /**
- * the version being upgraded to
- */
- protected final int _newVersion;
-
- private boolean _hasExecuted;
- private boolean _hasCommitted;
- private boolean _hasCleanState = true;
-
- /**
- * @param label
- * @param oldVersion
- * @param newVersion
- */
- public VersionUpgradeOperation(String label, int oldVersion, int newVersion) {
- super(label);
- _oldVersion = oldVersion;
- _newVersion = newVersion;
- }
-
- /**
- * Allows selected functionality to be called after execute is called.
- * Commit must conform to following contract:
- *
- * 1) should do nothing if execute() has not been called.
- * 2) must do nothing if canCommit == false
- * 3) once executed, undo should undo commit() first, then execute()
- * 4) once undone, redo should call commit only if it was called before undo()
- * @return must conform to same contract as execute()
- * @throws ExecutionException
- *
- */
- public final IStatus commit() throws ExecutionException
- {
- if (canCommit())
- {
- IStatus result = doCommit();
- if (result.getSeverity() == IStatus.OK)
- {
- _hasCommitted = true;
- }
- else
- {
- _hasCommitted = false;
- _hasCleanState = false;
- }
- return result;
- }
- throw new ExecutionException("Cannot execute"); //$NON-NLS-1$
- }
-
- /**
- * @return the result of the actual commit
- * @throws ExecutionException
- */
- protected abstract IStatus doCommit() throws ExecutionException;
-
- /**
- * @return true if the operation can be committed
- */
- public boolean canCommit()
- {
- return _hasExecuted && !_hasCommitted && _hasCleanState;
- }
-
- public final IStatus execute(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- if (canExecute())
- {
- IStatus result = doExecute(monitor, info);
- if (result.getSeverity() == IStatus.OK)
- {
- _hasExecuted = true;
- }
- else
- {
- _hasExecuted = false;
- _hasCleanState = false;
- }
- return result;
- }
- throw new ExecutionException("Cannot execute"); //$NON-NLS-1$
- }
-
- /**
- * @param monitor
- * @param info
- * @return the status of the real execution
- * @throws ExecutionException
- */
- protected abstract IStatus doExecute(IProgressMonitor monitor, IAdaptable info)throws ExecutionException;
-
- public final IStatus redo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
- if (canRedo())
- {
- IStatus result = doRedo(monitor, info);
- if (result.getSeverity() == IStatus.OK)
- {
- _hasExecuted = true;
- }
- else
- {
- _hasExecuted = false;
- _hasCleanState = false;
- }
- return result;
- }
- throw new ExecutionException("Cannot redo"); //$NON-NLS-1$
- }
-
- /**
- * @param monitor
- * @param info
- * @return the status of the real redo
- * @throws ExecutionException
- */
- protected abstract IStatus doRedo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException;
-
- public final IStatus undo(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException {
- if (canUndo())
- {
- IStatus result = doUndo(monitor, info);
- if (result.getSeverity() == IStatus.OK)
- {
- _hasExecuted = false;
- }
- else
- {
- _hasExecuted = true;
- _hasCleanState = false;
- }
- return result;
- }
- throw new ExecutionException("Cannot redo"); //$NON-NLS-1$
- }
-
- /**
- * @param monitor
- * @param info
- * @return the status of the real redo
- * @throws ExecutionException
- */
- protected abstract IStatus doUndo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException;
-
- public boolean canExecute() {
- return !_hasExecuted && _hasCleanState;
- }
-
- public boolean canRedo() {
- return canExecute();
- }
-
- public boolean canUndo() {
- return _hasExecuted && _hasCleanState;
- }
-
- /**
- * @param executed
- */
- protected void setHasExecuted(boolean executed) {
- _hasExecuted = executed;
- }
-
- /**
- * @param committed
- */
- protected void setHasCommitted(boolean committed) {
- _hasCommitted = committed;
- }
-
- /**
- * @param cleanState
- */
- protected void setHasCleanState(boolean cleanState) {
- _hasCleanState = cleanState;
- }
-
- /**
- * @return true if has executed
- */
- protected boolean hasExecuted() {
- return _hasExecuted;
- }
-
- /**
- * @return true if has committed
- */
- protected boolean hasCommitted() {
- return _hasCommitted;
- }
-
- /**
- * @return true if has clean state
- */
- protected boolean hasCleanState() {
- return _hasCleanState;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/messages.properties
deleted file mode 100644
index 8595e8582..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-JSFLibraryRegistryUpgradeUtil_Error=Error detected during upgrade\!
-JSFLibraryRegistryUpgradeUtil_Operation=JSF Registry Upgrade
-JSFLibraryRegistryUpgradeUtil_v1Tov2Operation=Upgrade v1 to v2
-UpgradeOperation_Success=Upgrade successful.
-UpgradeStatus_Error=Error committing status
-UpgradeStatus_OK=OK
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java
deleted file mode 100644
index 3bfc32e1f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/launch/JSFFileURL.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.launch;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.j2ee.internal.web.jfaces.extension.FileURL;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.jsf.core.internal.project.facet.JSFUtilFactory;
-import org.eclipse.jst.jsf.core.internal.project.facet.JSFUtils;
-
-/**
- * Extends the FileURL extension-point so that a JSF JSP page
- * can have it's URL mapped to the Faces Servlet using the servlet-mapping
- * specified in the web.xml file
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public class JSFFileURL implements FileURL
-{
-
- /**
- * If this is a JSP page, this will return a URL using the first valid servlet-mapping to the Faces Servlet
- * if found. If the faces servlet is not defined in the web.xml or there is no servlet-mapping, this will return null.
- *
- * The resource's file extension is compared with the javax.faces.DEFAULT_SUFFIX context-param if set. If the same, then
- * extension mapping will be used if found in the web.xml. If not set, "jsp" default is assumed. If resource does not have the default
- * file extension, then it must have either: jsp,jspx, or jsf file extensions in order to be considered for launch.
- *
- * This will not guarentee a page to be run. The user will still need a properly configured server with valid URL mappings and
- * context-params.
- *
- * TODO: We could detect and insert or just warn for context-params and url mappings to run. However, this would better detected during a JSF App validation step.
- *
- * @see org.eclipse.jst.j2ee.internal.web.jfaces.extension.FileURL#getFileURL(org.eclipse.core.resources.IResource, org.eclipse.core.runtime.IPath)
- */
- public IPath getFileURL(IResource resource, IPath existingURL) {
-
- //is this is a Faces Project with a Faces Servlet?
- //we will not check to see if facet is installed.
- // check to see if this resource is a JSF page (currently always true) and then,
- //if servlet is present, we will change the url based on first mapping found
- IModelProvider provider = ModelProviderManager.getModelProvider(resource.getProject());
- Object webAppObj = provider.getModelObject();
- final JSFUtils jsfUtil = new JSFUtilFactory().create(resource.getProject());
- if (webAppObj != null && jsfUtil != null){
- //methods below returning the path are identical except for the APIs required
- return jsfUtil.getFileUrlPath(webAppObj, resource, existingURL);
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties
deleted file mode 100644
index 57bad766b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/messages.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Oracle Corporation.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Gerry Kessler - initial API and implementation
-# Ian Trimble - change key names for use with org.eclipse.osgi.util.NLS
-###############################################################################
-JSFLibraryRegistry_ErrorCreatingURL=Error creating URL for JSF Library Registry
-JSFLibraryRegistry_NoLoadCreatingNew=Could not load JSF Library Registry; creating new registry
-JSFLibraryRegistry_ErrorSaving=Error saving JSF Library Registry
-JSFLibraryRegistry_DEFAULT_IMPL_LABEL=<Default>
-JSFLibraryConfigModel_Null_Data_Source=Data Source is not provided.
-JSFLibraryRegistry_ErrorLoadingFromExtPt=Error while loading JSF Libraries from extension points
-JSFLibraryClasspathContainer_IMPL_LIBRARY=[JSF Library - implementation]
-
-JSFLibraryValidator_MISSING_JSF_IMPLEMENTATION_CLASSES=Selected libraries are missing key JSF implementation classes (javax.faces.*)
-
-JSFFacetInstallDataModelProvider_ValidateServletName=Specify a servlet name to use
-JSFLibraryConfigPersistData_SAVED_IMPLLIB_NOT_FOUND=Saved JSF implementation library in {0} is unavailable in JSF Library Registry
-JSFLibraryConfigPersistData_SAVED_COMPLIB_NOT_FOUND=Saved JSF component library in {0} is unavailable in JSF Library Registry
-JSFLibraryClasspathContainer_NON_IMPL_LIBRARY=[JSF Library]
-JSFLibrariesContainerInitializer_missing_library=[missing JSF Library]
-JSFFacetInstallDataModelProvider_DupeJarValidation=Duplicated jar on classpath: {0}
-JSFFacetInstallDataModelProvider_ValidateConfigFilePath=The configuration file path is not valid
-JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty=Specify a valid name and location for JSF configuration file
-JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1=Configuration file must be specified relative to the project''s {0} folder
-JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2=Configuration file must be located in the project''s {0} folder
-JSFFacetInstallDataModelProvider_INITIAL_VALIDATION_IMPL_TYPE=Select an implementation library. If a server supplied library is chosen , the chosen server adapter must be capable of providing the JSF Implementation jars, or the application will not validate or compile.
-JSFFacetInstallDataModelProvider_INVALID_JSF_CONFIG_FILE_NAME=Not a valid JSF configuration file name
-JSFFacetInstallDataModelProvider_ValidateConfigFileXML=JSF configuration file must be an XML file
-JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes=Configuration file path must not contain "\\"s. Use "/" instead.
-JSFLibCfgDialogSettingData_Sticky_Component_Lib_Not_Exist=A sticky component library selection no longer exists.
-
-JSFFacetInstallDelegate_AllowJavascriptDescription=\n\tThis parameter tells MyFaces if javascript code should be allowed in\n\tthe rendered HTML output.\n\tIf javascript is allowed, command_link anchors will have javascript code\n\tthat submits the corresponding form.\n\tIf javascript is not allowed, the state saving info and nested parameters\n\twill be added as url parameters.\n\tDefault is 'true'
-JSFFacetInstallDelegate_AutoScrollDescription=\n\tIf true, a javascript function will be rendered that is able to restore the\n\tformer vertical scroll on every request. Convenient feature if you have pages\n\twith long lists and you do not want the browser page to always jump to the top\n\tif you trigger a link or button action that stays on the same page.\n\tDefault is 'false'\n
-JSFFacetInstallDelegate_InternalErr=Internal Error creating JSF Facet. Missing configuration.
-JSFFacetInstallDelegate_ConfigErr=''{0}'' : unable to configure web module for JavaServer Faces
-JSFFacetInstallDelegate_MaxFileSizeDescription=\n\tSet the size limit for uploaded files. Format: 10 - 10 bytes\n\t10k - 10 KB 10m - 10 MB 1g - 1 GB
-JSFFacetInstallDelegate_NonUpdateableWebXML=JSF Facet was not installed on ''{0}''. The web.xml file needs to be updateable.
-JSFFacetInstallDelegate_PrettyHtmlDescription=\n\tIf true, rendered HTML code will be formatted, so that it is 'human-readable'\n\ti.e. additional line separators and whitespace will be written, that do not\n\tinfluence the HTML code.\n\tDefault is 'true'
-JSFFacetInstallDelegate_StateSavingMethod=State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2
-JSFFacetUninstallDelegate_ConfigErr=''{0}'' : unable to de-configure web module for JavaServer Faces
-JSFFacetUninstallDelegate_NonUpdateableWebXML=JSF Facet was not un-installed from ''{0}''. The web.xml file needs to be updateable.
-
-ArchiveFileImpl_CannotCopyFile=Cannot copy file
-ArchiveFileImpl_CannotCloseFile=Cannot close file
-ArchiveFileImpl_CannotLocatePluginRelativeFile=Cannot locate plugin-relative file "{0}"
-
-PluginProvidedJSFLibraryCreationHelper_ErrorCreating=Unable to create JSF Library: {0}
-PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition={0} defined multiple times in {1}
-
-JSFUtils_ErrorCreatingConfigFile=Error creating config file
-JSFUtils_ErrorClosingConfigFile=Error closing config file
-
-JSFAppConfigUtils_ErrorOpeningJarFile=Error opening JarFile "{0}"
-
-JARFileJSFAppConfigProvider_ErrorLoadingModel=Error loading model for file "{0}"
-JSFUtils_MissingJAR= Missing JSF Library Jar: {0} in {1}
-Could_Not_GetJSFVersion=Could not get valid JSF version from facet {0}
-
-J2EEModuleDependencyDelegate_UpdatingJ2EEModuleDependencies=Updating J2EE Module Dependencies
-J2EEModuleDependencyDelegate_UpdatingJ2EEModuleDependenciesForProject=Updating J2EE Module Dependencies for project "{0}"
-
-JSFRegistryMigration05_to_10_title=User Intervention Required
-JSFRegistryMigration05_to_10_message=IMPORTANT! Please read below:
-JSFRegistryMigration05_to_10_customMessage=You have loaded a workspace created with a previous \
-version of JSF Tools.\nYour JSF Library Registry is out of date and needs to be migrated forward to continue.\n\
-If you choose to proceed, be aware of the following consequences:\n\
-\n\
-1) Projects in this workspace will need to be manually migrated by you to work in this version of JSF Tools.\n\
-2) Once migrated, this workspace will no longer work in older versions of JSF Tools.\n\
-\n\
-If this is not what you want, exit immediately and your workspace will still load in older versions.
-
-JSFRegistryMigrationCannot05_to_10_title=Error During Registry Upgrade
-JSFRegistryMigrationCannot05_to_10_message=IMPORTANT! Please read below:
-JSFRegistryMigrationCannot05_to_10_customMessage=You a loaded a workspace created with a previous \
-version of JSF Tools.\nYour JSF Library Registry is out of date and needs to be migrated forward to continue.\n\
-However, the existing registry has a problem and cannot be upgraded.
-RegistryMigrationStartupHandler_Error_committing_migration=Error committing migration\!
-RegistryMigrationStartupHandler_Error_Rolling_Back_Migration=Error rolling back migration\!
-RegistryMigrationStartupHandler_Dialog_Confirm_Migration=Confirm
-RegistryMigrationStartupHandler_Dialog_Abort_And_Exit_Migration=Abort and Exit
-RegistryMigrationStartupHandler_Launch_Migration_Doc_On_Confirm=Launch Migration Doc on Confirm
-RegistryUpgradeCommitHandler_Text=An unrecoverable error occurred while trying to migrate your JSF Library Registry to a newer version. This may cause your library references to be broken in your JSF projects.
-RegistryUpgradeCommitHandler_Title=Serious Error Encountered\!
-
-JSFFacet11_presetLabel = JavaServer Faces v1.1 Project
-JSFFacet11_presetDescription = Configures a Dynamic Web application to use JSF v1.1
-
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java
deleted file mode 100644
index 696e3d734..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/IJSFFacetInstallDataModelProperties.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetInstallDataModelProperties;
-
-/**
- * Defines properties used by the JSF facet install data model.
- *
- * @author Gerry Kessler - Oracle
- */
-public interface IJSFFacetInstallDataModelProperties extends
- IFacetInstallDataModelProperties {
-
- /**
- * Refers to the path where the faces config file will be created.
- * Expects a string that can be interpreted as a web root relative path.
- */
- public static final String CONFIG_PATH = "IJSFFacetInstallDataModelProperties.CONFIG_PATH"; //$NON-NLS-1$
-
- /**
- * TODO:
- */
- public static final String SERVLET_NAME = "IJSFFacetInstallDataModelProperties.SERVLET_NAME"; //$NON-NLS-1$
-
- /**
- * TODO:
- */
- public static final String SERVLET_CLASSNAME = "IJSFFacetInstallDataModelProperties.SERVLET_CLASSNAME"; //$NON-NLS-1$
-
- /**
- * Refers to configuration information about servlet url patterns to add on install
- * The model value must be a String[].
- */
- public static final String SERVLET_URL_PATTERNS = "IJSFFacetInstallDataModelProperties.SERVLET_URL_PATTERNS"; //$NON-NLS-1$
-
- /**
- * TODO:
- */
- public static final String WEBCONTENT_DIR = "IJSFFacetInstallDataModelProperties.WEBCONTENT_DIR"; //$NON-NLS-1$
-
- /**
- * TODO:
- */
- public static final String LIBRARY_PROVIDER_DELEGATE = "IJSFFacetInstallDataModelProperties.LIBRARY_PROVIDER_DELEGATE"; //$NON-NLS-1$
-
- /**
- * TODO:
- */
- public static final String COMPONENT_LIBRARIES = "IJSFFacetInstallDataModelProperties.COMPONENT_LIBRARIES"; //$NON-NLS-1$
-
- /**
- * If this property is true, configure FacesServlet in web.xml. If false, no configuration should be done.
- */
- public static final String CONFIGURE_SERVLET = "IJSFFacetInstallDataModelProperties.CONFIGURE_SERVLET"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/J2EEUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/J2EEUtils.java
deleted file mode 100644
index 80087aec5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/J2EEUtils.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation and/or initial documentation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.common.CommonFactory;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.ServletMapping;
-import org.eclipse.jst.j2ee.webapplication.ServletType;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-
-/**
- * Web.xml access for J2EE applications (web version 2.3 and 2.4)
- */
-public class J2EEUtils {
-
- /**
- * Finds and returns a Servlet definition, or null if servlet is not defined.
- *
- * @param webApp
- * @param servletName
- * @return Servlet or null
- */
- public static Servlet findServlet(final WebApp webApp, String servletName)
- {
- if (webApp == null)
- {
- return null;
- }
-
- final Iterator it = webApp.getServlets().iterator();
-
- while (it.hasNext())
- {
- final Servlet servlet = (Servlet) it.next();
- if (servlet != null && servlet.getWebType() != null)
- {
- if (servlet.getWebType().isServletType())
- {
- if (((ServletType) servlet.getWebType()).getClassName() != null
- && ((ServletType) servlet.getWebType())
- .getClassName().trim().equals(servletName))
- {
- return servlet;
- }
- }
- }
- }
-
- // if we get to here then we have finished the loop
- // without finding the servlet we're looking for
- return null;
- }
-
- /**
- * Creates servlet reference in WebApp if not present or updates servlet
- * name if found using the passed configuration.
- *
- * @param webApp
- * @param displayName
- * @param className
- * @param servlet
- * @return Servlet servlet - if passed servlet was null, will return created
- * servlet
- */
- public static Servlet createOrUpdateServletRef(final WebApp webApp,
- String displayName, String className, Servlet servlet)
- {
- if (servlet == null)
- {
- // Create the servlet instance and set up the parameters from data
- // model
- servlet = WebapplicationFactory.eINSTANCE.createServlet();
- servlet.setServletName(displayName);
-
- ServletType servletType = WebapplicationFactory.eINSTANCE
- .createServletType();
- servletType.setClassName(className);
- servlet.setWebType(servletType);
- servlet.setLoadOnStartup(Integer.valueOf(1));
- // Add the servlet to the web application model
- webApp.getServlets().add(servlet);
- }
- else
- {
- // update
- updateServletMappings(webApp, servlet, displayName);
- servlet.setServletName(displayName);
- servlet.setLoadOnStartup(Integer.valueOf(1));
- }
- return servlet;
- }
-
- /**
- * Updates servlet mapping
- *
- * @param webApp
- * @param servlet
- * @param displayName
- */
- public static void updateServletMappings(final WebApp webApp,
- final Servlet servlet, final String displayName)
- {
- List<ServletMapping> mappings = findServletMappings(webApp, servlet);
- for (ServletMapping map : mappings)
- {
- map.setName(displayName);
- }
-
- }
-
- /**
- * Finds mapping for given servlet
- *
- * @param webApp
- * @param servlet
- * @return List of mappings
- */
- public static List<ServletMapping> findServletMappings(final WebApp webApp, final Servlet servlet) {
- String servletName = servlet.getServletName();
- servletName = servletName != null ? servletName.trim() : servletName;
- final List<ServletMapping> mappings = new ArrayList<ServletMapping>();
- final List<ServletMapping> allMappings = webApp.getServletMappings();
- for (int i=allMappings.size()-1;i>=0;--i){
- ServletMapping mapping = allMappings.get(i);
- if (mapping != null &&
- mapping.getServlet() != null &&
- mapping.getServlet().getServletName() != null &&
- mapping.getServlet().getServletName().trim().equals(servletName))
- mappings.add(mapping);
- }
- return mappings;
- }
-
- /**
- * Creates servlet-mappings for the servlet
- *
- * @param webApp
- * @param urlMappingList - list of string values to be used in url-pattern for servlet-mapping
- * @param servlet
- */
- public static void setUpURLMappings(final WebApp webApp, final List urlMappingList,
- final Servlet servlet) {
- // Add mappings
- Iterator it = urlMappingList.iterator();
- while (it.hasNext()) {
- String pattern = (String) it.next();
- if (!(doesServletMappingExist(webApp, servlet, pattern))){
- ServletMapping mapping = WebapplicationFactory.eINSTANCE
- .createServletMapping();
- mapping.setServlet(servlet);
- mapping.setName(servlet.getServletName());
- mapping.setUrlPattern(pattern);
- webApp.getServletMappings().add(mapping);
- }
- }
- }
-
- /**
- * Checks whether given mapping exists for the given servlet
- * @param webApp
- * @param servlet
- * @param pattern
- * @return true or false
- */
- public static boolean doesServletMappingExist(final WebApp webApp, final Servlet servlet,
- final String pattern) {
-
- List mappings = webApp.getServletMappings();
- String servletName = servlet.getServletName();
- if (servletName != null)
- {
- final Iterator it = mappings.iterator();
- while(it.hasNext())
- {
- ServletMapping mapping = (ServletMapping) it.next();
- if (mapping != null &&
- mapping.getServlet() != null &&
- mapping.getServlet().getServletName() != null &&
- mapping.getServlet().getServletName().trim().equals(servletName) &&
- mapping.getUrlPattern() != null &&
- mapping.getUrlPattern().trim().equals(pattern)) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Removes servlet-mappings for servlet using servlet-name.
- * @param webApp
- * @param servlet
- */
- public static void removeURLMappings(final WebApp webApp, final Servlet servlet) {
- List mappings = webApp.getServletMappings();
- String servletName = servlet.getServletName();
- if (servletName != null) {
- for (int i=mappings.size()-1;i>=0;--i){
- ServletMapping mapping = (ServletMapping)mappings.get(i);
- if (mapping != null &&
- mapping.getServlet() != null &&
- mapping.getServlet().getServletName() != null &&
- mapping.getServlet().getServletName().trim()
- .equals(servletName)) {
- mappings.remove(mapping);
- }
- }
- }
- }
-
- /**
- * Removes servlet definition
- * @param webApp
- * @param servlet
- */
- public static void removeServlet(final WebApp webApp, final Servlet servlet) {
- webApp.getServlets().remove(servlet);
- }
-
- /**
- * Removes context-param
- * @param webApp
- * @param paramName
- */
- public static void removeContextParam(final WebApp webApp, String paramName) {
- if ("2.3".equals(webApp.getVersion())) //$NON-NLS-1$
- {
- Iterator it = webApp.getContexts().iterator();
- while (it.hasNext())
- {
- final ContextParam cp = (ContextParam) it.next();
- if (cp.getParamName().equals(paramName))
- {
- webApp.getContexts().remove(cp);
- break;
- }
- }
- }
- else if ("2.4".equals(webApp.getVersion())) //$NON-NLS-1$
- {
- Iterator it = webApp.getContextParams().iterator();
- while (it.hasNext())
- {
- ParamValue cp = (ParamValue) it.next();
- if (cp.getName().equals(paramName)) {
- webApp.getContextParams().remove(cp);
- break;
- }
- }
- }
- }
-
-
- /**
- * Creates or updates context-param in v 2.3 WebApp
- * @param webApp
- * @param paramName
- * @param paramValue
- */
- public static void setupContextParamForV2_3(final WebApp webApp, String paramName, String paramValue) {
-
- // if not default name and location, then add context param
- ContextParam cp = null;
- ContextParam foundCP = null;
- boolean found = false;
- // check to see if present
- Iterator it = webApp.getContexts().iterator();
- while (it.hasNext()) {
- cp = (ContextParam) it.next();
- if (cp != null &&
- cp.getParamName() != null &&
- cp.getParamName().equals(paramName)) {
- foundCP = cp;
- found = true;
- }
- }
- if (!found) {
- cp = WebapplicationFactory.eINSTANCE.createContextParam();
- cp.setParamName(paramName);
- cp.setParamValue(paramValue);
- webApp.getContexts().add(cp);
- } else {
- cp = foundCP;
- if (cp.getParamValue().indexOf(paramValue) < 0) {
- String curVal = cp.getParamValue();
- String val = paramValue;
- if (curVal != null && !"".equals(curVal.trim())) { //$NON-NLS-1$
- val = curVal + ",\n" + val; //$NON-NLS-1$
- }
- cp.setParamValue(val);
- }
- }
- }
-
-
- /**
- * Creates or updates context-param in v 2.4 WebApp
- * @param webApp
- * @param paramName
- * @param paramValue
- */
- public static void setupContextParamForV2_4(final WebApp webApp, String paramName, String paramValue) {
- // if not default name and location, then add context param
- ParamValue foundCP = null;
- ParamValue cp = null;
- boolean found = false;
- // check to see if present
- Iterator it = webApp.getContextParams().iterator();
- while (it.hasNext()) {
- cp = (ParamValue) it.next();
- if (cp != null &&
- cp.getName() != null &&
- cp.getName().trim().equals(paramName)) {
- foundCP = cp;
- found = true;
- }
- }
- if (!found) {
- ParamValue pv = CommonFactory.eINSTANCE.createParamValue();
- pv.setName(paramName);
- pv.setValue(paramValue);
- webApp.getContextParams().add(pv);
- } else {
- cp = foundCP;
- if (cp.getValue().indexOf(paramValue) < 0) {
- String curVal = cp.getValue();
- String val = paramValue;
- if (curVal != null && !"".equals(curVal.trim())) { //$NON-NLS-1$
- val = curVal + ",\n" + val; //$NON-NLS-1$
- }
- cp.setValue(val);
- }
- }
- }
-
- /**
- * Creates or updates context-param
- * @param webApp
- * @param paramName
- * @param paramValue
- */
- public static void setupContextParam(final WebApp webApp, String paramName, String paramValue) {
- if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_3_ID)//shouldn't have to do it this way, but that's the way it goes 119442
- {
- setupContextParamForV2_3(webApp, paramName, paramValue);
- }
- else if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_4_ID)
- {
- setupContextParamForV2_4(webApp, paramName, paramValue);
- }
- else
- {
- throw new IllegalArgumentException("Invalid argument: "+webApp.getVersionID()); //$NON-NLS-1$
- }
- }
-
- /**
- * @param webApp
- * @param paramName
- * @return context-param value or null if context-param is not found
- */
- public static String getContextParam(final WebApp webApp, String paramName)
- {
- if ("2.3".equals(webApp.getVersion())) //$NON-NLS-1$
- {
- for (Iterator it = webApp.getContexts().iterator(); it.hasNext();)
- {
- ContextParam cp = (ContextParam) it.next();
- if (cp != null &&
- cp.getParamName() != null &&
- cp.getParamName().trim().equals(paramName)) {
- return cp.getParamValue();
- }
- }
- }
- else if ("2.4".equals(webApp.getVersion())) //$NON-NLS-1$
- {
- for (Iterator it = webApp.getContextParams().iterator(); it.hasNext();)
- {
- ParamValue cp = (ParamValue) it.next();
- if (cp != null &&
- cp.getName() != null &&
- cp.getName().trim().equals(paramName)) {
- return cp.getValue();
- }
- }
- }
- return null;
- }
-
- /**
- * @param map
- * @return extension from map. Will return null if file extension not found
- * in url patterns.
- */
- public static String getFileExtensionFromMap(final ServletMapping map)
- {
- final String urlPattern = map.getUrlPattern();
- if (urlPattern != null
- && urlPattern.trim().length() != 0)
- {
- IPath extPath = new Path(map.getUrlPattern());
- if (extPath != null)
- {
- String ext = extPath.getFileExtension();
- if (ext != null && ext.trim().length() != 0)
- {
- return ext;
- }
- }
- }
- return null;
- }
-
- /**
- * @param map
- * @return prefix mapping. may return null.
- */
- public static String getPrefixMapping(final ServletMapping map)
- {
- final String urlPattern = map.getUrlPattern();
- if (urlPattern != null && urlPattern.trim().length() != 0)
- {
- IPath extPath = new Path(urlPattern);
- if (extPath != null)
- {
- String ext = extPath.getFileExtension();
- if (ext == null)
- {
- String lastSeg = extPath.lastSegment();
- if (lastSeg != null && lastSeg.equals("*")) //$NON-NLS-1$
- {
- return extPath.removeLastSegments(1).toString();
- }
-
- return extPath.toString();
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JEEUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JEEUtils.java
deleted file mode 100644
index d3d20f644..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JEEUtils.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation and/or initial documentation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.javaee.core.JavaeeFactory;
-import org.eclipse.jst.javaee.core.ParamValue;
-import org.eclipse.jst.javaee.core.UrlPatternType;
-import org.eclipse.jst.javaee.web.Servlet;
-import org.eclipse.jst.javaee.web.ServletMapping;
-import org.eclipse.jst.javaee.web.WebApp;
-import org.eclipse.jst.javaee.web.WebFactory;
-
-/**
- * Web.xml access for JEE applications (web version 2.5 and above)
- */
-public class JEEUtils {
- /**
- * Finds and returns a Servlet definition, or null if servlet is not defined.
- *
- * @param webApp
- * @param servletName
- * @return Servlet or null
- */
- public static Servlet findServlet(final WebApp webApp, String servletName)
- {
- if (webApp == null)
- {
- return null;
- }
-
- for (final Servlet servlet : webApp.getServlets())
- {
- if (servlet != null &&
- servlet.getServletClass() != null
- && servlet.getServletClass().trim().equals(servletName))
- {
- return servlet;
- }
- }
-
- // if we get to here then we have finished the loop
- // without finding the servlet we're looking for
- return null;
- }
-
- /**
- * Creates servlet reference in WebApp if not present or updates servlet name if found
- * using the passed configuration.
- *
- * @param webApp
- * @param displayName
- * @param className
- * @param servlet
- * @return Servlet servlet - if passed servlet was null, will return created servlet
- */
- public static Servlet createOrUpdateServletRef(final WebApp webApp,
- String displayName, String className, Servlet servlet) {
-
- if (servlet == null){
- // Create the servlet instance and set up the parameters from data
- // model
- servlet = WebFactory.eINSTANCE.createServlet();
- servlet.setServletName(displayName);
- servlet.setServletClass(className);
- servlet.setLoadOnStartup(Integer.valueOf(1));
- // Add the servlet to the web application model
- webApp.getServlets().add(servlet);
-
- } else {
- updateServletMappings(webApp, servlet, displayName);
- servlet.setServletName(displayName);
- servlet.setLoadOnStartup(Integer.valueOf(1));
- }
- return servlet;
- }
-
- /**
- * Updates servlet mapping
- *
- * @param webApp
- * @param servlet
- * @param displayName
- */
- public static void updateServletMappings(final WebApp webApp,
- final Servlet servlet, final String displayName)
- {
- // update mappings for new name
- ServletMapping mapping = findServletMapping(webApp, servlet);
- if (mapping != null)
- {
- mapping.setServletName(displayName);
- }
- }
-
- /**
- * Finds mapping for given servlet
- *
- * @param webApp
- * @param servlet
- * @return List of mappings
- */
- public static ServletMapping findServletMapping(final WebApp webApp, final Servlet servlet) {
- for (Iterator it=webApp.getServletMappings().iterator();it.hasNext();){
- ServletMapping mapping = (ServletMapping)it.next();
- if (mapping.getServletName() != null &&
- servlet.getServletName() != null &&
- mapping.getServletName().trim().equals(servlet.getServletName().trim()))
- return mapping;
- }
- return null;
- }
-
- /**
- * Creates servlet-mappings for the servlet for 2.5 WebModules or greated
- *
- * @param webApp
- * @param urlMappingList
- * - list of string values to be used in url-pattern for
- * servlet-mapping
- * @param servlet
- */
- public static void setUpURLMappings(final WebApp webApp,
- final List<String> urlMappingList, final Servlet servlet)
- {
-
- if (urlMappingList.size() > 0)
- {
- ServletMapping mapping = findServletMapping(webApp, servlet);
- if (mapping == null)
- {
- mapping = WebFactory.eINSTANCE
- .createServletMapping();
- mapping.setServletName(servlet.getServletName());
- webApp.getServletMappings().add(mapping);
- }
- // Add patterns
- for (final String pattern : urlMappingList)
- {
- if (!(doesServletMappingPatternExist(webApp, servlet, pattern)))
- {
- UrlPatternType urlPattern = JavaeeFactory.eINSTANCE
- .createUrlPatternType();
- urlPattern.setValue(pattern);
- mapping.getUrlPatterns().add(urlPattern);
- }
- }
- }
- }
-
- /**
- * Checks whether given mapping exists for the given servlet
- * @param webApp
- * @param servlet
- * @param pattern
- * @return true or false
- */
- public static boolean doesServletMappingPatternExist(final WebApp webApp,
- final Servlet servlet, final String pattern)
- {
- List<ServletMapping> mappings = webApp.getServletMappings();
- String servletName = servlet.getServletName();
- if (servletName != null)
- {
- servletName = servletName.trim();
- for (final ServletMapping mapping : mappings)
- {
- if (mapping != null &&
- mapping.getServletName() != null &&
- servletName.equals(mapping.getServletName().trim()))
- {
- for (final UrlPatternType urlPattern : mapping.getUrlPatterns())
- {
- String patternTypeValue = urlPattern.getValue();
- if (patternTypeValue != null
- && pattern.equals(patternTypeValue.trim()))
- return true;
- }
- }
- }
- }
- return false;
- }
-
- /**
- * Removes servlet-mappings for servlet using servlet-name for >= 2.5 WebModules.
- * @param webApp
- * @param servlet
- */
- public static void removeURLMappings(final WebApp webApp, final Servlet servlet) {
- List mappings = webApp.getServletMappings();
- String servletName = servlet.getServletName();
- if (servletName != null) {
- servletName = servletName.trim();
- for (int i=mappings.size()-1;i>=0;--i){
- ServletMapping mapping = (ServletMapping)mappings.get(i);
- if (mapping != null &&
- mapping.getServletName() != null &&
- mapping.getServletName().trim()
- .equals(servletName)) {
- mappings.remove(mapping);
- }
- }
- }
- }
-
- /**
- * Removes servlet definition
- * @param webApp
- * @param servlet
- */
- public static void removeServlet(final WebApp webApp, final Servlet servlet) {
- webApp.getServlets().remove(servlet);
- }
-
- /**
- * Removes context-param
- * @param webApp
- * @param paramName
- */
- public static void removeContextParam(final WebApp webApp, String paramName) {
- Iterator it = webApp.getContextParams().iterator();
- while (it.hasNext()) {
- ParamValue cp = (ParamValue) it.next();
- if (cp.getParamName().equals(paramName)) {
- webApp.getContextParams().remove(cp);
- break;
- }
- }
- }
-
- /**
- * Creates or updates context-param
- * @param webApp
- * @param paramName
- * @param paramValue
- */
- public static void setupContextParam(final WebApp webApp, String paramName, String paramValue) {
- // if not default name and location, then add context param
- ParamValue foundCP = null;
- ParamValue cp = null;
- boolean found = false;
- // check to see if present
- Iterator it = webApp.getContextParams().iterator();
- while (it.hasNext()) {
- cp = (org.eclipse.jst.javaee.core.ParamValue) it.next();
- if (cp != null &&
- cp.getParamName()!= null &&
- cp.getParamName().trim().equals(paramName)) {
- foundCP = cp;
- found = true;
- }
- }
- if (!found) {
- ParamValue pv = JavaeeFactory.eINSTANCE.createParamValue();
- pv.setParamName(paramName);
- pv.setParamValue(paramValue);
- webApp.getContextParams().add(pv);
- } else {
- cp = foundCP;
- if (cp.getParamValue().indexOf(paramValue) < 0) {
- String curVal = cp.getParamValue();
- String val = paramValue;
- if (curVal != null && !"".equals(curVal.trim())) { //$NON-NLS-1$
- val = curVal + ",\n" + val; //$NON-NLS-1$
- }
- cp.setParamValue(val);
- }
- }
- }
-
- /**
- * @param webApp
- * @param paramName
- * @return context-param value or null if context-param is not found
- */
- public static String getContextParam(final WebApp webApp, String paramName)
- {
- for (Iterator it = webApp.getContextParams().iterator(); it.hasNext();)
- {
- ParamValue cp = (ParamValue) it.next();
- if (cp != null &&
- cp.getParamName()!= null &&
- cp.getParamName().trim().equals(paramName)) {
- return cp.getParamValue();
- }
- }
- return null;
- }
-
- /**
- * @param map
- * @return extension from map. Will return null if file extension not found in url patterns.
- */
- public static String getFileExtensionFromMap(final ServletMapping map) {
- List urls = map.getUrlPatterns();
- for (Iterator it=urls.iterator();it.hasNext();){
- IPath extPath = new Path(((UrlPatternType)it.next()).getValue());
- if (extPath != null){
- String ext = extPath.getFileExtension();
- if (ext != null && !ext.equals("")) //$NON-NLS-1$
- return ext;
- }
- }
- return null;
- }
-
- /**
- * @param map
- * @return prefix mapping
- */
- public static String getPrefixMapping(final ServletMapping map) {
- List urls = map.getUrlPatterns();
- for (Iterator it=urls.iterator();it.hasNext();){
- IPath extPath = new Path(((UrlPatternType)it.next()).getValue());
- if (extPath != null){
- String ext = extPath.getFileExtension();
- if (ext == null){
- String lastSeg = extPath.lastSegment();
- if (lastSeg.equals("*")) //$NON-NLS-1$
- {
- return extPath.removeLastSegments(1).toString();
- }
-
- return extPath.toString();
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFConfigurationPresetFactory11.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFConfigurationPresetFactory11.java
deleted file mode 100644
index 5a318cea5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFConfigurationPresetFactory11.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik
- ******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.jst.j2ee.web.project.facet.WebFacetUtils;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.wst.common.project.facet.core.IDynamicPreset;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IPresetFactory;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.PresetDefinition;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class JSFConfigurationPresetFactory11
-
- implements IPresetFactory
-
-{
- public PresetDefinition createPreset( final String presetId,
- final Map<String,Object> context )
-
- throws CoreException
-
- {
- final IFacetedProjectBase fproj
- = (IFacetedProjectBase) context.get( IDynamicPreset.CONTEXT_KEY_FACETED_PROJECT );
-
- final IProjectFacetVersion webFacetVersion
- = fproj.getProjectFacetVersion( WebFacetUtils.WEB_FACET );
-
- if( webFacetVersion != null && webFacetVersion.compareTo( WebFacetUtils.WEB_23 ) >= 0 )
- {
- final Set<IProjectFacetVersion> facets = new HashSet<IProjectFacetVersion>();
-
- final IProjectFacet jsfFacet
- = ProjectFacetsManager.getProjectFacet( IJSFCoreConstants.JSF_CORE_FACET_ID );
-
- final IProjectFacetVersion jsfFacetVersion11
- = jsfFacet.getVersion( IJSFCoreConstants.JSF_VERSION_1_1 );
-
- facets.add( jsfFacetVersion11 );
- facets.add( webFacetVersion );
-
- if( webFacetVersion == WebFacetUtils.WEB_23 )
- {
- facets.add( JavaFacet.VERSION_1_3 );
- }
- else if( webFacetVersion == WebFacetUtils.WEB_24 )
- {
- facets.add( JavaFacet.VERSION_1_4 );
- }
- else
- {
- facets.add( JavaFacet.VERSION_1_5 );
- }
-
- return new PresetDefinition( Messages.JSFFacet11_presetLabel, Messages.JSFFacet11_presetDescription, facets );
- }
-
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetException.java
deleted file mode 100644
index d2878b347..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Exception for use during JSF Facet installation/un-installation
- *
- */
-public class JSFFacetException extends CoreException {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructor
- * @param msg
- */
- public JSFFacetException(String msg) {
- super(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, msg));
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
deleted file mode 100644
index 65cd2a6ae..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- * Debajit Adhikary - Fixes for bug 255097 ("Request to remove input fields
- * from facet install page")
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Provides a data model used by the JSF facet install.
- *
- * @author Gerry Kessler - Oracle
- */
-@SuppressWarnings("deprecation")
-public class JSFFacetInstallDataModelProvider extends
- FacetInstallDataModelProvider implements
- IJSFFacetInstallDataModelProperties {
-
- private static final String REGEX_FOR_VALID_CONFIG_FILE_NAME = "^(?!.*/{2,}.*$)[-\\w/.]+$"; //$NON-NLS-1$
- private static final Pattern PATTERN_FOR_VALID_CONFIG_FILE_NAME = Pattern.compile(REGEX_FOR_VALID_CONFIG_FILE_NAME);
-
- private final boolean jsfFacetConfigurationEnabled = JsfFacetConfigurationUtil.isJsfFacetConfigurationEnabled();
-
- private LibraryInstallDelegate libraryInstallDelegate = null;
-
- private void initLibraryInstallDelegate()
- {
- final IFacetedProjectWorkingCopy fpjwc = (IFacetedProjectWorkingCopy) getProperty( FACETED_PROJECT_WORKING_COPY );
- final IProjectFacetVersion fv = (IProjectFacetVersion) getProperty( FACET_VERSION );
-
- if( this.libraryInstallDelegate == null && fpjwc != null && fv != null )
- {
- this.libraryInstallDelegate = new LibraryInstallDelegate( fpjwc, fv );
-
- this.libraryInstallDelegate.addListener
- (
- new IPropertyChangeListener()
- {
- public void propertyChanged( final String property,
- final Object oldValue,
- final Object newValue )
- {
- final IDataModel dm = getDataModel();
-
- if( dm != null )
- {
- dm.notifyPropertyChange( LIBRARY_PROVIDER_DELEGATE, IDataModel.VALUE_CHG );
- }
- }
- }
- );
- }
- }
-
- private String errorMessage;
-
-
- public Set getPropertyNames() {
- Set names = super.getPropertyNames();
-
- if (jsfFacetConfigurationEnabled)
- {
- names.add(CONFIG_PATH);
- names.add(SERVLET_NAME);
- names.add(SERVLET_CLASSNAME);
- names.add(SERVLET_URL_PATTERNS);
- names.add(COMPONENT_LIBRARIES);
- names.add(WEBCONTENT_DIR);
- names.add(CONFIGURE_SERVLET);
- }
-
- names.add(LIBRARY_PROVIDER_DELEGATE);
-
- return names;
- }
-
- public Object getDefaultProperty(String propertyName) {
- if (propertyName.equals(CONFIG_PATH)) {
- return JSFUtils.JSF_DEFAULT_CONFIG_PATH;
- } else if (propertyName.equals(SERVLET_NAME)) {
- return JSFUtils.JSF_DEFAULT_SERVLET_NAME;
- } else if (propertyName.equals(SERVLET_CLASSNAME)) {
- return JSFUtils.JSF_SERVLET_CLASS;
- } else if (propertyName.equals(SERVLET_URL_PATTERNS)) {
- return new String[] {JSFUtils.JSF_DEFAULT_URL_MAPPING };
- } else if (propertyName.equals(FACET_ID)) {
- return IJSFCoreConstants.JSF_CORE_FACET_ID;
- } else if (propertyName.equals(WEBCONTENT_DIR)){
- return "WebContent"; //not sure I need this //$NON-NLS-1$
- } else if (propertyName.equals(CONFIGURE_SERVLET)) {
- return Boolean.TRUE;
- } else if (propertyName.equals(LIBRARY_PROVIDER_DELEGATE)) {
- return this.libraryInstallDelegate;
- } else if (propertyName.equals(COMPONENT_LIBRARIES)) {
- return new JSFLibraryInternalReference[0];
- }
- return super.getDefaultProperty(propertyName);
- }
-
- @Override
- public boolean propertySet( final String propertyName,
- final Object propertyValue )
- {
- if( propertyName.equals( FACETED_PROJECT_WORKING_COPY ) || propertyName.equals( FACET_VERSION ) )
- {
- initLibraryInstallDelegate();
-
- if( this.libraryInstallDelegate != null && propertyName.equals( FACET_VERSION ) )
- {
- final IProjectFacetVersion fv = (IProjectFacetVersion) getProperty( FACET_VERSION );
- this.libraryInstallDelegate.setProjectFacetVersion( fv );
- }
- }
-
- return super.propertySet( propertyName, propertyValue );
- }
-
- public IStatus validate(String name) {
- errorMessage = null;
-
- if (jsfFacetConfigurationEnabled)
- {
- if (name.equals(CONFIG_PATH)) {
- return validateConfigLocation(getStringProperty(CONFIG_PATH));
- } else if (name.equals(SERVLET_NAME)) {
- return validateServletName(getStringProperty(SERVLET_NAME));
- }
- else if (name.equals(COMPONENT_LIBRARIES)) {
- return validateClasspath();
- }
- }
-
- if (name.equals(LIBRARY_PROVIDER_DELEGATE))
- {
- return ((LibraryInstallDelegate) getProperty(LIBRARY_PROVIDER_DELEGATE)).validate();
- }
-
- return super.validate(name);
- }
-
- private IStatus createErrorStatus(String msg) {
- return new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, msg);
- }
-
- private IStatus validateServletName(String servletName) {
- if (servletName == null || servletName.trim().length() == 0) {
- errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateServletName;
- return createErrorStatus(errorMessage);
- }
-
- return OK_STATUS;
- }
-
- private IStatus validateConfigLocation(String text) {
- if (text == null || text.trim().equals("")) { //$NON-NLS-1$
- errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileEmpty;
- return createErrorStatus(errorMessage);
- }
- text = text.trim();
-
- if (getProjectPath() == null) //this circumstance occurs on page init
- return OK_STATUS;
-
- IPath fullPath = getProjectPath().append(text);
- IPath passedPath = new Path(text);
- if (!fullPath.isValidPath(text)){
- errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFilePath;
- return createErrorStatus(errorMessage);
- }
-
- //FIXME: check for valid file path also [passedPath.toFile().isFile()]
- if (text.toLowerCase().lastIndexOf(".xml") != text.length() - 4) { //$NON-NLS-1$
- errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileXML;
- return createErrorStatus(errorMessage);
- }
-
- // Configuration path must not contain backslashes.
- // Must use forward slashes instead.
- if (text.lastIndexOf("\\") >= 0){ //$NON-NLS-1$
- errorMessage = Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileSlashes;
- return createErrorStatus(errorMessage);
- }
-
- // Configuration file must NOT be absolute path.
- // It must be specified relative to project.
- if (passedPath.getDevice() != null) {
- errorMessage = NLS.bind(
- Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileRelative1,
- getWebContentFolderName());
- return createErrorStatus(errorMessage);
- }
-
- // Configuration file must be located in the project's folder
- IPath webContentFolder = getWebContentFolder();
- IPath setPath = webContentFolder.append(passedPath);
- if (!getWebContentFolder().isPrefixOf(setPath)) {
- errorMessage = NLS.bind(
- Messages.JSFFacetInstallDataModelProvider_ValidateConfigFileRelative2,
- getWebContentFolderName());
- return createErrorStatus(errorMessage);
- }
-
- // Check for other general invalid characters
- if (!isValidConfigFileName(text))
- {
- errorMessage = Messages.JSFFacetInstallDataModelProvider_INVALID_JSF_CONFIG_FILE_NAME;
- return createErrorStatus(errorMessage);
- }
-
- return OK_STATUS;
- }
-
-
- /**
- * (This method had been made protected to enable JUnit testing.)
- *
- * @param configFileName
- * @return True if the argument config file name does not have any invalid
- * characters.
- */
- public static boolean isValidConfigFileName (final String configFileName)
- {
- return PATTERN_FOR_VALID_CONFIG_FILE_NAME.matcher(configFileName).matches();
- }
-
-
- private IStatus validateClasspath(){
- Set jars = new HashSet();
- if (doesProjectExist()){
- //validate actual classpath by loading jars from cp
- try {
- IClasspathEntry[] entries = getJavaProject().getResolvedClasspath(true);
- for (int i=0;i<entries.length;i++){
- IClasspathEntry entry = entries[i];
- if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY){
- jars.add(entry.getPath().makeAbsolute().toString());
- }
- }
- } catch (JavaModelException ignore) {
- /*
- * Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
- *
- * Don't log error, as this is an expected exception if the Java project has not yet
- * been created - continue processing.
- */
- //JSFCorePlugin.log(e, "Error searching class path"); //$NON-NLS-1$
- }
- }
- //else as we do not have a javaProject yet, all we can do is validate that there is no duplicate jars (absolute path)
-
- IStatus status = null;
-
- JSFLibraryInternalReference[] compLibs = (JSFLibraryInternalReference[]) getProperty(IJSFFacetInstallDataModelProperties.COMPONENT_LIBRARIES);
- if (compLibs != null){
- for (int i=0;i<compLibs.length;i++){
- JSFLibrary lib = compLibs[i].getLibrary();
- status = checkForDupeArchiveFiles(jars, lib);
- if (!OK_STATUS.equals(status)){
- return status;
- }
- }
- }
- return OK_STATUS;
- }
-
- private IJavaProject getJavaProject() {
- IProject proj = getProject();
- if (proj != null)
- return JavaCore.create(proj);
- return null;
- }
-
- private IProject getProject(){
- String projName = (String)getProperty(FACET_PROJECT_NAME);
- if (projName == null || "".equals(projName)) //$NON-NLS-1$
- return null;
-
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
- return project;
- }
-
- private boolean doesProjectExist() {
- IProject project = getProject();
- return (project != null) && project.exists();
- }
-
- private IStatus checkForDupeArchiveFiles(Set jars,
- JSFLibrary aJSFLib) {
- if (aJSFLib == null)
- return OK_STATUS;
-
- for (Iterator it=aJSFLib.getArchiveFiles().iterator();it.hasNext();){
- ArchiveFile jar = (ArchiveFile)it.next();
- if (jars.contains(jar.getResolvedSourceLocation())){
- return createErrorStatus(NLS.bind(Messages.JSFFacetInstallDataModelProvider_DupeJarValidation,jar.getResolvedSourceLocation()));
- }
- jars.add(jar.getResolvedSourceLocation());
- }
- return OK_STATUS;
- }
-
- private IPath getProjectPath() {
- IProject project = getProject();
- if (project == null)
- return null;
- else if (project.exists())
- return project.getLocation();
-
- String projName = (String)getProperty(FACET_PROJECT_NAME);
- IFacetedProjectWorkingCopy projModel = (IFacetedProjectWorkingCopy)getProperty(FACETED_PROJECT_WORKING_COPY );
-
- if (projModel.getProjectLocation() != null)
- return projModel.getProjectLocation().append(projName);
-
- return ResourcesPlugin.getWorkspace().getRoot().getRawLocation().append(projName);
-
- }
-
- private IPath getWebContentFolder() {
- //One can get here 2 ways:
- //if web app exists and user is adding a facet, or
- // if creating a new web app.
-
- IPath webContentPath = null;
- String projName = model.getStringProperty(IFacetDataModelProperties.FACET_PROJECT_NAME);
- IProject proj = ResourcesPlugin.getWorkspace().getRoot()
- .getProject(projName);
-
- String webFolder = getWebContentFolderName();
- if (proj.exists()) {
- //Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
- IVirtualComponent virtComponent = ComponentCore.createComponent(proj);
- if (virtComponent != null) {
- IVirtualFolder virtFolder = virtComponent.getRootFolder();
- if (virtFolder != null) {
- IContainer container = virtFolder.getUnderlyingFolder();
- if (container != null) {
- webContentPath = container.getRawLocation();
- }
- }
- } else {
- //Java project has not been created yet
- if (webFolder == null){
- webContentPath = proj.getFullPath();
- } else {
- webContentPath = proj.getFullPath().append(webFolder);
- }
- }
- } else {
- if (webFolder == null){
- webContentPath = proj.getFullPath();
- } else {
- webContentPath = proj.getFullPath().append(webFolder);
- }
- }
- return webContentPath;
- }
-
- private String getWebContentFolderName() {
- String projName = (String)getProperty(FACET_PROJECT_NAME);
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
- if (project.exists()){
- //Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
- IVirtualComponent virtComponent = ComponentCore.createComponent(project);
- if (virtComponent != null) {
- IVirtualFolder virtFolder = virtComponent.getRootFolder();
- if (virtFolder != null) {
- IContainer container = virtFolder.getUnderlyingFolder();
- if (container != null) {
- IPath webContentPath = container.getProjectRelativePath();
- return webContentPath.toString();
- }
- }
- }
- }
-
- IFacetedProjectWorkingCopy projWC = (IFacetedProjectWorkingCopy)getProperty(FACETED_PROJECT_WORKING_COPY);
- Set<Action> pfas = projWC.getProjectFacetActions();
- for (Action action : pfas){
- if (action.getProjectFacetVersion().getProjectFacet().getId().equals("jst.web")){ //$NON-NLS-1$
- IDataModel webFacet = (IDataModel) action.getConfig();
- return webFacet.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER );
- }
- }
-
- //should not get here.
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
deleted file mode 100644
index d688a5051..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- * Debajit Adhikary - Fixes for bug 255097 ("Request to remove input fields
- * from facet install page")
- * - MyFaces and SunRI-specific configuration
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.javaee.web.WebApp;
-import org.eclipse.jst.jsf.common.facet.libraryprovider.jsf.JsfLibraryUtil;
-import org.eclipse.jst.jsf.common.webxml.WebXmlUpdater;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * JSF Facet Install Delegate for WTP faceted web projects. Deals with 2.3, 2.4 and 2.5 web app models.
- *
- * Uses <code>com.eclispe.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider<code> for model
- * <li> creates JSF configuration file if not already present. It will not attempt to upgrade or downgrade the version if there is a mismatch.
- * <li> updates web.xml for: servlet, servlet-mapping and context-param
- * <li> adds implementation jars to WEB-INF/lib if user requests
- *
- * @see org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider
- * @since 1.0
- */
-public final class JSFFacetInstallDelegate implements IDelegate {
-
- private final boolean jsfFacetConfigurationEnabled = JsfFacetConfigurationUtil.isJsfFacetConfigurationEnabled();
-
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.project.facet.core.IDelegate#execute(org.eclipse.core.resources.IProject, org.eclipse.wst.common.project.facet.core.IProjectFacetVersion, java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
- */
- public void execute(final IProject project, final IProjectFacetVersion fv,
- final Object cfg, final IProgressMonitor monitor)
- throws CoreException
-
- {
-
- if (monitor != null) {
- monitor.beginTask("", 1); //$NON-NLS-1$
- }
-
- try {
- IDataModel config = null;
-
- if (cfg != null) {
- config = (IDataModel) cfg;
- } else {
- throw new JSFFacetException(
- Messages.JSFFacetInstallDelegate_InternalErr);
- }
-
- final JSFUtils jsfUtil = new JSFUtilFactory().create(fv, ModelProviderManager.getModelProvider(project));
- if (jsfUtil == null)
- {
- throw new JSFFacetException(NLS.bind(
- Messages.Could_Not_GetJSFVersion, fv.toString()));
- }
-
- if (jsfFacetConfigurationEnabled)
- {
- // Before we do any configuration, verify that web.xml is // available for update
- final IModelProvider provider = jsfUtil
- .getModelProvider();
- if (provider == null)
- {
- throw new JSFFacetException(NLS.bind(
- Messages.JSFFacetInstallDelegate_ConfigErr,
- project.getName()));
- }
- else if (!(provider.validateEdit(null, null).isOK()))
- {
- if (!(provider.validateEdit(null, null).isOK()))
- {// checks for web.xml file being read-only and allows
- // user to set writeable
- throw new JSFFacetException(
- NLS.bind(
- Messages.JSFFacetInstallDelegate_NonUpdateableWebXML,
- project.getName()));
- }
- }
- }
-
-// // Create JSF Libs as classpath containers and set WTP dependencies
-// // as required
-// createClasspathEntries(project, fv, config, monitor);
-
- //Configure libraries
- ( (LibraryInstallDelegate) config.getProperty( IJSFFacetInstallDataModelProperties.LIBRARY_PROVIDER_DELEGATE ) ).execute( new NullProgressMonitor() );
-
- final LibraryInstallDelegate libDelegate = (LibraryInstallDelegate) (config.getProperty( IJSFFacetInstallDataModelProperties.LIBRARY_PROVIDER_DELEGATE));
- final LibraryProviderOperationConfig libConfig = libDelegate.getLibraryProviderOperationConfig();
-
- if (jsfFacetConfigurationEnabled)
- {
- // Create config file
- createConfigFile(project, fv, config, monitor, jsfUtil);
-
- final Boolean configureServlet = (Boolean) config.getProperty(IJSFFacetInstallDataModelProperties.CONFIGURE_SERVLET);
- if (configureServlet == null || configureServlet.booleanValue()) {
- // Update web model
- createServletAndModifyWebXML(project, config, monitor, jsfUtil);
- updateWebXmlByJsfVendor(libConfig, project, monitor);
- }
- }
-
- if (monitor != null) {
- monitor.worked(1);
- }
-
- } finally {
- if (monitor != null) {
- monitor.done();
- }
- }
- }
-
-
- /**
- * Configures web.xml for MyFaces or Sun-RI when a user-library is used.
- * Does no special configuration when a third party library provider is used
- * (e.g. WebLogic shared library)
- *
- * @param libConfig
- * Library install delegate
- * @param project
- * IProject to update
- * @param monitor
- * IProgressMonitor
- */
- private void updateWebXmlByJsfVendor (final LibraryProviderOperationConfig libConfig,
- final IProject project,
- final IProgressMonitor monitor)
- {
- final UserLibraryProviderInstallOperationConfig userLibConfig = getUserLibConfig(libConfig);
- if (userLibConfig == null) // Not a user lib provider (e.g. shared lib provider)
- return; // Any special configuration will be done by third party lib provider.
-
-
- switch (JsfLibraryUtil.getJsfLibraryVendorType(userLibConfig))
- {
- case MYFACES:
- updateWebXmlForMyfaces(project, monitor);
- break;
- case SUN_RI:
- updateWebXmlForSunRi(project, monitor);
- break;
- case UNKNOWN:
- break;
- }
- }
-
-
- /**
- * (Refactored into a protected method for JUnit testing)
- *
- * @param libConfig LibraryProviderOperationConfig object
- *
- * @return WtpUserLibraryProviderInstallOperationConfig object if the
- * argument object has the same runtime type. Returns null
- * otherwise e.g. if the libConfig is of the runtime type
- * SharedLibraryProviderInstallOperationConfig.
- */
- public static UserLibraryProviderInstallOperationConfig getUserLibConfig (final LibraryProviderOperationConfig libConfig)
- {
- if (!(libConfig instanceof UserLibraryProviderInstallOperationConfig)) // Third-party shared library providers etc.
- return null;
-
- return (UserLibraryProviderInstallOperationConfig) libConfig;
- }
-
-
- /**
- * Updates web.xml for the given project with MyFaces-specific parameters.
- * (This method is public static so that it may be called by other third
- * party library providers for consistent MyFaces configuration across
- * different JSF library providers)
- *
- * @param project
- * IProject whose web.xml is to be updated.
- *
- * @param monitor
- * IProgressMonitor
- */
- public static void updateWebXmlForMyfaces (final IProject project,
- final IProgressMonitor monitor)
- {
- final WebXmlUpdater updater = new WebXmlUpdater(project, monitor);
-
- updater.addContextParam("javax.servlet.jsp.jstl.fmt.localizationContext", "resources.application", null); //$NON-NLS-1$//$NON-NLS-2$
- updater.addContextParam("javax.faces.STATE_SAVING_METHOD", "client", Messages.JSFFacetInstallDelegate_StateSavingMethod); //$NON-NLS-1$ //$NON-NLS-2$
- updater.addContextParam("org.apache.myfaces.ALLOW_JAVASCRIPT", "true", Messages.JSFFacetInstallDelegate_AllowJavascriptDescription); //$NON-NLS-1$ //$NON-NLS-2$
- updater.addContextParam("org.apache.myfaces.PRETTY_HTML", "true", Messages.JSFFacetInstallDelegate_PrettyHtmlDescription); //$NON-NLS-1$ //$NON-NLS-2$
- updater.addContextParam("org.apache.myfaces.DETECT_JAVASCRIPT", "false", null); //$NON-NLS-1$//$NON-NLS-2$
- updater.addContextParam("org.apache.myfaces.AUTO_SCROLL", "true", Messages.JSFFacetInstallDelegate_AutoScrollDescription); //$NON-NLS-1$ //$NON-NLS-2$
-
-// Following 3 lines disabled for https://bugs.eclipse.org/bugs/show_bug.cgi?id=317865
-// updater.addServlet("faces", "org.apache.myfaces.webapp.MyFacesServlet", "1"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-// updater.addServletMapping("faces", "org.apache.myfaces.webapp.MyFacesServlet", "*.jsf"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-// updater.addServletMapping("faces", "org.apache.myfaces.webapp.MyFacesServlet", "*.faces"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-
- updater.addListener("org.apache.myfaces.webapp.StartupServletContextListener"); //$NON-NLS-1$
-
-// // Additional, more complex updates
-// if (updater.isJavaEEWebapp())
-// {
-// updater.getProvider().modify(new UpdateWebXmlForMyfacesJavaEE(project, monitor), WebXmlUtils.WEB_XML_PATH);
-// }
-// else if (updater.isJ2EEWebapp())
-// {
-// updater.getProvider().modify(new UpdateWebXmlForMyfacesJ2EE(project, monitor), WebXmlUtils.WEB_XML_PATH);
-// }
- }
-
-
- /**
- * Updates web.xml for the given project with SunRI-specific parameters.
- * (This method is public static so that it may be called by other third
- * party library providers for consistent Sun-RI configuration across
- * different JSF library providers)
- *
- * @param project
- * IProject whose web.xml is to be updated.
- *
- * @param monitor
- * IProgressMonitor
- */
- public static void updateWebXmlForSunRi (final IProject project,
- final IProgressMonitor monitor)
- {
- final WebXmlUpdater updater = new WebXmlUpdater(project, monitor);
-
- updater.addContextParam("javax.faces.STATE_SAVING_METHOD", "client", Messages.JSFFacetInstallDelegate_StateSavingMethod); //$NON-NLS-1$//$NON-NLS-2$
- updater.addContextParam("javax.servlet.jsp.jstl.fmt.localizationContext", "resources.application", null); //$NON-NLS-1$ //$NON-NLS-2$
- updater.addListener("com.sun.faces.config.ConfigureListener"); //$NON-NLS-1$
-
-//Following 3 lines disabled for https://bugs.eclipse.org/bugs/show_bug.cgi?id=317865 and https://bugs.eclipse.org/bugs/show_bug.cgi?id=317868
-// updater.addServlet("Faces Servlet", "javax.faces.webapp.FacesServlet", "1"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-// updater.addServletMapping("Faces Servlet", "javax.faces.webapp.FacesServlet", "*.jsf"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-// updater.addServletMapping("Faces Servlet", "javax.faces.webapp.FacesServlet", "*.faces"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
- }
-
-
-// /**
-// * @param path
-// * @param lib
-// * @return creates new IClasspathEntry with WTP dependency attribute set, if required
-// */
-// private IClasspathEntry getNewCPEntry(final IPath path, final JSFLibraryInternalReference lib) {
-//
-// IClasspathEntry entry = null;
-// if (lib.isCheckedToBeDeployed()){
-// IClasspathAttribute depAttrib = JavaCore.newClasspathAttribute(IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY,
-// ClasspathDependencyUtil.getDefaultRuntimePath(true).toString());
-// entry = JavaCore.newContainerEntry(path,null, new IClasspathAttribute[]{depAttrib}, true);
-// }
-// else {
-// entry = JavaCore.newContainerEntry(path);
-// }
-//
-// return entry;
-// }
-
-
- /**
- * @param project
- * @param jsfConfigPath
- * @param jsfUtils
- * @return absolute IPath to jsfConfig
- */
- private IPath resolveConfigPath(
- final IProject project, final String jsfConfigPath, final JSFUtils jsfUtils) {
- IPath path = null;
- final IPath webXMLPath = getWebXMLPathFromModel(jsfUtils);
- if (webXMLPath != null) {
- path = webXMLPath.removeLastSegments(2).append(jsfConfigPath);
- }
- if (path == null) {
- path = ComponentCore.createComponent(project).getRootFolder()
- .getUnderlyingFolder().getRawLocation().append(new Path(jsfConfigPath));
- }
- return path;
- }
-
- /**
- * Create the faces configuration file. If the file already exist, then the file is left alone.
- * @param project
- * @param fv
- * @param config
- * @param monitor
- */
- private void createConfigFile(final IProject project,
- final IProjectFacetVersion fv, final IDataModel config,
- final IProgressMonitor monitor, final JSFUtils jsfUtil) {
-
-
- final IPath configPath =
- resolveConfigPath(
- project,
- config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH),
- jsfUtil);
- try {
- // do not overwrite if the file exists
- if (!configPath.toFile().exists()) {
- final IWorkspaceRunnable op = new IWorkspaceRunnable(){
- public void run(final IProgressMonitor monitor_inner) throws CoreException{
- jsfUtil.createConfigFile(configPath);
- project.refreshLocal(IResource.DEPTH_INFINITE, monitor_inner);
- }
- };
- op.run(monitor);
- }
- } catch (final CoreException e) {
- JSFCorePlugin.log(e, "Exception occured while creating faces-config.xml");//$NON-NLS-1$
- }
-
- }
-
- /**
- * Create servlet and URL mappings and update the webapp
- *
- * @param project
- * @param config
- * @param monitor
- */
- private void createServletAndModifyWebXML(final IProject project,
- final IDataModel config, final IProgressMonitor monitor,
- final JSFUtils jsfUtil)
- {
- // Bug 293460 - Installing JSF facet should update web.xml only if needed.
- if (shouldModify(jsfUtil)) {
-
- final IModelProvider provider = jsfUtil.getModelProvider();
- final IPath webXMLPath = new Path("WEB-INF").append("web.xml"); //$NON-NLS-1$ //$NON-NLS-2$
- if (jsfUtil.isJavaEE(provider.getModelObject()))
- {
- provider.modify(new UpdateWebXMLForJavaEE(project, config, jsfUtil),
- doesDDFileExist(jsfUtil) ? webXMLPath
- : IModelProvider.FORCESAVE);
- } else
- {// must be 2.3 or 2.4
- provider.modify(new UpdateWebXMLForJ2EE(project, config, jsfUtil),
- webXMLPath);
- }
- // TODO: is the MyFaces check a todo?
- // Check if runtime is MyFaces or Sun-RI
-
- }
- }
-
- private boolean shouldModify(JSFUtils jsfUtil) {
- boolean shouldModify = true;
- IModelProvider provider = jsfUtil.getModelProvider();
- if (provider != null) {
- Object objWebApp = provider.getModelObject();
- if (objWebApp != null) {
- Object objServlet = jsfUtil.findJSFServlet(objWebApp);
- if (objServlet != null) {
- shouldModify = false;
- }
- }
- }
- return shouldModify;
- }
-
- private boolean doesDDFileExist(final JSFUtils jsfUtils) {
- boolean exists = false;
- IPath path = getWebXMLPathFromModel(jsfUtils);
- if (path != null) {
- exists = path.toFile().exists();
- }
- return exists;
- }
-
- private IPath getWebXMLPathFromModel(final JSFUtils jsfUtils) {
- IPath path = null;
- if (jsfUtils != null) {
- final IModelProvider provider = jsfUtils.getModelProvider();
- if (provider != null) {
- final Object modelObject = provider.getModelObject();
- if (modelObject instanceof EObject) {
- final Resource resource = ((EObject)modelObject).eResource();
- if (resource != null) {
- final URI uri = resource.getURI();
- if (uri != null && uri.isPlatformResource()) {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- if (workspace != null) {
- final IWorkspaceRoot root = workspace.getRoot();
- if (root != null) {
- final IResource iResource = root.findMember(new Path(uri.toPlatformString(true)));
- if (iResource != null) {
- path = iResource.getLocation();
- }
- }
- }
- }
- }
- }
- }
- }
- return path;
- }
-
- private class UpdateWebXMLForJavaEE implements Runnable {
- private final IProject project;
- private final IDataModel config;
- private final JSFUtils jsfUtil;
-
- UpdateWebXMLForJavaEE(final IProject project, final IDataModel config, final JSFUtils jsfUtil){
- this.project = project;
- this.config = config;
- this.jsfUtil = jsfUtil;
- }
-
- public void run() {
- final WebApp webApp = (WebApp) ModelProviderManager.getModelProvider(project).getModelObject();
- jsfUtil.updateWebApp(webApp, config);
- }
- }
-
- private class UpdateWebXMLForJ2EE implements Runnable {
- private final IProject project;
- private final IDataModel config;
- private final JSFUtils jsfUtil;
-
- UpdateWebXMLForJ2EE(final IProject project, final IDataModel config, final JSFUtils jsfUtil){
- this.project = project ;
- this.config = config;
- this.jsfUtil = jsfUtil;
- }
-
- public void run() {
- final org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp)ModelProviderManager.getModelProvider(project).getModelObject();
- jsfUtil.updateWebApp(webApp, config);
- }
-
- }
-
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetPrimaryRuntimeChangedListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetPrimaryRuntimeChangedListener.java
deleted file mode 100644
index 7a36602ba..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetPrimaryRuntimeChangedListener.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.events.IPrimaryRuntimeChangedEvent;
-
-/**
- * Handles primary runtime changed events when the JSF Facet is installed
- *
- * @since JSF 1.0.1
- */
-@SuppressWarnings("deprecation")
-public class JSFFacetPrimaryRuntimeChangedListener implements IFacetedProjectListener {
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener#handleEvent(org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent)
- */
- public void handleEvent(IFacetedProjectEvent event) {
- if (event instanceof IPrimaryRuntimeChangedEvent &&
- getJSFFacetedVersion(event.getProject().getProject()) != null && //must be a JSF faceted project
- JSFLibraryConfigurationHelper.isConfiguredForSystemSuppliedImplementation(event.getProject().getProject())){
-
- try {
- IProject project = event.getProject().getProject();
- IProjectFacetVersion fv = getJSFFacetedVersion(project);
- ClasspathHelper.removeClasspathEntries(project, fv);
- ClasspathHelper.addClasspathEntries(project, fv);
- } catch (CoreException e) {
- JSFCorePlugin.log(IStatus.ERROR, "Unable to replace server supplied implementation when runtime changed.", e);//$NON-NLS-1$
- }
- }
-
- }
-
- /**
- * @param project
- * @return IProjectFacetVersion and null if not JSF faceted
- */
- private IProjectFacetVersion getJSFFacetedVersion(IProject project) {
- return JSFAppConfigUtils.getProjectFacet(project);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallConfig.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallConfig.java
deleted file mode 100644
index 1c1245aac..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallConfig.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryUninstallDelegate;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Configuration for JSF facet uninstall
- *
- */
-public class JSFFacetUninstallConfig
-
- extends ActionConfig
-
-{
- private LibraryUninstallDelegate librariesUninstallDelegate = null;
-
- /**
- * @return the library uninstall delegate
- */
- public LibraryUninstallDelegate getLibrariesUninstallDelegate()
- {
- return this.librariesUninstallDelegate;
- }
-
- @Override
- public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
- {
- super.setFacetedProjectWorkingCopy( fpjwc );
- init();
- }
-
- @Override
- public void setProjectFacetVersion( final IProjectFacetVersion fv )
- {
- super.setProjectFacetVersion( fv );
- init();
- }
-
- private void init()
- {
- final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
- final IProjectFacetVersion fv = getProjectFacetVersion();
-
- if( this.librariesUninstallDelegate == null && fpjwc != null && fv != null )
- {
- this.librariesUninstallDelegate = new LibraryUninstallDelegate( fpjwc, fv );
- }
- }
-
- /**
- * The action configuration factory for the JSF facet uninstall config
- *
- */
- public static final class Factory
-
- implements IActionConfigFactory
-
- {
- public Object create()
- {
- return new JSFFacetUninstallConfig();
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java
deleted file mode 100644
index 29406fbd4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetUninstallDelegate.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- * Debajit Adhikary - Fixes for bug 255097 ("Request to remove input fields
- * from facet install page")
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.javaee.web.WebApp;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * JSF Facet Un-install Delegate for WTP faceted projects.
- *
- * <li> removes JSF servlet, servlet-mappings and context-params
- * <li> leaves JSF configuration files on disk
- * <li> removes JSF classpath containers
- *
- */
-public final class JSFFacetUninstallDelegate implements IDelegate {
-
- private final boolean jsfFacetConfigurationEnabled = JsfFacetConfigurationUtil.isJsfFacetConfigurationEnabled();
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.common.project.facet.core.IDelegate#execute(org.eclipse.core.resources.IProject, org.eclipse.wst.common.project.facet.core.IProjectFacetVersion, java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
- */
- public void execute(final IProject project, final IProjectFacetVersion fv,
- final Object config, final IProgressMonitor monitor) throws CoreException {
- {
-
- if (monitor != null) {
- monitor.beginTask("", 1); //$NON-NLS-1$
- }
-
- try
- {
- final JSFUtils jsfUtil = new JSFUtilFactory().create(fv, ModelProviderManager.getModelProvider(project));
- if (jsfUtil == null)
- {
- throw new JSFFacetException(NLS.bind(
- Messages.Could_Not_GetJSFVersion, fv.toString()));
- }
-
- if (jsfFacetConfigurationEnabled)
- {
- //Before we do any de-configuration, verify that web.xml is available for update
- IModelProvider provider = jsfUtil.getModelProvider();
- if (provider == null ) {
- throw new JSFFacetException(NLS.bind(Messages.JSFFacetUninstallDelegate_ConfigErr, project.getName()));
- } else if (!(provider.validateEdit(null, null).isOK())){
- throw new JSFFacetException(NLS.bind(Messages.JSFFacetUninstallDelegate_NonUpdateableWebXML, project.getName()));
- }
- }
-
- // Remove JSF Libraries
- ( (JSFFacetUninstallConfig) config ).getLibrariesUninstallDelegate().execute( null );
-
- if (jsfFacetConfigurationEnabled)
- {
- // remove servlet stuff from web.xml
- uninstallJSFReferencesFromWebApp(project, monitor, jsfUtil);
- }
- if (monitor != null) {
- monitor.worked(1);
- }
-
- } finally {
- if (monitor != null) {
- monitor.done();
- }
- }
- }
- }
-
- private void uninstallJSFReferencesFromWebApp(final IProject project,
- final IProgressMonitor monitor, final JSFUtils jsfUtil) {
-
- IModelProvider provider = jsfUtil.getModelProvider();
- Object webAppObj = provider.getModelObject();
- if (webAppObj != null)
- {
- IPath ddPath = new Path("WEB-INF").append("web.xml"); //$NON-NLS-1$ //$NON-NLS-2$
- if (isJavaEEWebApp(webAppObj))
- {
- provider.modify(new RemoveJSFFromJavaEEWebAppOperation(project,
- jsfUtil), ddPath);
- } else
- {// 2.3 or 2.4 web app
- provider.modify(new RemoveJSFFromJ2EEWebAppOperation(project,
- jsfUtil), ddPath);
- }
- }
- }
-
- private boolean isJavaEEWebApp(final Object webAppObj) {
- if (webAppObj instanceof WebApp)
- return true;
-
- return false;
-
- }
-
- static class RemoveJSFFromJavaEEWebAppOperation implements Runnable {
- private IProject _project;
- private JSFUtils _jsfUtil;
-
- RemoveJSFFromJavaEEWebAppOperation(final IProject project, JSFUtils jsfUtil){
- this._project = project;
- this._jsfUtil = jsfUtil;
- }
-
- public void run()
- {
- WebApp webApp = (WebApp) ModelProviderManager.getModelProvider(
- _project).getModelObject();
- _jsfUtil.rollbackWebApp(webApp);
- }
-
- }
-
- static class RemoveJSFFromJ2EEWebAppOperation implements Runnable {
- private IProject _project;
- private JSFUtils _jsfUtil;
-
- RemoveJSFFromJ2EEWebAppOperation(final IProject project, JSFUtils jsfUtil){
- this._project = project;
- this._jsfUtil = jsfUtil;
- }
-
- public void run() {
- org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp) ModelProviderManager.getModelProvider(_project).getModelObject();
- _jsfUtil.rollbackWebApp(webApp);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFLibraryValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFLibraryValidator.java
deleted file mode 100644
index e862a65b2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFLibraryValidator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 Oracle Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.jst.jsf.common.facet.libraryprovider.UserLibraryVersionValidator;
-
-
-/**
- * Checks that the JSF user library is version-compatible with the JSF facet.
- *
- * @author Debajit Adhikary
- *
- */
-public class JSFLibraryValidator extends UserLibraryVersionValidator
-{
- private static final String CLASS_NAME_IDENTIFYING_IMPLEMENTATION_JAR = "javax/faces/render/RenderKit.class"; //$NON-NLS-1$
-
-
- /**
- * Construct a validator for the JSF facet.
- */
- public JSFLibraryValidator ()
- {
- super(CLASS_NAME_IDENTIFYING_IMPLEMENTATION_JAR);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtilFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtilFactory.java
deleted file mode 100644
index 7e9bcd2a9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtilFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Creates a new JSFUtil for a particular JSF project version.
- *
- * @author cbateman
- *
- */
-public class JSFUtilFactory
-{
- /**
- * @param project
- * @return the jsf version of the project if it is valid JSF faceted
- * project or null otherwise.
- */
- public JSFUtils create(final IProject project)
- {
- final JSFVersion jsfVersion = JSFVersion.valueOfProject(project);
- if (jsfVersion != null)
- {
- return create(jsfVersion, ModelProviderManager.getModelProvider(project));
- }
- return null;
- }
- /**
- * @param version
- * @param modelProvider
- * @return the JSF utils object for the version or null if none.
- * @throw {@link IllegalArgumentException} if version is not related
- * to a JSF facet.
- */
- public JSFUtils create(final IProjectFacetVersion version, final IModelProvider modelProvider)
- {
- final JSFVersion jsfVersion = JSFVersion.valueOfFacetVersion(version);
- if (jsfVersion != null)
- {
- return create(jsfVersion, modelProvider);
- }
- return null;
- }
-
- /**
- * @param version
- * @param modelProvider
- * @return the JSF utils object for the version or null if none.
- */
- public JSFUtils create(final JSFVersion version, final IModelProvider modelProvider)
- {
- switch (version)
- {
- case V1_0:
- case V1_1:
- return new JSFUtils11(modelProvider);
- case V1_2:
- return new JSFUtils12(modelProvider);
- case V2_0:
- return new JSFUtils20(modelProvider);
- default:
- throw new IllegalArgumentException("Unknown version: "+version); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java
deleted file mode 100644
index 71fa94b7e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.javaee.core.JavaeeFactory;
-import org.eclipse.jst.javaee.web.WebAppVersionType;
-import org.eclipse.jst.javaee.web.WebFactory;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-
-/**
- *
- */
-@SuppressWarnings("deprecation")
-public abstract class JSFUtils {
- /**
- * The default name for the Faces servlet
- */
- public static final String JSF_DEFAULT_SERVLET_NAME = "Faces Servlet"; //$NON-NLS-1$
- /**
- * The default name of the Faces servlet class
- */
- public static final String JSF_SERVLET_CLASS = "javax.faces.webapp.FacesServlet"; //$NON-NLS-1$
- /**
- * The name of the context parameter used for JSF configuration files
- */
- public static final String JSF_CONFIG_CONTEXT_PARAM = "javax.faces.CONFIG_FILES"; //$NON-NLS-1$
-
- /**
- * The name of the context parameter used for defining the default JSP file extension
- */
- public static final String JSF_DEFAULT_SUFFIX_CONTEXT_PARAM = "javax.faces.DEFAULT_SUFFIX"; //$NON-NLS-1$
-
- /**
- * The path to the default application configuration file
- */
- public static final String JSF_DEFAULT_CONFIG_PATH = "/WEB-INF/faces-config.xml"; //$NON-NLS-1$
-
- /**
- * Default URL mapping to faces servlet
- */
- public static final String JSF_DEFAULT_URL_MAPPING = "/faces/*"; //$NON-NLS-1$
-
- /**
- * the key for implementation libraries in persistent properties
- */
- public static final String PP_JSF_IMPLEMENTATION_LIBRARIES = "jsf.implementation.libraries"; //$NON-NLS-1$
- /**
- * the key for component libraries in persistent properties
- */
- public static final String PP_JSF_COMPONENT_LIBRARIES = "jsf.component.libraries"; //$NON-NLS-1$
- /**
- * the key for implementation type in persistent properties
- */
- public static final String PP_JSF_IMPLEMENTATION_TYPE = "jsf.implementation.type"; //$NON-NLS-1$
-
- private static final String DEFAULT_DEFAULT_MAPPING_SUFFIX = "jsp"; //$NON-NLS-1$
-
- /**
- * In cases where there is no servlet mapping defined (where it can be implicit and provided
- * by the container), this system property can be used to provide the "implicit" servlet
- * mapping.
- */
- private static final String SYS_PROP_SERVLET_MAPPING = "org.eclipse.jst.jsf.servletMapping"; //$NON-NLS-1$
-
- private final JSFVersion _version;
- private final IModelProvider _modelProvider;
-
- /**
- * @param version
- * @param modelProvider
- */
- protected JSFUtils(final JSFVersion version, final IModelProvider modelProvider)
- {
- _version = version;
- _modelProvider = modelProvider;
- }
-
- /**
- * @return the jsf version that this instance is for.
- */
- public final JSFVersion getVersion()
- {
- return _version;
- }
-
- /**
- * @param config
- * @return servlet display name to use from wizard data model
- */
- protected final String getDisplayName(IDataModel config) {
- String displayName = config.getStringProperty(IJSFFacetInstallDataModelProperties.SERVLET_NAME);
- if (displayName == null || displayName.trim().length() == 0)
- displayName = JSF_DEFAULT_SERVLET_NAME;
- return displayName.trim();
- }
-
- /**
- * @param config
- * @return servlet display name to use from wizard data model
- */
- protected final String getServletClassname(IDataModel config) {
- String className = config.getStringProperty(IJSFFacetInstallDataModelProperties.SERVLET_CLASSNAME);
- if (className == null || className.trim().equals("")) //$NON-NLS-1$
- className = JSF_SERVLET_CLASS;
- return className.trim();
- }
-
- /**
- * @return IModelProvider
- */
- public final IModelProvider getModelProvider() {
- Object webAppObj = _modelProvider.getModelObject();
- if (webAppObj == null)
- {
- return null;
- }
- return _modelProvider;
- }
-
- /**
- * @param configPath
- */
- public final void createConfigFile(IPath configPath)
- {
- FileOutputStream os = null;
-// final String QUOTE = new String(new char[] { '"' });
- try {
- IPath dirPath = configPath.removeLastSegments(1);
- dirPath.toFile().mkdirs();
- File file = configPath.toFile();
- file.createNewFile();
- os = new FileOutputStream(file);
- printConfigFile(os);
- } catch (FileNotFoundException e) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorCreatingConfigFile, e);
- } catch (IOException e) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorCreatingConfigFile, e);
- } finally {
- if (os != null) {
- try {
- os.close();
- } catch (IOException e) {
- JSFCorePlugin.log(IStatus.ERROR, Messages.JSFUtils_ErrorClosingConfigFile, e);
- }
- }
- }
- }
-
- /**
- * @param out
- */
- protected final void printConfigFile(final OutputStream out)
- {
- PrintWriter pw = null;
- try
- {
- pw = new PrintWriter(out);
- doVersionSpecificConfigFile(pw);
- }
- finally
- {
- if (pw != null)
- {
- pw.close();
- }
- }
- }
-
- /**
- * @param pw
- */
- public abstract void doVersionSpecificConfigFile(final PrintWriter pw);
-
-
- /**
- * @param webAppObj
- * @return true if this going into a JavaEE (1.5 and later) or a J2EE (1.4 and earlier)
- * configured application.
- */
- public boolean isJavaEE(final Object webAppObj)
- {
- if (webAppObj instanceof org.eclipse.jst.javaee.web.WebApp)
- {
- org.eclipse.jst.javaee.web.WebApp webApp = (org.eclipse.jst.javaee.web.WebApp)webAppObj;
- return WebAppVersionType.VALUES.contains(webApp.getVersion());
- }
- return false;
- }
-
- /**
- * @param config
- * @return list of URL patterns from the datamodel
- */
- protected final List<String> getServletMappings(final IDataModel config) {
- final List<String> mappings = new ArrayList<String>();
- final String[] patterns = (String[])config.getProperty(IJSFFacetInstallDataModelProperties.SERVLET_URL_PATTERNS);
- if (patterns != null)
- {
- for (final String pattern : patterns)
- {
- mappings.add(pattern);
- }
- }
- return mappings;
- }
- /**
- * Does an update of the web application's config file.
- *
- * @param webApp must be WebApp of the appropriate type.
- * @param config
- * @throws ClassCastException if webApp is not the appropriate type.
- */
- public abstract void updateWebApp(Object webApp, IDataModel config);
-
-
- /**
- * Called on a facet uninstall to remove JSF related changes.
- * @param webApp
- */
- public abstract void rollbackWebApp(Object webApp);
-
- /**
- * @param fileExtension
- * @return true if the file extension is deemed to be for a JSF.
- */
- protected boolean isValidKnownExtension(String fileExtension) {
- //Bug 313830 - JSFUtils should use content type instead file extension in isValidKnownExtension.
- List<String> validKnownExtensions = new ArrayList<String>();
- for (String contentTypeId: new String[]{
- "org.eclipse.jst.jsp.core.jspsource", //$NON-NLS-1$
- "org.eclipse.jst.jsp.core.jspfragmentsource", //$NON-NLS-1$
- "jsf.facelet"}) { //$NON-NLS-1$
- IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeId);
- if (contentType != null) {
- String[] contentTypeExts = contentType.getFileSpecs(IContentType.FILE_EXTENSION_SPEC);
- if (contentTypeExts != null) {
- validKnownExtensions.addAll(Arrays.asList(contentTypeExts));
- }
- }
- }
- if (fileExtension != null) {
- return validKnownExtensions.contains(fileExtension);
- }
- return false;
- }
-
-
- /**
- * @param resource
- * @return true if the resource is deemed to be a JSF page.
- */
- protected boolean isJSFPage(IResource resource) {
- // currently always return true if resource != null.
- // need to find quick way of determining whether this is a JSF JSP Page
- boolean isJSFPage = true;
- if (resource == null) {
- isJSFPage = false;
- }
- return isJSFPage;
- }
-
- /**
- * @param webApp
- * @return the default file extension from the context param. Default is
- * "jsp" if no context param.
- */
- protected String getDefaultSuffix(Object webApp) {
- String contextParam = null;
- if (webApp != null) {
- if(isJavaEE(webApp)) {
- contextParam = JEEUtils.getContextParam((org.eclipse.jst.javaee.web.WebApp) webApp, JSF_DEFAULT_SUFFIX_CONTEXT_PARAM);
- }
- else {
- contextParam = J2EEUtils.getContextParam((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, JSF_DEFAULT_SUFFIX_CONTEXT_PARAM);
- }
- }
- if (contextParam == null) {
- return getDefaultDefaultSuffix();
- }
- return normalizeSuffix(contextParam);
- }
-
- /**
- * @return the default value for the default mapping suffix
- */
- protected String getDefaultDefaultSuffix()
- {
- return DEFAULT_DEFAULT_MAPPING_SUFFIX;
- }
-
- /**
- * @param name
- * @param value
- * @return the
- */
- protected final String calculateSuffix(final String name, final String value)
- {
- if (name != null
- && JSF_DEFAULT_SUFFIX_CONTEXT_PARAM.equals(name
- .trim()))
- {
- return normalizeSuffix(value != null ? value.trim() : null);
- }
- return null;
- }
-
- /**
- * @param defSuffix
- * @return the suffix value with any leading dot removed
- */
- protected final String normalizeSuffix(String defSuffix)
- {
- if (defSuffix != null && defSuffix.startsWith(".")) //$NON-NLS-1$
- {
- defSuffix = defSuffix.substring(1);
- }
- return defSuffix;
- }
-
- /**
- * Holds all the obsolete JSF Library stuff. This will go away post-Helios.
- * @author cbateman
- *
- */
- public static class JSFLibraryHandler
- {
- /**
- * Construct an array that hold paths for all JARs in a JSF library.
- *
- * @param jsfLib
- * @param logMissingJar true to log an error for each invalid JAR.
- * @return elements
- */
- public final IPath[] getJARPathforJSFLib(JSFLibrary jsfLib, boolean logMissingJar) {
- EList archiveFiles = jsfLib.getArchiveFiles();
- int numJars = archiveFiles.size();
- IPath[] elements = new IPath[numJars];
- ArchiveFile ar = null;
- for (int i= 0; i < numJars; i++) {
- ar = (ArchiveFile)archiveFiles.get(i);
- if ( !ar.exists() && logMissingJar ) {
- logErroronMissingJAR(jsfLib, ar);
- }
- elements[i] = new Path(((ArchiveFile)archiveFiles.get(i)).getResolvedSourceLocation()).makeAbsolute();
- }
- return elements;
- }
-
- private int numberofValidJar(EList archiveFiles) {
- int total = 0;
- final Iterator it = archiveFiles.iterator();
- ArchiveFile ar = null;
- while(it.hasNext()) {
- ar = (ArchiveFile) it.next();
- if (ar.exists()) {
- total++;
- }
- }
- return total;
- }
-
- private void logErroronMissingJAR(JSFLibrary jsfLib, ArchiveFile ar) {
- String msg = NLS.bind(Messages.JSFUtils_MissingJAR,
- ar.getName(),
- jsfLib.getLabel());
- JSFCorePlugin.log(IStatus.ERROR, msg);
- }
-
- /**
- * Construct an array that hold paths for all JARs in a JSF library.
- * However, archive files that no longer exist are filtered out.
- *
- * @param jsfLib
- * @param logMissingJar true to log an error for each invalid JAR.
- * @return elements
- */
- public final IPath[] getJARPathforJSFLibwFilterMissingJars(JSFLibrary jsfLib, boolean logMissingJar) {
- EList archiveFiles = jsfLib.getArchiveFiles();
- int numJars = numberofValidJar(archiveFiles);
- IPath[] elements = new IPath[numJars];
- ArchiveFile ar = null;
- int idxValidJar = 0;
- for (int i= 0; i < archiveFiles.size(); i++) {
- ar = (ArchiveFile)archiveFiles.get(i);
- if ( !ar.exists() ) {
- if (logMissingJar) {
- logErroronMissingJAR(jsfLib, ar);
- }
- } else {
- elements[idxValidJar] = new Path(((ArchiveFile)archiveFiles.get(i)).getResolvedSourceLocation()).makeAbsolute();
- idxValidJar++;
- }
- }
- return elements;
- }
-
- }
-
- /**
- * Finds and returns a JSF Servlet definition, or null if servlet is not defined.
- *
- * @param webApp
- * @return Servlet or null
- */
- protected Object findJSFServlet(Object webApp) {
- if(isJavaEE(webApp)) {
- return JEEUtils.findServlet((org.eclipse.jst.javaee.web.WebApp) webApp, JSF_SERVLET_CLASS);
- }
- return J2EEUtils.findServlet((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, JSF_SERVLET_CLASS);
- }
-
- /**
- * Creates servlet reference in WebApp if not present or updates servlet
- * name if found using the passed configuration.
- *
- * @param webApp
- * @param config
- * @param servlet
- * @return Servlet servlet - if passed servlet was null, will return created
- * servlet
- */
- protected Object createOrUpdateServletRef(final Object webApp,
- final IDataModel config, Object servlet)
- {
- String displayName = getDisplayName(config);
- String className = getServletClassname(config);
- if(isJavaEE(webApp)) {
- return JEEUtils.createOrUpdateServletRef((org.eclipse.jst.javaee.web.WebApp) webApp, displayName, className, (org.eclipse.jst.javaee.web.Servlet) servlet);
- }
- return J2EEUtils.createOrUpdateServletRef((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, displayName, className, (org.eclipse.jst.j2ee.webapplication.Servlet) servlet);
- }
-
- /**
- * Creates servlet-mappings for the servlet for 2.5 WebModules or greated
- *
- * @param webApp
- * @param urlMappingList
- * - list of string values to be used in url-pattern for
- * servlet-mapping
- * @param servlet
- */
- protected void setUpURLMappings(final Object webApp,
- final List<String> urlMappingList, final Object servlet)
- {
- if(isJavaEE(webApp)) {
- JEEUtils.setUpURLMappings((org.eclipse.jst.javaee.web.WebApp) webApp, urlMappingList, (org.eclipse.jst.javaee.web.Servlet) servlet);
- }
- else {
- J2EEUtils.setUpURLMappings((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, urlMappingList, (org.eclipse.jst.j2ee.webapplication.Servlet) servlet);
- }
- }
-
- /**
- * Removes servlet-mappings for servlet using servlet-name for >= 2.5 WebModules.
- * @param webApp
- * @param servlet
- */
- protected void removeURLMappings(final Object webApp, final Object servlet) {
- if(isJavaEE(webApp)) {
- JEEUtils.removeURLMappings((org.eclipse.jst.javaee.web.WebApp) webApp, (org.eclipse.jst.javaee.web.Servlet) servlet);
- }
- else {
- J2EEUtils.removeURLMappings((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, (org.eclipse.jst.j2ee.webapplication.Servlet) servlet);
- }
- }
-
- /**
- * Removes servlet definition
- * @param webApp
- * @param servlet
- */
- protected void removeJSFServlet(final Object webApp, final Object servlet) {
- if(isJavaEE(webApp)) {
- JEEUtils.removeServlet((org.eclipse.jst.javaee.web.WebApp) webApp, (org.eclipse.jst.javaee.web.Servlet) servlet);
- }
- else {
- J2EEUtils.removeServlet((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, (org.eclipse.jst.j2ee.webapplication.Servlet) servlet);
- }
- }
-
- /**
- * Removes context-param
- * @param webApp
- */
- protected void removeJSFContextParams(final Object webApp) {
- if(isJavaEE(webApp)) {
- JEEUtils.removeContextParam((org.eclipse.jst.javaee.web.WebApp) webApp, JSF_CONFIG_CONTEXT_PARAM);
- }
- else {
- J2EEUtils.removeContextParam((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, JSF_CONFIG_CONTEXT_PARAM);
- }
- }
-
- /**
- * Creates or updates context-params
- * @param webApp
- * @param config
- */
- protected void setupContextParams(final Object webApp, final IDataModel config) {
- final String paramValue = config.getStringProperty(IJSFFacetInstallDataModelProperties.CONFIG_PATH);
- if (paramValue != null && !paramValue.equals(JSF_DEFAULT_CONFIG_PATH)) {
- if(isJavaEE(webApp)) {
- JEEUtils.setupContextParam((org.eclipse.jst.javaee.web.WebApp) webApp, JSF_CONFIG_CONTEXT_PARAM, paramValue);
- }
- else {
- J2EEUtils.setupContextParam((org.eclipse.jst.j2ee.webapplication.WebApp) webApp, JSF_CONFIG_CONTEXT_PARAM, paramValue);
- }
- }
-
- }
-
- /**
- * @param map
- * @param webApp
- * @return extension from map. Will return null if file extension not found
- * in url patterns.
- */
- protected String getFileExtensionFromMap(final Object webApp, final Object map) {
- if(isJavaEE(webApp)) {
- return JEEUtils.getFileExtensionFromMap((org.eclipse.jst.javaee.web.ServletMapping) map);
- }
- return J2EEUtils.getFileExtensionFromMap((org.eclipse.jst.j2ee.webapplication.ServletMapping) map);
- }
-
- /**
- * @param webApp
- * @param map
- * @return prefix mapping. may return null.
- */
- protected String getPrefixMapping(final Object webApp, final Object map) {
- if(isJavaEE(webApp)) {
- return JEEUtils.getPrefixMapping((org.eclipse.jst.javaee.web.ServletMapping) map);
- }
- return J2EEUtils.getPrefixMapping((org.eclipse.jst.j2ee.webapplication.ServletMapping) map);
- }
-
- /**
- * @param webAppObj
- * @param resource
- * @param existingURL
- * @return the modified url path for the (possibly) jsf resource.
- */
- public IPath getFileUrlPath(Object webAppObj, IResource resource,
- IPath existingURL) {
- // if not a JSF page, do nothing
- if (!isJSFPage(resource))
- {
- return null;
- }
-
- Object servlet = findJSFServlet(webAppObj);
- List implicitServletMappings = new ArrayList();
- if (servlet == null)
- {
- servlet = createImplicitServletAndMapping(webAppObj, implicitServletMappings);
- }
-
- String defaultSuffix = getDefaultSuffix(webAppObj);
- // is the resource using default_suffix
- String fileExtension = resource.getFileExtension();
- boolean canUseExtensionMapping = fileExtension != null && fileExtension.equalsIgnoreCase(defaultSuffix);
- // if not using default extension and is not a known file extension,
- // then we will abort
- if (!canUseExtensionMapping
- && !isValidKnownExtension(resource.getFileExtension()))
- return null;
-
- if(isJavaEE(webAppObj)) {
- org.eclipse.jst.javaee.web.WebApp webApp = (org.eclipse.jst.javaee.web.WebApp) webAppObj;
-
- final String servletName = ((org.eclipse.jst.javaee.web.Servlet) servlet).getServletName();
-
- String foundFileExtension = null;
- List mappings;
- if (webApp.getServletMappings().size() > 0) {
- mappings = webApp.getServletMappings();
- } else {
- mappings = implicitServletMappings;
- }
- for (final org.eclipse.jst.javaee.web.ServletMapping map : (List<org.eclipse.jst.javaee.web.ServletMapping>) mappings)
- {
- if (map != null &&
- map.getServletName() != null &&
- map.getServletName().trim().equals(servletName.trim()))
- {
- foundFileExtension = getFileExtensionFromMap(webAppObj, map);
- if (foundFileExtension != null && canUseExtensionMapping)
- {
- return existingURL.removeFileExtension()
- .addFileExtension(foundFileExtension);
- }
-
- String foundPrefixMapping = getPrefixMapping(webAppObj, map);
- if (foundPrefixMapping != null)
- {
- return new Path(foundPrefixMapping).append(existingURL);
- }
- }
- }
-
- if (!canUseExtensionMapping && foundFileExtension != null)
- {
- // we could prompt user that this may not work...
- // for now we will return the extension mapping
- return existingURL.removeFileExtension().addFileExtension(
- foundFileExtension);
- }
-
- // we could, at this point, add a url mapping to the faces servlet,
- // or prompt user that it may be a good idea to add one...
-
- }
- else {
- List mappings;
- if (((org.eclipse.jst.j2ee.webapplication.Servlet)servlet).getMappings().size() > 0) {
- mappings = ((org.eclipse.jst.j2ee.webapplication.Servlet)servlet).getMappings();
- } else {
- mappings = implicitServletMappings;
- }
- Iterator itMappings = mappings.iterator();
- org.eclipse.jst.j2ee.webapplication.ServletMapping map = null;
- String foundFileExtension = null;
- String foundPrefixMapping = null;
- while (itMappings.hasNext())
- {
- map = (org.eclipse.jst.j2ee.webapplication.ServletMapping)itMappings.next();
-
- foundFileExtension = getFileExtensionFromMap(webAppObj, map);
- if (foundFileExtension != null && canUseExtensionMapping)
- {
- return existingURL.removeFileExtension().addFileExtension(foundFileExtension);
- }
-
- if (foundPrefixMapping == null)
- {
- foundPrefixMapping = getPrefixMapping(webAppObj, map);
- }
- }
- if (foundPrefixMapping != null)
- {
- return new Path(foundPrefixMapping).append(existingURL);
- }
- if (! canUseExtensionMapping && foundFileExtension != null){
- //we could prompt user that this may not work...
- //for now we will return the extension mapping
- return existingURL.removeFileExtension().addFileExtension(foundFileExtension);
- }
-
- // we could, at this point, add a url mapping to the faces servlet,
- // or prompt user that it may be a good idea to add one...
-
- }
- return null;
- }
-
- /**
- * This creates a servlet and servlet mapping suitable for
- * {@link #getFileUrlPath(Object, IResource, IPath)} to be able to proceed, but the returned
- * objects are not fully-initialized for any and all purposes. USE WITH CAUTION.
- *
- * @param webApp Web App object.
- * @param mappings List to which the that the created servlet mapping will be added.
- * @return Servlet instance (and a servlet mapping added to mappings).
- */
- private Object createImplicitServletAndMapping(Object webApp, List mappings) {
- Object servlet;
- String sysPropServletMapping = System.getProperty(SYS_PROP_SERVLET_MAPPING);
- if (sysPropServletMapping == null) {
- sysPropServletMapping = JSF_DEFAULT_URL_MAPPING;
- }
- if (isJavaEE(webApp)) {
- servlet = WebFactory.eINSTANCE.createServlet();
- ((org.eclipse.jst.javaee.web.Servlet)servlet).setServletName(JSF_DEFAULT_SERVLET_NAME);
- org.eclipse.jst.javaee.web.ServletMapping mapping = WebFactory.eINSTANCE.createServletMapping();
- mapping.setServletName(JSF_DEFAULT_SERVLET_NAME);
- org.eclipse.jst.javaee.core.UrlPatternType pattern = JavaeeFactory.eINSTANCE.createUrlPatternType();
- pattern.setValue(sysPropServletMapping);
- mapping.getUrlPatterns().add(pattern);
- mappings.add(mapping);
- } else {
- servlet = WebapplicationFactory.eINSTANCE.createServlet();
- ((org.eclipse.jst.j2ee.webapplication.Servlet)servlet).setServletName(JSF_DEFAULT_SERVLET_NAME);
- org.eclipse.jst.j2ee.webapplication.ServletMapping mapping = WebapplicationFactory.eINSTANCE.createServletMapping();
- mapping.setUrlPattern(sysPropServletMapping);
- mappings.add(mapping);
- }
- return servlet;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils11.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils11.java
deleted file mode 100644
index 020d4fe4c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils11.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.io.PrintWriter;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * Utility file for JSF model v1.1
- *
- * @author Gerry Kessler - Oracle
- */
-/*package use JSFUtilFactory*/ class JSFUtils11 extends JSFUtils {
-
- /**
- * @param modelProvider
- */
- protected JSFUtils11(final IModelProvider modelProvider)
- {
- super(JSFVersion.V1_1, modelProvider);
- }
-
-
- /**
- * Creates a stubbed JSF configuration file for specified JSF version and
- * path
- */
- @Override
- public void doVersionSpecificConfigFile(final PrintWriter pw)
- {
- final String QUOTE = new String(new char[]
- { '"' });
- pw.write("<?xml version=" + QUOTE + "1.0" + QUOTE + " encoding=" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + QUOTE + "UTF-8" + QUOTE + "?>\n\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- pw.write("<!DOCTYPE faces-config PUBLIC\n"); //$NON-NLS-1$
- pw.write(" " //$NON-NLS-1$
- + QUOTE
- + "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" //$NON-NLS-1$
- + QUOTE + "\n"); //$NON-NLS-1$
- pw.write(" " + QUOTE //$NON-NLS-1$
- + "http://java.sun.com/dtd/web-facesconfig_1_1.dtd" //$NON-NLS-1$
- + QUOTE + ">\n\n"); //$NON-NLS-1$
-
- pw.write("<faces-config>\n\n"); //$NON-NLS-1$
- pw.write("</faces-config>\n"); //$NON-NLS-1$
- }
-
- @Override
- public void updateWebApp(Object webApp, IDataModel config)
- {
- // create or update servlet ref
- Object servlet = findJSFServlet(webApp);// check to see
- // if already
- // present
-
-
- servlet = createOrUpdateServletRef(webApp, config, servlet);
-
- // init mappings
- final List listOfMappings = getServletMappings(config);
- setUpURLMappings(webApp, listOfMappings, servlet);
-
- // setup context params
- setupContextParams(webApp, config);
- }
-
- @Override
- public void rollbackWebApp(Object webApp)
- {
- Object servlet = findJSFServlet(webApp);
- if (servlet == null)
- {
- return;
- }
- // remove faces url mappings
- removeURLMappings(webApp, servlet);
- // remove context params
- removeJSFContextParams(webApp);
- // remove servlet
- removeJSFServlet(webApp, servlet);
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils12.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils12.java
deleted file mode 100644
index bb3bd9609..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils12.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.io.PrintWriter;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * Utility file for JSF v1.2 model
- *
- * @author Gerry Kessler - Oracle
- */
-/*package: use JSFUtilFactory*/ class JSFUtils12 extends JSFUtils {
-
- /**
- * @param modelProvider
- *
- */
- protected JSFUtils12(final IModelProvider modelProvider)
- {
- this(JSFVersion.V1_2, modelProvider);
- }
-
- /**
- * @param jsfVersion
- * @param modelProvider
- */
- protected JSFUtils12(final JSFVersion jsfVersion, final IModelProvider modelProvider)
- {
- super(jsfVersion, modelProvider);
- if (jsfVersion.compareTo(JSFVersion.V1_2) < 0)
- {
- throw new IllegalArgumentException(
- "JsfVersion must be at least 1.2"); //$NON-NLS-1$
- }
- }
-
- @Override
- public void doVersionSpecificConfigFile(PrintWriter pw)
- {
- final String QUOTE = new String(new char[]
- { '"' });
- final String schemaVersionString = getVersion().toString().replaceAll("\\.", "_"); //$NON-NLS-1$//$NON-NLS-2$
- pw.write("<?xml version=" + QUOTE + "1.0" + QUOTE + " encoding=" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + QUOTE + "UTF-8" + QUOTE + "?>\n\n"); //$NON-NLS-1$ //$NON-NLS-2$
- pw.write("<faces-config\n"); //$NON-NLS-1$
- pw.write(" " + "xmlns=" + QUOTE //$NON-NLS-1$ //$NON-NLS-2$
- + "http://java.sun.com/xml/ns/javaee" + QUOTE + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
- pw.write(" " + "xmlns:xsi=" + QUOTE //$NON-NLS-1$ //$NON-NLS-2$
- + "http://www.w3.org/2001/XMLSchema-instance" + QUOTE //$NON-NLS-1$
- + "\n"); //$NON-NLS-1$
- pw.write(" " //$NON-NLS-1$
- + "xsi:schemaLocation=" //$NON-NLS-1$
- + QUOTE
- + String.format("http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_%s.xsd", schemaVersionString) //$NON-NLS-1$
- + QUOTE + "\n"); //$NON-NLS-1$
- pw.write(" " + "version=" + QUOTE + getVersion().toString() + QUOTE + ">\n\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- pw.write("</faces-config>\n"); //$NON-NLS-1$
- }
-
- @Override
- public void updateWebApp(Object webApp, IDataModel config)
- {
- // create or update servlet ref
- Object servlet = findJSFServlet(webApp);// check to see
- // if already
-
- servlet = createOrUpdateServletRef(webApp, config, servlet);
-
- // init mappings
- final List listOfMappings = getServletMappings(config);
- setUpURLMappings(webApp, listOfMappings, servlet);
-
- // setup context params
- setupContextParams(webApp, config);
- }
-
-
- @Override
- public void rollbackWebApp(Object webApp)
- {
- Object servlet = findJSFServlet(webApp);
- if (servlet == null)
- {
- return;
- }
- // remove faces url mappings
- removeURLMappings(webApp, servlet);
- // remove context params
- removeJSFContextParams(webApp);
- // remove servlet
- removeJSFServlet(webApp, servlet);
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils20.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils20.java
deleted file mode 100644
index 28583ae1e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFUtils20.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.jsf.core.JSFVersion;
-
-/**
- * JSF Utils instance for JSF 2.0.
- *
- * @author cbateman
- *
- */
-/* package: use JSFUtilFactory */class JSFUtils20 extends JSFUtils12
-{
- private static final String DEFAULT_DEFAULT_MAPPING_SUFFIX = "xhtml"; //$NON-NLS-1$
-
- /**
- * @param modelProvider
- */
- protected JSFUtils20(final IModelProvider modelProvider)
- {
- super(JSFVersion.V2_0, modelProvider);
- }
-
- @Override
- protected String getDefaultDefaultSuffix()
- {
- return DEFAULT_DEFAULT_MAPPING_SUFFIX;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JsfFacetConfigurationUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JsfFacetConfigurationUtil.java
deleted file mode 100644
index 21f725fda..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JsfFacetConfigurationUtil.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Debajit Adhikary - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-
-/**
- * Utility class to provide an easy way to read the jsfFacetConfiguration
- * extension-point (org.eclipse.jst.jsf.core.jsfFacetConfiguration).
-
- * @author Debajit Adhikary (Oracle)
- *
- */
-public class JsfFacetConfigurationUtil
-{
- private static final String JSF_FACES_CONFIG_EXTENSION_ID = "jsfFacetConfiguration"; //$NON-NLS-1$
- private static final String DISABLED_ATTR_NAME = "disabled"; //$NON-NLS-1$
- private static final String TRUE_STRING = "true"; //$NON-NLS-1$
-
-
- /**
- * @return True if the disabled attribute is not set to "true".
- */
- public static boolean isJsfFacetConfigurationEnabled ()
- {
- return !isJsfFacetConfigurationDisabled();
- }
-
-
- /**
- * @return True if disabled="true" is set in the extension point.
- */
- public static boolean isJsfFacetConfigurationDisabled ()
- {
- IExtensionPoint jsfFacetConfigExtensionPoint = JSFCorePlugin.getDefault().getExtension(JSF_FACES_CONFIG_EXTENSION_ID);
- for (final IExtension extension : jsfFacetConfigExtensionPoint.getExtensions())
- {
- for (final IConfigurationElement configElement : extension.getConfigurationElements())
- {
- if (configElement != null && configElement.getName().equals(JSF_FACES_CONFIG_EXTENSION_ID))
- {
- final String attrValue = configElement.getAttribute(DISABLED_ATTR_NAME);
- if(attrValue != null)
- {
- return attrValue.equalsIgnoreCase(TRUE_STRING);
- }
- }
- }
- }
-
- return false;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderDetector.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderDetector.java
deleted file mode 100644
index 653d5c105..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderDetector.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LegacyLibraryProviderDetector;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-@SuppressWarnings("deprecation")
-public final class LegacyJSFLibraryProviderDetector
-
- extends LegacyLibraryProviderDetector
-
-{
- private static final String LEGACY_JSF_LIBRARY_PROVIDER_ID
- = "legacy-jsf-library-provider"; //$NON-NLS-1$
-
- @Override
- public ILibraryProvider detect( final IProject project,
- final IProjectFacet facet )
- {
- try
- {
- final IJavaProject jproj = JavaCore.create( project );
-
- for( IClasspathEntry cpe : jproj.getRawClasspath() )
- {
- if( detect( cpe ) )
- {
- return LibraryProviderFramework.getProvider( LEGACY_JSF_LIBRARY_PROVIDER_ID );
- }
- }
- }
- catch( Exception e )
- {
- JSFCorePlugin.log( e, e.getMessage() );
- }
-
- return null;
- }
-
- /**
- * @param cpe
- * @return true if the classpath entry is detected
- */
- public static boolean detect( final IClasspathEntry cpe )
- {
- if( cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER )
- {
- final IPath path = cpe.getPath();
-
- if( isJSFLibraryContainer( path ) )
- {
- String libId = path.lastSegment();
- JSFLibrary ref = JSFLibraryRegistryUtil.getInstance().getJSFLibraryRegistry().getJSFLibraryByID(libId);
-
- if( ref != null && ref.isImplementation() )
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- private static boolean isJSFLibraryContainer(IPath path) {
- return path != null && path.segmentCount() == 2 && JSFLibraryConfigurationHelper.JSF_LIBRARY_CP_CONTAINER_ID.equals(path.segment(0));
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderUninstallOperation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderUninstallOperation.java
deleted file mode 100644
index daf009a1a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/LegacyJSFLibraryProviderUninstallOperation.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.jsf.core.internal.project.facet;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LegacyJSFLibraryProviderUninstallOperation
-
- extends LibraryProviderOperation
-
-{
- public void execute( final LibraryProviderOperationConfig config,
- final IProgressMonitor monitor )
-
- throws CoreException
-
- {
- monitor.beginTask( "", 1 ); //$NON-NLS-1$
-
- try
- {
- final IProject project = config.getFacetedProject().getProject();
- final IJavaProject jproj = JavaCore.create( project );
- final List<IClasspathEntry> newcp = new ArrayList<IClasspathEntry>();
-
- for( IClasspathEntry cpe : jproj.getRawClasspath() )
- {
- if( ! LegacyJSFLibraryProviderDetector.detect( cpe ) )
- {
- newcp.add( cpe );
- }
- }
-
- final IClasspathEntry[] array = newcp.toArray( new IClasspathEntry[ newcp.size() ] );
- jproj.setRawClasspath( array, null );
-
- monitor.worked( 1 );
- }
- finally
- {
- monitor.done();
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2AttrAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2AttrAdapter.java
deleted file mode 100644
index 6ac56a3bd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2AttrAdapter.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.core.internal.region;
-
-import org.eclipse.jst.jsf.common.dom.AttrDOMAdapter;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.w3c.dom.Node;
-
-/**
- * A AttrDOMAdapter that adapts from a ITextRegions. Instances of class can only
- * be obtained from and are always relative to, an owning Region2ElementAdapter
- *
- * @author cbateman
- *
- */
-public class Region2AttrAdapter extends AttrDOMAdapter
-{
- private final Node _attr;
-
- /**
- * @param owner
- * @param attr
- */
- Region2AttrAdapter(final Region2ElementAdapter owner, final Node attr)
- {
- super(owner);
- _attr = attr;
- }
-
- @Override
- public Region2ElementAdapter getOwningElement()
- {
- return (Region2ElementAdapter) super.getOwningElement();
- }
-
- @Override
- public String getLocalName()
- {
- return _attr.getLocalName();
- }
-
- @Override
- public String getNodeName()
- {
- return _attr.getNodeName();
- }
-
- @Override
- public String getPrefix()
- {
- return _attr.getPrefix();
- }
-
- @Override
- public String getValue()
- {
- return _attr.getNodeValue();
- }
-
- /**
- * @return the structured document context
- */
- public IStructuredDocumentContext getDocumentContext()
- {
- return IStructuredDocumentContextFactory.INSTANCE.getContext
- (getOwningElement().getDocumentContext().getStructuredDocument(),
- getStartOffset());
- }
-
- /**
- * @return the absolute document offset where the attribute starts.
- */
- public int getStartOffset()
- {
- return getOwningElement().getTextRegion().getStartOffset()+getAttributeNameRegion().getStart();
- }
-
- /**
- * Offsets in the region will be relative to the parent element, not the
- * document
- *
- * @return the ITextRegion for the attribute name of the attribute adapted
- * by attrAdapter
- * @throws IllegalArgumentException
- * if attrAdapter.getOwningElement != this
- */
- // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=217523 for deprecation
- @SuppressWarnings("deprecation")
- public ITextRegion getAttributeNameRegion()
- {
-
- return getDOMAttr(_attr).getNameRegion();
- }
-
- /**
- * Offsets in the region will be relative to the parent element, not the
- * document
- *
- * @return the ITextRegion for the attribute value of the attribute adapted
- * by attrAdapter
- * @throws IllegalArgumentException
- * if attrAdapter.getOwningElement != this
- */
- @SuppressWarnings("deprecation")
- // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=217523 for deprecation
- public ITextRegion getAttributeValueRegion()
- {
- return getDOMAttr(_attr).getValueRegion();
- }
-
- private IDOMAttr getDOMAttr(final Node attrAsNode)
- {
- assert attrAsNode instanceof IDOMAttr;
-
- return ((IDOMAttr) attrAsNode);
- }
-
- @Override
- public String toString()
- {
- return String.format("Region2AttrAdapter: attr=%s, owningElement=%s" //$NON-NLS-1$
- , _attr.getNodeName(), getOwningElement().getNodeName());
-
- }
-
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2ElementAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2ElementAdapter.java
deleted file mode 100644
index 2ed641012..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/region/Region2ElementAdapter.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.region;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.common.dom.ElementDOMAdapter;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Adapt a region object for DOM element information. Does not implement entire
- * DOM interface. Object is lazily initialized and not thread-safe.
- *
- * @author cbateman
- *
- */
-public class Region2ElementAdapter extends ElementDOMAdapter
-{
- private final RegionProcessorStrategy _regionParser;
-
- /**
- * Create a new adapter for this region. If the region does not contain
- * enough information to construct a meaningful adapter, it will throw
- * NoElementException. The adapter is lazily initialized and won't process
- * the region until the first call to a get method is made.
- *
- * @param region
- * @throws NoElementException
- */
- public Region2ElementAdapter(final ITextRegion region)
- throws NoElementException
- {
- _regionParser = new RegionProcessorStrategy(region);
- }
-
- @Override
- public Map<String, Region2AttrAdapter> getAttributes()
- {
- return _regionParser.getAttributes();
- }
-
- @Override
- public String getNamespace()
- {
- return _regionParser.getNamespace();
- }
-
- @Override
- public String getLocalName()
- {
- return _regionParser.getLocalName();
- }
-
- @Override
- public String getNodeName()
- {
- return _regionParser.getNodeName();
- }
-
- @Override
- public String getPrefix()
- {
- return _regionParser.getPrefix();
- }
-
- /**
- * @return the structured document context
- */
- public IStructuredDocumentContext getDocumentContext()
- {
- return _regionParser._context;
- }
-
- /**
- * @return an ITextRegion containing absolute offset information for this element
- */
- public ITextRegionCollection getTextRegion()
- {
- return _regionParser._region;
- }
-
- /**
- * @return the element
- */
- public Element getElement()
- {
- return (Element) _regionParser._node;
- }
-
- private class RegionProcessorStrategy
- {
- private final ITextRegionCollection _region;
-
- private Map<String, Region2AttrAdapter> _attributes;
- private Node _node;
- private IStructuredDocumentContext _context;
-
- RegionProcessorStrategy(final ITextRegion region) throws NoElementException
- {
- if (!(region instanceof ITextRegionCollection)
- || ((ITextRegionCollection) region).getFirstRegion()
- .getType() != DOMRegionContext.XML_TAG_OPEN)
- {
- throw new NoElementException(
- "Region is not a collection with an open tag"); //$NON-NLS-1$
- }
-
- _region = (ITextRegionCollection) region;
-
- _context =
- IStructuredDocumentContextFactory.INSTANCE.getContext(
- ((IStructuredDocumentRegion) _region)
- .getParentDocument(), _region
- .getStartOffset());
-
- if (_context == null)
- {
- throw new NoElementException(
- "Couldn't acquire structured document context"); //$NON-NLS-1$
- }
-
- final IDOMContextResolver resolver =
- IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(_context);
-
- if (resolver == null)
- {
- throw new NoElementException("Couldn't acquire dom resolver"); //$NON-NLS-1$
- }
-
- _node = resolver.getNode();
-
- if (_node == null)
- {
- throw new NoElementException("Couldn't get Node from region"); //$NON-NLS-1$
- }
- }
-
- public String getLocalName()
- {
- return _node.getLocalName();
- }
-
- public String getNodeName()
- {
- return _node.getNodeName();
- }
-
- public String getPrefix()
- {
- return _node.getPrefix();
- }
-
- public String getNamespace()
- {
- final ITaglibContextResolver tagLibResolver =
- IStructuredDocumentContextResolverFactory2.INSTANCE
- .getTaglibContextResolverFromDelegates(_context);
-
- if (tagLibResolver != null)
- {
- return tagLibResolver.getTagURIForNodeName(_node);
- }
-
- return null;
- }
-
- public Map<String, Region2AttrAdapter> getAttributes()
- {
- mapAttributesOnlyOnce();
- return Collections.unmodifiableMap(_attributes);
- }
-
- private void mapAttributesOnlyOnce()
- {
- // only once
- if (_attributes != null)
- return;
-
- _attributes = Collections.EMPTY_MAP;
-
- final NamedNodeMap attributes = _node.getAttributes();
-
- if (attributes != null)
- {
- final int numAttrs = attributes.getLength();
- _attributes = new HashMap<String, Region2AttrAdapter>(
- (int) (numAttrs / 0.75f) + 1, 0.75f);
- for (int i = 0; i < numAttrs; i++)
- {
- final Node nodeAttr = attributes.item(i);
- Region2AttrAdapter attr = new Region2AttrAdapter(
- Region2ElementAdapter.this, nodeAttr);
- _attributes.put(attr.getLocalName(), attr);
- }
- }
- }
- }
-
- /**
- * Indicates that construction of this adapter failed because an IRegion
- * didn't have sufficient information (or didn't represent an element at
- * all)
- *
- * @author cbateman
- *
- */
- public static class NoElementException extends Exception
- {
- /**
- * serializable id
- */
- private static final long serialVersionUID = -4479154049727036580L;
-
- private NoElementException(final String reason)
- {
- super(reason);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/AttributeIdentifierFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/AttributeIdentifierFactory.java
deleted file mode 100644
index 2d675ce6c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/AttributeIdentifierFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.AttributeIdentifier;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-/**
- * A factory for creating instances of AttributeIdentifier. Some results may be
- * cached or otherwise based on shared instances.
- *
- * @author cbateman
- *
- */
-public final class AttributeIdentifierFactory
-{
- /**
- * @param tagId
- * @param attributeName
- * @return an attribute id based on the tagid and attribute name provided.
- */
- public static AttributeIdentifier createAttributeIdentifier(
- final TagIdentifier tagId, final String attributeName)
- {
- return new SimpleAttributeIdentifier(tagId, attributeName);
- }
-
- private final static class SimpleAttributeIdentifier extends
- AttributeIdentifier
- {
- private final TagIdentifier _tagId;
- private final String _attributeName;
-
- public SimpleAttributeIdentifier(final TagIdentifier tagId,
- String attributeName)
- {
- _tagId = tagId;
- _attributeName = attributeName;
- }
-
- @Override
- public String getName()
- {
- return _attributeName;
- }
-
- @Override
- public TagIdentifier getTagIdentifier()
- {
- return _tagId;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/CMUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/CMUtil.java
deleted file mode 100644
index 47e20649b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/CMUtil.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLElementDeclaration;
-import org.eclipse.wst.html.core.internal.provisional.HTMLCMProperties;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
-import org.w3c.dom.Element;
-
-/**
- * Utility class to content model related information.
- *
- * @author mengbo
- */
-public final class CMUtil {
- /**
- * If the element is a custom tag, get the URI of it. If the element is a
- * standard JSP tag, return null. If is not jsp tag, then return null
- * @param decl
- *
- * @return the tag uri as a string
- */
- public static String getTagURI(CMElementDeclaration decl) {
- if (decl instanceof CMNodeWrapper) {
- decl = (CMElementDeclaration) ((CMNodeWrapper) decl)
- .getOriginNode();
- }
- if (decl instanceof TLDElementDeclaration) {
- CMDocument doc = ((TLDElementDeclaration) decl).getOwnerDocument();
- if (doc instanceof TLDDocument) {
- TLDDocument tldDoc = (TLDDocument)doc;
- return getURIFromDoc(tldDoc , null);
- }
- }
- return null;
- }
-
- /**
- * @param doc
- * @param project - may be null in which case it is calculated as necessary from the doc baseLocation
- * @return valid string to use for the uri when given a TLD doc
- * Must <ul>not</ul> be called with HTML or JSP documents.
- * As there is no API on the doc for standalone or tagDir doc, it is possible that this could return an invalid string.
- * However, if the code is consistent in it's usage, all should be well.
- * or null if not found.
- */
- public static String getURIFromDoc(final TLDDocument doc, final IProject project) {
- String uri = doc.getUri();
- IProject proj = project;
- if (uri == null) {//
- Path baseLoc = new Path(doc.getBaseLocation());
- if (proj == null) {
- proj = getProjectFor(baseLoc);
- if (proj == null) {//log error
- return null;
- }
- }
-
- if (isTagDirDocument(doc, proj)) {
- uri = getTagDirURI(doc, proj);
- } else {
- uri = getStandaloneTLDURI(doc, proj);
- }
- }
- return uri;
- }
-
- /**
- * @param tldRec
- * @param project
- * @return valid string to use for the uri when given a ITaglibRecord
- * or null.
- */
- public static String getURIFromTaglibRecord(ITaglibRecord tldRec, IProject project) {
- //similar code in PaletteHelper and above
- String uri = tldRec.getDescriptor().getURI();
- if (uri == null || uri.trim().equals("")) { //$NON-NLS-1$
- //need to construct valid string representing taglib identifier
- CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
- TLDDocument doc = (TLDDocument)factory.createCMDocument(tldRec);
- if (tldRec.getRecordType() == ITaglibRecord.TLD) {
- uri = getStandaloneTLDURI(doc, project);
- }
- else if (tldRec.getRecordType() == ITaglibRecord.TAGDIR) {
- uri = getTagDirURI(doc, project);
- }
-
- }
- return uri;
- }
-
- private static String getStandaloneTLDURI(TLDDocument doc, IProject project) {
- Path p = new Path(doc.getBaseLocation());
- IPath webContentPath = ComponentCore.createComponent(project).getRootFolder().getUnderlyingFolder().getLocation();
- return getURIFromPath(p.makeAbsolute().makeRelativeTo(webContentPath.makeAbsolute()));
- }
-
- private static String getTagDirURI(TLDDocument doc, IProject project) {
- Path p = new Path(doc.getBaseLocation());
- IVirtualComponent projectComp = ComponentCore.createComponent(project);
-
- if (projectComp != null)
- {
- IVirtualFolder rootFolder = projectComp.getRootFolder();
-
- if (rootFolder != null)
- {
- IPath webContentPath =
- rootFolder.getUnderlyingFolder().getFullPath();
- return getURIFromPath(p.makeRelativeTo(webContentPath));
- }
- }
- return null;
- }
-
- private static String getURIFromPath(IPath uriPath)
- {
- if (uriPath != null)
- return "/"+uriPath.toString(); //$NON-NLS-1$ - do not remove "/" since is necessary for tagdir attr on taglib directive
-
- return null;
- }
-
- /**
- * @param tldDoc - must not be null
- * @param project - must not be null
- * @return true if this is a tag dir tldDocument
- */
- public static boolean isTagDirDocument(final TLDDocument tldDoc, final IProject project) {
- if (tldDoc.getUri() == null || tldDoc.getUri().equals("")) { //$NON-NLS-1$
- IPath p = new Path(tldDoc.getBaseLocation());
- IPath webContentPath = ComponentCore.createComponent(project).getRootFolder().getUnderlyingFolder().getFullPath();
- if (p.matchingFirstSegments(webContentPath) == webContentPath.segmentCount()) {
- p = p.removeFirstSegments(webContentPath.segmentCount());
- if (p.matchingFirstSegments(new Path("WEB-INF/tags")) == 2) { //$NON-NLS-1$) {
- return true;
- }
- }
- }
- return false;
- }
-
- //Code taken from jsf.common.ui.WorkspaceUtil
- private static IProject getProjectFor(IPath path) {
- String[] segs = path.segments();
- String projectPath = new String();
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
- .getProjects();
- IProject project = null;
- for (int p = 0; p < projects.length; p++) {
- if (projects[p].isOpen()) {
- for (int s = 0; s < segs.length; s++) {
- if (segs[s].equalsIgnoreCase(projects[p].getName())) {
- // Once we have a match on the project name, then
- // the remainder of the segments equals the project path
- for (int s2 = s + 1; s2 < segs.length; s2++) {
- projectPath = projectPath
- + "/" //$NON-NLS-1$
- + segs[s2];
- }
- project = projects[p];
- break;
- }
- }
- }
- }
- if (project == null) {
- return null;
- }
-
- // TODO: still don't understand why this refreshLocal is necessary
- // for now, going to only allow it if this method is called
- // when the tree isn't locked. This shouldn't cause a regression, since
- // when the call fails currently things keep on going due to the catch
- if (!project.getWorkspace().isTreeLocked())
- {
- try {
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (CoreException e) {
-// TODO C.B.:pushing this down to a warning because it creates really
-// spurious output. Don't know why we are calling refreshLocal at all.
- JSFCorePlugin.log(Status.WARNING, "Error.RefreshingLocal", e); //$NON-NLS-1$
- }
- }
-
- IResource res = project.findMember(new Path(projectPath));
- if ((res != null) && (res.exists())) {
- return project;
- }
- return null;
- }
-
- /**
- * Test whether this is the JSP core tag.
- *
- * @param decl
- * @return true if decl is a jsp element declaration
- */
- public static boolean isJSP(CMElementDeclaration decl) {
- if (!decl.supports(HTMLCMProperties.IS_JSP)) {
- return false;
- }
- Boolean b = (Boolean) decl.getProperty(HTMLCMProperties.IS_JSP);
- return b.booleanValue();
- }
-
- /**
- * @param decl
- * @return true if the element declartion is a non-JSP html element
- */
- public static boolean isHTML(CMElementDeclaration decl) {
- if (!isJSP(decl) && (decl instanceof HTMLElementDeclaration)) {
- return true;
- }
- return false;
- }
-
- /**
- * get element declaration of specified element
- *
- * @param element
- * @return null if can't get it.
- */
- public static CMElementDeclaration getElementDeclaration(Element element) {
- if (element == null) {
- return null;
- }
- INodeNotifier notifier = (INodeNotifier) element.getOwnerDocument();
- if (notifier == null) {
- return null;
- }
- ModelQueryAdapter mqa = (ModelQueryAdapter) notifier
- .getAdapterFor(ModelQueryAdapter.class);
- if (mqa == null) {
- return null;
- }
- return mqa.getModelQuery().getCMElementDeclaration(element);
- }
-
- /**
- * @param element
- * @return the TLDElementDeclaration for element or null if not found
- */
- public static TLDElementDeclaration getTLDElementDeclaration(Element element) {
- CMNode decl = getElementDeclaration(element);
- if (decl instanceof CMNodeWrapper) {
- decl = ((CMNodeWrapper) decl).getOriginNode();
- }
- if (decl instanceof TLDElementDeclaration) {
- return (TLDElementDeclaration) decl;
- }
- return null;
- }
-
- /**
- * !!! NOTE: this function is intended to work around the problem that if your element
- * has not yet been added to an IDOMModel, getElementDeclaration won't be able to find
- * it. This method does nothing (unlike the ModelQuery-based approach in getElementDeclaration)
- * to ensure that the namespace "uri" provided is valid in the structured document provided. It is
- * therefore only advisable to use this method in cases where your node is not already a member of a
- * IDOMModel.
- *
- * @param uri
- * @param elementName
- * @param document
- * @return the TLDElementDeclaration for this required tag or null if there is nothing appropriate
- */
- public static CMElementDeclaration getTLDElementDeclaration(final String uri, final String elementName, IDocument document)
- {
- TLDCMDocumentManager tldmgr = TaglibController.getTLDCMDocumentManager(document);
-
- if (tldmgr != null)
- {
- for (Iterator it = tldmgr.getTaglibTrackers().iterator();it.hasNext();)
- {
- TaglibTracker tracker = (TaglibTracker) it.next();
-
- if (tracker.getURI().equals(uri))
- {
- return (CMElementDeclaration) tracker.getElements().getNamedItem(tracker.getPrefix()+":"+elementName); //$NON-NLS-1$
- }
- }
- }
- // fallthrough
- return null;
- }
-
- /**
- * give an element, get its namespace URI.
- *
- * @param element
- * @return the namespace URI
- */
- public static String getElementNamespaceURI(Element element) {
- //System.out.printf("uri for %s is %s\n", element.toString(), element.getNamespaceURI());
-
- CMElementDeclaration decl = getElementDeclaration(element);
- if (decl == null) {
-
- // if the content model has nothing, see if the element
- // itself has an xml namespace
- // TODO: should only apply this if the source document
- // is a valid XML doc?
- final String uri = element.getNamespaceURI();
-
- // may be null which the default state
- return uri;
- }
-
- if (isJSP(decl)) {
- return ITLDConstants.URI_JSP;
- } else if (isHTML(decl)) {
- return ITLDConstants.URI_HTML;
- }
-
- return getTagURI(decl);
- }
-
- /**
- * @param element
- * @return true if the element can have children
- */
- public static boolean canHaveDirectTextChild(Element element) {
- CMElementDeclaration decl = getElementDeclaration(element);
- if (decl == null) {
- return true;
- }
- int contentType = decl.getContentType();
- return contentType != CMElementDeclaration.ELEMENT
- && contentType != CMElementDeclaration.EMPTY;
-
- }
-
- private CMUtil()
- {
- // util class, no external instantiation
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/DocumentTagIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/DocumentTagIdentifier.java
deleted file mode 100644
index 1af913f00..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/DocumentTagIdentifier.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.w3c.dom.Element;
-
-/**
- * A tag wrapper for a DOM element. This element may or may not be a JSP tag,
- * but must be contained in a DOM tree.
- *
- * @author cbateman
- *
- */
-/*package*/ class DocumentTagIdentifier extends TagIdentifier
-{
- private final Element _element;
-
- /**
- * @param element
- */
- public DocumentTagIdentifier(Element element)
- {
- _element = element;
- }
-
- public String getTagName()
- {
- return _element.getLocalName();
- }
-
- public String getUri() {
- String uri = CMUtil.getElementNamespaceURI(_element);
-
- // give the content model priority
- if (uri == null)
- {
- uri = _element.getNamespaceURI();
- }
-
- return uri;
- }
-
- public boolean isJSPTag() {
- CMElementDeclaration elemDecl = getElementDeclaration();
-
- if (elemDecl != null)
- {
- return CMUtil.isJSP(elemDecl);
- }
-
- return false;
- }
-
- /**
- * @return the element declaration for this tag
- */
- protected final CMElementDeclaration getElementDeclaration()
- {
- return CMUtil.getElementDeclaration(_element);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java
deleted file mode 100644
index a79c106a1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Adds facelet-specific constants.*
- *
- * @author cbateman
- *
- */
-public final class IFaceletConstants implements ITLDConstants
-{
- /**
- * The set of all standard Facelet tag libraries.
- */
- public static final Set<String> ALL_FACELET_TAGLIBS;
- /**
- * The uri for the composite taglib (Facelets only)
- */
- public static final String URI_JSF_COMPOSITE = "http://java.sun.com/jsf/composite"; //$NON-NLS-1$
- /**
- * The uri for the ui taglib (Facelets only)
- */
- public static final String URI_JSF_UI = "http://java.sun.com/jsf/facelets"; //$NON-NLS-1$
- /**
- * The uri for the jsf implementation of JSTL core tags (Facelets only)
- */
- public static final String URI_JSF_JSTL_CORE = "http://java.sun.com/jsp/jstl/core"; //$NON-NLS-1$
- /**
- * The uri for the jsf implementation of JSTL function tags (Facelets only)
- */
- public static final String URI_JSF_JSTL_FUNCTIONS = "http://java.sun.com/jsp/jstl/functions"; //$NON-NLS-1$
-
- static
- {
- Set<String> taglibs = new HashSet<String>();
- taglibs.add(URI_JSF_HTML);
- taglibs.add(URI_JSF_CORE);
- taglibs.add(URI_JSF_COMPOSITE);
- taglibs.add(URI_JSF_UI);
- taglibs.add(URI_JSF_JSTL_CORE);
- taglibs.add(URI_JSF_JSTL_FUNCTIONS);
-
- ALL_FACELET_TAGLIBS = Collections.unmodifiableSet(taglibs);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IJSFConstants.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IJSFConstants.java
deleted file mode 100644
index 1a069de34..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IJSFConstants.java
+++ /dev/null
@@ -1,979 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-/**
- * Constants covering the JSF Core and JSF HTML tag and tag attribute names
- */
-public interface IJSFConstants
-{
-
- /**
- * actionListener tagname
- */
- final static public String TAG_ACTIONLISTENER = "actionListener"; //$NON-NLS-1$
-
- /**
- * attribute tagname
- */
- final static public String TAG_ATTRIBUTE = "attribute"; //$NON-NLS-1$
-
- /**
- * convertDateTime tagname
- */
- final static public String TAG_CONVERTDATETIME = "convertDateTime"; //$NON-NLS-1$
-
- /**
- * converter tagname
- */
- final static public String TAG_CONVERTER = "converter"; //$NON-NLS-1$
-
- /**
- * convertNumber tagname
- */
- final static public String TAG_CONVERTNUMBER = "convertNumber"; //$NON-NLS-1$
-
- /**
- * facet tagname
- */
- final static public String TAG_FACET = "facet"; //$NON-NLS-1$
-
- /**
- * loadBundle tagname
- */
- final static public String TAG_LOADBUNDLE = "loadBundle"; //$NON-NLS-1$
-
- /**
- * param tagname
- */
- final static public String TAG_PARAM = "param"; //$NON-NLS-1$
-
- /**
- * phaseListener tagname
- */
- final static public String TAG_PHASELISTENER = "phaseListener"; //$NON-NLS-1$
-
- /**
- * selectItem tagname
- */
- final static public String TAG_SELECTITEM = "selectItem"; //$NON-NLS-1$
-
- /**
- * selectItems tagname
- */
- final static public String TAG_SELECTITEMS = "selectItems"; //$NON-NLS-1$
-
- /**
- * setPropertyActionListener tagname
- */
- final static public String TAG_SETPROPERTYACTIONLISTENER = "setPropertyActionListener"; //$NON-NLS-1$
-
- /**
- * subview tagname
- */
- final static public String TAG_SUBVIEW = "subview"; //$NON-NLS-1$
-
- /**
- * validateDoubleRange tagname
- */
- final static public String TAG_VALIDATEDOUBLERANGE = "validateDoubleRange"; //$NON-NLS-1$
-
- /**
- * validateLength tagname
- */
- final static public String TAG_VALIDATELENGTH = "validateLength"; //$NON-NLS-1$
-
- /**
- * validateLongRange tagname
- */
- final static public String TAG_VALIDATELONGRANGE = "validateLongRange"; //$NON-NLS-1$
-
- /**
- * validator tagname
- */
- final static public String TAG_VALIDATOR = "validator"; //$NON-NLS-1$
-
- /**
- * valueChangeListener tagname
- */
- final static public String TAG_VALUECHANGELISTENER = "valueChangeListener"; //$NON-NLS-1$
-
- /**
- * verbatim tagname
- */
- final static public String TAG_VERBATIM = "verbatim"; //$NON-NLS-1$
-
- /**
- * view tagname
- */
- final static public String TAG_VIEW = "view"; //$NON-NLS-1$
-
- /**
- * column tagname
- */
- final static public String TAG_COLUMN = "column"; //$NON-NLS-1$
-
- /**
- * commandButton tagname
- */
- final static public String TAG_COMMANDBUTTON = "commandButton"; //$NON-NLS-1$
-
- /**
- * commandLink tagname
- */
- final static public String TAG_COMMANDLINK = "commandLink"; //$NON-NLS-1$
-
- /**
- * dataTable tagname
- */
- final static public String TAG_DATATABLE = "dataTable"; //$NON-NLS-1$
-
- /**
- * form tagname
- */
- final static public String TAG_FORM = "form"; //$NON-NLS-1$
-
- /**
- * graphicImage tagname
- */
- final static public String TAG_GRAPHICIMAGE = "graphicImage"; //$NON-NLS-1$
-
- /**
- * inputHidden tagname
- */
- final static public String TAG_INPUTHIDDEN = "inputHidden"; //$NON-NLS-1$
-
- /**
- * inputSecret tagname
- */
- final static public String TAG_INPUTSECRET = "inputSecret"; //$NON-NLS-1$
-
- /**
- * inputText tagname
- */
- final static public String TAG_INPUTTEXT = "inputText"; //$NON-NLS-1$
-
- /**
- * inputTextarea tagname
- */
- final static public String TAG_INPUTTEXTAREA = "inputTextarea"; //$NON-NLS-1$
-
- /**
- * message tagname
- */
- final static public String TAG_MESSAGE = "message"; //$NON-NLS-1$
-
- /**
- * messages tagname
- */
- final static public String TAG_MESSAGES = "messages"; //$NON-NLS-1$
-
- /**
- * outputFormat tagname
- */
- final static public String TAG_OUTPUTFORMAT = "outputFormat"; //$NON-NLS-1$
-
- /**
- * outputLabel tagname
- */
- final static public String TAG_OUTPUTLABEL = "outputLabel"; //$NON-NLS-1$
-
- /**
- * outputLink tagname
- */
- final static public String TAG_OUTPUTLINK = "outputLink"; //$NON-NLS-1$
-
- /**
- * outputText tagname
- */
- final static public String TAG_OUTPUTTEXT = "outputText"; //$NON-NLS-1$
-
- /**
- * panelGrid tagname
- */
- final static public String TAG_PANELGRID = "panelGrid"; //$NON-NLS-1$
-
- /**
- * panelGroup tagname
- */
- final static public String TAG_PANELGROUP = "panelGroup"; //$NON-NLS-1$
-
- /**
- * selectBooleanCheckbox tagname
- */
- final static public String TAG_SELECTBOOLEANCHECKBOX = "selectBooleanCheckbox"; //$NON-NLS-1$
-
- /**
- * selectManyCheckbox tagname
- */
- final static public String TAG_SELECTMANYCHECKBOX = "selectManyCheckbox"; //$NON-NLS-1$
-
- /**
- * selectManyListbox tagname
- */
- final static public String TAG_SELECTMANYLISTBOX = "selectManyListbox"; //$NON-NLS-1$
-
- /**
- * selectManyMenu tagname
- */
- final static public String TAG_SELECTMANYMENU = "selectManyMenu"; //$NON-NLS-1$
-
- /**
- * selectOneListbox tagname
- */
- final static public String TAG_SELECTONELISTBOX = "selectOneListbox"; //$NON-NLS-1$
-
- /**
- * selectOneMenu tagname
- */
- final static public String TAG_SELECTONEMENU = "selectOneMenu"; //$NON-NLS-1$
-
- /**
- * selectOneMenu tagname
- */
- final static public String TAG_SELECTONERADIO = "selectOneRadio"; //$NON-NLS-1$
-
- // tag identifiers
- /**
- * TagIdentifier for TAG_VIEW
- */
- final static TagIdentifier TAG_IDENTIFIER_VIEW =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VIEW);
-
- /**
- * TagIdentifier for TAG_LOADBUNDLE
- */
- final static TagIdentifier TAG_IDENTIFIER_LOADBUNDLE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_LOADBUNDLE);
-
- /**
- * TagIdentifier for TAG_FACET
- */
- final static TagIdentifier TAG_IDENTIFIER_FACET =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_FACET);
-
- /**
- * TagIdentifier for TAG_VERBATIM
- */
- final static TagIdentifier TAG_IDENTIFIER_VERBATIM =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VERBATIM);
-
- /**
- * TagIdentifier for TAG_DATATABLE
- */
- final static TagIdentifier TAG_IDENTIFIER_DATA_TABLE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_DATATABLE);
-
- /**
- * TagIdentifier for TAG_PANELGRID
- */
- final static TagIdentifier TAG_IDENTIFIER_PANEL_GRID =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_PANELGRID);
-
- /**
- * TagIdentifier for TAG_COLUMN
- */
- final static TagIdentifier TAG_IDENTIFIER_COLUMN =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_COLUMN);
-
- /**
- * TagIdentifier for TAG_FORM
- */
- final static TagIdentifier TAG_IDENTIFIER_FORM =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_FORM);
-
- /**
- * TagIdentifier for TAG_INPUTTEXT
- */
- final static TagIdentifier TAG_IDENTIFIER_INPUTTEXT =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_INPUTTEXT);
-
- /**
- * TagIdentifier for TAG_INPUTSECRET
- */
- final static TagIdentifier TAG_IDENTIFIER_INPUTSECRET =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_INPUTSECRET);
-
- /**
- * TagIdentifier for TAG_INPUTTEXTAREA
- */
- final static TagIdentifier TAG_IDENTIFIER_INPUTTEXTAREA =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_INPUTTEXTAREA);
-
- /**
- * TagIdentifier for TAG_OUTPUTTEXT
- */
- final static TagIdentifier TAG_IDENTIFIER_OUTPUTTEXT =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_OUTPUTTEXT);
-
- /**
- * TagIdentifier for TAG_OUTPUTLABEL
- */
- final static TagIdentifier TAG_IDENTIFIER_OUTPUTLABEL =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_OUTPUTLABEL);
-
- /**
- * TagIdentifier for TAG_GRAPHICIMAGE
- */
- final static TagIdentifier TAG_IDENTIFIER_GRAPHICIMAGE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_GRAPHICIMAGE);
-
- /**
- * TagIdentifier for TAG_COMMANDBUTTON
- */
- final static TagIdentifier TAG_IDENTIFIER_COMMANDBUTTON =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_COMMANDBUTTON);
-
- /**
- * TagIdentifier for TAG_COMMANDLINK
- */
- final static TagIdentifier TAG_IDENTIFIER_COMMANDLINK =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_COMMANDLINK);
-
- /**
- * TagIdentifier for TAG_INPUTHIDDEN
- */
- final static TagIdentifier TAG_IDENTIFIER_INPUTHIDDEN =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_INPUTHIDDEN);
-
- /**
- * TagIdentifier for TAG_MESSAGE
- */
- final static TagIdentifier TAG_IDENTIFIER_MESSAGE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_MESSAGE);
-
- /**
- * TagIdentifier for TAG_MESSAGES
- */
- final static TagIdentifier TAG_IDENTIFIER_MESSAGES =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_MESSAGES);
-
- /**
- * TagIdentifier for TAG_OUTPUTFORMAT
- */
- final static TagIdentifier TAG_IDENTIFIER_OUTPUTFORMAT =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_OUTPUTFORMAT);
-
- /**
- * TagIdentifier for TAG_OUTPUTLINK
- */
- final static TagIdentifier TAG_IDENTIFIER_OUTPUTLINK =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_OUTPUTLINK);
-
- /**
- * TagIdentifier for TAG_PANELGROUP
- */
- final static TagIdentifier TAG_IDENTIFIER_PANEL_GROUP =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_PANELGROUP);
-
- /**
- * TagIdentifier for TAG_SELECTBOOLEANCHECKBOX
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTBOOLEANCHECKBOX =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTBOOLEANCHECKBOX);
-
- /**
- * TagIdentifier for TAG_SELECTMANYCHECKBOX
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTMANYCHECKBOX =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTMANYCHECKBOX);
-
- /**
- * TagIdentifier for TAG_SELECTMANYLISTBOX
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTMANYLISTBOX =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTMANYLISTBOX);
-
- /**
- * TagIdentifier for TAG_SELECTMANYMENU
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTMANYMENU =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTMANYMENU);
-
- /**
- * TagIdentifier for TAG_SELECTONELISTBOX
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTONELISTBOX =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTONELISTBOX);
-
- /**
- * TagIdentifier for TAG_SELECTONEMENU
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTONEMENU =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTONEMENU);
-
- /**
- * TagIdentifier for TAG_SELECTONERADIO
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTONERADIO =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_HTML, TAG_SELECTONERADIO);
-
- /**
- * TagIdentifier for TAG_ACTIONLISTENER
- */
- final static TagIdentifier TAG_IDENTIFIER_ACTIONLISTENER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_ACTIONLISTENER);
-
- /**
- * TagIdentifier for TAG_ATTRIBUTE
- */
- final static TagIdentifier TAG_IDENTIFIER_ATTRIBUTE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_ATTRIBUTE);
-
- /**
- * TagIdentifier for TAG_CONVERTDATETIME
- */
- final static TagIdentifier TAG_IDENTIFIER_CONVERTDATETIME =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_CONVERTDATETIME);
-
- /**
- * TagIdentifier for TAG_CONVERTNUMBER
- */
- final static TagIdentifier TAG_IDENTIFIER_CONVERTNUMBER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_CONVERTNUMBER);
-
- /**
- * TagIdentifier for TAG_CONVERTER
- */
- final static TagIdentifier TAG_IDENTIFIER_CONVERTER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_CONVERTER);
-
- /**
- * TagIdentifier for TAG_PARAM
- */
- final static TagIdentifier TAG_IDENTIFIER_PARAM =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_PARAM);
-
- /**
- * TagIdentifier for TAG_PHASELISTENER
- */
- final static TagIdentifier TAG_IDENTIFIER_PHASELISTENER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_PHASELISTENER);
-
- /**
- * TagIdentifier for TAG_SELECTITEM
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTITEM =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_SELECTITEM);
-
- /**
- * TagIdentifier for TAG_SELECTITEMS
- */
- final static TagIdentifier TAG_IDENTIFIER_SELECTITEMS =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_SELECTITEMS);
-
- /**
- * TagIdentifier for TAG_SETPROPERTYACTIONLISTENER
- */
- final static TagIdentifier TAG_IDENTIFIER_SETPROPERTYACTIONLISTENER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_SETPROPERTYACTIONLISTENER);
-
- /**
- * TagIdentifier for TAG_SUBVIEW
- */
- final static TagIdentifier TAG_IDENTIFIER_SUBVIEW =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_SUBVIEW);
-
- /**
- * TagIdentifier for TAG_VALIDATEDOUBLERANGE
- */
- final static TagIdentifier TAG_IDENTIFIER_VALIDATEDOUBLERANGE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VALIDATEDOUBLERANGE);
-
- /**
- * TagIdentifier for TAG_VALIDATELENGTH
- */
- final static TagIdentifier TAG_IDENTIFIER_VALIDATELENGTH =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VALIDATELENGTH);
-
- /**
- * TagIdentifier for TAG_VALIDATELONGRANGE
- */
- final static TagIdentifier TAG_IDENTIFIER_VALIDATELONGRANGE =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VALIDATELONGRANGE);
-
- /**
- * TagIdentifier for TAG_VALIDATOR
- */
- final static TagIdentifier TAG_IDENTIFIER_VALIDATOR =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VALIDATOR);
-
- /**
- * TagIdentifier for TAG_VALUECHANGELISTENER
- */
- final static TagIdentifier TAG_IDENTIFIER_VALUECHANGELISTENER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSF_CORE, TAG_VALUECHANGELISTENER);
-
- // attribute names
- /**
- * accept tag attribute name
- */
- final static public String ATTR_ACCEPT = "accept"; //$NON-NLS-1$
-
- /**
- * acceptcharset tag attribute name
- */
- final static public String ATTR_ACCEPTCHARSET = "acceptcharset"; //$NON-NLS-1$
-
- /**
- * accesskey tag attribute name
- */
- final static public String ATTR_ACCESSKEY = "accesskey"; //$NON-NLS-1$
-
- /**
- * action tag attribute name
- */
- final static public String ATTR_ACTION = "action"; //$NON-NLS-1$
-
- /**
- * actionListener tag attribute name
- */
- final static public String ATTR_ACTIONLISTENER = "actionListener"; //$NON-NLS-1$
-
- /**
- * alt tag attribute name
- */
- final static public String ATTR_ALT = "alt"; //$NON-NLS-1$
-
- /**
- * basename tag attribute name
- */
- final static public String ATTR_BASENAME = "basename"; //$NON-NLS-1$
-
- /**
- * bgcolor tag attribute name
- */
- final static public String ATTR_BGCOLOR = "bgcolor"; //$NON-NLS-1$
-
- /**
- * binding tag attribute name
- */
- final static public String ATTR_BINDING = "binding"; //$NON-NLS-1$
-
- /**
- * border tag attribute name
- */
- final static public String ATTR_BORDER = "border"; //$NON-NLS-1$
-
- /**
- * cellpadding tag attribute name
- */
- final static public String ATTR_CELLPADDING = "cellpadding"; //$NON-NLS-1$
-
- /**
- * cellspacing tag attribute name
- */
- final static public String ATTR_CELLSPACING = "cellspacing"; //$NON-NLS-1$
-
- /**
- * charset tag attribute name
- */
- final static public String ATTR_CHARSET = "charset"; //$NON-NLS-1$
-
- /**
- * cols tag attribute name
- */
- final static public String ATTR_COLS = "cols"; //$NON-NLS-1$
-
- /**
- * columnClasses tag attribute name
- */
- final static public String ATTR_COLUMNCLASSES = "columnClasses"; //$NON-NLS-1$
-
- /**
- * columns tag attribute name
- */
- final static public String ATTR_COLUMNS = "columns"; //$NON-NLS-1$
-
- /**
- * converterId tag attribute name
- */
- final static public String ATTR_CONVERTERID = "converterId"; //$NON-NLS-1$
-
- /**
- * coords tag attribute name
- */
- final static public String ATTR_COORDS = "coords"; //$NON-NLS-1$
-
- /**
- * currencyCode tag attribute name
- */
- final static public String ATTR_CURRENCYCODE = "currencyCode"; //$NON-NLS-1$
-
- /**
- * currencySymbol tag attribute name
- */
- final static public String ATTR_CURRENCYSYMBOL = "currencySymbol"; //$NON-NLS-1$
-
- /**
- * dateStyle tag attribute name
- */
- final static public String ATTR_DATESTYLE = "dateStyle"; //$NON-NLS-1$
-
- /**
- * dir tag attribute name
- */
- final static public String ATTR_DIR = "dir"; //$NON-NLS-1$
-
- /**
- * disabled tag attribute name
- */
- final static public String ATTR_DISABLED = "disabled"; //$NON-NLS-1$
-
- /**
- * errorClass tag attribute name
- */
- final static public String ATTR_ERRORCLASS = "errorClass"; //$NON-NLS-1$
-
- /**
- * errorStyle tag attribute name
- */
- final static public String ATTR_ERRORSTYLE = "errorStyle"; //$NON-NLS-1$
-
- /**
- * escape tag attribute name
- */
- final static public String ATTR_ESCAPE = "escape"; //$NON-NLS-1$
-
- /**
- * fatalClass tag attribute name
- */
- final static public String ATTR_FATALCLASS = "fatalClass"; //$NON-NLS-1$
-
- /**
- * fatalStyle tag attribute name
- */
- final static public String ATTR_FATALSTYLE = "fatalStyle"; //$NON-NLS-1$
-
- /**
- * first tag attribute name
- */
- final static public String ATTR_FIRST = "first"; //$NON-NLS-1$
-
- /**
- * footerClass tag attribute name
- */
- final static public String ATTR_FOOTERCLASS = "footerClass"; //$NON-NLS-1$
-
- /**
- * for tag attribute name
- */
- final static public String ATTR_FOR = "for"; //$NON-NLS-1$
-
- /**
- * frame tag attribute name
- */
- final static public String ATTR_FRAME = "frame"; //$NON-NLS-1$
-
- /**
- * globalOnly tag attribute name
- */
- final static public String ATTR_GLOBEONLY = "globalOnly"; //$NON-NLS-1$
-
- /**
- * headerClass tag attribute name
- */
- final static public String ATTR_HEADERCLASS = "headerClass"; //$NON-NLS-1$
-
- /**
- * hreflang tag attribute name
- */
- final static public String ATTR_HREFLANG = "hreflang"; //$NON-NLS-1$
-
- /**
- * id tag attribute name
- */
- final static public String ATTR_ID = "id"; //$NON-NLS-1$
-
- /**
- * image tag attribute name
- */
- final static public String ATTR_IMAGE = "image"; //$NON-NLS-1$
-
- /**
- * immediate tag attribute name
- */
- final static public String ATTR_IMMEDIATE = "immediate"; //$NON-NLS-1$
-
- /**
- * infoClass tag attribute name
- */
- final static public String ATTR_INFOCLASS = "infoClass"; //$NON-NLS-1$
-
- /**
- * infoStyle tag attribute name
- */
- final static public String ATTR_INFOSTYLE = "infoStyle"; //$NON-NLS-1$
-
- /**
- * itemDescription tag attribute name
- */
- final static public String ATTR_ITEMDESCRIPTION = "itemDescription"; //$NON-NLS-1$
-
- /**
- * itemDisabled tag attribute name
- */
- final static public String ATTR_ITEMDISABLED = "itemDisabled"; //$NON-NLS-1$
-
- /**
- * itemLabel tag attribute name
- */
- final static public String ATTR_ITEMLABEL = "itemLabel"; //$NON-NLS-1$
-
- /**
- * itemValue tag attribute name
- */
- final static public String ATTR_ITEMVALUE = "itemValue"; //$NON-NLS-1$
-
- /**
- * lang tag attribute name
- */
- final static public String ATTR_LANG = "lang"; //$NON-NLS-1$
-
- /**
- * layout tag attribute name
- */
- final static public String ATTR_LAYOUT = "layout"; //$NON-NLS-1$
-
- /**
- * locale tag attribute name
- */
- final static public String ATTR_LOCALE = "locale"; //$NON-NLS-1$
-
- /**
- * maximum tag attribute name
- */
- final static public String ATTR_MAXIMUM = "maximum"; //$NON-NLS-1$
-
- /**
- * minimum tag attribute name
- */
- final static public String ATTR_MINIMUM = "minimum"; //$NON-NLS-1$
-
- /**
- * name tag attribute name
- */
- final static public String ATTR_NAME = "name"; //$NON-NLS-1$
-
- /**
- * onblur tag attribute name
- */
- final static public String ATTR_ONBLUR = "onblur"; //$NON-NLS-1$
-
- /**
- * onchange tag attribute name
- */
- final static public String ATTR_ONCHANGE = "onchange"; //$NON-NLS-1$
-
- /**
- * onclick tag attribute name
- */
- final static public String ATTR_ONCLICK = "onclick"; //$NON-NLS-1$
-
- /**
- * ondblclick tag attribute name
- */
- final static public String ATTR_ONDBLCLICK = "ondblclick"; //$NON-NLS-1$
-
- /**
- * onfocus tag attribute name
- */
- final static public String ATTR_ONFOCUS = "onfocus"; //$NON-NLS-1$
-
- /**
- * onkeydown tag attribute name
- */
- final static public String ATTR_ONKEYDOWN = "onkeydown"; //$NON-NLS-1$
-
- /**
- * onkeypress tag attribute name
- */
- final static public String ATTR_ONKEYPRESS = "onkeypress"; //$NON-NLS-1$
-
- /**
- * onkeyup tag attribute name
- */
- final static public String ATTR_ONKEYUP = "onkeyup"; //$NON-NLS-1$
-
- /**
- * onmousedown tag attribute name
- */
- final static public String ATTR_ONMOUSEDOWN = "onmousedown"; //$NON-NLS-1$
-
- /**
- * onmousemove tag attribute name
- */
- final static public String ATTR_ONMOUSEMOVE = "onmousemove"; //$NON-NLS-1$
-
- /**
- * onmouseout tag attribute name
- */
- final static public String ATTR_ONMOUSEOUT = "onmouseout"; //$NON-NLS-1$
-
- /**
- * onmouseover tag attribute name
- */
- final static public String ATTR_ONMOUSEOVER = "onmouseover"; //$NON-NLS-1$
-
- /**
- * onmouseup tag attribute name
- */
- final static public String ATTR_ONMOUSEUP = "onmouseup"; //$NON-NLS-1$
-
- /**
- * onselect tag attribute name
- */
- final static public String ATTR_ONSELECT = "onselect"; //$NON-NLS-1$
-
- /**
- * pattern tag attribute name
- */
- final static public String ATTR_PATTERN = "pattern"; //$NON-NLS-1$
-
- /**
- * readonly tag attribute name
- */
- final static public String ATTR_READONLY = "readonly"; //$NON-NLS-1$
-
- /**
- * rel tag attribute name
- */
- final static public String ATTR_REL = "rel"; //$NON-NLS-1$
-
- /**
- * rendered tag attribute name
- */
- final static public String ATTR_RENDERED = "rendered"; //$NON-NLS-1$
-
- /**
- * rev tag attribute name
- */
- final static public String ATTR_REV = "rev"; //$NON-NLS-1$
-
- /**
- * rowClasses tag attribute name
- */
- final static public String ATTR_ROWCLASSES = "rowClasses"; //$NON-NLS-1$
-
- /**
- * rows tag attribute name
- */
- final static public String ATTR_ROWS = "rows"; //$NON-NLS-1$
-
- /**
- * rules tag attribute name
- */
- final static public String ATTR_RULES = "rules"; //$NON-NLS-1$
-
- /**
- * shape tag attribute name
- */
- final static public String ATTR_SHAPE = "shape"; //$NON-NLS-1$
-
- /**
- * showDetail tag attribute name
- */
- final static public String ATTR_SHOWDETAIL = "showDetail"; //$NON-NLS-1$
-
- /**
- * showSummary tag attribute name
- */
- final static public String ATTR_SHOWSUMMARY = "showSummary"; //$NON-NLS-1$
-
- /**
- * size tag attribute name
- */
- final static public String ATTR_SIZE = "size"; //$NON-NLS-1$
-
- /**
- * style tag attribute name
- */
- final static public String ATTR_STYLE = "style"; //$NON-NLS-1$
-
- /**
- * styleClass tag attribute name
- */
- final static public String ATTR_STYLECLASS = "styleClass"; //$NON-NLS-1$
-
- /**
- * summary tag attribute name
- */
- final static public String ATTR_SUMMARY = "summary"; //$NON-NLS-1$
-
- /**
- * tabindex tag attribute name
- */
- final static public String ATTR_TABINDEX = "tabindex"; //$NON-NLS-1$
-
- /**
- * target tag attribute name
- */
- final static public String ATTR_TARGET = "target"; //$NON-NLS-1$
-
- /**
- * timeStyle tag attribute name
- */
- final static public String ATTR_TIMESTYLE = "timeStyle"; //$NON-NLS-1$
-
- /**
- * title tag attribute name
- */
- final static public String ATTR_TITLE = "title"; //$NON-NLS-1$
-
- /**
- * tooltip tag attribute name
- */
- final static public String ATTR_TOOLTIP = "tooltip"; //$NON-NLS-1$
-
- /**
- * type tag attribute name
- */
- final static public String ATTR_TYPE = "type"; //$NON-NLS-1$
-
- /**
- * url tag attribute name
- */
- final static public String ATTR_URL = "url"; //$NON-NLS-1$
-
- /**
- * validatorId tag attribute name
- */
- final static public String ATTR_VALIDATORID = "validatorId"; //$NON-NLS-1$
-
- /**
- * value tag attribute name
- */
- final static public String ATTR_VALUE = "value"; //$NON-NLS-1$
-
- /**
- * var tag attribute name
- */
- final static public String ATTR_VAR = "var"; //$NON-NLS-1$
-
- /**
- * warnClass tag attribute name
- */
- final static public String ATTR_WARNCLASS = "warnClass"; //$NON-NLS-1$
-
- /**
- * warnStyle tag attribute name
- */
- final static public String ATTR_WARNSTYLE = "warnStyle"; //$NON-NLS-1$
-
- /**
- * width tag attribute name
- */
- final static public String ATTR_WIDTH = "width"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/ITLDConstants.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/ITLDConstants.java
deleted file mode 100644
index 3ec16f476..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/ITLDConstants.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-/**
- * Global tag library constants
- *
- * @author cbateman
- *
- */
-public interface ITLDConstants {
-
- /**
- * The JSF core (f) component URI
- */
- public static final String URI_JSF_CORE = "http://java.sun.com/jsf/core"; //$NON-NLS-1$
- /**
- * The JSF html (h) component URI
- */
- public static final String URI_JSF_HTML = "http://java.sun.com/jsf/html"; //$NON-NLS-1$
- /**
- * The last component of the html uri
- */
- public static final String URI_HTML = "html"; //$NON-NLS-1$
- /**
- * The last component of the core uri
- */
- public static final String URI_JSP = "jsp"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/JSPTagIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/JSPTagIdentifier.java
deleted file mode 100644
index 8546c38f2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/JSPTagIdentifier.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-/**
- * A tag wrapper for a JSP tag.
- *
- * @author cbateman
- *
- */
-/*package*/ class JSPTagIdentifier extends TagIdentifier
-{
- private final String _uri;
- private final String _tagName;
-
- /**
- * @param uri
- * @param tagName
- */
- public JSPTagIdentifier(final String uri, final String tagName)
- {
- _uri = uri;
- _tagName = tagName;
- }
- public String getTagName() {
- return _tagName;
- }
-
- public String getUri() {
- return _uri;
- }
-
- public boolean isJSPTag() {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java
deleted file mode 100644
index 0b7ed141a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-/**
- * @author mengbo
- */
-public class LoadBundleUtil {
-
- private LoadBundleUtil() {
- // no external instantiation
- }
-
-
- /**
- * @param project
- * @param baseName
- * @return an IStorage pointing to the request bundle or null if not found
- * @throws CoreException if the search for the file encounters a problem
- */
- public static IStorage getLoadBundleResource(final IProject project,
- final String baseName) throws CoreException {
- if (project == null || baseName == null) {
- return null;
- }
- IStorage loadBundleResource = null;
- if (project.hasNature(JavaCore.NATURE_ID)) {
- IJavaProject javaProject = JavaCore.create(project);
- IFile sourceFile = getSourceFile(javaProject, baseName);
- if (sourceFile == null || !sourceFile.exists()) {
- loadBundleResource = getJarFile(javaProject, baseName);
- } else {
- loadBundleResource = sourceFile;
- }
- }
-
- return loadBundleResource;
- }
-
- private static IFile getSourceFile(IJavaProject javaProject, String baseName)
- throws JavaModelException {
- IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
- for (int i = 0; i < classpathEntries.length; i++) {
- if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- final IFile file = getFile(javaProject, baseName,
- classpathEntries, i);
- if (file.exists()) {
- return file;
- }
- } else if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- IProject project = ResourcesPlugin.getWorkspace().getRoot()
- .getProject(classpathEntries[i].getPath().toString());
- IJavaProject javaProject3 = JavaCore.create(project);
- final IFile file = getSourceFile(javaProject3, baseName);
- if (file != null && file.exists()) {
- return file;
- }
- }
- else if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER && classpathEntries[i].getPath().equals(new Path("org.eclipse.jst.j2ee.internal.module.container"))) //$NON-NLS-1$
- {
- IClasspathContainer container = JavaCore.getClasspathContainer(classpathEntries[i].getPath(), javaProject);
- IClasspathEntry[] classpathEntries2 = container.getClasspathEntries();
- for (int j = 0; j < classpathEntries2.length; j++)
- {
- if (classpathEntries2[j].getEntryKind() == IClasspathEntry.CPE_PROJECT)
- {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(classpathEntries2[j].getPath().toString());
- IJavaProject javaProject3 = JavaCore.create(project);
- final IFile file = getSourceFile(javaProject3, baseName);
- if (file != null && file.exists())
- {
- return file;
- }
- }
- }
- }
- }
- return null;
- }
-
-
- private static IFile getFile(IJavaProject javaProject, String baseName,
- IClasspathEntry[] classpathEntries, int i) {
- IPath path = classpathEntries[i].getPath()
- .append(getFilePath(baseName)).removeFirstSegments(1);
- path = javaProject.getProject().getFullPath().append(path);
- return ResourcesPlugin.getWorkspace().getRoot().getFile(path);
- }
-
- private static IPath getFilePath(String baseName) {
- IPath path = new Path(baseName.replace('.', '/'));
- path = path.addFileExtension("properties");//$NON-NLS-1$
- return path;
- }
-
- private static IStorage getJarFile(IJavaProject javaProject, String baseName)
- throws JavaModelException {
- IClasspathEntry[] roots = javaProject.getRawClasspath();
- return getJarFile(javaProject, baseName, roots);
- }
-
- private static IStorage getJarFile(IJavaProject javaProject, String baseName,
- IClasspathEntry[] roots) throws JavaModelException
- {
- for (int i = 0; i < roots.length; i++) {
- if (roots[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY ||
- roots[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER)
- {
- IStorage storage = getResourceFromLibrary(
- javaProject, baseName, roots[i]);
- if (storage != null)
- {
- return storage;
- }
- }
-// else if ( roots[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER)
-// {
-// IClasspathContainer classpathContainer = JavaCore.getClasspathContainer(roots[i].getPath(), javaProject);
-// final IClasspathEntry[] classpathEntries =
-// classpathContainer.getClasspathEntries();
-// IStorage storage = getJarFile(javaProject, baseName, classpathEntries);
-// if (storage != null)
-// {
-// return storage;
-// }
-// }
- }
- return null;
- }
-
- private static IStorage getResourceFromLibrary(
- IJavaProject javaProject, String baseName, IClasspathEntry entry) throws JavaModelException
- {
- IPackageFragmentRoot[] packageFragmentRoots = javaProject
- .findPackageFragmentRoots(entry);
- for (int j = 0; j < packageFragmentRoots.length; j++) {
- String packageName = getPackageName(baseName);
- Object[] resources = null;
- if (packageName.length() == 0) {
- resources = packageFragmentRoots[j].getNonJavaResources();
- } else {
- IPackageFragment fragment = packageFragmentRoots[j]
- .getPackageFragment(getPackageName(baseName));
- if (fragment != null && fragment.exists()) {
- resources = fragment.getNonJavaResources();
- }
- }
-
- if (resources != null && resources.length > 0) {
- for (int k = 0; k < resources.length; k++) {
- if (resources[k] instanceof IStorage) {
- IStorage storage = (IStorage) resources[k];
- if (getFileName(baseName).equalsIgnoreCase(
- storage.getName())) {
- return storage;
- }
- }
- }
- }
- }
- return null;
- }
-
- private static String getPackageName(String baseName) {
- int index = baseName.lastIndexOf('.');
- if (index == -1) {
- return "";//$NON-NLS-1$
- }
- return baseName.substring(0, index);
- }
-
- private static String getFileName(String baseName) {
- int index = baseName.lastIndexOf('.');
- if (index == -1) {
- return baseName + ".properties"; //$NON-NLS-1$
- }
- return baseName.substring(index + 1).concat(".properties");//$NON-NLS-1$
- }
-
- /**
- * Encapsulates the hiearchy of bundle data sources in the hierarchy
- * for a ResourceBundle base name. In practice this is often simply
- * a single IFile for a
- * @author cbateman
- *
- */
-// public static class BundleHierarchy
-// {
-// // list in order from most specific (first queried) to least,
-// // front to back
-// //private final List _hierarchy;
-//
-// /**
-// * Takes the list *by reference*. Does not take a copy.
-// * @param hierarchy
-// */
-// public BundleHierarchy(List hierarchy)
-// {
-// _hierarchy = hierarchy;
-// }
-//
-// public BundleHierarchy()
-// {
-// _hierarchy = new ArrayList();
-// }
-// }
-
- /**
- * Used to describe the design time approximation of the locale lookup precendence
- * that will be used by ResourceBundle to find a localized resource bundle.
- *
- * See the official JavaDoc for java.util.ResourceBundle.getBundle for docs on search
- * order.
- *
- * @author cbateman
- *
- */
- public static class LocaleDescriptor
- {
- private Locale _locale;
- private List _possibleSuffices;
-
- /**
- * @param language -- must not be null
- */
- public LocaleDescriptor(String language)
- {
- _locale = new Locale(language);
- }
-
- /**
- * All arguments must be non-null. To set a language only descriptor,
- * see others.
- *
- * @param language -- must not be null
- * @param country -- must not be null
- */
- public LocaleDescriptor(String language,
- String country)
- {
- _locale = new Locale(language, country);
- }
-
- /**
- * All arguments must be non-null. Null arguments will cause an exception.
- * To create descriptor without variant and/or country set, see other constructors
- * @param language -- must not be null
- * @param country -- must not be null
- * @param variant -- must not be null
- */
- public LocaleDescriptor(String language,
- String country, String variant)
- {
- _locale = new Locale(language, country, variant);
- }
-
- /**
- * @param baseName
- * @return an iterator through all possible bundle names starting with the most
- * specific and becoming more general for base name based on this locale.
- *
- * i.e. if baseName is "bundle" and the local is en_US_1 then in order the
- * iterator will produce:
- *
- * bundle_en_US_1
- * bundle_en_US
- * bundle_en
- * bundle
- *
- * per the ResourceBundle API
- *
- */
- public Iterator getBundleNameIterator(final String baseName)
- {
-
- return new Iterator()
- {
- final Iterator it = getPossibleBaseNameSuffices().iterator();
-
- public boolean hasNext() {
- return it.hasNext();
- }
-
- public Object next() {
- return baseName+it.next();
- }
-
- public void remove() {
- // delegate; should throw exception
- it.remove();
- }
- };
- }
-
- private synchronized List getPossibleBaseNameSuffices()
- {
- if (_possibleSuffices == null)
- {
- List possibleSuffices = new ArrayList(3);
-
- final String language = _locale.getLanguage();
- final String country = _locale.getCountry();
- final String variant = _locale.getVariant();
-
- possibleSuffices.add(""); //$NON-NLS-1$
- possibleSuffices.add("_"+language); //$NON-NLS-1$
- if (country != null)
- {
- possibleSuffices.add(0, "_"+language + "_" + country); //$NON-NLS-1$ //$NON-NLS-2$
- if (variant != null)
- {
- possibleSuffices.add(0, "_"+language+"_"+country+"_"+variant); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- _possibleSuffices = Collections.unmodifiableList(possibleSuffices);
- }
-
- return _possibleSuffices;
- }
-
- /**
- * @return the local information as a standard locale object
- */
- public Locale getLocale()
- {
- return _locale;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TLDTagIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TLDTagIdentifier.java
deleted file mode 100644
index 97f946ace..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TLDTagIdentifier.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-final class TLDTagIdentifier extends TagIdentifier
-{
- private final TLDElementDeclaration _tldDecl;
-
- public TLDTagIdentifier(final TLDElementDeclaration tldDecl)
- {
- _tldDecl = tldDecl;
- }
-
- @Override
- public String getTagName()
- {
- return _tldDecl.getElementName();
- }
-
- @Override
- public String getUri()
- {
- return ((TLDDocument)_tldDecl.getOwnerDocument()).getUri();
- }
-
- @Override
- public boolean isJSPTag()
- {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TagIdentifierFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TagIdentifierFactory.java
deleted file mode 100644
index a95b97818..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/TagIdentifierFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.internal.tld;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.w3c.dom.Element;
-
-/**
- * Factory creating tag identifiers
- *
- * @author cbateman
- *
- */
-public final class TagIdentifierFactory
-{
- /**
- * Create a tag identifier based on a uri and tagName
- *
- * @param uri
- * @param tagName
- * @return a new tag identifier for (uri, tagName)
- */
- public static TagIdentifier createJSPTagWrapper(final String uri, final String tagName)
- {
- return new JSPTagIdentifier(uri, tagName);
- }
-
- /**
- * @param element
- * @return a tag identifier based on a DOM element
- */
- public static TagIdentifier createDocumentTagWrapper(final Element element)
- {
- return new DocumentTagIdentifier(element);
- }
-
- /**
- * @param elementDecl
- * @return a tag identifier that bridges a TLDElementDeclaration
- */
- public static TagIdentifier createTLDTagWrapper(final TLDElementDeclaration elementDecl)
- {
- if (!(elementDecl.getOwnerDocument() instanceof TLDDocument))
- {
- throw new IllegalArgumentException("Element decl must have a tlddoc for a parent: "+elementDecl.toString()); //$NON-NLS-1$
- }
- return new TLDTagIdentifier(elementDecl);
- }
-
- private TagIdentifierFactory()
- {
- // static class, no external instantiation
- }
-}
-
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigLocater.java
deleted file mode 100644
index 883ee514a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigLocater.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-
-/**
- * Abstract implementation of {@link IJSFAppConfigLocater} that provides common
- * locater functionality. {@link IJSFAppConfigLocater} implementations MUST
- * extend this class or provide similar functionality.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractJSFAppConfigLocater implements IJSFAppConfigLocater {
-
- /**
- * {@link JSFAppConfigManager} instance to which this locater belongs.
- * @deprecated - DO NOT USE
- */
- protected JSFAppConfigManager manager = null;
-
- /**
- * {@link IJSFAppConfigManager} instance to which this locater belongs.
- */
- private IJSFAppConfigManager _manager;
-
- /**
- * Set of known {@link IJSFAppConfigProvider} instances.
- */
- protected Set configProviders = new LinkedHashSet();
-
- public void setJSFAppConfigManager(final IJSFAppConfigManager manager) {
- this._manager = manager;
- }
-
- public IJSFAppConfigManager getJSFAppConfigManager() {
- return _manager;
- }
-
- public abstract void startLocating();
-
- public abstract void stopLocating();
-
- public Set<IJSFAppConfigProvider> getJSFAppConfigProviders() {
- return configProviders;
- }
-
- /**
- * Adds an {@link IJSFAppConfigProvider} instance to the set of known
- * instances and notifies {@link JSFAppConfigManager} instance of the
- * addition if successful.
- *
- * @param configProvider {@link IJSFAppConfigProvider} instance to be
- * added.
- * @return true if instance was added, else false.
- */
- protected boolean addConfigProvider(final IJSFAppConfigProvider configProvider) {
- final boolean added = configProviders.add(configProvider);
- if (added && getJSFAppConfigManager() != null) {
- configProvider.setJSFAppConfigLocater(this);
- getJSFAppConfigManager().notifyJSFAppConfigProvidersChangeListeners(
- configProvider,
- JSFAppConfigProvidersChangeEvent.ADDED);
- }
- return added;
- }
-
- /**
- * Removes an {@link IJSFAppConfigProvider} instance from the set of known
- * instances and notifies {@link JSFAppConfigManager} instance of the
- * removal if successful.
- *
- * @param configProvider {@link IJSFAppConfigProvider} instance to be
- * removed.
- * @return true if instance was removed, else false.
- */
- protected boolean removeConfigProvider(final IJSFAppConfigProvider configProvider) {
- if (configProvider != null) {
- configProvider.releaseFacesConfigModel();
- }
- final boolean removed = configProviders.remove(configProvider);
- if (removed && getJSFAppConfigManager() != null) {
- getJSFAppConfigManager().notifyJSFAppConfigProvidersChangeListeners(
- configProvider,
- JSFAppConfigProvidersChangeEvent.REMOVED);
- }
- return removed;
- }
-
- /**
- * Updates known set of {@link IJSFAppConfigProvider} instances by removing
- * instances that are in the existing set but not in the passed set and
- * adding instances that are in the passed set but not in the existing set.
- * Instances that are in both the existing set and the passed set are left
- * unchanged. The {@link JSFAppConfigManager} is notified of removals and
- * additions, and no notification is sent for instances that are left
- * unchanged.
- *
- * @param newConfigProviders New set of {@link IJSFAppConfigProvider}
- * instances.
- */
- protected void updateConfigProviders(final Set newConfigProviders) {
- if (newConfigProviders != null) {
- final LinkedHashSet oldConfigProviders = new LinkedHashSet();
- //iterate over existing set
- final Iterator itConfigProviders = configProviders.iterator();
- while (itConfigProviders.hasNext()) {
- final IJSFAppConfigProvider configProvider = (IJSFAppConfigProvider)itConfigProviders.next();
- //remove provider from new set if it is already in existing set
- if (!newConfigProviders.remove(configProvider)) {
- //stage removal of existing provider that is not in new set
- oldConfigProviders.add(configProvider);
- }
- }
- //remove providers that are not in new set from existing set
- final Iterator itOldConfigProviders = oldConfigProviders.iterator();
- while (itOldConfigProviders.hasNext()) {
- final IJSFAppConfigProvider configProvider = (IJSFAppConfigProvider)itOldConfigProviders.next();
- //call removeConfigProvider(...) method so manager's listeners are notified
- removeConfigProvider(configProvider);
- }
- //add providers that are still in new set to existing set
- final Iterator itNewConfigProviders = newConfigProviders.iterator();
- while (itNewConfigProviders.hasNext()) {
- final IJSFAppConfigProvider configProvider = (IJSFAppConfigProvider)itNewConfigProviders.next();
- //call addConfigProvider(...) method so manager's listeners are notified
- addConfigProvider(configProvider);
- }
- }
- }
-
- /**
- * Removes all {@link IJSFAppConfigProvider} instances from the known set,
- * sending notification of all removals to the {@link JSFAppConfigManager}
- * instance.
- */
- protected void removeAllConfigProviders() {
- updateConfigProviders(Collections.EMPTY_SET);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater#dispose()
- */
- public void dispose() {
- removeAllConfigProviders();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigProvider.java
deleted file mode 100644
index baaf9e14e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/AbstractJSFAppConfigProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-
-/**
- * Abstract implementation of {@link IJSFAppConfigProvider} that provides
- * common provider functionality. {@link IJSFAppConfigProvider} instances
- * should extend this class or provide similar functionality.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractJSFAppConfigProvider implements IJSFAppConfigProvider {
-
- /**
- * {@link IJSFAppConfigLocater} instance that located this instance.
- */
- protected IJSFAppConfigLocater jsfAppConfigLocater = null;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#setJSFAppConfigLocater(org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater)
- */
- public void setJSFAppConfigLocater(IJSFAppConfigLocater locater) {
- this.jsfAppConfigLocater = locater;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel()
- */
- public abstract FacesConfigType getFacesConfigModel();
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
- */
- public abstract void releaseFacesConfigModel();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ArtifactEditJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ArtifactEditJSFAppConfigProvider.java
deleted file mode 100644
index 0c9ab3905..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ArtifactEditJSFAppConfigProvider.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
-
-/**
- * ArtifactEditJSFAppConfigProvider uses FacesConfigArtifactEdit to provide
- * the root element of an application configuration model.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class ArtifactEditJSFAppConfigProvider extends AbstractJSFAppConfigProvider {
-
- /**
- * IFile instance that represents an application configuration resource
- * file.
- */
- protected IFile appConfigFile = null;
-
- /**
- * FacesConfigArtifactEdit instance used to get the application
- * configuration model.
- */
- protected FacesConfigArtifactEdit facesConfigArtifactEdit = null;
-
- /**
- * Cached {@link FacesConfigType} instance.
- */
- protected FacesConfigType facesConfig = null;
-
- /**
- * Creates an instance, storing the passed IFile instance for subsequent
- * processing.
- *
- * @param appConfigFile IFile instance that represents an application
- * configuration resource file
- */
- public ArtifactEditJSFAppConfigProvider(IFile appConfigFile) {
- this.appConfigFile = appConfigFile;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel()
- */
- public FacesConfigType getFacesConfigModel() {
- if (facesConfig == null) {
- if (appConfigFile != null) {
- IProject project = appConfigFile.getProject();
- IPath appConfigFilePath = JSFAppConfigUtils.getWebContentFolderRelativePath(appConfigFile);
- if (appConfigFilePath != null) {
- facesConfigArtifactEdit = FacesConfigArtifactEdit.getFacesConfigArtifactEditForRead(project, appConfigFilePath.toString());
- if (facesConfigArtifactEdit != null) {
- facesConfig = facesConfigArtifactEdit.getFacesConfig();
- if (facesConfig != null) {
- jsfAppConfigLocater.getJSFAppConfigManager().addFacesConfigChangeAdapter(facesConfig);
- }
- }
- }
- }
- }
- return facesConfig;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
- */
- public void releaseFacesConfigModel() {
- if (jsfAppConfigLocater != null)
- {
- jsfAppConfigLocater.getJSFAppConfigManager().removeFacesConfigChangeAdapter(facesConfig);
- }
- if (facesConfigArtifactEdit != null) {
- facesConfigArtifactEdit.dispose();
- facesConfigArtifactEdit = null;
- }
- facesConfig = null;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object otherObject) {
- boolean equals = false;
- if (otherObject instanceof ArtifactEditJSFAppConfigProvider) {
- IFile otherAppConfigFile = ((ArtifactEditJSFAppConfigProvider)otherObject).appConfigFile;
- if (appConfigFile != null) {
- equals = appConfigFile.equals(otherAppConfigFile);
- } else {
- equals = otherAppConfigFile == null;
- }
- }
- return equals;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return appConfigFile != null ? appConfigFile.hashCode() : 0;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer("ArtifactEditJSFAppConfigProvider["); //$NON-NLS-1$
- if (appConfigFile != null) {
- sb.append(appConfigFile.toString());
- } else {
- sb.append("null"); //$NON-NLS-1$
- }
- sb.append("]"); //$NON-NLS-1$
- return sb.toString();
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#finalize()
- */
- protected void finalize() {
- releaseFacesConfigModel();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java
deleted file mode 100644
index 0446045de..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ContextParamSpecifiedJSFAppConfigLocater.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-/**
- * ContextParamSpecifiedJSFAppConfigLocater attempts to locate application
- * configuration files specified by the JSF CONFIG_FILES context parameter.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- * TODO:cleanup once JavaEE API's stabilize
- */
-public class ContextParamSpecifiedJSFAppConfigLocater extends WebContentRelativeJSFAppConfigLocater {
-
- /**
- * Cached instance of ContextParamAdapter.
- */
- protected ContextParamAdapter contextParamAdapter = null;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#startLocating()
- */
- public void startLocating() {
- locateProviders();
- Object webAppObj = getModelObject();
- if (webAppObj != null){
- contextParamAdapter = new ContextParamAdapter();
- if (webAppObj instanceof WebApp)
- startLocatingJ2EEConfigs((WebApp)webAppObj);
- else if (webAppObj instanceof org.eclipse.jst.javaee.web.WebApp)
- startLocatingJEEConfigs((org.eclipse.jst.javaee.web.WebApp)webAppObj);
- } else {
- //TODO should never get here. Log err?
- }
- }
-
- private Object getModelObject() {
- Object modelObject = null;
- IProject project = getJSFAppConfigManager().getProject();
- if (project.isAccessible()) {
- IModelProvider provider = ModelProviderManager.getModelProvider(project);
- if (provider != null) {
- // we can't get the model if the workspace tree is currently locked.
- // to avoid the logged message, check the workspace tree here.
- if (!project.getWorkspace().isTreeLocked()) {
- modelObject = provider.getModelObject();
- }
- }
- }
-
- return modelObject;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#stopLocating()
- */
- public void stopLocating() {
- if (contextParamAdapter != null) {
- Object webAppObj = getModelObject();
- if (webAppObj != null){
- if (webAppObj instanceof WebApp)
- stopLocatingJ2EEConfigs((WebApp)webAppObj);
- else if (webAppObj instanceof org.eclipse.jst.javaee.web.WebApp)
- stopLocatingJEEConfigs((org.eclipse.jst.javaee.web.WebApp)webAppObj);
- } else {
- //TODO should never get here. Log err?
- }
- contextParamAdapter = null;
- }
- }
-
- private void startLocatingJ2EEConfigs(WebApp webApp){
- webApp.eAdapters().add(contextParamAdapter);
- EList contexts = webApp.getContexts();
- if (contexts != null) {
- Iterator itContexts = contexts.iterator();
- while (itContexts.hasNext()) {
- ContextParam contextParam = (ContextParam)itContexts.next();
- contextParam.eAdapters().add(contextParamAdapter);
- }
- }
- EList contextParams = webApp.getContextParams();
- if (contextParams != null) {
- Iterator itContextParams = contextParams.iterator();
- while (itContextParams.hasNext()) {
- ParamValue paramValue = (ParamValue)itContextParams.next();
- paramValue.eAdapters().add(contextParamAdapter);
- }
- }
- }
-
- private void startLocatingJEEConfigs(org.eclipse.jst.javaee.web.WebApp webApp) {
- ((EObject)webApp).eAdapters().add(contextParamAdapter);
- List params = webApp.getContextParams();
- if (params != null) {
- Iterator itContexts = params.iterator();
- while (itContexts.hasNext()) {
- EObject contextParam = (EObject)itContexts.next();
- contextParam.eAdapters().add(contextParamAdapter);
- }
- }
- }
-
- private void stopLocatingJ2EEConfigs(WebApp webApp) {
- webApp.eAdapters().remove(contextParamAdapter);
- EList contexts = webApp.getContexts();
- if (contexts != null) {
- Iterator itContexts = contexts.iterator();
- while (itContexts.hasNext()) {
- ContextParam contextParam = (ContextParam)itContexts.next();
- contextParam.eAdapters().remove(contextParamAdapter);
- }
- }
- EList contextParams = webApp.getContextParams();
- if (contextParams != null) {
- Iterator itContextParams = contextParams.iterator();
- while (itContextParams.hasNext()) {
- ParamValue paramValue = (ParamValue)itContextParams.next();
- paramValue.eAdapters().remove(contextParamAdapter);
- }
- }
- }
-
- private void stopLocatingJEEConfigs(org.eclipse.jst.javaee.web.WebApp webApp) {
- ((EObject)webApp).eAdapters().remove(contextParamAdapter);
- List contextParams = webApp.getContextParams();
- if (contextParams != null) {
- Iterator itContextParams = contextParams.iterator();
- while (itContextParams.hasNext()) {
- EObject paramValue = (EObject)itContextParams.next();
- paramValue.eAdapters().remove(contextParamAdapter);
- }
- }
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.WebContentRelativeJSFAppConfigLocater#getFilenames()
- */
- protected List getFilenames() {
- return JSFAppConfigUtils.getConfigFilesFromContextParam(getJSFAppConfigManager().getProject());
- }
-
- /**
- * Adapter implementation used to monitor addition/removal of context-param
- * nodes and change in name of existing nodes in order to respond to
- * changes to the JSF CONFIG_FILES context-param.
- *
- * @author Ian Trimble - Oracle
- */
- class ContextParamAdapter extends AdapterImpl {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- public void notifyChanged(Notification notification) {
- Object objNotifier = notification.getNotifier();
-// System.out.println(objNotifier.toString());
- if (objNotifier instanceof WebApp ||
- objNotifier instanceof org.eclipse.jst.javaee.web.WebApp) {
- int eventType = notification.getEventType();
- switch (eventType) {
- case Notification.ADD:
- Object objNewValue = notification.getNewValue();
- if (objNewValue instanceof ContextParam ||
- objNewValue instanceof org.eclipse.jst.javaee.core.ParamValue) {
- contextParamAdded((EObject)objNewValue);
- } else if (objNewValue instanceof ParamValue ) {
- paramValueAdded((EObject)objNewValue);
- }
- break;
- case Notification.REMOVE:
- Object objOldValue = notification.getOldValue();
- if (objOldValue instanceof ContextParam ||
- objOldValue instanceof org.eclipse.jst.javaee.core.ParamValue) {
- contextParamRemoved((EObject)objOldValue);
- } else if (objOldValue instanceof ParamValue) {
- paramValueRemoved((EObject)objOldValue);
- }
- break;
- }
- } else if (objNotifier instanceof ContextParam ||
- objNotifier instanceof org.eclipse.jst.javaee.core.ParamValue) {
- if (notification.getEventType() != Notification.REMOVING_ADAPTER) {
- locateProviders();
- }
- } else if (objNotifier instanceof ParamValue) {
- if (notification.getEventType() != Notification.REMOVING_ADAPTER) {
- locateProviders();
- }
- }
- }
-
- /**
- * Called when a new ContextParam instance is added.
- *
- * @param contextParam ContextParam instance.
- */
- protected void contextParamAdded(EObject contextParam) {
- if (isConfigFilesContextParam(contextParam)) {
- locateProviders();
- }
- contextParam.eAdapters().add(this);
- }
-
- /**
- * Called when a new ParamValue instance is added.
- *
- * @param paramValue ParamValue instance.
- */
- protected void paramValueAdded(EObject paramValue) {
- if (isConfigFilesParamValue(paramValue)) {
- locateProviders();
- }
- paramValue.eAdapters().add(this);
- }
-
- /**
- * Called when a ContextParam instance is removed.
- *
- * @param contextParam ContextParam instance.
- */
- protected void contextParamRemoved(EObject contextParam) {
- if (isConfigFilesContextParam(contextParam)) {
- locateProviders();
- }
- contextParam.eAdapters().remove(this);
- }
-
- /**
- * Called when a ParamValue instance is removed.
- *
- * @param paramValue ParamValue instance.
- */
- protected void paramValueRemoved(EObject paramValue) {
- if (isConfigFilesParamValue(paramValue)) {
- locateProviders();
- }
- paramValue.eAdapters().remove(this);
- }
-
- /**
- * Tests if the passed ContextParam instance is the JSF CONFIG_FILES
- * context parameter.
- *
- * @param contextParam ContextParam instance.
- * @return true if the passed ContextParam instance is the JSF
- * CONFIG_FILES context parameter, else false
- */
- protected boolean isConfigFilesContextParam(EObject contextParam) {
- boolean isConfigFiles = false;
- if (contextParam != null) {
- String name = null;
- if (contextParam instanceof ContextParam)
- name = ((ContextParam)contextParam).getParamName();
- else if (contextParam instanceof org.eclipse.jst.javaee.core.ParamValue)
- name = ((org.eclipse.jst.javaee.core.ParamValue)contextParam).getParamName();
-
- if (name != null && name.equals(JSFAppConfigUtils.CONFIG_FILES_CONTEXT_PARAM_NAME)) {
- isConfigFiles = true;
- }
- }
- return isConfigFiles;
- }
-
- /**
- * Tests if the passed ParamValue instance is the JSF CONFIG_FILES
- * context parameter.
- *
- * @param paramVal as EObject ParamValue instance.
- * @return true if the passed ParamValue instance is the JSF
- * CONFIG_FILES context parameter, else false
- */
- protected boolean isConfigFilesParamValue(EObject paramVal) {
- boolean isConfigFiles = false;
- if (paramVal != null) {
- String name = null;
- if (paramVal instanceof ParamValue)
- name = ((ParamValue)paramVal).getName();
- else if (paramVal instanceof org.eclipse.jst.javaee.core.ParamValue)
- name = ((org.eclipse.jst.javaee.core.ParamValue)paramVal).getParamName();
-
- if (name != null && name.equals(JSFAppConfigUtils.CONFIG_FILES_CONTEXT_PARAM_NAME)) {
- isConfigFiles = true;
- }
- }
- return isConfigFiles;
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/DefaultJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/DefaultJSFAppConfigLocater.java
deleted file mode 100644
index 3e3f01492..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/DefaultJSFAppConfigLocater.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery.DefaultVirtualComponentQuery;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * DefaultJSFAppConfigLocater attempts to locate the default application
- * configuration file, located at "/WEB-INF/faces-config.xml".
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultJSFAppConfigLocater extends WebContentRelativeJSFAppConfigLocater
- implements IResourceChangeListener {
-
- /**
- * Web content folder-relative name of the default application
- * configuration resource file.
- */
- public static final String DEF_APPCONFIGRESOURCE_FILENAME = "WEB-INF/faces-config.xml"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#startLocating()
- */
- public void startLocating() {
- locateProviders();
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- workspace.addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#stopLocating()
- */
- public void stopLocating() {
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- workspace.removeResourceChangeListener(this);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.WebContentRelativeJSFAppConfigLocater#getFilenames()
- */
- protected List getFilenames() {
- List filenames = new ArrayList();
- filenames.add(DEF_APPCONFIGRESOURCE_FILENAME);
- return filenames;
- }
-
- /**
- * Responds to resource change events.
- *
- * @param event IResourceChangeEvent instance.
- */
- public void resourceChanged(IResourceChangeEvent event) {
- IResourceDelta delta = event.getDelta();
- try {
- delta.accept(new ResourceDeltaVisitor());
- } catch (CoreException cex) {
- JSFCorePlugin.log(
- IStatus.WARNING,
- cex.getLocalizedMessage(),
- cex);
- }
- }
-
- /**
- * ResourceDeltaVisitor is used to visit an IResourceDelta instance to
- * discover if the default application configuration resource file has
- * been added or removed.
- *
- * @author Ian Trimble - Oracle
- */
- class ResourceDeltaVisitor implements IResourceDeltaVisitor {
-
- /**
- * Cached IPath instance for default configuration resource file.
- */
- protected IPath defConfigPath = null;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
- */
- public boolean visit(IResourceDelta delta) {
- boolean visitChildren = false;
- initDefConfigPath();
- if (defConfigPath != null) {
- IPath deltaPath = delta.getFullPath();
- if (deltaPath != null) {
- if (defConfigPath.equals(deltaPath)) {
- locateProviders();
- } else if (deltaPath.isPrefixOf(defConfigPath)) {
- visitChildren = true;
- }
- }
- } else {
- locateProviders();
- }
- return visitChildren;
- }
-
- /**
- * Determines IPath instance for default configuration resource file
- * and caches in class member.
- */
- protected void initDefConfigPath() {
- if (defConfigPath == null) {
- IProject project = getJSFAppConfigManager().getProject();
- if (project != null) {
- IVirtualFolder webContentFolder = new DefaultVirtualComponentQuery().getWebContentFolder(project);
- if (webContentFolder != null) {
- IVirtualResource defConfigFile = webContentFolder.findMember(DEF_APPCONFIGRESOURCE_FILENAME);
- if (defConfigFile != null) {
- defConfigPath = defConfigFile.getWorkspaceRelativePath();
- }
- }
- }
- }
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IFacesConfigChangeListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IFacesConfigChangeListener.java
deleted file mode 100644
index 7f40db6c7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IFacesConfigChangeListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import org.eclipse.emf.common.notify.Notification;
-
-/**
- * IFacesConfigChangeListener is the interface that must be implemented by
- * objects interested in receiving notification of changes to application
- * configuration models.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface IFacesConfigChangeListener {
-
- /**
- * Called when a change in an application configuration model for which
- * this listener has been registered occurs.
- *
- * @param notification EMF {@link Notification} instance that describes the
- * model change.
- */
- public void notifyChanged(Notification notification);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigLocater.java
deleted file mode 100644
index c3a6d0a94..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigLocater.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.Set;
-
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-
-/**
- * IJSFAppConfigLocater is the interface that Objects capable of locating
- * and providing JSF application configuration resources must implement.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @noimplement - users must extend {@link AbstractJSFAppConfigLocater}
- * @author Ian Trimble - Oracle
- */
-public interface IJSFAppConfigLocater {
-
- /**
- * Sets the {@link IJSFAppConfigManager} instance to which this locater
- * belongs.
- *
- * @param manager {@link IJSFAppConfigManager} instance to be set.
- */
- public void setJSFAppConfigManager(IJSFAppConfigManager manager);
-
- /**
- * Gets the {@link IJSFAppConfigManager} instance to which this locater
- * belongs.
- *
- * @return {@link IJSFAppConfigManager} instance to which this locater
- * belongs.
- */
- public IJSFAppConfigManager getJSFAppConfigManager();
-
- /**
- * Starts locating JSF application configuration resources.
- */
- public void startLocating();
-
- /**
- * Stops locating JSF application configuration resources.
- */
- public void stopLocating();
-
- /**
- * Disposes of the instance.
- */
- public void dispose();
-
- /**
- * Gets the set of {@link IJSFAppConfigProvider} instances that this
- * locater has located.
- *
- * @return set of {@link IJSFAppConfigProvider} instances.
- */
- public Set<IJSFAppConfigProvider> getJSFAppConfigProviders();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvider.java
deleted file mode 100644
index 51bba21d0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-
-/**
- * IJSFAppConfigProvider is the interface that Objects capable of providing
- * JSF application configuration models must implement.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @noimplement - should use {@link AbstractJSFAppConfigProvider} or {@link ArtifactEditJSFAppConfigProvider} if that config can be modified
- * @author Ian Trimble - Oracle
- *
- */
-public interface IJSFAppConfigProvider {
-
- /**
- * Sets the {@link IJSFAppConfigLocater} instance that located this
- * instance.
- *
- * @param locater {@link IJSFAppConfigLocater} instance that located this
- * instance.
- */
- public void setJSFAppConfigLocater(IJSFAppConfigLocater locater);
-
- /**
- * Gets the root element of the application configuration model for read
- * access.
- *
- * @return FacesConfigType instance, which is the root element of an
- * application configuration model.
- */
- public FacesConfigType getFacesConfigModel();
-
- /**
- * Releases resources associated with acquiring the application
- * configuration model (if any).
- */
- public void releaseFacesConfigModel();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvidersChangeListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvidersChangeListener.java
deleted file mode 100644
index d8282c90f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/IJSFAppConfigProvidersChangeListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-/**
- * Interface that an Object wishing to be notified about changes to the Set of
- * IJSFAppConfigProvider instances implements.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle.
- */
-public interface IJSFAppConfigProvidersChangeListener {
-
- /**
- * Callback method indicating a change in the Set of JSFAppConfigProvider
- * instances.
- *
- * @param event JSFAppConfigProvidersChangeEvent instance.
- */
- public void changedJSFAppConfigProviders(JSFAppConfigProvidersChangeEvent event);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigLocater.java
deleted file mode 100644
index eddcfeb95..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigLocater.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-/**
- * ImplicitRuntimeJSFAppConfigLocater creates an {@link IJSFAppConfigProvider}
- * instance that provides an application configuration model that contains
- * implicit configuration elements that are specified as required to be
- * provided by a JSF implementation.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class ImplicitRuntimeJSFAppConfigLocater extends AbstractJSFAppConfigLocater {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#startLocating()
- */
- public void startLocating() {
- locateProviders();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#stopLocating()
- */
- public void stopLocating() {
- //nothing to do
- }
-
- /**
- * Adds an {@link IJSFAppConfigProvider} instance that provides an
- * application configuration model that contains implicit configuration
- * objects provided by a JSF implementation at runtime.
- */
- public void locateProviders() {
- Set newConfigProviders = new LinkedHashSet();
- newConfigProviders.add(new ImplicitRuntimeJSFAppConfigProvider());
- updateConfigProviders(newConfigProviders);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigProvider.java
deleted file mode 100644
index e86f0e229..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/ImplicitRuntimeJSFAppConfigProvider.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentType;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentTypeType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterForClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterIdType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigFactory;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorIdType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorType;
-
-/**
- * ImplicitRuntimeJSFAppConfigProvider provides an application configuration
- * model that contains implicit configuration objects provided by a JSF
- * implementation at runtime.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class ImplicitRuntimeJSFAppConfigProvider extends AbstractJSFAppConfigProvider {
-
- /**
- * Cached {@link FacesConfigType} instance.
- */
- protected FacesConfigType facesConfig = null;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel()
- */
- public FacesConfigType getFacesConfigModel() {
- if (facesConfig == null) {
- createModel();
- if (facesConfig != null) {
- jsfAppConfigLocater.getJSFAppConfigManager().addFacesConfigChangeAdapter(facesConfig);
- }
- }
- return facesConfig;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
- */
- public void releaseFacesConfigModel() {
- jsfAppConfigLocater.getJSFAppConfigManager().removeFacesConfigChangeAdapter(facesConfig);
- facesConfig = null;
- }
-
- /**
- * Creates the application configuration model and assigns it to the
- * facesConfig property.
- */
- protected void createModel() {
- facesConfig = FacesConfigFactory.eINSTANCE.createFacesConfigType();
- //create and add converters by id
- EList converters = facesConfig.getConverter();
- converters.add(createConverter("BigDecimal")); //$NON-NLS-1$
- converters.add(createConverter("BigInteger")); //$NON-NLS-1$
- converters.add(createConverter("Boolean")); //$NON-NLS-1$
- converters.add(createConverter("Byte")); //$NON-NLS-1$
- converters.add(createConverter("Character")); //$NON-NLS-1$
- converters.add(createConverter("DateTime")); //$NON-NLS-1$
- converters.add(createConverter("Double")); //$NON-NLS-1$
- converters.add(createConverter("Float")); //$NON-NLS-1$
- converters.add(createConverter("Integer")); //$NON-NLS-1$
- converters.add(createConverter("Long")); //$NON-NLS-1$
- converters.add(createConverter("Number")); //$NON-NLS-1$
- converters.add(createConverter("Short")); //$NON-NLS-1$
- converters.add(createConverter("Enum")); //$NON-NLS-1$
- // converters by for-class (see spec 3.3.3 -- Standard Converter Implementions
- converters.add(createForClassConverter("java.lang.Boolean", "javax.faces.convert.BooleanConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Byte", "javax.faces.convert.ByteConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Character", "javax.faces.convert.CharacterConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Double", "javax.faces.convert.DoubleConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Float", "javax.faces.convert.FloatConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Integer", "javax.faces.convert.IntegerConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Long", "javax.faces.convert.LongConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Short", "javax.faces.converter.ShortConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- converters.add(createForClassConverter("java.lang.Enum", "javax.faces.converter.EnumConverter")); //$NON-NLS-1$ //$NON-NLS-2$
- //create and add validators
- EList validators = facesConfig.getValidator();
- validators.add(createValidator("DoubleRange")); //$NON-NLS-1$
- validators.add(createValidator("Length")); //$NON-NLS-1$
- validators.add(createValidator("LongRange")); //$NON-NLS-1$
- validators.add(createValidator("Bean")); //$NON-NLS-1$
- validators.add(createValidator("RegularExpression")); //$NON-NLS-1$
- validators.add(createValidator("Required")); //$NON-NLS-1$
- //create and add UI components
- EList components = facesConfig.getComponent();
- components.add(createUIComponent("Column")); //$NON-NLS-1$
- components.add(createUIComponent("Command")); //$NON-NLS-1$
- components.add(createUIComponent("Data")); //$NON-NLS-1$
- components.add(createUIComponent("Form")); //$NON-NLS-1$
- components.add(createUIComponent("Graphic")); //$NON-NLS-1$
- components.add(createUIComponent("Input")); //$NON-NLS-1$
- components.add(createUIComponent("Message")); //$NON-NLS-1$
- components.add(createUIComponent("Messages")); //$NON-NLS-1$
- components.add(createUIComponent("NamingContainer")); //$NON-NLS-1$
- components.add(createUIComponent("Output")); //$NON-NLS-1$
- components.add(createUIComponent("Panel")); //$NON-NLS-1$
- components.add(createUIComponent("Parameter")); //$NON-NLS-1$
- components.add(createUIComponent("SelectBoolean")); //$NON-NLS-1$
- components.add(createUIComponent("SelectItem")); //$NON-NLS-1$
- components.add(createUIComponent("SelectItems")); //$NON-NLS-1$
- components.add(createUIComponent("SelectMany")); //$NON-NLS-1$
- components.add(createUIComponent("SelectOne")); //$NON-NLS-1$
- components.add(createUIComponent("ViewRoot")); //$NON-NLS-1$
- //create and add HTML components
- components.add(createHTMLComponent("HtmlCommandButton")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlCommandLink")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlDataTable")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlForm")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlGraphicImage")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlInputHidden")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlInputSecret")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlInputText")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlInputTextarea")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlMessage")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlMessages")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlOutputFormat")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlOutputLabel")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlOutputLink")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlOutputText")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlPanelGrid")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlPanelGroup")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectBooleanCheckbox")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectManyCheckbox")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectManyListbox")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectManyMenu")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectOneListbox")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectOneMenu")); //$NON-NLS-1$
- components.add(createHTMLComponent("HtmlSelectOneRadio")); //$NON-NLS-1$
- }
-
- /**
- * Creates a {@link ConverterType} instance.
- *
- * @param name Base name of converter from which converter-id and
- * converter-class are formed.
- * @return {@link ConverterType} instance.
- */
- protected ConverterType createConverter(String name) {
- ConverterType converterType = FacesConfigFactory.eINSTANCE.createConverterType();
- //set converter-id
- ConverterIdType converterIdType = FacesConfigFactory.eINSTANCE.createConverterIdType();
- StringBuffer sb = new StringBuffer();
- sb.append("javax.faces."); //$NON-NLS-1$
- sb.append(name);
- converterIdType.setTextContent(sb.toString());
- converterType.setConverterId(converterIdType);
- //set converter-class
- ConverterClassType converterClassType = FacesConfigFactory.eINSTANCE.createConverterClassType();
- sb = new StringBuffer();
- sb.append("javax.faces.convert."); //$NON-NLS-1$
- sb.append(name);
- sb.append("Converter"); //$NON-NLS-1$
- converterClassType.setTextContent(sb.toString());
- converterType.setConverterClass(converterClassType);
- return converterType;
- }
-
- private ConverterType createForClassConverter(String forClass, String converterClass)
- {
- ConverterType converterType = FacesConfigFactory.eINSTANCE.createConverterType();
- //set converter-id
- ConverterForClassType converterForClass = FacesConfigFactory.eINSTANCE.createConverterForClassType();
- converterForClass.setTextContent(forClass);
- converterType.setConverterForClass(converterForClass);
- //set converter-class
- ConverterClassType converterClassType = FacesConfigFactory.eINSTANCE.createConverterClassType();
- converterClassType.setTextContent(converterClass);
- converterType.setConverterClass(converterClassType);
- return converterType;
- }
-
- /**
- * Creates a {@link ValidatorType} instance.
- *
- * @param name Base name of validator from which validator-id and
- * validator-class are formed.
- * @return {@link ValidatorType} instance.
- */
- protected ValidatorType createValidator(String name) {
- ValidatorType validatorType = FacesConfigFactory.eINSTANCE.createValidatorType();
- //set validator-id
- ValidatorIdType validatorIdType = FacesConfigFactory.eINSTANCE.createValidatorIdType();
- StringBuffer sb = new StringBuffer();
- sb.append("javax.faces."); //$NON-NLS-1$
- sb.append(name);
- validatorIdType.setTextContent(sb.toString());
- validatorType.setValidatorId(validatorIdType);
- //set validator-class
- ValidatorClassType validatorClassType = FacesConfigFactory.eINSTANCE.createValidatorClassType();
- sb = new StringBuffer();
- sb.append("javax.faces.validator."); //$NON-NLS-1$
- sb.append(name);
- sb.append("Validator"); //$NON-NLS-1$
- validatorClassType.setTextContent(sb.toString());
- validatorType.setValidatorClass(validatorClassType);
- return validatorType;
- }
-
- /**
- * Creates a {@link ComponentType} instance to represent a standard UI
- * component.
- *
- * @param name Base name of component from which component-type and
- * component-class are formed.
- * @return {@link ComponentType} instance.
- */
- protected ComponentType createUIComponent(String name) {
- ComponentType componentType = FacesConfigFactory.eINSTANCE.createComponentType();
- //set component-type
- ComponentTypeType componentTypeType = FacesConfigFactory.eINSTANCE.createComponentTypeType();
- StringBuffer sb = new StringBuffer();
- sb.append("javax.faces."); //$NON-NLS-1$
- sb.append(name);
- componentTypeType.setTextContent(sb.toString());
- componentType.setComponentType(componentTypeType);
- //set component-class
- ComponentClassType componentClassType = FacesConfigFactory.eINSTANCE.createComponentClassType();
- sb = new StringBuffer();
- sb.append("javax.faces.component.UI"); //$NON-NLS-1$
- sb.append(name);
- componentClassType.setTextContent(sb.toString());
- componentType.setComponentClass(componentClassType);
- return componentType;
- }
-
- /**
- * Creates a {@link ComponentType} instance to represent a concrete HTML
- * component.
- *
- * @param name Base name of component from which component-type and
- * component-class are formed.
- * @return {@link ComponentType} instance.
- */
- protected ComponentType createHTMLComponent(String name) {
- ComponentType componentType = FacesConfigFactory.eINSTANCE.createComponentType();
- //set component-type
- ComponentTypeType componentTypeType = FacesConfigFactory.eINSTANCE.createComponentTypeType();
- StringBuffer sb = new StringBuffer();
- sb.append("javax.faces."); //$NON-NLS-1$
- sb.append(name);
- componentTypeType.setTextContent(sb.toString());
- componentType.setComponentType(componentTypeType);
- //set component-class
- ComponentClassType componentClassType = FacesConfigFactory.eINSTANCE.createComponentClassType();
- sb = new StringBuffer();
- sb.append("javax.faces.component.html."); //$NON-NLS-1$
- sb.append(name);
- componentClassType.setTextContent(sb.toString());
- componentType.setComponentClass(componentClassType);
- return componentType;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object otherObject) {
- boolean equals = false;
- if (otherObject instanceof ImplicitRuntimeJSFAppConfigProvider) {
- equals = true;
- }
- return equals;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return ImplicitRuntimeJSFAppConfigProvider.class.getName().hashCode();
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "ImplicitRuntimeJSFAppConfigProvider[]"; //$NON-NLS-1$
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JARFileJSFAppConfigProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JARFileJSFAppConfigProvider.java
deleted file mode 100644
index 9f3bcb29c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JARFileJSFAppConfigProvider.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Collections;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.util.FacesConfigResourceFactory;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * JARFileJSFAppConfigProvider provides the root element of an application
- * configuration model by loading the model from a /META-INF/faces-config.xml
- * entry in a JAR file.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class JARFileJSFAppConfigProvider extends AbstractJSFAppConfigProvider {
-
- /**
- * Prefix required to turn filename into a JAR URI.
- */
- public static final String JARFILE_URI_PREFIX = "jar:file:///"; //$NON-NLS-1$
-
- /**
- * Suffix required to turn filename into a JAR URI.
- */
- public static final String FACES_CONFIG_IN_JAR_SUFFIX = "!/META-INF/faces-config.xml"; //$NON-NLS-1$
-
- /**
- * Name of a JAR file that contains a /META-INF/faces-config.xml entry.
- */
- protected String filename = null;
-
- /**
- * Cached {@link FacesConfigType} instance.
- */
- protected FacesConfigType facesConfig = null;
-
- /**
- * Flag to track if load error has been logged at least once.
- */
- protected boolean loadErrorLogged = false;
-
- /**
- * Creates an instance, storing the passed IProject instance and file name
- * String to be used for subsequent processing.
- *
- * @param filename Name of a JAR file that contains a
- * /META-INF/faces-config.xml entry.
- */
- public JARFileJSFAppConfigProvider(String filename) {
- this.filename = filename;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#getFacesConfigModel()
- */
- public FacesConfigType getFacesConfigModel() {
- // TODO: should this job be pushed into the model?
- if (facesConfig == null && filename != null)
- {
- facesConfig = getFacesConfig();
-
- if (facesConfig != null)
- {
- jsfAppConfigLocater.getJSFAppConfigManager().addFacesConfigChangeAdapter(facesConfig);
- }
- }
- return facesConfig;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider#releaseFacesConfigModel()
- */
- public void releaseFacesConfigModel() {
- jsfAppConfigLocater.getJSFAppConfigManager().removeFacesConfigChangeAdapter(facesConfig);
- facesConfig = null;
- }
-
- /**
- * Called to log a load error; load error will be logged once only per
- * instance, per VM session.
- *
- * @param ex Throwable instance to be logged.
- */
- protected void logLoadError(Throwable ex) {
- if (!loadErrorLogged) {
- JSFCorePlugin.log(
- IStatus.ERROR,
- NLS.bind(Messages.JARFileJSFAppConfigProvider_ErrorLoadingModel, JARFILE_URI_PREFIX + filename + FACES_CONFIG_IN_JAR_SUFFIX),
- ex);
- loadErrorLogged = true;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object otherObject) {
- boolean equals = false;
- if (otherObject instanceof JARFileJSFAppConfigProvider) {
- String otherFilename = ((JARFileJSFAppConfigProvider)otherObject).filename;
- if (filename != null) {
- equals = filename.equals(otherFilename);
- } else {
- equals = otherFilename == null;
- }
- }
- return equals;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return filename != null ? filename.hashCode() : 0;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer("JARFileJSFAppConfigProvider["); //$NON-NLS-1$
- if (filename != null) {
- sb.append(filename);
- } else {
- sb.append("null"); //$NON-NLS-1$
- }
- sb.append("]"); //$NON-NLS-1$
- return sb.toString();
- }
-
- private FacesConfigType getFacesConfig()
- {
- FacesConfigType result = null;
- JarFile jarFile = null;
- File tempFile = null;
- OutputStream tempFileStream = null;
-
- try
- {
- jarFile = new JarFile(filename, false);
- ZipEntry entry = jarFile.getEntry("META-INF/faces-config.xml"); //$NON-NLS-1$
-
- if (entry != null)
- {
- InputStream stream = jarFile.getInputStream(entry);
-
- tempFile = File.createTempFile("tempfile", ".xml"); //$NON-NLS-1$ //$NON-NLS-2$
- tempFileStream = new FileOutputStream(tempFile);
-
- int read = 0;
- byte[] buffer = new byte[4096];
-
- while ((read = stream.read(buffer)) != -1)
- {
- tempFileStream.write(buffer, 0, read);
- }
-
- tempFileStream.close();
- tempFileStream = null;
-
- FacesConfigResourceFactory factory = FacesConfigResourceFactory.createResourceFactoryForJar();
- //FacesConfigResourceFactory.register(tempFile.toURI().toString());
- Resource resource = factory.createResource(URI.createFileURI(tempFile.getAbsolutePath()));
-
- try {
- if (resource != null) {
- resource.load(Collections.EMPTY_MAP);
- EList resourceContents = resource.getContents();
- if (resourceContents != null && resourceContents.size() > 0) {
- result = (FacesConfigType)resourceContents.get(0);
- }
- }
- } catch(IllegalStateException ise) {
- //log error
- logLoadError(ise);
- } catch(IOException ioe) {
- //log error
- logLoadError(ioe);
- }
- }
-
- return result;
- }
- catch (IOException ioe)
- {
- logLoadError(ioe);
- return null;
- }
- finally
- {
- if (jarFile != null)
- {
- try
- {
- jarFile.close();
- }
- catch (IOException ioe)
- {
- logLoadError(ioe);
- }
- }
-
- if (tempFileStream != null)
- {
- try
- {
- tempFileStream.close();
- }
- catch(IOException ioe)
- {
- logLoadError(ioe);
- }
- }
-
- if (tempFile != null && tempFile.exists())
- {
- if (!tempFile.delete())
- {
- tempFile.deleteOnExit();
- }
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigManager.java
deleted file mode 100644
index 9cba9dc3e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigManager.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsf.common.internal.managedobject.ObjectManager.ManagedObjectException;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceSingletonObjectManager;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.AbstractJSFAppConfigManager;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-
-/**
- * Default JSF AppConfig Manager
- * <p>
- * Mostly represents a merged representation of the Faces Configuration that the runtime would see
- * <p>
- * @deprecated - Helios
- */
-public class JSFAppConfigManager
- extends AbstractJSFAppConfigManager{
-
- /**
- * UNUSED - here only for compatibility with original
- */
- public static final QualifiedName KEY_SESSIONPROPERTY =
- new QualifiedName(JSFCorePlugin.PLUGIN_ID, "JSFAppConfigManager"); //$NON-NLS-1$
-
- /**
- * Constructor
- * @param project
- *
- */
- private JSFAppConfigManager(final IProject project) {
- super(project);
- }
-
- private static JSFAppConfigManagerFactory FACTORY = new JSFAppConfigManagerFactory();
-
-
- /**
- * @param project
- * @return JSFAppConfigManager
- * @deprecated
- */
- public static JSFAppConfigManager getInstance(final IProject project) {
- try {
- return FACTORY.getInstance(project);
- } catch (ManagedObjectException e) {
- JSFCorePlugin.log(e, "Failed to get JSFAppConfigManager instance for "+project.getName()); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * @return Set of {@link IJSFAppConfigProvider}s
- * @deprecated - SHOULD NOT USE
- */
- public Set getJSFAppConfigProviders() {
- return super.getJSFAppConfigProviders();
- }
-
- /**
- * Gets all {@link FacesConfigType} instances from all
- * {@link IJSFAppConfigProvider} instances.
- *
- * @return List of all {@link FacesConfigType} instances.
- * @deprecated - SHOULD NOT USE
- */
- public List getFacesConfigModels() {
- return super.getFacesConfigModels();
- }
-
- public List getManagedBeans() {
- return super.getManagedBeans();
- }
-
- public List getValidators() {
- return super.getValidators();
- }
-
- public List getConverters() {
- return super.getConverters();
- }
-
- public List getNavigationRules() {
- return super.getNavigationRules();
- }
-
- public List getNavigationRulesForPage(final IFile pageFile) {
- return super.getNavigationRulesForPage(pageFile);
- }
-
- public List getApplications() {
- return super.getApplications();
- }
-
- public List getFactories() {
- return super.getFactories();
- }
-
- public List getComponents() {
- return super.getComponents();
- }
-
- public List getReferencedBeans() {
- return super.getReferencedBeans();
- }
-
- public List getRenderKits() {
- return super.getRenderKits();
- }
-
- public List getLifecycles() {
- return super.getLifecycles();
- }
-
- public List getResourceBundles() {
- return super.getResourceBundles();
- }
-
- public List getFacesConfigExtensions() {
- return super.getFacesConfigExtensions();
- }
-
- private static class JSFAppConfigManagerFactory
- extends ResourceSingletonObjectManager<JSFAppConfigManager, IProject> {
-
- @Override
- protected IAdaptable unsafeRunBeforeGetInstance(IProject project) {
- super.unsafeRunBeforeGetInstance(project);
-
- if (!isInstance(project) && Job.getJobManager().currentRule() == null) {
- //Acquire a scheduling rule on the project so creation of a JSFAppConfigManager
- //does not attempt to acquire a rule which may be unavailable while still
- //synchronized on the ResourceSingletonObjectManager (JSFAppConfigManagerFactory)
- Job.getJobManager().beginRule(project, null);
- return new AdaptableBoolean(true);
- }
- return null;
- }
-
- @Override
- protected void unsafeRunAfterGetInstance(IProject project, IAdaptable stateObject) {
- super.unsafeRunAfterGetInstance(project, stateObject);
-
- if (stateObject instanceof AdaptableBoolean && ((AdaptableBoolean)stateObject).acquiredRule) {
- Job.getJobManager().endRule(project);
- }
- }
-
- protected JSFAppConfigManagerFactory() {
- super(ResourcesPlugin.getWorkspace());
- }
-
- @Override
- protected JSFAppConfigManager createNewInstance(final IProject project) {
- return new JSFAppConfigManager(project);
- }
-
- private static class AdaptableBoolean implements IAdaptable {
- private final boolean acquiredRule;
-
- public AdaptableBoolean(boolean acquiredRule) {
- this.acquiredRule = acquiredRule;
- }
-
- public Object getAdapter(Class adapter) {
- return null;
- }
-
-
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigProvidersChangeEvent.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigProvidersChangeEvent.java
deleted file mode 100644
index a946e4c02..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigProvidersChangeEvent.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-/**
- * JSFAppConfigProvidersChangeEvent provides change information to instances of
- * IJSFAppConfigProvidersChangeListener.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class JSFAppConfigProvidersChangeEvent {
-
- /**
- * Event type; instance of IJSFAppConfigProvider was added (value == 1).
- */
- public static final int ADDED = 1;
-
- /**
- * Event type; instance of IJSFAppConfigProvider was removed (value == 2).
- */
- public static final int REMOVED = 2;
-
- /**
- * Instance of IJSFAppConfigProvider that was added or removed.
- */
- protected IJSFAppConfigProvider configProvider = null;
-
- /**
- * Event type.
- */
- protected int eventType;
-
- /**
- * Constructs an instance.
- *
- * @param configProvider Instance of IJSFAppConfigProvider that was added
- * or removed
- * @param eventType Event type
- */
- public JSFAppConfigProvidersChangeEvent(IJSFAppConfigProvider configProvider, int eventType) {
- this.configProvider = configProvider;
- this.eventType = eventType;
- }
-
- /**
- * Gets the instance of IJSFAppConfigProvider that was added or removed.
- *
- * @return Instance of IJSFAppConfigProvider that was added or removed
- */
- public IJSFAppConfigProvider getJSFAppConfigProvider() {
- return configProvider;
- }
-
- /**
- * Gets the event type.
- *
- * @return Event type
- */
- public int getEventType() {
- return eventType;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigUtils.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigUtils.java
deleted file mode 100644
index 38dd45a08..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/JSFAppConfigUtils.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.j2ee.common.ParamValue;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.ContextParam;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery.DefaultVirtualComponentQuery;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * JSFAppConfigUtils provides utility methods useful in processing of a JSF
- * application configuration.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class JSFAppConfigUtils {
-
- /**
- * Name of JSF CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES").
- */
- public static final String CONFIG_FILES_CONTEXT_PARAM_NAME = "javax.faces.CONFIG_FILES"; //$NON-NLS-1$
-
- /**
- * Location in JAR file of application configuration resource file
- * ("META-INF/faces-config.xml").
- */
- public static final String FACES_CONFIG_IN_JAR_PATH = "META-INF/faces-config.xml"; //$NON-NLS-1$
-
-
- /**
- * @param project
- * @param minVersion
- * @return true if project is a JSF facet project and the version of the project
- * is at least minVersion.
- */
- public static boolean isValidJSFProject(IProject project, String minVersion)
- {
- boolean isValid = false;
-
- final IProjectFacetVersion projectFacetVersion = getProjectFacet(project);
-
- if (projectFacetVersion != null)
- {
- try
- {
- final String versionString =
- projectFacetVersion.getVersionString();
- final Comparator comparator =
- projectFacetVersion.getProjectFacet().getVersionComparator();
- final int compareToMin =
- comparator.compare(versionString, minVersion);
-
- if (compareToMin >=0)
- {
- return true;
- }
- }
- catch (CoreException ce)
- {
- JSFCorePlugin.log(ce, "Error checking facet version"); //$NON-NLS-1$
- }
- }
- return isValid;
- }
-
- /**
- * Tests if the passed IProject instance is a valid JSF project in the
- * following ways:
- * <ul>
- * <li>project is not null and is accessible, </li>
- * <li>project has the JSF facet set on it.</li>
- * </ul>
- *
- * @param project IProject instance to be tested.
- * @return true if the IProject instance is a valid JSF project, else
- * false.
- */
- public static boolean isValidJSFProject(IProject project) {
- boolean isValid = false;
- IProjectFacetVersion projectFacet = getProjectFacet(project);
- if (projectFacet != null)
- {
- isValid = true;
- }
- return isValid;
- }
- /**
- * Get the facet version for the project
- * @param project
- * @return the project facet version or null if could not be found or if
- * project is not accessible
- */
- public static IProjectFacetVersion getProjectFacet(IProject project)
- {
- //check for null or inaccessible project
- if (project != null && project.isAccessible()) {
- //check for JSF facet on project
- try {
- IFacetedProject facetedProject = ProjectFacetsManager.create(project);
- if (facetedProject != null) {
- Set projectFacets = facetedProject.getProjectFacets();
- Iterator itProjectFacets = projectFacets.iterator();
- while (itProjectFacets.hasNext()) {
- IProjectFacetVersion projectFacetVersion = (IProjectFacetVersion)itProjectFacets.next();
- if (IJSFCoreConstants.JSF_CORE_FACET_ID.equals(projectFacetVersion.getProjectFacet().getId()))
- {
- return projectFacetVersion;
- }
- }
- }
- } catch(CoreException ce) {
- //log error
- JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
- }
- }
- return null;
- }
-
- /**
- * Gets an IVirtualFolder instance which represents the root context's
- * web content folder.
- *
- * @param project IProject instance for which to get the folder.
- * @return IVirtualFolder instance which represents the root context's
- * web content folder.
- * @deprecated Call DefaultVirtualComponentQuery.getWebContentFolder instead
- */
- public static IVirtualFolder getWebContentFolder(IProject project) {
- return new DefaultVirtualComponentQuery().getWebContentFolder(project);
- }
-
- /**
- * Gets an IPath instance representing the path of the passed IFile
- * instance relative to the web content folder.
- *
- * @param file IFile instance for which a path is required.
- * @return IPath instance representing the path relative to the web content
- * folder.
- */
- public static IPath getWebContentFolderRelativePath(IFile file) {
- IPath path = null;
- if (file != null) {
- IVirtualFolder webContentFolder = getWebContentFolder(file.getProject());
- if (webContentFolder != null) {
- IPath webContentPath = webContentFolder.getProjectRelativePath();
- IPath filePath = file.getProjectRelativePath();
- int matchingFirstSegments = webContentPath.matchingFirstSegments(filePath);
- path = filePath.removeFirstSegments(matchingFirstSegments);
- }
- }
- return path;
- }
-
- /**
- * Gets list of application configuration file names as listed in the JSF
- * CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES"). Will return
- * an empty list if WebArtifactEdit is null, if WebApp is null, if context
- * parameter does not exist, or if trimmed context parameter's value is
- * an empty String.
- *
- * @param project IProject instance for which to get the context
- * parameter's value.
- * @return List of application configuration file names as listed in the
- * JSF CONFIG_FILES context parameter ("javax.faces.CONFIG_FILES"); list
- * may be empty.
- */
- public static List getConfigFilesFromContextParam(IProject project) {
- List filesList = Collections.EMPTY_LIST;
- if (isValidJSFProject(project)) {
- IModelProvider provider = ModelProviderManager.getModelProvider(project);
- Object webAppObj = provider.getModelObject();
- if (webAppObj != null){
- if (webAppObj instanceof WebApp)
- filesList = getConfigFilesForJ2EEApp(project);
- else if (webAppObj instanceof org.eclipse.jst.javaee.web.WebApp)
- filesList = getConfigFilesForJEEApp((org.eclipse.jst.javaee.web.WebApp)webAppObj);
- }
-
- }
- return filesList;
- }
-
- private static List getConfigFilesForJEEApp(org.eclipse.jst.javaee.web.WebApp webApp) {
- String filesString = null;
- List contextParams = webApp.getContextParams();
- Iterator itContextParams = contextParams.iterator();
- while (itContextParams.hasNext()) {
- org.eclipse.jst.javaee.core.ParamValue paramValue = (org.eclipse.jst.javaee.core.ParamValue)itContextParams.next();
- if (paramValue.getParamName().equals(CONFIG_FILES_CONTEXT_PARAM_NAME)) {
- filesString = paramValue.getParamValue();
- break;
- }
- }
- return parseFilesString(filesString);
- }
-
- private static List getConfigFilesForJ2EEApp(IProject project){
- List filesList = new ArrayList();
- WebArtifactEdit webArtifactEdit = WebArtifactEdit.getWebArtifactEditForRead(project);
- if (webArtifactEdit != null) {
- try {
- WebApp webApp = null;
- try {
- webApp = webArtifactEdit.getWebApp();
- } catch(ClassCastException cce) {
- //occasionally thrown from WTP code in RC3 and possibly later
- JSFCorePlugin.log(IStatus.ERROR, cce.getLocalizedMessage(), cce);
- return filesList;
- }
- if (webApp != null) {
- String filesString = null;
- //need to branch here due to model version differences (BugZilla #119442)
- if (webApp.getVersionID() == J2EEVersionConstants.WEB_2_3_ID) {
- EList contexts = webApp.getContexts();
- Iterator itContexts = contexts.iterator();
- while (itContexts.hasNext()) {
- ContextParam contextParam = (ContextParam)itContexts.next();
- if (contextParam.getParamName().equals(CONFIG_FILES_CONTEXT_PARAM_NAME)) {
- filesString = contextParam.getParamValue();
- break;
- }
- }
- } else {
- EList contextParams = webApp.getContextParams();
- Iterator itContextParams = contextParams.iterator();
- while (itContextParams.hasNext()) {
- ParamValue paramValue = (ParamValue)itContextParams.next();
- if (paramValue.getName().equals(CONFIG_FILES_CONTEXT_PARAM_NAME)) {
- filesString = paramValue.getValue();
- break;
- }
- }
- }
- filesList = parseFilesString(filesString);
- }
- } finally {
- webArtifactEdit.dispose();
- }
- }
-
- return filesList;
- }
-
- private static List parseFilesString(String filesString) {
- List filesList = new ArrayList();
- if (filesString != null && filesString.trim().length() > 0) {
- StringTokenizer stFilesString = new StringTokenizer(filesString, ","); //$NON-NLS-1$
- while (stFilesString.hasMoreTokens()) {
- String configFile = stFilesString.nextToken().trim();
- filesList.add(configFile);
- }
- }
- return filesList;
- }
-
- /**
- * Gets list of JAR file names, where each file name represents a JAR on
- * the classpath that contains a /META-INF/faces-config.xml entry. Will
- * return an empty list if no such JAR files are located.
- *
- * @param project IProject instance for which to scan the classpath.
- * @return List of JAR file names, where each file name represents a JAR
- * on the classpath that contains a ...META-INF/faces-config.xml entry;
- * list may be empty.
- * @throws CoreException Thrown when underlying calls into JavaCore fail.
- * @throws IOException Thrown when attempt to open JAR to determine if it
- * contains a /META-INF/faces-config.xml entry fails.
- */
- public static List getConfigFileJARsFromClasspath(IProject project) throws CoreException, IOException {
- ArrayList JARsList = new ArrayList();
- if (project.isAccessible()
- && project.hasNature(JavaCore.NATURE_ID)) {
- IJavaProject javaProject = JavaCore.create(project);
- if (javaProject != null) {
- IClasspathEntry[] classpathEntries = javaProject.getResolvedClasspath(true);
- if (classpathEntries != null && classpathEntries.length > 0) {
- IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
- for (int i = 0; i < classpathEntries.length; i++) {
- IClasspathEntry classpathEntry = classpathEntries[i];
- if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
- IPath libraryPath = classpathEntry.getPath();
- if (libraryPath.getFileExtension() != null && libraryPath.getFileExtension().length() > 0) {
- if (libraryPath.getDevice() == null && workspaceRoot.getProject(libraryPath.segment(0)).exists()) {
- libraryPath = workspaceRoot.getFile(libraryPath).getLocation();
- }
- String libraryPathString = libraryPath.toString();
- JarFile jarFile = null;
- try {
- //check existence first [222249]
- File file = new File(libraryPathString);
- if (file.exists()) {
- jarFile = new JarFile(file, false);
- if (jarFile != null) {
- JarEntry jarEntry = jarFile.getJarEntry(FACES_CONFIG_IN_JAR_PATH);
- if (jarEntry != null) {
- JARsList.add(libraryPathString);
- }
- }
- }
- } catch (FileNotFoundException fnfex) {
- //should not get here, but eat error since this could only occur in under strange circumstances [222249]
- } catch(IOException ioe) {
- JSFCorePlugin.log(
- IStatus.ERROR,
- NLS.bind(Messages.JSFAppConfigUtils_ErrorOpeningJarFile, libraryPathString),
- ioe);
- } finally {
- if (jarFile != null) {
- jarFile.close();
- }
- }
- }
- }
- }
- }
- }
- }
- return JARsList;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java
deleted file mode 100644
index c8a6ce361..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/RuntimeClasspathJSFAppConfigLocater.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * RuntimeClasspathJSFAppConfigLocater attempts to locate application
- * configuration files in JAR files on the runtime classpath. The runtime
- * classpath includes the server runtime classpath and the JAR files that will
- * be deployed to the web application's /WEB-INF/lib folder.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class RuntimeClasspathJSFAppConfigLocater extends AbstractJSFAppConfigLocater
- implements IElementChangedListener {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#startLocating()
- */
- public void startLocating() {
- locateProviders();
- JavaCore.addElementChangedListener(this);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsfappconfig.AbstractJSFAppConfigLocater#stopLocating()
- */
- public void stopLocating() {
- JavaCore.removeElementChangedListener(this);
- }
-
- /**
- * Locates application configuration resources specified in JAR files on
- * the runtime classpath, and updates the set of
- * {@link IJSFAppConfigProvider} instances accordingly.
- */
- public void locateProviders() {
- try {
- List JARs = JSFAppConfigUtils.getConfigFileJARsFromClasspath(getJSFAppConfigManager().getProject());
- Iterator itJARs = JARs.iterator();
- Set newConfigProviders = new LinkedHashSet();
- while (itJARs.hasNext()) {
- String JARFilename = (String)itJARs.next();
- JARFileJSFAppConfigProvider configProvider = new JARFileJSFAppConfigProvider(JARFilename);
- newConfigProviders.add(configProvider);
- }
- updateConfigProviders(newConfigProviders);
- } catch(CoreException ce) {
- //log error
- JSFCorePlugin.log(IStatus.ERROR, ce.getLocalizedMessage(), ce);
- } catch(IOException ioe) {
- //log error
- JSFCorePlugin.log(IStatus.ERROR, ioe.getLocalizedMessage(), ioe);
- }
- }
-
- /**
- * Called when a Java element has changed.
- *
- * @param event ElementChangedEvent instance describing the change.
- */
- public void elementChanged(ElementChangedEvent event) {
- if (classpathChanged(event.getDelta())) {
- locateProviders();
- }
- }
-
- /**
- * Recursively tests if the passed IJavaElementDelta instance or any of its
- * descendents indicate a classpath change has occurred.
- *
- * @param delta IJavaElement instance to be tested.
- * @return true if a claspath change has occurred, else false.
- */
- protected boolean classpathChanged(IJavaElementDelta delta) {
- int deltaFlags = delta.getFlags();
- if (((deltaFlags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) == IJavaElementDelta.F_ADDED_TO_CLASSPATH) ||
- ((deltaFlags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) == IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) ||
- ((deltaFlags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH)) {
- return true;
- }
- boolean changed = false;
- IJavaElementDelta[] childDeltas = delta.getAffectedChildren();
- if (childDeltas != null) {
- for (int i = 0; i < childDeltas.length; i++) {
- if (classpathChanged(childDeltas[i])) {
- changed = true;
- break;
- }
- }
- }
- return changed;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java
deleted file mode 100644
index 4b848a63d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/WebContentRelativeJSFAppConfigLocater.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsfappconfig;
-
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery.DefaultVirtualComponentQuery;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * WebContentRelativeJSFAppConfigLocater is an abstract base class that
- * attempts to locate specified application configuration files relative to a
- * web content folder. Subclasses must override the getFilenames() method to
- * return a list of filenames that the locateProviders() method will attempt to
- * locate, and call locateProviders().
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class WebContentRelativeJSFAppConfigLocater extends AbstractJSFAppConfigLocater {
-
- /**
- * Locates application configuration resources specified by the filenames
- * (relative to the web content folder) returned by getFilenames(), and
- * updates the set of {@link IJSFAppConfigProvider} instances accordingly.
- */
- public void locateProviders() {
- IProject project = getJSFAppConfigManager().getProject();
- IVirtualFolder webContentFolder = new DefaultVirtualComponentQuery().getWebContentFolder(project);
- if (webContentFolder != null) {
- List filenames = getFilenames();
- Iterator itFilenames = filenames.iterator();
- Set newConfigProviders = new LinkedHashSet();
- while (itFilenames.hasNext()) {
- String filename = (String)itFilenames.next();
- IVirtualResource appConfigResource = webContentFolder.findMember(filename);
- if (appConfigResource != null && appConfigResource.getType() == IVirtualResource.FILE) {
- IFile file = (IFile)appConfigResource.getUnderlyingResource();
- if (file != null && file.exists()) {
- ArtifactEditJSFAppConfigProvider configProvider = new ArtifactEditJSFAppConfigProvider(file);
- newConfigProviders.add(configProvider);
- }
- }
- }
- updateConfigProviders(newConfigProviders);
- }
- }
-
- /**
- * Gets a list of Strings representing the filenames (relative to the web
- * content folder) that locateProviders() will attempt to locate.
- *
- * @return A list of Strings representing the filenames (relative to the
- * web content folder) that locateProviders() will attempt to locate.
- */
- protected abstract List getFilenames();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManager.java
deleted file mode 100644
index 2f06bec45..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManager.java
+++ /dev/null
@@ -1,544 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.eclipse.jst.jsf.common.internal.managedobject.AbstractManagedObject;
-import org.eclipse.jst.jsf.core.jsfappconfig.IFacesConfigChangeListener;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvidersChangeListener;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigProvidersChangeEvent;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.facesconfig.emf.ApplicationType;
-import org.eclipse.jst.jsf.facesconfig.emf.BehaviorType;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.facesconfig.emf.ELResolverType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigExtensionType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.FactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.FromViewIdType;
-import org.eclipse.jst.jsf.facesconfig.emf.LifecycleType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.NavigationRuleType;
-import org.eclipse.jst.jsf.facesconfig.emf.PropertyResolverType;
-import org.eclipse.jst.jsf.facesconfig.emf.ReferencedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.RenderKitType;
-import org.eclipse.jst.jsf.facesconfig.emf.ResourceBundleType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorType;
-import org.eclipse.jst.jsf.facesconfig.emf.VariableResolverType;
-
-/**
- * Abstract JSFAppConfigManager that implementers of {@link IJSFAppConfigManager} MUST
- * extend.
- * <p>
- * JSFAppConfigManager provides an entry point to an entire JSF application
- * configuration, which is defined in one or more application configuration
- * resource files.
- */
-public abstract class AbstractJSFAppConfigManager
- extends AbstractManagedObject
- implements IJSFAppConfigManager {
-
- /**
- * The IProject
- * @deprecated - use getProject()
- */
- protected IProject _project;
-
- /**
- * Collection of {@link IJSFAppConfigLocater} instances.
- */
- protected List<IJSFAppConfigLocater> configLocaters;
-
- /**
- * Collection of {@link IJSFAppConfigProvidersChangeListener} instances.
- */
- protected List<IJSFAppConfigProvidersChangeListener> configProvidersChangeListeners;
-
- /**
- * Map of application configuration model EMF classes to
- * {@link IFacesConfigChangeListener} instances.
- */
- protected Map<Class, IFacesConfigChangeListener> facesConfigChangeListeners;
-
- /**
- * Single {@link FacesConfigChangeAdapter} instance.
- */
- protected FacesConfigChangeAdapter facesConfigChangeAdapter;
-
- /**
- * Constructor
- * @param project
- */
- public AbstractJSFAppConfigManager(final IProject project) {
- _project = project;
- initialize();
- }
-
- public IProject getProject() {
- return _project;
- }
-
- /**
- * Initializes instance by:
- * <ul>
- * <li>creating facesConfigChangeListeners collection, </li>
- * <li>creating configProvidersChangeListeners collection, </li>
- * <li>creating and populating configLocaters collection, </li>
- * <li>invoking the startLocating() method on all configLocaters, </li>
- * </ul>
- */
- protected void initialize() {
- //create collections
- facesConfigChangeListeners = new HashMap<Class, IFacesConfigChangeListener>();
- configProvidersChangeListeners = new ArrayList<IJSFAppConfigProvidersChangeListener>();
- configLocaters = new ArrayList<IJSFAppConfigLocater>();
- //populate initial set of locaters
- populateConfigLocaters();
- //instruct locaters to start locating
- startConfigLocaters();
- }
-
- /**
- * Populates configLocaters using @link IJSFAppConfigLocater} implementations
- * from CompositeLocatorProviderStrategy
- */
- protected void populateConfigLocaters() {
- final CompositeJSFAppConfigLocatorProviderStrategy clps = new CompositeJSFAppConfigLocatorProviderStrategy(this.getProject());
- for (final IJSFAppConfigLocater locator : clps.getLocators()) {
- locator.setJSFAppConfigManager(this);
- configLocaters.add(locator);
- }
- }
-
- /**
- * Instructs set of {@link IJSFAppConfigLocater} instances to start
- * locating JSF application configuration resources.
- */
- protected void startConfigLocaters() {
- for (final IJSFAppConfigLocater configLocater : configLocaters) {
- configLocater.startLocating();
- }
- }
-
- /**
- * Instructs set of {@link IJSFAppConfigLocater} instances to stop
- * locating JSF application configuration resources.
- */
- protected void stopConfigLocaters() {
- for (final IJSFAppConfigLocater configLocater : configLocaters) {
- configLocater.stopLocating();
- configLocater.dispose();
- }
- }
-
- /**
- * Called to respond to a change in the IProject instance to which this
- * instance belongs. Changes the cached IProject instance, stops all config
- * locaters, starts all config locaters.
- *
- * @param newProject New IProject instance to which this manager belongs.
- * @deprecated - SHOULD NOT USE
- */
- protected void changeProject(final IProject newProject) {
- _project = newProject;
- stopConfigLocaters();
- startConfigLocaters();
- }
-
- public boolean addJSFAppConfigProvidersChangeListener(final IJSFAppConfigProvidersChangeListener listener) {
- return configProvidersChangeListeners.add(listener);
- }
-
- public boolean removeJSFAppConfigProvidersChangeListener(final IJSFAppConfigProvidersChangeListener listener) {
- return configProvidersChangeListeners.remove(listener);
- }
-
- public void notifyJSFAppConfigProvidersChangeListeners(final IJSFAppConfigProvider configProvider, final int eventType) {
- final JSFAppConfigProvidersChangeEvent event = new JSFAppConfigProvidersChangeEvent(configProvider, eventType);
- for (final IJSFAppConfigProvidersChangeListener listener : configProvidersChangeListeners) {
- listener.changedJSFAppConfigProviders(event);
- }
- }
-
- public Object addFacesConfigChangeListener(Class emfClass, IFacesConfigChangeListener listener) {
- /*
- * Get all models, which will ensure that each one has had a
- * FacesConfigChangeAdapter added to it (if the model is updateable).
- */
- getFacesConfigModels();
- return facesConfigChangeListeners.put(emfClass, listener);
- }
-
- public Object removeFacesConfigChangeListener(Class emfClass) {
- return facesConfigChangeListeners.remove(emfClass);
- }
-
- public void notifyFacesConfigChangeListeners(final Notification notification) {
- final Object emfFeature = notification.getFeature();
- if (emfFeature instanceof EStructuralFeature) {
- final Class emfClass = ((EStructuralFeature)emfFeature).getEType().getInstanceClass();
- final IFacesConfigChangeListener listener = facesConfigChangeListeners.get(emfClass);
- if (listener != null) {
- listener.notifyChanged(notification);
- }
- }
- }
-
- /**
- * @return Set of {@link IJSFAppConfigProvider}s
- */
- protected Set<IJSFAppConfigProvider> getJSFAppConfigProviders() {
- final Set<IJSFAppConfigProvider> allConfigProviders = new LinkedHashSet<IJSFAppConfigProvider>();
- final Iterator itConfigLocaters = configLocaters.iterator();
- while (itConfigLocaters.hasNext()) {
- final IJSFAppConfigLocater configLocater = (IJSFAppConfigLocater)itConfigLocaters.next();
- allConfigProviders.addAll(configLocater.getJSFAppConfigProviders());
- }
- return allConfigProviders;
- }
-
- /**
- * Gets all {@link FacesConfigType} instances from all
- * {@link IJSFAppConfigProvider} instances.
- *
- * @return List of all {@link FacesConfigType} instances.
- */
- protected List<FacesConfigType> getFacesConfigModels() {
- final List<FacesConfigType> facesConfigModels = new ArrayList<FacesConfigType>();
- for(final IJSFAppConfigProvider configProvider : getJSFAppConfigProviders()) {
- SafeRunner.run(new ISafeRunnable() {
-
- public void handleException(Throwable exception) {
- //SafeRunner will log the exception
- }
-
- public void run() throws Exception {
- final FacesConfigType facesConfig = configProvider.getFacesConfigModel();
- if (facesConfig != null) {
- facesConfigModels.add(facesConfig);
- }
- }
-
- });
- }
- return facesConfigModels;
- }
-
-//----------------------- IManagedObject lifecycle methods ----------------------------//
- /**
- * Disposes of resources by:
- * <ul>
- * <li>removing a resource change listener to the workspace</li>
- * <li>removing instance as a session property of the IProject instance</li>
- * <li>invoking the stopLocating() method on all configLocaters</li>
- * <li>clearing the configLocaters collection</li>
- * <li>clearing the configProvidersChangeListeners collection</li>
- * <li>clearing the facesConfigChangeListeners collection</li>
- * </ul>
- */
- @Override
- public void dispose() {
- //instruct locaters to stop locating
- stopConfigLocaters();
- //clear collections
- configLocaters.clear();
- configProvidersChangeListeners.clear();
- facesConfigChangeListeners.clear();
- }
-
- @Override
- public void destroy() {
- // no persistent data to cleanup. just call dispose.
- dispose();
- }
-
- public void checkpoint() {
- //
- }
-//-------------------------------------------------------------------------------------------------//
-
- public List<ManagedBeanType> getManagedBeans() {
- final List<ManagedBeanType> allManagedBeans = new ArrayList<ManagedBeanType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList managedBeans = facesConfig.getManagedBean();
- allManagedBeans.addAll(managedBeans);
- }
- return allManagedBeans;
- }
-
- public final List<String> getPropertyResolvers()
- {
- final List<String> allPropertyResolvers = new ArrayList<String>();
- final List<ApplicationType> applications = getApplications();
- for (final ApplicationType application : applications)
- {
- for (final Iterator it = application.getPropertyResolver().iterator(); it.hasNext();)
- {
- final PropertyResolverType propRes = (PropertyResolverType) it.next();
- String propClass = propRes.getTextContent();
- if (propClass != null)
- {
- propClass = propClass.trim();
- if (!"".equals(propClass)) //$NON-NLS-1$
- {
- allPropertyResolvers.add(propClass);
- }
- }
- }
- }
- return allPropertyResolvers;
- }
-
- public List<ValidatorType> getValidators() {
- final List<ValidatorType> allValidators = new ArrayList<ValidatorType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList validators = facesConfig.getValidator();
- allValidators.addAll(validators);
- }
- return allValidators;
- }
-
- public final List<String> getVariableResolvers()
- {
- final List<String> allVariableResolvers = new ArrayList<String>();
- final List<ApplicationType> applications = getApplications();
- for ( final ApplicationType application : applications)
- {
- for (final Iterator it = application.getVariableResolver().iterator(); it.hasNext();)
- {
- final VariableResolverType varRes = (VariableResolverType) it.next();
- String varClass = varRes.getTextContent();
- if (varClass != null)
- {
- varClass = varClass.trim();
- if (!"".equals(varClass)) //$NON-NLS-1$
- {
- allVariableResolvers.add(varClass);
- }
- }
- }
- }
- return allVariableResolvers;
- }
-
- public final List<String> getELResolvers()
- {
- final List<String> allELResolvers = new ArrayList<String>();
- final List<ApplicationType> applications = getApplications();
- for (final ApplicationType application : applications)
- {
- for (final Iterator it = application.getELResolver().iterator(); it.hasNext();)
- {
- final ELResolverType varRes = (ELResolverType) it.next();
- String varClass = varRes.getTextContent();
- if (varClass != null)
- {
- varClass = varClass.trim();
- if (!"".equals(varClass)) //$NON-NLS-1$
- {
- allELResolvers.add(varClass);
- }
- }
- }
- }
- return allELResolvers;
- }
-
- public List<ConverterType> getConverters() {
- final List<ConverterType> allConverters = new ArrayList<ConverterType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList converters = facesConfig.getConverter();
- allConverters.addAll(converters);
- }
- return allConverters;
- }
-
- public List<NavigationRuleType> getNavigationRules() {
- final List<NavigationRuleType> allNavigationRules = new ArrayList<NavigationRuleType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList navigationRules = facesConfig.getNavigationRule();
- allNavigationRules.addAll(navigationRules);
- }
- return allNavigationRules;
- }
-
- public List<NavigationRuleType> getNavigationRulesForPage(final IFile pageFile) {
- final List<NavigationRuleType> navigationRulesForPage = new ArrayList<NavigationRuleType>();
- final IPath pageFilePath = JSFAppConfigUtils.getWebContentFolderRelativePath(pageFile);
- if (pageFilePath != null) {
- String pageFileString = pageFilePath.toString();
- if (!pageFileString.startsWith("/")) { //$NON-NLS-1$
- pageFileString = "/" + pageFileString; //$NON-NLS-1$
- }
- final List<NavigationRuleType> navigationRules = getNavigationRules();
- for (final NavigationRuleType navigationRule : navigationRules) {
- FromViewIdType fromViewIdType = navigationRule.getFromViewId();
- if (fromViewIdType != null) {
- final String fromViewId = fromViewIdType.getTextContent();
- if (fromViewId != null && fromViewId.length() > 0) {
- if (!fromViewId.equals("*")) { //$NON-NLS-1$
- if (fromViewId.equals(pageFileString)) {
- //exact match
- navigationRulesForPage.add(navigationRule);
- } else if (fromViewId.endsWith("*")) { //$NON-NLS-1$
- final String prefixFromViewId = fromViewId.substring(0, fromViewId.length() - 1);
- if (pageFileString.startsWith(prefixFromViewId)) {
- //prefix match
- navigationRulesForPage.add(navigationRule);
- }
- }
- } else {
- //from-view-id == "*" - matches all pages
- navigationRulesForPage.add(navigationRule);
- }
- }
- } else {
- //no from-view-id element - matches all pages
- navigationRulesForPage.add(navigationRule);
- }
- }
- }
- return navigationRulesForPage;
- }
-
- public List<ApplicationType> getApplications() {
- final List<ApplicationType> allApplications = new ArrayList<ApplicationType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList applications = facesConfig.getApplication();
- allApplications.addAll(applications);
- }
- return allApplications;
- }
-
- public List<FactoryType> getFactories() {
- final List<FactoryType> allFactories = new ArrayList<FactoryType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList factories = facesConfig.getFactory();
- allFactories.addAll(factories);
- }
- return allFactories;
- }
-
- public List<ComponentType> getComponents() {
- final List<ComponentType> allComponents = new ArrayList<ComponentType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList components = facesConfig.getComponent();
- allComponents.addAll(components);
- }
- return allComponents;
- }
-
- public List<ReferencedBeanType> getReferencedBeans() {
- final List<ReferencedBeanType> allReferencedBeans = new ArrayList<ReferencedBeanType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList referencedBeans = facesConfig.getReferencedBean();
- allReferencedBeans.addAll(referencedBeans);
- }
- return allReferencedBeans;
- }
-
- public List<RenderKitType> getRenderKits() {
- final List<RenderKitType> allRenderKits = new ArrayList<RenderKitType> ();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList renderKits = facesConfig.getRenderKit();
- allRenderKits.addAll(renderKits);
- }
- return allRenderKits;
- }
-
- public List<LifecycleType> getLifecycles() {
- final List<LifecycleType> allLifecycles = new ArrayList<LifecycleType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList lifecycles = facesConfig.getLifecycle();
- allLifecycles.addAll(lifecycles);
- }
- return allLifecycles;
- }
-
- public List<ResourceBundleType> getResourceBundles()
- {
- final List<ResourceBundleType> allResourceBundles = new ArrayList<ResourceBundleType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- for (final Iterator applicationIt = facesConfig.getApplication().iterator(); applicationIt.hasNext();)
- {
- final ApplicationType appType = (ApplicationType) applicationIt.next();
- allResourceBundles.addAll(appType.getResourceBundle());
- }
- }
- return allResourceBundles;
- }
-
- public List<BehaviorType> getBehaviors()
- {
- final List<BehaviorType> allBehaviors = new ArrayList<BehaviorType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList behaviors = facesConfig.getBehavior();
- allBehaviors.addAll(behaviors);
- }
- return allBehaviors;
- }
-
- public List<FacesConfigExtensionType> getFacesConfigExtensions()
- {
- final List<FacesConfigExtensionType> allFCExts = new ArrayList<FacesConfigExtensionType>();
- for (final FacesConfigType facesConfig : getFacesConfigModels()) {
- final EList fcExts = facesConfig.getFacesConfigExtension();
- allFCExts.addAll(fcExts);
- }
- return allFCExts;
- }
-
- public void addFacesConfigChangeAdapter(final FacesConfigType facesConfig) {
- if (facesConfig != null) {
- if (facesConfigChangeAdapter == null) {
- facesConfigChangeAdapter = new FacesConfigChangeAdapter();
- }
- facesConfig.eAdapters().add(facesConfigChangeAdapter);
- }
- }
-
- public void removeFacesConfigChangeAdapter(final FacesConfigType facesConfig) {
- if (facesConfig != null && facesConfigChangeAdapter != null) {
- facesConfig.eAdapters().remove(facesConfigChangeAdapter);
- }
- }
-
- /**
- * FacesConfigChangeAdapter is an EMF adapter which provides a mechanism
- * for notification of changes to features in any application configuration
- * model for which {@link IFacesConfigChangeListener} instances have
- * registered an interest.
- *
- * @author Ian Trimble - Oracle
- */
- class FacesConfigChangeAdapter extends EContentAdapter {
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.ecore.util.EContentAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
- */
- public void notifyChanged(final Notification notification) {
- super.notifyChanged(notification);
- notifyFacesConfigChangeListeners(notification);
- }
- }
-
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManagerProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManagerProviderStrategy.java
deleted file mode 100644
index fb1162dda..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/AbstractJSFAppConfigManagerProviderStrategy.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.strategy.ISimpleStrategy;
-
-/**
- * Abstract provider strategy for {@link IJSFAppConfigManager}s
- *
- */
-public abstract class AbstractJSFAppConfigManagerProviderStrategy
- implements ISimpleStrategy<IProject, IJSFAppConfigManagerFactory> {
-
- public IJSFAppConfigManagerFactory getNoResult() {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/CompositeJSFAppConfigLocatorProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/CompositeJSFAppConfigLocatorProviderStrategy.java
deleted file mode 100644
index cab6c0cb8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/CompositeJSFAppConfigLocatorProviderStrategy.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jst.jsf.common.internal.pde.AbstractSimpleClassExtensionRegistryReader;
-import org.eclipse.jst.jsf.common.internal.strategy.AbstractTestableExtensibleDefaultProviderSelectionStrategy;
-import org.eclipse.jst.jsf.common.internal.strategy.TestableProjectFactoryStrategy;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater;
-
-/**
- * Composite strategy for providing {@link IJSFAppConfigLocatorProvider}s
- *
- */
-public class CompositeJSFAppConfigLocatorProviderStrategy
- implements IJSFAppConfigLocatorProvider {
-
- /**
- * Project property session key for testing.
- * Project value should hold the testable IJSFAppConfigLocatorProvider instance or null
- * NOT API - for testing purposes
- */
- public static final QualifiedName TESTABLE_FACTORY_SESSION_KEY = new QualifiedName(JSFCorePlugin.PLUGIN_ID, "LocatorProviderStrategyFactory"); //$NON-NLS-1$
-
- private IProject _project;
-
- /**
- * @param project - may be null
- */
- public CompositeJSFAppConfigLocatorProviderStrategy(final IProject project) {
- _project = project;
- }
-
- public List<IJSFAppConfigLocater> getLocators() {
- final LocatorProviderSelectionStrategy providerSelector = new LocatorProviderSelectionStrategy();
- addLocatorProviderStrategies(providerSelector);
-
- final IJSFAppConfigLocatorProvider provider = providerSelector.perform(_project);
- if (provider != providerSelector.getNoResult())
- {
- return Collections.unmodifiableList(provider.getLocators());
- }
- return Collections.emptyList();
- }
-
- private void addLocatorProviderStrategies(final LocatorProviderSelectionStrategy providerSelector) {
- providerSelector.addDefaultStrategy(new DefaultJSFAppConfigLocatorProviderStrategy());
- providerSelector.addExtensionStrategy(new ExtensionPointLocatorProviderStrategy());
- providerSelector.addTestableStrategy(new TestableLocatorProviderStrategy());
- }
-
- private static class TestableLocatorProviderStrategy extends
- TestableProjectFactoryStrategy<IJSFAppConfigLocatorProvider> {
-
- public TestableLocatorProviderStrategy() {
- super(TESTABLE_FACTORY_SESSION_KEY);
- }
-
- };
-
- private static class ExtensionPointLocatorProviderStrategy extends
- JSFAppConfigLocatorProviderStrategy {
-
- public IJSFAppConfigLocatorProvider perform(final IProject input) throws Exception {
- final JSFAppConfigLocatorProviderExtensionPointReader reader = new JSFAppConfigLocatorProviderExtensionPointReader();
- final List<IJSFAppConfigLocatorProvider> res = reader.getExtensions();
- if (res != null && res.size() > 0) {
- return res.get(0);
- }
- return getNoResult();
- }
-
- }
-
- private static class LocatorProviderSelectionStrategy
- extends
- AbstractTestableExtensibleDefaultProviderSelectionStrategy<IProject, IJSFAppConfigLocatorProvider> {
-
- private static final IJSFAppConfigLocatorProvider NO_RESULT = null;
-
- @Override
- public IJSFAppConfigLocatorProvider getNoResult() {
- return NO_RESULT;
- }
-
- }
-
- private static class JSFAppConfigLocatorProviderExtensionPointReader extends
- AbstractSimpleClassExtensionRegistryReader<IJSFAppConfigLocatorProvider> {
-
- private static final String EXT_PT_ID = "jsfAppConfigLocatorProviderFactory"; //$NON-NLS-1$
- private static final String EXT_PT_ELEMENT = "locatorProvider"; //$NON-NLS-1$
- private static final String EXT_PT_ATTR = "class"; //$NON-NLS-1$
-
- protected JSFAppConfigLocatorProviderExtensionPointReader() {
- super(
- org.eclipse.jst.jsf.core.internal.JSFCorePlugin.PLUGIN_ID,
- EXT_PT_ID, EXT_PT_ELEMENT, EXT_PT_ATTR,
- new CompareOrgEclipseJstContributorsLastComparator<IJSFAppConfigLocatorProvider>()
- );
- }
-
- @Override
- protected void handleLoadFailure(final CoreException ce) {
- org.eclipse.jst.jsf.core.internal.JSFCorePlugin.log(ce,
- "Error loading JSFAppConfigLocatorProvider from extension"); //$NON-NLS-1$
-
- }
-
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigLocatorProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigLocatorProviderStrategy.java
deleted file mode 100644
index b4a16dd77..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigLocatorProviderStrategy.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.core.jsfappconfig.ContextParamSpecifiedJSFAppConfigLocater;
-import org.eclipse.jst.jsf.core.jsfappconfig.DefaultJSFAppConfigLocater;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater;
-import org.eclipse.jst.jsf.core.jsfappconfig.ImplicitRuntimeJSFAppConfigLocater;
-import org.eclipse.jst.jsf.core.jsfappconfig.RuntimeClasspathJSFAppConfigLocater;
-
-/**
- * The platforms default LocatorProviderStrategy.
- * <p>
- * Will return:
- * <ol>
- * <li>ImplicitRuntimeJSFAppConfigLocater</li>
- * <li>DefaultJSFAppConfigLocater</li>
- * <li>ContextParamSpecifiedJSFAppConfigLocater</li>
- * <li>RuntimeClasspathJSFAppConfigLocater</li>
- * <ol>
- *
- */
-public class DefaultJSFAppConfigLocatorProviderStrategy
- extends JSFAppConfigLocatorProviderStrategy
- implements IJSFAppConfigLocatorProvider {
-
- public IJSFAppConfigLocatorProvider perform(IProject project) {
- return this;
- }
-
- public List<IJSFAppConfigLocater> getLocators() {
- List<IJSFAppConfigLocater> ret = new ArrayList<IJSFAppConfigLocater>();
-
- // implicit runtime-provided configuration
- IJSFAppConfigLocater implicitRuntimeConfigLocater = new ImplicitRuntimeJSFAppConfigLocater();
- ret.add(implicitRuntimeConfigLocater);
-
- // default ("/WEB-INF/faces-config.xml") locater
- IJSFAppConfigLocater defaultConfigLocater = new DefaultJSFAppConfigLocater();
- ret.add(defaultConfigLocater);
-
- // web.xml context-parameter specified locater
- IJSFAppConfigLocater contextParamConfigLocater = new ContextParamSpecifiedJSFAppConfigLocater();
- ret.add(contextParamConfigLocater);
-
- // runtime classpath locater
- IJSFAppConfigLocater classpathConfigLocater = new RuntimeClasspathJSFAppConfigLocater();
- ret.add(classpathConfigLocater);
-
- return Collections.unmodifiableList(ret);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigManagerProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigManagerProviderStrategy.java
deleted file mode 100644
index 445ee998c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/DefaultJSFAppConfigManagerProviderStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager;
-
-/**
- * Default strategy for returning {@link IJSFAppConfigManager}s
- *
- */
-@SuppressWarnings("deprecation")
-public class DefaultJSFAppConfigManagerProviderStrategy extends
- AbstractJSFAppConfigManagerProviderStrategy {
-
- public IJSFAppConfigManagerFactory perform(final IProject input) throws Exception {
- return new DefaultProvider();
- }
-
- private static class DefaultProvider
- implements IJSFAppConfigManagerFactory {
-
- public IJSFAppConfigManager getInstance(final IProject project) {
- //deprecated warning is to be expected here
- return JSFAppConfigManager.getInstance(project);
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/ExtensionBasedJSFAppConfigManagerProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/ExtensionBasedJSFAppConfigManagerProviderStrategy.java
deleted file mode 100644
index c68aabf42..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/ExtensionBasedJSFAppConfigManagerProviderStrategy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.jsf.common.internal.pde.AbstractSimpleClassExtensionRegistryReader;
-
-/**
- * Extension-based strategy for returning {@link IJSFAppConfigManager}s
- *
- */
-public class ExtensionBasedJSFAppConfigManagerProviderStrategy extends
- AbstractJSFAppConfigManagerProviderStrategy {
-
- private static IJSFAppConfigManagerFactory EXT_PT_BASED_FACTORY;
- static {
- final JSFAppConfigManagerFactoryExtensionPointReader reader = new JSFAppConfigManagerFactoryExtensionPointReader();
- final List<IJSFAppConfigManagerFactory> res = reader.getExtensions();
- if (res != null && res.size() > 0) {//return first
- EXT_PT_BASED_FACTORY = res.get(0);
- }
- }
-
- public IJSFAppConfigManagerFactory perform(final IProject input) throws Exception {
- return EXT_PT_BASED_FACTORY != null ? EXT_PT_BASED_FACTORY : getNoResult();
- }
-
- private static class JSFAppConfigManagerFactoryExtensionPointReader extends
- AbstractSimpleClassExtensionRegistryReader<IJSFAppConfigManagerFactory> {
-
- private static final String EXT_PT_ID = "jsfAppConfigManagerFactory"; //$NON-NLS-1$
- private static final String EXT_PT_ELEMENT = "factory"; //$NON-NLS-1$
- private static final String EXT_PT_ATTR = "class"; //$NON-NLS-1$
-
- protected JSFAppConfigManagerFactoryExtensionPointReader() {
- super(
- org.eclipse.jst.jsf.core.internal.JSFCorePlugin.PLUGIN_ID,
- EXT_PT_ID, EXT_PT_ELEMENT, EXT_PT_ATTR,
- new CompareOrgEclipseJstContributorsLastComparator<IJSFAppConfigManagerFactory>()
- );
- }
-
- @Override
- protected void handleLoadFailure(final CoreException ce) {
- org.eclipse.jst.jsf.core.internal.JSFCorePlugin.log(ce,
- "Error loading JSFAppConfigLocatorProvider from extension"); //$NON-NLS-1$
-
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigLocatorProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigLocatorProvider.java
deleted file mode 100644
index 1f20003d3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigLocatorProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigLocater;
-
-/**
- * Provides list of {@link IJSFAppConfigLocater}s
- *
- */
-public interface IJSFAppConfigLocatorProvider {
- /**
- * @return list of ILocators
- */
- List<IJSFAppConfigLocater> getLocators();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManager.java
deleted file mode 100644
index d158116fc..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManager.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.jst.jsf.common.internal.managedobject.IManagedObject;
-import org.eclipse.jst.jsf.core.jsfappconfig.IFacesConfigChangeListener;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvider;
-import org.eclipse.jst.jsf.core.jsfappconfig.IJSFAppConfigProvidersChangeListener;
-import org.eclipse.jst.jsf.facesconfig.emf.ApplicationType;
-import org.eclipse.jst.jsf.facesconfig.emf.BehaviorType;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigExtensionType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.FactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.LifecycleType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.NavigationRuleType;
-import org.eclipse.jst.jsf.facesconfig.emf.ReferencedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.RenderKitType;
-import org.eclipse.jst.jsf.facesconfig.emf.ResourceBundleType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorType;
-
-/**
- * Mostly represents a web applications JSF configuration.
- * <p>
- * This is a merged view of all the faces-config elements.
- *
- * @noimplement - must extend {@link AbstractJSFAppConfigManager}
- */
-public interface IJSFAppConfigManager extends IManagedObject{
-
- /**
- * Gets this instance's IProject instance.
- *
- * @return This instance's IProject instance.
- */
- public IProject getProject();
-
- /**
- * Adds an instance of {@link IJSFAppConfigProvidersChangeListener}.
- *
- * @param listener An instance of {@link IJSFAppConfigProvidersChangeListener}.
- * @return true if added, else false.
- */
- public boolean addJSFAppConfigProvidersChangeListener(
- IJSFAppConfigProvidersChangeListener listener);
-
- /**
- * Removes an instance of {@link IJSFAppConfigProvidersChangeListener}.
- *
- * @param listener an instance of {@link IJSFAppConfigProvidersChangeListener}.
- * @return true if removed, else false.
- */
- public boolean removeJSFAppConfigProvidersChangeListener(
- IJSFAppConfigProvidersChangeListener listener);
-
- /**
- * Notifies all {@link IJSFAppConfigProvidersChangeListener} instances of
- * a change in the Set of {@link IJSFAppConfigProvider} instances.
- *
- * @param configProvider {@link IJSFAppConfigProvider} instance that has
- * changed.
- * @param eventType Event type.
- */
- public void notifyJSFAppConfigProvidersChangeListeners(
- IJSFAppConfigProvider configProvider, int eventType);
-
- /**
- * Adds an instance of {@link IFacesConfigChangeListener}. <br>
- * <br>
- * <b>NOTE:</b> Calling this method should cause all application
- * configuration models to be loaded, to ensure that a
- * FacesConfigChangeAdapter has been added to each model
- * if the model is updateable.
- *
- * @param emfClass EMF class in which the listener is interested.
- * @param listener {@link IFacesConfigChangeListener} instance.
- * @return Previous {@link IFacesConfigChangeListener}, or null.
- */
- public Object addFacesConfigChangeListener(Class emfClass,
- IFacesConfigChangeListener listener);
-
- /**
- * Removes an instance of {@link IFacesConfigChangeListener}.
- *
- * @param emfClass EMF class in which the listener was interested.
- * @return Removed {@link IFacesConfigChangeListener}, or null.
- */
- public Object removeFacesConfigChangeListener(Class emfClass);
-
- /**
- * Notifies {@link IFacesConfigChangeListener} instances of model changes
- * in which they registered interest.
- *
- * @param notification EMF {@link Notification} instance that describes the
- * model change.
- */
- public void notifyFacesConfigChangeListeners(
- Notification notification);
-
-// /**
-// * Gets all {@link IJSFAppConfigProvider} instances from all
-// * {@link IJSFAppConfigLocater} instances.
-// *
-// * @return Set of all {@link IJSFAppConfigProvider} instances.
-// */
-// public Set<IJSFAppConfigProvider> getJSFAppConfigProviders();
-
-// /**
-// * Gets all {@link FacesConfigType} instances from all
-// * {@link IJSFAppConfigProvider} instances.
-// *
-// * @return List of all {@link FacesConfigType} instances.
-// */
-// public List<FacesConfigType> getFacesConfigModels();
-
- /**
- * Gets list of all ManagedBeanType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all ManagedBeanType instances from all known
- * faces-config models (list may be empty).
- */
- public List<ManagedBeanType> getManagedBeans();
-
- /**
- * @return List of all variable resolver class names registered.
- */
- public List<String> getPropertyResolvers();
-
- /**
- * Gets list of all ValidatorType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all ValidatorType instances from all known faces-config
- * models (list may be empty).
- */
- public List<ValidatorType> getValidators();
-
- /**
- * @return List of all variable resolver class names registered.
- */
- public List<String> getVariableResolvers();
-
- /**
- * @return List of all EL resolver class names registered.
- */
- public List<String> getELResolvers();
-
- /**
- * Gets list of all ConverterType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all ConverterType instances from all known faces-config
- * models (list may be empty).
- */
- public List<ConverterType> getConverters();
-
- /**
- * Gets list of all NavigationRuleType instances from all known
- * faces-config models; list may be empty.
- *
- * @return List of all NavigationRuleType instances from all known
- * faces-config models (list may be empty).
- */
- public List<NavigationRuleType> getNavigationRules();
-
- /**
- * Gets list of all NavigationRuleType instances from all known
- * faces-config models where the navigation-rule's from-view-id value
- * matches the web content folder-relative value of the passed IFile
- * instance; list may be empty. Matching is performed in the same manner
- * as for a JSF implementation's default NavigationHandler.
- *
- * @param pageFile IFile instance to match against the from-view-id value
- * of all NavigationRuleType instances. File is assumed to be relative to
- * the web content folder, but may be expressed in a more complete form;
- * its path will be calculated relative to the web content folder.
- * @return List of all NavigationRuleType instances from all known
- * faces-config models where the navigation-rule's from-view-id value
- * matches the web content folder-relative value of the passed IFile
- * instance (list may be empty).
- */
- public List<NavigationRuleType> getNavigationRulesForPage(IFile pageFile);
-
- /**
- * Gets list of all ApplicationType instances from all known
- * faces-config models; list may be empty.
- *
- * @return List of all ApplicationType instances from all known
- * faces-config models (list may be empty).
- */
- public List<ApplicationType> getApplications();
-
- /**
- * Gets list of all FactoryType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all FactoryType instances from all known faces-config
- * models (list may be empty).
- */
- public List<FactoryType> getFactories();
-
- /**
- * Gets list of all ComponentType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all ComponentType instances from all known faces-config
- * models (list may be empty).
- */
- public List<ComponentType> getComponents();
-
- /**
- * Gets list of all ReferencedBeanType instances from all known
- * faces-config models; list may be empty.
- *
- * @return List of all ReferencedBeanType instances from all known
- * faces-config models (list may be empty).
- */
- public List<ReferencedBeanType> getReferencedBeans();
-
- /**
- * Gets list of all RenderKitType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all RenderKitType instances from all known faces-config
- * models (list may be empty).
- */
- public List<RenderKitType> getRenderKits();
-
- /**
- * Gets list of all LifecycleType instances from all known faces-config
- * models; list may be empty.
- *
- * @return List of all LifecycleType instances from all known faces-config
- * models (list may be empty).
- */
- public List<LifecycleType> getLifecycles();
-
- /**
- * @return the list of all resource bundles declared in all the FacesConfig
- * configurations found.
- */
- public List<ResourceBundleType> getResourceBundles();
-
- /**
- * @return the list of faces config extensions declared in all FacesConfig
- * configurations found
- */
- public List<FacesConfigExtensionType> getFacesConfigExtensions();
-
-/* -------------------------- JSF 2.0 ---------------------------------------- */
-
- /**
- * @return the list of behaviors declared in all FacesConfig configurations found
- */
- public List<BehaviorType> getBehaviors();
-
- //do we want ordering?
-
-
-/* ---------------------------------------------------------------------------- */
- /**
- * Adds this instance's FacesConfigChangeAdapter instance to the
- * passed application configuration model's adapters collection.
- *
- * @param facesConfig Application configuration model's root object.
- */
- public void addFacesConfigChangeAdapter(FacesConfigType facesConfig);
-
- /**
- * Removes this instance's FacesConfigChangeAdapter instance from
- * the passed application configuration model's adapters collection.
- *
- * @param facesConfig Application configuration model's root object.
- */
- public void removeFacesConfigChangeAdapter(
- FacesConfigType facesConfig);
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManagerFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManagerFactory.java
deleted file mode 100644
index 533638828..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/IJSFAppConfigManagerFactory.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.managedobject.ObjectManager.ManagedObjectException;
-
-/**
- * Factory for creating {@link IJSFAppConfigManager} instances.
- * <p>
- * NOT API
- */
-public interface IJSFAppConfigManagerFactory {
- /**
- * @param project - may be null
- * @return instance of an {@link IJSFAppConfigManager} for the project.
- * @throws ManagedObjectException
- */
- IJSFAppConfigManager getInstance(IProject project) throws ManagedObjectException;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigLocatorProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigLocatorProviderStrategy.java
deleted file mode 100644
index e62593522..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigLocatorProviderStrategy.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.strategy.ISimpleStrategy;
-
-/**
- * Abstract implementation of a JSFAppConfigLocatorProviderStrategy
- * implementing {@link ISimpleStrategy}
- */
-public abstract class JSFAppConfigLocatorProviderStrategy
- implements ISimpleStrategy<IProject, IJSFAppConfigLocatorProvider> {
-
- public IJSFAppConfigLocatorProvider getNoResult() {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigManagerFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigManagerFactory.java
deleted file mode 100644
index 3119cf2a3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/JSFAppConfigManagerFactory.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceSingletonObjectManager;
-import org.eclipse.jst.jsf.common.internal.strategy.AbstractTestableExtensibleDefaultProviderSelectionStrategy;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Responsible for producing and caching {@link IJSFAppConfigManager} instances by project.
- * <p>
- * This class will guarantee that he same instance of the {@link IJSFAppConfigManager} is returned for a given project
- *
- */
-public class JSFAppConfigManagerFactory
- extends
- ResourceSingletonObjectManager<IJSFAppConfigManager, IProject>{
-
- private static JSFAppConfigManagerFactory INSTANCE;
-
- //private constructor
- private JSFAppConfigManagerFactory(final IProject project) {
- super(project.getWorkspace());
- }
-
- /**
- * Project property session key for testing.
- * Project value should hold the testable IJSFAppConfigManagerFactory instance or null
- * NOT API - for testing purposes
- */
- public static final QualifiedName TESTABLE_FACTORY_SESSION_KEY = new QualifiedName(JSFCorePlugin.PLUGIN_ID, "JSFAppConfigManagerFactoryInstance"); //$NON-NLS-1$
-
- /**
- * @param project
- * @return IJSFAppConfigManager
- */
- public static IJSFAppConfigManager getJSFAppConfigManagerInstance(final IProject project) {
- try {
- return getJSFAppConfigManagerFactoryInstance(project).getInstance(project);
- } catch (ManagedObjectException e) {
- JSFCorePlugin.log(e, "Cannot create IJSFAppConfigManager for "+project.getName()+ " (1)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return null;
- }
-
- private synchronized static JSFAppConfigManagerFactory getJSFAppConfigManagerFactoryInstance(final IProject project) {
- if (INSTANCE == null) {
- INSTANCE = new JSFAppConfigManagerFactory(project);
- }
- return INSTANCE;
- }
-
- @Override
- protected IJSFAppConfigManager createNewInstance(final IProject project) {
- try {
- final IJSFAppConfigManagerFactory factory = getJSFAppConfigManagerFactoryProviderInstance(project);
- if (factory != null) {
- IJSFAppConfigManager jsfAppConfigMgr = factory.getInstance(project);
-
- // Make a call to ensure the underlying EMF models in
- // the providers (from the locators) are initialized
- // in this instance begin created. Helps avoid some
- // potential concurrency issues as models are created.
- jsfAppConfigMgr.getApplications();
-
- return jsfAppConfigMgr;
- }
- } catch (ManagedObjectException e) {
- JSFCorePlugin.log(e, "Cannot create IJSFAppConfigManager for "+project.getName()+ " (2)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return null;
- }
-
- @Override
- protected IAdaptable unsafeRunBeforeGetInstance(IProject project) {
- super.unsafeRunBeforeGetInstance(project);
-
- if (!isInstance(project) && Job.getJobManager().currentRule() == null) {
- //Acquire a scheduling rule on the project so creation of a JSFAppConfigManager
- //does not attempt to acquire a rule which may be unavailable while still
- //synchronized on the ResourceSingletonObjectManager (JSFAppConfigManagerFactory)
- Job.getJobManager().beginRule(project, null);
- return new AdaptableBoolean(true);
- }
- return null;
- }
-
- @Override
- protected void unsafeRunAfterGetInstance(IProject project, IAdaptable stateObject) {
- super.unsafeRunAfterGetInstance(project, stateObject);
-
- if (stateObject instanceof AdaptableBoolean && ((AdaptableBoolean)stateObject).acquiredRule) {
- Job.getJobManager().endRule(project);
- }
- }
-
- private IJSFAppConfigManagerFactory getJSFAppConfigManagerFactoryProviderInstance(final IProject project) {
- final CompositeFactorySelectionStrategyProvider factoryProvider = new CompositeFactorySelectionStrategyProvider();
- return factoryProvider != null ? factoryProvider.getFactoryToUse(project) : null;
- }
-
- private static class CompositeFactorySelectionStrategyProvider
- {
- public IJSFAppConfigManagerFactory getFactoryToUse(final IProject project) {
- final JSFAppConfigManagerProviderSelectionStrategy providerSelector = new JSFAppConfigManagerProviderSelectionStrategy();
- addStrategies(providerSelector);
-
- final IJSFAppConfigManagerFactory provider = providerSelector.perform(project);
- if (provider != providerSelector.getNoResult())
- {
- return provider;
- }
- return null;
- }
-
- private void addStrategies(final JSFAppConfigManagerProviderSelectionStrategy providerSelector) {
- providerSelector.addDefaultStrategy(new DefaultJSFAppConfigManagerProviderStrategy());
- providerSelector.addExtensionStrategy(new ExtensionBasedJSFAppConfigManagerProviderStrategy());
- providerSelector.addTestableStrategy(new TestableJSFAppConfigManagerProviderStrategy(TESTABLE_FACTORY_SESSION_KEY));
- }
-
- }
-
- private static class JSFAppConfigManagerProviderSelectionStrategy
- extends
- AbstractTestableExtensibleDefaultProviderSelectionStrategy<IProject, IJSFAppConfigManagerFactory> {
-
- private static final IJSFAppConfigManagerFactory NO_RESULT = null;
-
- @Override
- public IJSFAppConfigManagerFactory getNoResult() {
- return NO_RESULT;
- }
- } private static class AdaptableBoolean implements IAdaptable {
- private final boolean acquiredRule;
-
- public AdaptableBoolean(boolean acquiredRule) {
- this.acquiredRule = acquiredRule;
- }
-
- public Object getAdapter(Class adapter) {
- return null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/TestableJSFAppConfigManagerProviderStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/TestableJSFAppConfigManagerProviderStrategy.java
deleted file mode 100644
index 78ab773ba..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/internal/TestableJSFAppConfigManagerProviderStrategy.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.jst.jsf.core.jsfappconfig.internal;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jst.jsf.common.internal.strategy.TestableProjectFactoryStrategy;
-
-/**
- * Injectable test factory provider strategy
- * @param <IJSFAppConfigManagerFactory>
- *
- */
-public class TestableJSFAppConfigManagerProviderStrategy<IJSFAppConfigManagerFactory>
- extends TestableProjectFactoryStrategy<IJSFAppConfigManagerFactory> {
-
- /**
- * @param testableFactorySessionKey - project property session key for property value holding testable instance
- */
- public TestableJSFAppConfigManagerProviderStrategy(final QualifiedName testableFactorySessionKey) {
- super(testableFactorySessionKey);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/package-info.java
deleted file mode 100644
index f1a3d1350..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsfappconfig/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Project-level support for JSF application configuration files.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.jsfappconfig;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryConfigurationHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryConfigurationHelper.java
deleted file mode 100644
index 2f677d793..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryConfigurationHelper.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal.JSFLibraryReferenceFacadeFactory;
-
-/**
- * Helper class for adopters needing to deal with JSF Library References
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @since WTP JSF 1.0
- * @deprecated
- */
-public final class JSFLibraryConfigurationHelper {
- /**
- * container id for JSF Library Classpath Containers
- */
- public static final String JSF_LIBRARY_CP_CONTAINER_ID="org.eclipse.jst.jsf.core.internal.jsflibrarycontainer"; //$NON-NLS-1$
-
- /**
- * @param project
- * @return collection of references
- */
- public static Collection<JSFLibraryReference> getJSFLibraryReferences(IProject project) {
- Collection<JSFLibraryReference> results = new HashSet<JSFLibraryReference>();
- IJavaProject jproj = JavaCore.create(project);
- try {
- IClasspathEntry[] entries = jproj.getRawClasspath();
- boolean foundImpl = false;
- for (int i=0;i<entries.length;i++){
- JSFLibraryReference ref = JSFLibraryReferenceFacadeFactory.create(entries[i]);
- if (ref != null){
- results.add(ref);
- if (ref.isJSFImplementation())
- foundImpl = true;
- }
- }
- if (! foundImpl){
- results.add(JSFLibraryReferenceFacadeFactory.createServerSuppliedJSFLibRef());
- }
- } catch (JavaModelException e) {
- JSFCorePlugin.log(e, "Exception occurred calling getJSFLibraryReferences for "+project.getName()); //$NON-NLS-1$
- }
- return results;
- }
-
- /**
- * @param cpEntry
- * @return boolean indicating that the classpath entry is a JSF Libary Classpath Container
- */
- public static boolean isJSFLibraryContainer(IClasspathEntry cpEntry) {
- if (cpEntry.getEntryKind() != IClasspathEntry.CPE_CONTAINER)
- return false;
-
- IPath path = cpEntry.getPath();
- return path != null && path.segmentCount() == 2 && JSF_LIBRARY_CP_CONTAINER_ID.equals(path.segment(0));
- }
-
- /**
- * @param project
- * @return true if the JSF Faceted project is configured to use system supplied implementation
- */
- public static boolean isConfiguredForSystemSuppliedImplementation(IProject project) {
- Collection<JSFLibraryReference> refs = getJSFLibraryReferences(project);
- for(JSFLibraryReference ref : refs){
- if (ref instanceof JSFLibraryReferenceServerSupplied)
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReference.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReference.java
deleted file mode 100644
index 17fe475aa..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReference.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-import java.util.Collection;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-
-/**
- * Represents a reference to a JSF Library on a project
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @deprecated
- */
-public abstract interface JSFLibraryReference {
- /**
- * @return id for the library
- */
- public String getId();
- /**
- * @return name
- */
- public String getName();
- /**
- * @return collection of jars as {@link IClasspathEntry}s
- */
- public Collection<IClasspathEntry> getJars();
- /**
- * @return {@link JSFVersion} value
- */
- public JSFVersion getMaxSupportedVersion();
- /**
- * @return label user sees for this library
- */
- public String getLabel();
- /**
- * @return flag
- */
- public boolean isJSFImplementation();
- /**
- * @return is deployed (marked as J2EE Module Dependency)
- */
- public boolean isDeployed();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferencePluginProvided.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferencePluginProvided.java
deleted file mode 100644
index 8535cef57..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferencePluginProvided.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-/**
- * A reference to a plugin-defined JSF Library
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public interface JSFLibraryReferencePluginProvided extends JSFLibraryReferenceUserSpecified, JSFLibraryReferenceUserDefined {
- /**
- * @return plugin id. May return null if plugin id cannot be determined.
- */
- public String getPluginId();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceServerSupplied.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceServerSupplied.java
deleted file mode 100644
index 2ee576b4a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceServerSupplied.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-/**
- * A reference to a JSF Library where the implementation library is presumed to be coming from the
- * server
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public interface JSFLibraryReferenceServerSupplied extends
- JSFLibraryReference {
-
- /**
- * Constant used for server supplied virtual JSF Library referencew
- */
- public static final String ID = "_ServerSupplied_"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserDefined.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserDefined.java
deleted file mode 100644
index f5e69d373..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserDefined.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-
-/**
- * Represents an reference to a user specified JSF Library
- * @deprecated use JSFLibraryReferenceUserSpecified
- */
-public interface JSFLibraryReferenceUserDefined extends JSFLibraryReference {
- //
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserSpecified.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserSpecified.java
deleted file mode 100644
index a65cbab44..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFLibraryReferenceUserSpecified.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-
-/**
- * Represents an reference to a user specified JSF Library
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public interface JSFLibraryReferenceUserSpecified extends JSFLibraryReference {
- //
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFVersion.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFVersion.java
deleted file mode 100644
index 244f00c19..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/JSFVersion.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
-
-/**
- * Enumeration of JavaServer Faces Versions
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public enum JSFVersion {
-
- /**
- * Unknown version support
- */
- UNKNOWN,
- /**
- * Supports JSF Version 1.0
- */
- V1_0,
- /**
- * Supports JSF Version 1.1
- */
- V1_1,
- /**
- * Supports JSF Version 1.1
- */
- V1_2;
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/AbstractJSFLibraryReferenceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/AbstractJSFLibraryReferenceImpl.java
deleted file mode 100644
index 7251d44e6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/AbstractJSFLibraryReferenceImpl.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-
-
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReference;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFVersion;
-/**
- * @author gekessle
- * @deprecated
- */
-public abstract class AbstractJSFLibraryReferenceImpl implements JSFLibraryReference {
-
- /**
- * The {@link org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference} being wrapped
- */
- protected JSFLibraryInternalReference libRef;
- private String _id;
- private String _label;
- private boolean _isImplementation;
- private boolean _isDeloyed;
-
- /**
- * Constructor for "virtual" JSF Library References like "ServerSupplied"
- * @param id
- * @param label
- * @param isImplementation
- */
- public AbstractJSFLibraryReferenceImpl(String id, String label, boolean isImplementation){
- _id = id;
- _label = label;
- _isImplementation = isImplementation;
- }
-
- /**
- * Constructor non-virtual library references
- * @param libRef
- * @param isDeployed
- */
- public AbstractJSFLibraryReferenceImpl(JSFLibraryInternalReference libRef, boolean isDeployed){
- this.libRef = libRef;
- _isDeloyed = isDeployed;
- }
-
- public String getId() {
- if (libRef != null)
- return libRef.getID();
-
- return _id;
- }
-
- public String getLabel() {
- if (libRef != null)
- return libRef.getLabel();
-
- return _label;
- }
-
- public boolean isDeployed() {
- return _isDeloyed;
- }
-
- public boolean isJSFImplementation() {
- if (libRef != null)
- return libRef.isImplementation();
-
- return _isImplementation;
- }
-
- /**
- * @return the JSFLibrary underpinning the reference.
- * May be null if the library is missing or cannot be resolved from the registry.
- */
- protected JSFLibrary getLibrary(){
- return libRef.getLibrary();
- }
-
- public Collection<IClasspathEntry> getJars() {
- Set<IClasspathEntry> results = new HashSet<IClasspathEntry>();
- if (getLibrary() != null){
- List jars = getLibrary().getArchiveFiles();
- for (Iterator it= jars.iterator();it.hasNext();){
- ArchiveFile jar = (ArchiveFile)it.next();
- String path = jar.getResolvedSourceLocation();
- results.add(JavaCore.newLibraryEntry(new Path(path), null, null));
- }
- }
- return results;
- }
-
- public JSFVersion getMaxSupportedVersion() {
- if (getLibrary() != null)
- return adaptVersion(getLibrary().getJSFVersion());
- return null;
- }
-
- private JSFVersion adaptVersion(
- org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion version) {
-
- switch (version.getValue()){
- case org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion.V1_1:
- return JSFVersion.V1_1;
- case org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion.V1_2:
- return JSFVersion.V1_2;
- default:
- return JSFVersion.UNKNOWN;
-
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReference#getName()
- */
- public String getName() {
- if (getLibrary()!= null) {
- return getLibrary().getName();
- }
- return getId();
- }
-
- public String toString(){
- StringBuffer buf = new StringBuffer("id: "); //$NON-NLS-1$
- buf.append(getId());
- buf.append(", label: "); //$NON-NLS-1$
- buf.append(getLabel());
- buf.append(", isDeployed: "); //$NON-NLS-1$
- buf.append(isDeployed());
- buf.append(", isImpl: "); //$NON-NLS-1$
- buf.append(isJSFImplementation());
- buf.append(", version: "); //$NON-NLS-1$
- buf.append(getMaxSupportedVersion().name());
-
- return buf.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceFacadeFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceFacadeFactory.java
deleted file mode 100644
index 5205610b1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceFacadeFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryRegistryUtil;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryConfigurationHelper;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReference;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReferenceServerSupplied;
-
-/**
- * Factory for producing facade objects for references to the internal EMF JSF Library classes
- * @deprecated
- */
-public class JSFLibraryReferenceFacadeFactory {
- /**
- * Returns a JSFLibraryReferenceUserSpecified (or JSFLibraryReferenceUserDefined}) or JSFLibraryReferencePluginProvided instance.
- * Will not create a JSFLibraryReferenceServerSupplied as there is no cp entry. Use createServerSuppliedJSFLibRef instead.
- * @param classpathEntry
- * @return an instance of JSFLibraryInternalReference. Null will be returned if the cpEntry is not a JSF Library reference.
- */
- public static JSFLibraryReference create(final IClasspathEntry classpathEntry) {
- if (JSFLibraryConfigurationHelper.isJSFLibraryContainer(classpathEntry)){
- return createReference(classpathEntry);
- }
- return null;
- }
-
- /**
- * @return instance of {@link JSFLibraryReferenceServerSupplied}
- */
- public static JSFLibraryReferenceServerSupplied createServerSuppliedJSFLibRef(){
- return new JSFLibraryReferenceServerSuppliedImpl();
- }
-
-
- /**
- * @param classpathEntry
- * @return {@link JSFLibraryReference}
- */
- private static JSFLibraryReference createReference(
- final IClasspathEntry classpathEntry) {
-
- String libID = classpathEntry.getPath().segment(1);
- org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference libRef = JSFLibraryRegistryUtil.getInstance().getJSFLibraryReferencebyID(libID);
- if (libRef!= null){
- boolean isDeployed = getJ2EEModuleDependency(classpathEntry);
- if (libRef.getLibrary() instanceof PluginProvidedJSFLibrary)
- return new JSFLibraryReferencePluginProvidedImpl(libRef, isDeployed);
-
- return new JSFLibraryReferenceUserSpecifiedImpl(libRef, isDeployed);
- }
- return null;
- }
-
- private static boolean getJ2EEModuleDependency(IClasspathEntry classpathEntry) {
- IClasspathAttribute[] attrs = classpathEntry.getExtraAttributes();
- for (int i=0;i<attrs.length;i++){
- IClasspathAttribute attr = attrs[i];
- if (attr.getName().equals(IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY)){
- return true;
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferencePluginProvidedImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferencePluginProvidedImpl.java
deleted file mode 100644
index 426ad89c5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferencePluginProvidedImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReferencePluginProvided;
-
-/**
- * @deprecated
- */
-public class JSFLibraryReferencePluginProvidedImpl extends AbstractJSFLibraryReferenceImpl implements JSFLibraryReferencePluginProvided {
-
- /**
- * Constructor
- * @param libRef
- * @param isDeployed
- */
- public JSFLibraryReferencePluginProvidedImpl(JSFLibraryInternalReference libRef, boolean isDeployed) {
- super(libRef, isDeployed);
- }
-
- public String getPluginId() {
- if (getLibrary() != null)
- return ((PluginProvidedJSFLibrary) getLibrary()).getPluginID();
-
- return null;
- }
-
- public String toString() {
- StringBuffer buf = new StringBuffer("PluginProvided: ("); //$NON-NLS-1$
- buf.append(super.toString());
-
- return buf.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceServerSuppliedImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceServerSuppliedImpl.java
deleted file mode 100644
index a813bb9cd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceServerSuppliedImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReferenceServerSupplied;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFVersion;
-
-/**
- * @author gekessle
- * @deprecated
- */
-public class JSFLibraryReferenceServerSuppliedImpl
- extends AbstractJSFLibraryReferenceImpl
- implements JSFLibraryReferenceServerSupplied {
-
- /**
- * Library display Label
- */
- public final static String SERVER_SUPPLIED = Messages.JSFLibraryReferenceServerSuppliedImpl_Label;
- /**
- * Constructor
- */
- public JSFLibraryReferenceServerSuppliedImpl(){
- //TODO: replace label with constant
- super(JSFLibraryReferenceServerSupplied.ID, SERVER_SUPPLIED, true);
- }
-
- public String toString() {
- StringBuffer buf = new StringBuffer("ServerSupplied: ("); //$NON-NLS-1$
- buf.append(super.toString());
- buf.append(")"); //$NON-NLS-1$
-
- return buf.toString();
- }
-
- protected JSFLibrary getLibrary(){
- return null;
- }
-
- public JSFVersion getMaxSupportedVersion() {
- return JSFVersion.UNKNOWN;
- }
-//
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceUserSpecifiedImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceUserSpecifiedImpl.java
deleted file mode 100644
index 4bb735fcd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/JSFLibraryReferenceUserSpecifiedImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-import org.eclipse.jst.jsf.core.internal.jsflibraryconfig.JSFLibraryInternalReference;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReferenceUserDefined;
-import org.eclipse.jst.jsf.core.jsflibraryconfiguration.JSFLibraryReferenceUserSpecified;
-
-/**
- * Implementation of a reference to a user specified JSF Library
- * @deprecated
- */
-public class JSFLibraryReferenceUserSpecifiedImpl extends AbstractJSFLibraryReferenceImpl implements JSFLibraryReferenceUserSpecified, JSFLibraryReferenceUserDefined{
- /**
- * @param libRef of type {@link JSFLibraryInternalReference}
- * @param isDeployed
- */
- public JSFLibraryReferenceUserSpecifiedImpl(
- JSFLibraryInternalReference libRef, boolean isDeployed) {
-
- super(libRef, isDeployed);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal.AbstractJSFLibraryReferenceImpl#toString()
- */
- public String toString() {
- StringBuffer buf = new StringBuffer("UserSpecified: ("); //$NON-NLS-1$
- buf.append(super.toString());
- buf.append(")"); //$NON-NLS-1$
-
- return buf.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/Messages.java
deleted file mode 100644
index bd5fbe519..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler.
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.jsflibraryconfiguration.internal.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String JSFLibraryReferenceServerSuppliedImpl_Label;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/messages.properties
deleted file mode 100644
index 5e97f3894..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/internal/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-JSFLibraryReferenceServerSuppliedImpl_Label=Server Supplied
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/package-info.java
deleted file mode 100644
index d17bacc75..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryconfiguration/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * API for configuring JSF Library References.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.jsflibraryconfiguration;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java
deleted file mode 100644
index d76849ca2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/InvalidArchiveFilesCreationException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-/**
- * Exception class thrown by PluginProvidedJSFLibraryCreationHelper.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public class InvalidArchiveFilesCreationException extends Exception {
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates an instance with the specified message.
- * @param msg This instance's message
- */
- public InvalidArchiveFilesCreationException(String msg) {
- super(msg);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java
deleted file mode 100644
index e4422b2e9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/JSFLibraryArchiveFilesDelegate.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.osgi.framework.Bundle;
-
-/**
- * Abstract delegate class used by jsfLibraries ext-pt to return collection of
- * ArchiveFiles to PluginProvidedJSFLibraryCreationHelper.
- *
- * Caller must first setConfigurationElement(IConfigurationElement element)
- * before a call to getArchiveFiles().
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated along with the jsflibraries extension-point
- */
-public abstract class JSFLibraryArchiveFilesDelegate {
- private IConfigurationElement extPtElement;
- private String libID = null;
- private IPath pluginPath = null;
- private String pluginID;
- private String relativeDestLocation = "WEB-INF/lib"; //$NON-NLS-1$
-
- /**
- * Returns a Collection of <code>org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile</code>
- * instances.
- *
- * @return A Collection of <code>org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile</code>
- * instances
- */
- public abstract Collection getArchiveFiles();
-
- /**
- * Sets the IConfigurationElement instance to be subsequently used to get
- * the plugin ID and the name defined for the JSF Library.
- *
- * @param extPtElement IConfigurationElement instance
- */
- public final void setConfigurationElement(IConfigurationElement extPtElement){
- this.extPtElement = extPtElement;
- }
-
- /**
- * Constructs an instance.
- */
- public JSFLibraryArchiveFilesDelegate() {
- super();
- }
-
- /**
- * Sets the relative destination location subsequently used to set the
- * corresponding property on each created ArchiveFile.
- *
- * @param relPath Relative destination location for ArchiveFile instances
- */
- protected void setRelativeDestinationLocation(String relPath){
- relativeDestLocation = relPath;
- }
-
- /**
- * Returns ArchiveFile where the location is set relative to the plugin.
- * As long as the ArchiveFile is on the local machine somewhere, it should
- * be locatable.
- *
- * @param relativePathFileName Relative location of the ArchiveFile
- * @return ArchiveFile instance.
- */
- protected ArchiveFile createArchiveFile(String relativePathFileName){
- ArchiveFile file = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
- file.setRelativeToWorkspace(false);
- file.setSourceLocation(relativePathFileName);
- file.setRelativeDestLocation(relativeDestLocation);
- return file;
- }
-
-// protected ArchiveFile createArchiveFileWithAbsolutePath(String fullPath){
-// ArchiveFile file = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
-// file.setRelativeToWorkspace(false);
-// file.setSourceLocation(fullPath);
-// file.setRelativeDestLocation(relativeDestLocation);
-// return file;
-// }
-
- /**
- * Returns the JSFLibrary ID as set on the extension point.
- *
- * @return JSFLibrary ID
- */
- protected String getLibID(){
- if (libID == null){
- StringBuffer buf = new StringBuffer(getPluginID());
- buf.append("/").append(extPtElement.getAttribute(PluginProvidedJSFLibraryCreationHelper.NAME)); //$NON-NLS-1$
- libID = buf.toString();
- }
- return libID;
- }
-
- /**
- * Returns the plugin's path.
- *
- * @return The plugin's path.
- */
- protected IPath getPluginPath(){
- if (pluginPath == null){
- Bundle bundle = Platform.getBundle(getPluginID());
- pluginPath = new Path(bundle.getLocation());
- }
- return pluginPath;
- }
-
- /**
- * Returns the plugin's ID.
- *
- * @return The plugin's ID.
- */
- private String getPluginID() {
- if (pluginID == null){
- pluginID = extPtElement.getDeclaringExtension().getContributor().getName();
- }
- return pluginID;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryArchiveFilesDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryArchiveFilesDelegate.java
deleted file mode 100644
index a298df4f3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryArchiveFilesDelegate.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-import org.eclipse.jst.jsf.core.jsflibraryregistry.internal.PluginProvidedJSFLibraryCreationHelper2;
-
-/**
- * Abstract class to be used for supplying the jar file names for a plugin provided jsf library.
- * <br>Adopters must implement getArchiveFiles() making use of the addArchiveFile(String pluginRootRelativePath) method.
- * <br><em>Note: A plugin providing jsf libraries cannot be jarred at this time. </em>
- * <br><br>ex.
- * <br> <pre><code>public void getArchiveFiles() {
- addArchiveFile("/lib/JAR1.jar");
- addArchiveFile("/lib/JAR2.jar");
- }
- </code>
- </pre>
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated
- */
-public abstract class PluginProvidedJSFLibraryArchiveFilesDelegate {
- private PluginProvidedJSFLibraryCreationHelper2 helper;
-
- /**
- * Constructs an instance.
- */
- public PluginProvidedJSFLibraryArchiveFilesDelegate() {
- super();
- }
-
- /**
- * Concrete delegate must implement this method to define jars in the library.
- * Use addJarFile(String pluginRootRelativePath) within this method to add jars to the library.
- */
- public abstract void getArchiveFiles();
-
- /**
- * Adds jar file to the library. Verification of file existence does not occur at this point.
- *
- * Jar must be specified as being relative to the plugin.
- * ex. "/lib/MyJar.jar" where the lib directory is a child of the root.
- *
- * @param pluginRootRelativePath
- */
- protected void addArchiveFile(String pluginRootRelativePath) {
- helper.addArchiveFile(pluginRootRelativePath);//getArchiveFiles().add(helper.createArchiveFile(pluginRootRelativePath));
- }
-
- /**
- * Not to be implemented by subclasses
- * @param helper
- */
- public void setCreationHelper(
- PluginProvidedJSFLibraryCreationHelper2 helper) {
- this.helper = helper;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java
deleted file mode 100644
index cda0083cb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/PluginProvidedJSFLibraryCreationHelper.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class used to create JSF Libraries from the
- * <code>org.eclipse.jst.jsf.core.jsflibraries</code> extension-point.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @deprecated - clients should not use
- */
-public final class PluginProvidedJSFLibraryCreationHelper {
- private IConfigurationElement config_element;
-
- /**
- * Key of the 'name' attribute of the extension point.
- */
- public final static String NAME = "name"; //$NON-NLS-1$
- /**
- * Key of the 'isImplementation' attribute of the extension point.
- */
- public final static String IS_IMPL = "isImplementation"; //$NON-NLS-1$
- /**
- * Key of the 'maxVersionSupported' attribute of the extension point.
- */
- public final static String VERSION = "maxVersionSupported"; //$NON-NLS-1$
- /**
- * Key of the 'archiveFilesDelegate' attribute of the extension point.
- */
- public final static String DELEGATE = "archiveFilesDelegate"; //$NON-NLS-1$
-
- /**
- * Creates an instance with the specified IConfigurationElement instance.
- *
- * @param jsfLibrary IConfigurationElement instance
- */
- public PluginProvidedJSFLibraryCreationHelper (IConfigurationElement jsfLibrary){
- this.config_element = jsfLibrary;
- }
-
- /**
- * Creates a new PluginProvidedJSFLibrary from the JSFLibrary extension point.
- *
- * @return PluginProvidedJSFLibrary instance.
- */
- public JSFLibrary create(){
- PluginProvidedJSFLibrary newLib = JSFLibraryRegistryFactory.eINSTANCE.createPluginProvidedJSFLibrary();
-// newLib.setID(getLibID());
- newLib.setPluginID(getPluginID());
- newLib.setName(config_element.getAttribute(NAME));
- newLib.setImplementation(config_element.getAttribute(IS_IMPL).equals("true") ? true : false); //$NON-NLS-1$
- newLib.setJSFVersion(JSFVersion.getJSFVersion(config_element.getAttribute(VERSION)));
-
- try {
- addArchives(newLib);
- return newLib;
- } catch (Exception e) {
- JSFCorePlugin.log(
- e,
- NLS.bind(
- Messages.PluginProvidedJSFLibraryCreationHelper_ErrorCreating,
- newLib.getName()));
- }
- return null;
- }
-
- /**
- * Adds ArchiveFile instances to the specified JSFLibrary instance.
- *
- * @param newLib JSFLibrary instance
- * @throws InvalidArchiveFilesCreationException on attempt to create
- * multiple instances at same location.
- * @throws CoreException on core failure.
- */
- private void addArchives(JSFLibrary newLib) throws InvalidArchiveFilesCreationException, CoreException {
- JSFLibraryArchiveFilesDelegate jarCol = null;
- ArchiveFile jar = null;
-
- jarCol = (JSFLibraryArchiveFilesDelegate)config_element.createExecutableExtension(DELEGATE);
- if (jarCol != null){
- jarCol.setConfigurationElement(config_element);
- Collection jars = jarCol.getArchiveFiles();
- if (jars == null)//TODO: better validation and error handling
- return;
- Iterator it = jars.iterator();
- while (it.hasNext()){
- Object aJar = it.next();
- if (aJar instanceof ArchiveFile){//for now check to see ArchiveFiles were being returned
- jar = (ArchiveFile)aJar;
- if (!newLib.containsArchiveFile(jar.getSourceLocation()))
- newLib.getArchiveFiles().add(jar);
- }
- else {
- throw new InvalidArchiveFilesCreationException(
- NLS.bind(
- Messages.PluginProvidedJSFLibraryCreationHelper_ErrorMultipleDefinition,
- jar.getSourceLocation(),
- config_element.getName()));
- }
-
- }
- }
- }
-
- /**
- * Returns the plugin's ID.
- *
- * @return The plugin's ID
- */
- private String getPluginID() {
- return config_element.getDeclaringExtension().getContributor().getName();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/internal/PluginProvidedJSFLibraryCreationHelper2.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/internal/PluginProvidedJSFLibraryCreationHelper2.java
deleted file mode 100644
index 723f0cd4b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/internal/PluginProvidedJSFLibraryCreationHelper2.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.jsflibraryregistry.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.Messages;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.ArchiveFile;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibrary;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFLibraryRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.jsflibraryregistry.PluginProvidedJSFLibrary;
-import org.eclipse.jst.jsf.core.jsflibraryregistry.PluginProvidedJSFLibraryArchiveFilesDelegate;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class used to create plugin-rovided JSF Libraries from the
- * <code>org.eclipse.jst.jsf.core.pluginProvidedJsfLibraries</code> extension-point.
- * <br>
- *
- * @author Gerry Kessler - Oracle
- * @deprecated
- */
-public final class PluginProvidedJSFLibraryCreationHelper2 {
- private PluginProvidedJSFLibrary newLib;
- private IConfigurationElement config_element;
- private String relativeDestLocation = "WEB-INF/lib"; //$NON-NLS-1$
-
- /**
- * Key of the 'name' attribute of the extension point.
- */
- public final static String NAME = "name"; //$NON-NLS-1$
- /**
- * Key of the 'isImplementation' attribute of the extension point.
- */
- public final static String IS_IMPL = "isImplementation"; //$NON-NLS-1$
- /**
- * Key of the 'maxVersionSupported' attribute of the extension point.
- */
- public final static String VERSION = "maxVersionSupported"; //$NON-NLS-1$
- /**
- * Key of the 'archiveFilesDelegate' attribute of the extension point.
- */
- public final static String DELEGATE = "archiveFilesDelegate"; //$NON-NLS-1$
- /**
- * Key of the 'label' attribute of the extension point.
- */
- public final static String LABEL = "label"; //$NON-NLS-1$
-
- /**
- * Creates an instance with the specified IConfigurationElement instance.
- *
- * @param jsfLibrary IConfigurationElement instance
- */
- public PluginProvidedJSFLibraryCreationHelper2 (IConfigurationElement jsfLibrary){
- this.config_element = jsfLibrary;
- }
-
- /**
- * Add a jar file to the library
- * @param pluginRootRelativePath
- */
- public void addArchiveFile(String pluginRootRelativePath) {
- ArchiveFile jar = createArchiveFile(pluginRootRelativePath);
- if (!newLib.containsArchiveFile(jar.getSourceLocation()))
- newLib.getArchiveFiles().add(jar);
- }
-
- /**
- * Creates a new PluginProvidedJSFLibrary from the JSFLibrary extension point.
- *
- * @return PluginProvidedJSFLibrary instance.
- */
- public JSFLibrary create(){
- newLib = JSFLibraryRegistryFactory.eINSTANCE.createPluginProvidedJSFLibrary();
- newLib.setPluginID(getPluginID());
- newLib.setName(config_element.getAttribute(NAME));
- String label = config_element.getAttribute(LABEL);
- if (label != null && label.length() > 0){
- newLib.setLabel(label);
- }
- newLib.setImplementation(config_element.getAttribute(IS_IMPL).equals("true") ? true : false); //$NON-NLS-1$
- newLib.setJSFVersion(JSFVersion.getJSFVersion(config_element.getAttribute(VERSION)));
-
- try {
- addArchives();
- return newLib;
- } catch (Exception e) {
- JSFCorePlugin.log(
- e,
- NLS.bind(
- Messages.PluginProvidedJSFLibraryCreationHelper_ErrorCreating,
- newLib.getName()));
- }
- return null;
- }
-
- /**
- * Adds ArchiveFile instances to the specified JSFLibrary instance.
- *
- * @param newLib JSFLibrary instance
- * @throws CoreException on core failure.
- */
- private void addArchives() throws CoreException {
- PluginProvidedJSFLibraryArchiveFilesDelegate jarCol = null;
-
- jarCol = (PluginProvidedJSFLibraryArchiveFilesDelegate)config_element.createExecutableExtension(DELEGATE);
- if (jarCol != null){
- jarCol.setCreationHelper(this);
- jarCol.getArchiveFiles();
- }
- }
- /**
- * Returns ArchiveFile where the location is set relative to the plugin.
- * As long as the ArchiveFile is on the local machine somewhere, it should
- * be locatable.
- *
- * @param relativePathFileName Relative location of the ArchiveFile
- * @return ArchiveFile instance.
- */
- private ArchiveFile createArchiveFile(String pluginRootRelativePath){
- ArchiveFile file = JSFLibraryRegistryFactory.eINSTANCE.createArchiveFile();
- file.setRelativeToWorkspace(false);
- file.setSourceLocation(pluginRootRelativePath);
- file.setRelativeDestLocation(relativeDestLocation);
- return file;
- }
-
- /**
- * Returns the plugin's ID.
- *
- * @return The plugin's ID
- */
- private String getPluginID() {
- return config_element.getDeclaringExtension().getContributor().getName();
- }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/package-info.java
deleted file mode 100644
index 3eb240d97..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/jsflibraryregistry/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * API for configuring JSF Library References.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.jsflibraryregistry;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/HTMLContentModelMetaDataTranslator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/HTMLContentModelMetaDataTranslator.java
deleted file mode 100644
index 758eeb125..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/HTMLContentModelMetaDataTranslator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import org.eclipse.jst.jsf.common.metadata.internal.AbstractTagLibDomainContentModelMetaDataTranslator;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-/**
- * Translates the HTML CMDocument to standard metadata model entities and traits
- */
-public class HTMLContentModelMetaDataTranslator extends AbstractTagLibDomainContentModelMetaDataTranslator implements IMetaDataTranslator {
-
- public boolean canTranslate(IMetaDataSourceModelProvider modelProvider) {
- if (modelProvider != null &&
- modelProvider.getSourceModel() instanceof HTMLCMDocument)
- return true;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator#translate(org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant)
- */
- public void translate(final IMetaDataModelMergeAssistant assistant) {
- _assistant = assistant;
- CMDocument doc = getSourceModel();
- if (doc instanceof HTMLCMDocument){
- doTranslate(doc);
- }
- }
-
- /**
- * @return getURIDisplayLabel()
- */
- protected String getURIDescription() {
- return Messages.HTMLContentModelMetaDataTranslator_Desc;
- }
-
- /**
- * return "HTML 4.0"
- */
- protected String getURIDisplayLabel() {
- return Messages.HTMLContentModelMetaDataTranslator_Label;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/INamespaceModelProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/INamespaceModelProvider.java
deleted file mode 100644
index c50ff5bf4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/INamespaceModelProvider.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-
-/**
- * Provider of {@link Namespace} metadata
- *
- */
-public interface INamespaceModelProvider extends IMetaDataSourceModelProvider {
- /**
- * @return the namespace provided. May be null.
- */
- public Namespace getNamespace();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/JSPContentModelMetaDataTranslator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/JSPContentModelMetaDataTranslator.java
deleted file mode 100644
index e49712f40..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/JSPContentModelMetaDataTranslator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import org.eclipse.jst.jsf.common.metadata.internal.AbstractTagLibDomainContentModelMetaDataTranslator;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator;
-import org.eclipse.wst.html.core.internal.contentmodel.JSPCMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-/**
- * Translates the JSP CMDocument to standard metadata model entities and traits
- */
-public class JSPContentModelMetaDataTranslator extends AbstractTagLibDomainContentModelMetaDataTranslator implements IMetaDataTranslator {
-
- public boolean canTranslate(IMetaDataSourceModelProvider modelProvider) {
- if (modelProvider != null &&
- modelProvider.getSourceModel() instanceof JSPCMDocument)
- return true;
- return false;
- }
-
- public void translate(final IMetaDataModelMergeAssistant assistant) {
- setAssistant(assistant);
- CMDocument doc = getSourceModel();
- if (doc instanceof JSPCMDocument){
- doTranslate(doc);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.common.metadata.internal.AbstractTagLibDomainContentModelMetaDataTranslator#getURIDescription()
- */
- protected String getURIDescription() {
- return Messages.JSPContentModelMetaDataTranslator_Desc;
- }
-
- @Override
- protected String getURIDisplayLabel() {
- return Messages.JSPContentModelMetaDataTranslator_Label;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/Messages.java
deleted file mode 100644
index 3c7e7361f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/Messages.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.metadata.internal.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String HTMLContentModelMetaDataTranslator_Label;
- /**
- * see messages.properties
- */
- public static String HTMLContentModelMetaDataTranslator_Desc;
- /**
- * see messages.properties
- */
- public static String JSPContentModelMetaDataTranslator_Desc;
- /**
- * see messages.properties
- */
- public static String JSPContentModelMetaDataTranslator_Label;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java
deleted file mode 100644
index 75a36e3f9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java
+++ /dev/null
@@ -1,360 +0,0 @@
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.MetadataFactory;
-import org.eclipse.jst.jsf.common.metadata.MetadataPackage;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.BooleanValue;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.StringValue;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.TraitTypesFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-
-/**
- * Translates some pieces of a {@link Namespace} metadata into standard {@link Entity} and {@link Trait} metadata
- *
- */
-public class NamespaceMetaDataTranslator
- implements IMetaDataTranslator {
- /**
- * {@link IMetaDataModelMergeAssistant} to use
- */
- private IMetaDataModelMergeAssistant _assistant;
-
- public void translate(final IMetaDataModelMergeAssistant assistant) {
- _assistant = assistant;
- final Namespace ns = ((INamespaceModelProvider)_assistant.getSourceModelProvider()).getNamespace();
- doTranslate(ns);
- }
-
- public boolean canTranslate(final IMetaDataSourceModelProvider modelProvider) {
- if (modelProvider != null &&
- modelProvider instanceof INamespaceModelProvider)
- return true;
- return false;
- }
-
- /**
- * Set the assistant to use during the translation. Must be called prior to doTransalate(doc);
- * @param assistant
- */
- protected void setAssistant(final IMetaDataModelMergeAssistant assistant){
- _assistant = assistant;
- }
-
- /**
- * Transforms the Namespace into entities and traits of a standard metadata model
- * using the assistant that must be set before this call.
- * @param tagLib
- */
- protected void doTranslate(final Namespace tagLib){
- createTags(tagLib);
- createTagfileTraits(tagLib);
- }
-
- /**
- * @param entity
- * @param key
- * @param value
- */
- protected void createSimpleStringEntityTraitIfNecessary(final Entity entity, final String key,
- final String value) {
- Trait t = findTraitOnEntityById(entity, key);
- if (t == null){
- t = internalCreateTrait(entity, key);
-
- StringValue val = TraitTypesFactory.eINSTANCE.createStringValue();
- val.setValue(value);
-
- t.setValue(val);
- }
- }
-
- /**
- * @param entity
- * @param key
- * @param value
- */
- protected void createSimpleBooleanObjectEntityTraitIfNecessary(final Entity entity,
- String key, boolean value) {
-
- Trait t = findTraitOnEntityById(entity, key);
- if (t == null){
- t = internalCreateTrait(entity, key);
-
- BooleanValue val = TraitTypesFactory.eINSTANCE.createBooleanValue();
- val.setTrue(value);
-
- t.setValue(val);
- }
-
- }
-
- /**
- * @param entity
- * @param key
- * @return Trait
- */
- protected Trait internalCreateTrait(final Entity entity, final String key) {
- Trait t = MetadataFactory.eINSTANCE.createTrait();
- t.setId(key);
- t.setSourceModelProvider(_assistant.getSourceModelProvider());
- entity.getTraits().add(t);
- return t;
- }
-
- /**
- * @param entity
- * @param key
- * @return Trait
- */
- protected Trait findTraitOnEntityById(final Entity entity, final String key) {
- for (Iterator it=entity.getTraits().iterator();it.hasNext();){
- Trait t = (Trait)it.next();
- if (key.equals(t.getId()))
- return t;
- }
- return null;
- }
-
- /**
- * @param nodeName
- * @return Entity
- */
- protected Entity findTagEntity(final String nodeName) {
- for (Iterator it=getMergedModel().getChildEntities().iterator();it.hasNext();){
- Entity entity = (Entity)it.next();
- if (nodeName.equals(entity.getId()))
- return entity;
- }
- return null;
- }
-
- /**
- * @param tag
- * @param attributeName
- * @return Attribute entity for supplied attribute name and given Tag entity. Will return null if not found.
- */
- protected Entity findAttributeEntityForTagEntity(final Entity tag, final String attributeName) {
- for (Iterator it=tag.getChildEntities().iterator();it.hasNext();){
- Entity attr = (Entity)it.next();
- if (attributeName.equals(attr.getId()))
- return attr;
- }
- return null;
- }
- /**
- * Create entities for tags
- * @param tagLib
- */
- protected void createTags(final Namespace tagLib) {
- for (final ITagElement tag : tagLib.getViewElements()){
- Entity entity = findTagEntity(tag.getName());
- if (entity == null){
- entity = MetadataFactory.eINSTANCE.createEntity();
- entity.setId(getTagNodeName(tag));
- entity.setType("tag"); //$NON-NLS-1$
- getMergedModel().getChildEntities().add(entity);
- }
- setTagEntityTraits(tag, entity);
- }
-
- }
-
- /**
- * @param tag
- * @return tag node name
- */
- protected String getTagNodeName(final ITagElement tag) {
- return tag.getName();
- }
-
- /**
- * Sets the standard traits for a tag entity from the element declaration
- * @param tag
- * @param entity
- */
- protected void setTagEntityTraits(final ITagElement tag, final Entity entity) {
- createSimpleStringEntityTraitIfNecessary(entity, "display-label", getTagDisplayName(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "description", getTagDescription(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "small-icon", getTagSmallIcon(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "large-icon", getTagLargeIcon(tag)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(entity, "expert", getTagIsExpert(tag)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(entity, "hidden", getTagIsHidden(tag)); //$NON-NLS-1$
-
- createAttributeEntities(entity, tag);
- }
-
- /**
- * @param tagEntity
- * @param tag
- */
- protected void createAttributeEntities(final Entity tagEntity, final
- ITagElement tag) {
-
- for (final ITagAttribute tagAttr : tag.getAttributes().values()){
- Entity attr = findAttributeEntityForTagEntity(tagEntity, tagAttr.getName());
- if (attr == null) {
- attr = MetadataFactory.eINSTANCE.createEntity();
- attr.setId(tagAttr.getName());
- tagEntity.getChildEntities().add(attr);
- }
- createAttributeTraits(attr, tagAttr);
- }
-
-
- }
-
- /**
- * @param attr
- * @param tagAttr
- */
- protected void createAttributeTraits(final Entity attr,
- final ITagAttribute tagAttr) {
-
- createSimpleStringEntityTraitIfNecessary(attr, "description", getTagAttributeDescription(tagAttr)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(attr, "required", getTagAttributeIsRequired(tagAttr)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(attr, "default-value", getTagAttributeDefaultValue(tagAttr)); //$NON-NLS-1$
- }
-
- /**
- * @param tagAttr
- * @return null. subclass should override if ITagAttribute has the metadata.
- */
- protected String getTagAttributeDescription(final ITagAttribute tagAttr) {return tagAttr.getDescription();}
-
- /**
- * @param tagAttr
- * @return false. subclass should override if ITagAttribute has the metadata.
- */
- protected boolean getTagAttributeIsRequired(final ITagAttribute tagAttr) {return tagAttr.isRequired();}
-
- /**
- * @param tagAttr
- * @return null. subclass should override if ITagAttribute has the metadata.
- */
- protected String getTagAttributeDefaultValue(final ITagAttribute tagAttr) {return null;}
-
- /**
- * @param tag
- * @return false. subclass should override if ITagElement has the metadata.
- */
- protected boolean getTagIsHidden(final ITagElement tag) {return false;}
-
- /**
- * @param tag
- * @return false. subclass should override if ITagElement has the metadata.
- */
- protected boolean getTagIsExpert(final ITagElement tag) {return false;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagLargeIcon(final ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagSmallIcon(ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagDescription(final ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return tag.getElementName()
- */
- protected String getTagDisplayName(ITagElement tag) {return tag.getName();}
-
- /**
- * Creates standard traits for tag file entity from CMDocument metadata
- * @param ns
- */
- protected void createTagfileTraits(final Namespace ns) {
- Model model = getMergedModel();
-
- createSimpleStringEntityTraitIfNecessary(model, "display-label", getNamespaceDisplayLabel()); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(model, "description", getNamespaceDescription()); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(model, "default-prefix", getNamespaceDefaultPrefix()); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(model, "expert", getNamespaceExpert()); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(model, "hidden", getNamespaceHidden()); //$NON-NLS-1$
-
- }
-
- /**
- * @return the display label to use for this model. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDisplayLabel(){
- return getMergedModel().getId();
- }
-
- /**
- * @return default prefix to use for tags. Returns null. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDefaultPrefix(){
- return null;
- }
-
- /**
- * @return description to use. Default is the URI. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDescription(){
- return getMergedModel().getId();
- }
-
- /**
- * @return false. Subclasses should override if model has the meta data.
- */
- protected boolean getNamespaceExpert() { return false;}
-
- /**
- * @return false. Subclasses should override if model has the meta data.
- */
- protected boolean getNamespaceHidden() {
-// Model model = (Model)_assistant.getMergedModel().getRoot();
-// if (model != null) {
-// return model.getChildEntities().size() == 0 ? true : false;
-// }
- return false;
- }
-
- /**
- * @return a model of all entities and traits
- */
- protected Model getMergedModel() {
- Model model = (Model)_assistant.getMergedModel().getRoot();
- if (model == null){
- //need to create model key object
- Model tld = createTLDModel();
- _assistant.getMergedModel().setRoot(tld);
- model = (Model)_assistant.getMergedModel().getRoot();
- }
- return model;
- }
-
- /**
- * @return new model
- */
- protected Model createTLDModel() {
- final Model entity = getFactory().createModel();
- entity.setId(_assistant.getMergedModel().getModelContext().getModelIdentifier());
- return entity;
- }
-
- private MetadataFactory getFactory(){
- return (MetadataFactory) MetadataPackage.eINSTANCE.getEFactoryInstance();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataLocator.java
deleted file mode 100644
index d735b7b19..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataLocator.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.metadata.internal.AbstractMetaDataLocator;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataLocator;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IPathSensitiveMetaDataLocator;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-
-/**
- * Locator of tag library meta data
- *
- */
-public class TaglibMetaDataLocator extends AbstractMetaDataLocator implements IPathSensitiveMetaDataLocator{
- //project must be set to the current project context during locate only... should not be used when noifying observers
- private IProject _project;
- private TaglibMetaDataSource _source;
-
-// private boolean _notificationEventOccuring;
-
- /**
- * Constructor
- */
- public TaglibMetaDataLocator(){
- super();
- }
-
- public List/*<IMetaDataModelProvider>*/ locateMetaDataModelProviders(String uri) {
- List ret = new ArrayList();
- CMDocument doc = null;
-
- if (uri == null){
- return ret;
- }
- else if (uri.equalsIgnoreCase(CMDocType.HTML_DOC_TYPE)){
- doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
- }
- else if (uri.equalsIgnoreCase(CMDocType.JSP11_DOC_TYPE)){
- doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
- }
- else if (uri.equalsIgnoreCase(CMDocType.JSP12_DOC_TYPE)){
- doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP12_DOC_TYPE);
- }
- else if (uri.equalsIgnoreCase(CMDocType.JSP20_DOC_TYPE)){
- doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP20_DOC_TYPE);
- }
- else if (_project != null ){//TLD
- CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
- ITaglibRecord[] tldRecs = TaglibIndex.getAvailableTaglibRecords(_project.getFullPath());
- ITaglibRecord tldRec = findTLD(tldRecs, uri);
- if (tldRec != null)
- doc = factory.createCMDocument(tldRec);
- }
-
- if (doc != null){
- _source = new TaglibMetaDataSource(doc);
- ret.add(_source);
- }
-
- return ret;
- }
-
- private ITaglibRecord findTLD(ITaglibRecord[] tldRecs, String uri) {
- for (int i=0;i<tldRecs.length;i++){
- ITaglibRecord tldRec = tldRecs[i];
- String tldRecURI = CMUtil.getURIFromTaglibRecord(tldRec, _project);
- if (uri.equals(tldRecURI))
- return tldRec;
- }
-
- return null;
- }
-
- public void startLocating() {
-// TaglibIndex.addTaglibIndexListener(this);
- }
- public void stopLocating() {
-// TaglibIndex.removeTaglibIndexListener(this);//non-api call.... danger
- }
-
- //not currently listening, so will not be called
-// public void indexChanged(ITaglibIndexDelta delta) {
-//// System.out.println("-----------------------"); //$NON-NLS-1$
-// if (delta.getProject() == _project) {
-// for (ITaglibIndexDelta d : delta.getAffectedChildren()) {
-// System.out.println(">>delta: "+d.getTaglibRecord()+"\n"+d.getKind()); //$NON-NLS-1$ //$NON-NLS-2$
-// String eventURI = CMUtil.createURIFromTaglibRecord(d.getTaglibRecord(), _project);
-// if (eventURI != null){
-//// System.out.println(">>>eventURI: "+eventURI); //$NON-NLS-1$
-// if (!_notificationEventOccuring){
-// try {
-// _notificationEventOccuring = true;
-// int type = adaptTagLibEvent(delta);
-// IMetaDataChangeNotificationEvent mdEvent = new MetaDataChangeNotificationEvent(this, eventURI, type);
-// fireEvent(mdEvent);
-// } finally {
-// _notificationEventOccuring = false;
-// }
-// }
-// }
-// }
-// }
-// }
-
-// private int adaptTagLibEvent(ITaglibIndexDelta event) {
-// switch (event.getKind()){
-// case ITaglibIndexDelta.ADDED:
-// return IMetaDataChangeNotificationEvent.ADDED;
-// case ITaglibIndexDelta.REMOVED:
-// return IMetaDataChangeNotificationEvent.REMOVED;
-// default:
-// return IMetaDataChangeNotificationEvent.CHANGED;
-// }
-// }
-//
-// private void fireEvent(final IMetaDataChangeNotificationEvent event) {
-// SafeRunnable.run(new ISafeRunnable(){
-//
-// public void handleException(Throwable exception) {
-// // TODO Auto-generated method stub
-// }
-//
-// public void run() throws Exception {
-// Iterator it = getObservers().iterator();
-// while (it.hasNext()){
-// IMetaDataObserver observer = (IMetaDataObserver)it.next();
-// observer.notifyMetadataChanged(event);
-// }
-// }
-//
-// });
-//
-// }
-
- public void setProjectContext(IProject project) {
- this._project = project;
- }
-
- private class TaglibMetaDataSource implements IMetaDataSourceModelProvider{
-
- private CMDocument doc;
- private IMetaDataLocator locator;
-
- TaglibMetaDataSource(CMDocument doc){
- super();
- this.doc = doc;
- }
-
- public Object getSourceModel() {
- return doc;
- }
-
- public IMetaDataLocator getLocator() {
- return locator;
- }
-
- public void setLocator(IMetaDataLocator locator) {
- this.locator = locator;
- }
-
- public Object getAdapter(Class klass) {
- return null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataTLDTranslator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataTLDTranslator.java
deleted file mode 100644
index fbc33c38f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/TaglibMetaDataTLDTranslator.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.internal.AbstractTagLibDomainContentModelMetaDataTranslator;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDAttributeDeclaration;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-
-/**
- * Translates a TLD CMDocument to standard metadata model entities and traits
- *
- */
-public class TaglibMetaDataTLDTranslator extends AbstractTagLibDomainContentModelMetaDataTranslator implements IMetaDataTranslator {
-
- public boolean canTranslate(IMetaDataSourceModelProvider modelProvider) {
- if (modelProvider != null &&
- modelProvider.getSourceModel() instanceof TLDDocument)
- return true;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator#translate(org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant)
- */
- public void translate(final IMetaDataModelMergeAssistant assistant) {
- setAssistant(assistant);
- CMDocument doc = getSourceModel();
- if (doc instanceof TLDDocument){
- doTranslate(doc);
-
- }
- }
-
- @Override
- protected void createTagfileTraits(CMDocument doc) {
- super.createTagfileTraits(doc);
- TLDDocument tldDoc = (TLDDocument)doc;
- //add special model trait if this comes from a TagDir
- if (CMUtil.isTagDirDocument(tldDoc, getProject())){
- Model model = getMergedModel();
- createSimpleBooleanObjectEntityTraitIfNecessary(model, "isTagDir", true); //$NON-NLS-1$
- }
- }
-
-
-
- private IProject getProject() {
- return (IProject)_assistant.getMergedModel().getModelContext().getAdapter(IProject.class);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.common.metadata.internal.AbstractTagLibDomainContentModelMetaDataTranslator#getURIDefaultPrefix()
- */
- protected String getURIDefaultPrefix(){
- return getTLDDocument().getShortname();
- }
-
- /**
- * @param tag
- * @return the tag.getDisplayName() if available
- */
- protected String getTagDisplayLabel(CMElementDeclaration tag){
- String label = ((TLDElementDeclaration)tag).getDisplayName();
- if (label == null)
- label = super.getTagDisplayName(tag);
- return label;
- }
-
- /**
- * @param tag
- * @return the tag.getDescription() if available
- */
- protected String getTagDescription(CMElementDeclaration tag){
- String desc = ((TLDElementDeclaration)tag).getDescription();
- if (desc == null)
- desc = super.getTagDescription(tag);
- return desc;
- }
-
- /**
- * @param tag
- * @return the tag.getSmallIcon() if available
- */
- protected String getTagSmallIcon(CMElementDeclaration tag){
- String smallIcon = ((TLDElementDeclaration)tag).getSmallIcon();
- if (smallIcon == null)
- smallIcon = super.getTagSmallIcon(tag);
- return smallIcon;
- }
-
- /**
- * @param tag
- * @return the tag.getLargeIcon() if available
- */
- protected String getTagLargeIcon(CMElementDeclaration tag){
- String largeIcon = ((TLDElementDeclaration)tag).getLargeIcon();
- if (largeIcon == null)
- largeIcon = super.getTagLargeIcon(tag);
- return largeIcon;
- }
-
- /**
- * @return the tag.getDescription() if available
- */
- protected String getURIDescription() {
- return getTLDDocument().getDescription();
- }
-
- /**
- * @return the tag.getDisplayName()
- */
- protected String getURIDisplayLabel() {
- return getTLDDocument().getDisplayName();
- }
-
- /**
- * @return the tld document for the source model
- */
- protected TLDDocument getTLDDocument(){
- return (TLDDocument)getSourceModel();
- }
-
- @Override
- protected String getTagAttributeDescription(CMAttributeDeclaration cmAttr) {
- String desc = ((TLDAttributeDeclaration)cmAttr).getDescription();
- if (desc == null)
- desc = super.getTagAttributeDescription(cmAttr);
- return desc;
- }
-
- @Override
- protected boolean getTagAttributeIsRequired(CMAttributeDeclaration cmAttr) {
- // TODO Auto-generated method stub
- return super.getTagAttributeIsRequired(cmAttr);
- }
-
- @Override
- protected String getTagAttributeDefaultValue(CMAttributeDeclaration cmAttr) {
- String val = ((TLDAttributeDeclaration)cmAttr).getAttrType().generateInstanceValue();
- if (val == null)
- val = super.getTagAttributeDefaultValue(cmAttr);
- return val;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/messages.properties
deleted file mode 100644
index c8fd3eb9c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/messages.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-HTMLContentModelMetaDataTranslator_Label=HTML 4.0
-HTMLContentModelMetaDataTranslator_Desc=HTML Tags
-JSPContentModelMetaDataTranslator_Desc=JSP Tags
-JSPContentModelMetaDataTranslator_Label=JSP
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/package-info.java
deleted file mode 100644
index d12392b5d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Core Framework API.
- */
-package org.eclipse.jst.jsf.core;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/MemberConstraint.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/MemberConstraint.java
deleted file mode 100644
index db1ff6044..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/MemberConstraint.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.set.constraint;
-
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.sets.AxiomaticSet;
-import org.eclipse.jst.jsf.common.sets.constraint.AbstractSetConstraint;
-
-/**
- * A set constraint that is satisfied if a test set contains all of the specified
- * mustBeMembers.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class MemberConstraint extends AbstractSetConstraint
-{
- private final AxiomaticSet _mustBeMembers;
-
- /**
- * @param mustBeMembers -- the set of objects that must occur in the
- * input set for the constraint to satisfy.
- */
- public MemberConstraint(AxiomaticSet mustBeMembers)
- {
- _mustBeMembers = mustBeMembers;
- }
-
- /**
- * Members of set must be comparable with thos in mustBeMembers using equals()
- * @param set
- * @return whether or not the constraint is satisfied. If not satisfied, the
- * diagnostic's data array will contain the objects that are missing.
- */
- public Diagnostic isSatisfied(AxiomaticSet set)
- {
- // the constraint is satisfied iff _mustBeMembers is a subset
- // of set. In other words, if every member of _mustBeMembers
- // is also in set.
-
- // we want to take _mustBeMembers - set. If the result is empty, then
- // all of the required elements are members of set. If the set is non-empty,
- // this tells us what is missing
- final AxiomaticSet complement = _mustBeMembers.subtract(set);
-
- if (complement.isEmpty())
- {
- return Diagnostic.OK_INSTANCE;
- }
-
- return new BasicDiagnostic(Diagnostic.ERROR, this.getClass().getName(),
- 0, Messages.MemberConstraint_Failure, complement.toArray());
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/Messages.java
deleted file mode 100644
index 5442a637e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.core.set.constraint;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.set.constraint.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String MemberConstraint_Failure;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/messages.properties
deleted file mode 100644
index e2bf87098..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-MemberConstraint_Failure=Failed membership constraint
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/package-info.java
deleted file mode 100644
index 27a36920f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/constraint/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Core Set Constraints.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.set.constraint;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/ElementToTagIdentifierMapping.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/ElementToTagIdentifierMapping.java
deleted file mode 100644
index 5af60bf39..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/ElementToTagIdentifierMapping.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.set.mapping;
-
-import org.eclipse.jst.jsf.common.sets.mapping.AbstractObjectInjectiveSetMapping;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.w3c.dom.Element;
-
-/**
- * Converts a set of DOM element's to a set of (object) injective set
- * of TagIdentifiers. If the element is a JSP tag, the tag uri will
- * be looked up.
- *
- * IMPORTANT: the returned TagIdentifiers are wrapper objects, so they only
- * maintain immutability and idempotency as long as the input dom elements
- * do not change.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class ElementToTagIdentifierMapping extends
- AbstractObjectInjectiveSetMapping
-{
- public Object map(Object element) {
- Element domElement = (Element) element;
- return TagIdentifierFactory.createDocumentTagWrapper(domElement);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/package-info.java
deleted file mode 100644
index 52c667a02..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/set/mapping/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Core Set Mapping.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.set.mapping;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/EvaluationException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/EvaluationException.java
deleted file mode 100644
index 0774212d4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/EvaluationException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.tagmatcher;
-
-/**
- * Wraps an exception thrown during algorithm evaluation
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class EvaluationException extends RuntimeException {
-
- /**
- *
- */
- private static final long serialVersionUID = -3250608181004283586L;
-
- /**
- *
- */
- public EvaluationException() {
- super();
- }
-
- /**
- * @param message
- */
- public EvaluationException(String message) {
- super(message);
- }
-
- /**
- * @param cause
- */
- public EvaluationException(Throwable cause) {
- super(cause);
- }
-
- /**
- * @param message
- * @param cause
- */
- public EvaluationException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/InvalidExpressionException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/InvalidExpressionException.java
deleted file mode 100644
index 2651db8bf..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/InvalidExpressionException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.tagmatcher;
-
-/**
- * Indicates an exception trapped while compiling or evaluating an
- * expression.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class InvalidExpressionException extends RuntimeException {
- /**
- *
- */
- private static final long serialVersionUID = 1445871263234840885L;
-
- /**
- * @see RuntimeException
- */
- public InvalidExpressionException() {
- super();
- }
-
- /**
- * @param message
- * @param cause
- */
- public InvalidExpressionException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * @param message
- */
- public InvalidExpressionException(String message) {
- super(message);
- }
-
- /**
- * @param cause
- */
- public InvalidExpressionException(Throwable cause) {
- super(cause);
- }
-
-
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/TagMatchingAlgorithm.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/TagMatchingAlgorithm.java
deleted file mode 100644
index 2a4a283b6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/TagMatchingAlgorithm.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.tagmatcher;
-
-import org.eclipse.jst.jsf.common.sets.AxiomaticSet;
-import org.w3c.dom.Node;
-
-/**
- * An algorithm that can be applied at a particular DOM node. The result
- * may be expressed as a boolean or a set of matching nodes. The following
- * are equivalent:
- *
- * false and empty set
- * true and non-empty set
- *
- * Concrete implementations must be idempotent on evaluate():
- *
- * 1) evaluate(node) must always return the same set if called repeatedly on
- * the same node in the same DOM tree.
- * 2) evaluate must be able to be called on any number of nodes in order and always
- * produce the same result independent of what was called before and in what order.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public abstract class TagMatchingAlgorithm
-{
- private boolean _isInvalid; // = false;
-
- private boolean _isInitialized;
- /**
- * The expression being passed to the algorithm
- */
- protected final String _expression;
-
- /**
- * Constructor.
- *
- * @param expression
- */
- protected TagMatchingAlgorithm(String expression)
- {
- _expression = expression;
- }
-
- /**
- * Called exactly once to initialize any pre-evaluation setup for
- * the expression set for the algorithm. This is public to allow
- * the client control when this initialization occurs in case it is expensive.
- * evaluate() will call this method automatically if it has never been called
- * @throws InvalidExpressionException if the underlying algorithm throws an
- * exception during init
- * @throws IllegalStateException if it has already been determined that the
- * expression is invalid.
- */
- public final void initialize()
- {
- if (_isInvalid)
- {
- throw new IllegalStateException("Expression: "+_expression+" has already been determined to be invalid"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (!_isInitialized)
- {
- try
- {
- doInitialize();
- }
- catch (Exception e)
- {
- _isInvalid = true;
- throw new InvalidExpressionException(e);
- }
- _isInitialized = true;
- }
- }
-
- /**
- * @param applyTo
- * @return the set matching the configured expression applied to applyTo
- * using the algorithm represented by this instance.
- * @throws InvalidExpressionException of a problem occurs initializing the expression
- * @throws EvaluationException if the internal algorithm throws an exception while
- * evaluating.
- * @throws IllegalStateException if evaluate is called again once InvalidExpressionException
- * has already been thrown.
- */
- public final AxiomaticSet evaluate(Node applyTo)
- {
- initialize();
- return doEvaluate(applyTo);
- }
-
- /**
- * Implementers must override to the evaluation of the target,expression pair
- * @param target
- * @return the algorithm evaluated with
- */
- protected abstract AxiomaticSet doEvaluate(Node target);
-
- /**
- * Do any initialization that is required before the algorithm is used
- * to evaluate an expression on any node. This will get called exactly once and
- * is guaranteed to be called, at latest, immediately before doEvaluate
- *
- * Method may throw runtime exceptions. These will be repropagated as
- * InvalidExpressionException's with the original exception wrapped.
- * @throws Exception
- */
- protected abstract void doInitialize() throws Exception;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/XPathMatchingAlgorithm.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/XPathMatchingAlgorithm.java
deleted file mode 100644
index 9ce74dddb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/XPathMatchingAlgorithm.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.core.tagmatcher;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.jst.jsf.common.sets.AxiomaticSet;
-import org.eclipse.jst.jsf.common.sets.ConcreteAxiomaticSet;
-import org.eclipse.jst.jsf.common.sets.NodeSet;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A algorithm that uses an XPath expression to evaluate a result. The
- * algorithm assumes (although cannot verify beforehand) that the expression
- * provided can be evaluated with a node set return type (see JAXP). If the
- * algorithm's underlying XPath evaluator throws an exception indicating that
- * the return type cannot be coerced to a node set, the algorithm will return
- * an empty set (no match) unless the strictMatching flag is set to true, in which
- * case it will re-throw the exception wrapped as an unchecked EvaluationException.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class XPathMatchingAlgorithm extends TagMatchingAlgorithm
-{
- private final boolean _isStrictMatching;
- private final XPath _xpath;
- private XPathExpression _compiledExpr;
-
- /**
- * @param expression
- */
- public XPathMatchingAlgorithm(String expression)
- {
- this(expression, false);
- }
-
- /**
- * @param expression
- * @param isStrictMatching
- */
- public XPathMatchingAlgorithm(String expression, boolean isStrictMatching)
- {
- super(expression);
- _isStrictMatching = isStrictMatching;
- _xpath = XPathFactory.newInstance().newXPath();
- }
-
- protected AxiomaticSet doEvaluate(Node target)
- {
- try
- {
- NodeList nodeList =
- (NodeList) _compiledExpr.evaluate(target, XPathConstants.NODESET);
- return new NodeSet(nodeList);
- }
- catch (XPathExpressionException xpam)
- {
- if (_isStrictMatching)
- {
- throw new EvaluationException(xpam);
- }
- // if not strict checking, return empty set
- return new ConcreteAxiomaticSet();
- }
- }
-
- protected void doInitialize() throws XPathExpressionException {
- // compile the xpath expr
- _compiledExpr = _xpath.compile(_expression);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/package-info.java
deleted file mode 100644
index 6f1afd539..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/tagmatcher/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Core Tag Matching Support.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.core.tagmatcher;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DTAppManagerUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DTAppManagerUtil.java
deleted file mode 100644
index e26e98a25..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DTAppManagerUtil.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewDefnAdapter;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewDefnAdapterFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewRootHandle;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewDefnAdapter;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-
-/**
- * Utility methods for dealing with {@link DesignTimeApplicationManager}
- *
- * @author cbateman
- *
- */
-public class DTAppManagerUtil
-{
- /**
- * @param context
- * @return the view adapter for context or null if none.
- */
- public static XMLViewDefnAdapter getXMLViewDefnAdapter(
- final IStructuredDocumentContext context)
- {
- final IWorkspaceContextResolver wkResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
-
- final IResource res = wkResolver.getResource();
-
- if (res instanceof IFile)
- {
- final IProject project = res.getProject();
- if (project != null)
- {
- return getXMLViewDefnAdapter(project, (IFile) res);
- }
- }
- // not found
- return null;
- }
-
- /**
- * Equivalent to getXMLViewDefnAdapter(file.getProject(), file)
- *
- * @param file
- * @return the XMLViewDefnAdapter or null
- */
- public static XMLViewDefnAdapter getXMLViewDefnAdapter(final IFile file)
- {
- return getXMLViewDefnAdapter(file.getProject(), file);
- }
-
- /**
- * @param project
- * @param file
- * @return an XMLViewDefnAdapter for file in project or null if not
- * applicable
- */
- public static XMLViewDefnAdapter getXMLViewDefnAdapter(
- final IProject project, final IFile file)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(project);
-
- if (manager == null)
- {
- return null;
- }
- final IDTViewHandler viewHandler =
- DesignTimeApplicationManager.getInstance(project)
- .getViewHandler();
- try
- {
- final DTFacesContext facesContext = manager.getFacesContext(file);
-
- if (facesContext != null)
- {
- final IViewDefnAdapterFactory factory =
- viewHandler.getViewMetadataAdapterFactory(facesContext);
- final IViewDefnAdapter adapter =
- factory.createAdapter(facesContext, viewHandler.getViewId(
- facesContext, file));
-
- if (adapter instanceof XMLViewDefnAdapter)
- {
- return (XMLViewDefnAdapter) adapter;
- }
- }
- }
- catch (final ViewHandlerException e)
- {
- JSFCorePlugin.log(e, ""); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * @param project
- * @return the view handler for project or null if none.
- */
- public static IDTViewHandler getViewHandler(final IProject project)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(project);
-
- if (manager == null)
- {
- return null;
- }
- return DesignTimeApplicationManager.getInstance(project)
- .getViewHandler();
- }
-
- /**
- * @param context
- * @return the view root handle from this context or null if can't get one.
- *
- */
- public static IViewRootHandle getViewRootHandle(final IStructuredDocumentContext context)
- {
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory2.INSTANCE
- .getWorkspaceContextResolver(context);
-
- if (resolver == null)
- {
- return null;
- }
-
- final IResource resource = resolver.getResource();
- if (resource != null)
- {
- IProject project = resource.getProject();
- if (project != null)
- {
- return getViewRootHandle(resource);
- }
- }
- return null;
- }
-
- /**
- * @param res
- * @return the view root handle for the resource
- */
- public static IViewRootHandle getViewRootHandle(final IResource res)
- {
- final DesignTimeApplicationManager manager = DesignTimeApplicationManager
- .getInstance(res.getProject());
-
- if (manager != null)
- {
- if (res instanceof IFile)
- {
- final DTFacesContext facesContext = manager
- .getFacesContext((IFile) res);
- if (facesContext != null)
- {
- return facesContext.getViewRootHandle();
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DesignTimeApplicationManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DesignTimeApplicationManager.java
deleted file mode 100644
index 097fbd646..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/DesignTimeApplicationManager.java
+++ /dev/null
@@ -1,867 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.common.internal.resource.EventResult;
-import org.eclipse.jst.jsf.common.internal.resource.IResourceLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.LifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.designtime.context.AbstractDTExternalContextFactory;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.context.IExternalContextFactoryLocator;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTMethodResolver;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTPropertyResolver;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTVariableResolver;
-import org.eclipse.jst.jsf.designtime.internal.BasicExtensionFactory.ExtensionData;
-import org.eclipse.jst.jsf.designtime.internal.view.AbstractDTViewHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Per-web-application manager that manages design time information for a
- * corresponding project.
- *
- * TODO: migrate to managed singleton
- *
- * @author cbateman
- *
- */
-public final class DesignTimeApplicationManager
-{
- private static final String SETTINGS_DIR_NAME = ".settings"; //$NON-NLS-1$
- private static final String ORG_ECLIPSE_JST_JSF_DESIGNTIME_APPMGR_PREFS = "org.eclipse.jst.jsf.designtime.appmgr.prefs"; //$NON-NLS-1$
-
- private static final String PROPERTY_QUALIFIER = "org.eclipse.jst.jsf.designtime.internal"; //$NON-NLS-1$
- private static final String SESSION_PROPERTY_NAME_PROJECT = "DesignTimeApplicationManager"; //$NON-NLS-1$
- private static final QualifiedName SESSION_PROPERTY_KEY_PROJECT = new QualifiedName(
- PROPERTY_QUALIFIER,
- SESSION_PROPERTY_NAME_PROJECT);
-
- private static final String PERSIST_PROPERTY_NAME_EXTERNAL_CONTEXT_PROVIDER = "ExternalContextProvider"; //$NON-NLS-1$
- private static final QualifiedName PERSIST_PROPERTY_KEY_EXTERNAL_CONTEXT_PROVIDER = new QualifiedName(
- PROPERTY_QUALIFIER,
- PERSIST_PROPERTY_NAME_EXTERNAL_CONTEXT_PROVIDER);
-
- private static final String PERSIST_PROPERTY_NAME_VARIABLE_RESOLVER_PROVIDER = "VariableResolverProvider"; //$NON-NLS-1$
- private static final QualifiedName PERSIST_PROPERTY_KEY_VARIABLE_RESOLVER_PROVIDER = new QualifiedName(
- PROPERTY_QUALIFIER,
- PERSIST_PROPERTY_NAME_VARIABLE_RESOLVER_PROVIDER);
-
- private static final String PERSIST_PROPERTY_NAME_PROPERTY_RESOLVER_PROVIDER = "PropertyResolverProvider"; //$NON-NLS-1$
- private static final QualifiedName PERSIST_PROPERTY_KEY_PROPERTY_RESOLVER_PROVIDER = new QualifiedName(
- PROPERTY_QUALIFIER,
- PERSIST_PROPERTY_NAME_PROPERTY_RESOLVER_PROVIDER);
-
- private static final String PERSIST_PROPERTY_NAME_METHOD_RESOLVER_PROVIDER = "MethodResolverProvider"; //$NON-NLS-1$
- private static final QualifiedName PERSIST_PROPERTY_KEY_METHOD_RESOLVER_PROVIDER = new QualifiedName(
- PROPERTY_QUALIFIER,
- PERSIST_PROPERTY_NAME_METHOD_RESOLVER_PROVIDER);
-
- private static final String PERSIST_PROPERTY_NAME_VIEW_HANDLER = "ViewHandler"; //$NON-NLS-1$
-
- private static final String DEFAULT_EXTERNAL_CONTEXT_ID = "org.eclipse.jst.jsf.core.externalcontext.default"; //$NON-NLS-1$
-
- private static final String DEFAULT_VARIABLE_RESOLVER_ID = "org.eclipse.jst.jsf.core.variableresolver.default.decorative"; //$NON-NLS-1$
-
- private static final String DEFAULT_PROPERTY_RESOLVER_ID = "org.eclipse.jst.jsf.core.propertyresolver.default.decorative"; //$NON-NLS-1$
-
- private static final String DEFAULT_METHOD_RESOLVER_ID = "org.eclipse.jst.jsf.core.methodresolver.default"; //$NON-NLS-1$
-
- private static final String PRE_20_DEFAULT_VIEW_HANDLER_ID = "org.eclipse.jst.jsf.designtime.view.jspviewhandler"; //$NON-NLS-1$
- private static final String JSF_20_DEFAULT_VIEW_HANDLER_ID = "org.eclipse.jst.jsf.facelet.core.html.viewhandler"; //$NON-NLS-1$
-
- private static final Object GET_INSTANCE_LOCK = new Object();
-
- /**
- * @param project
- * @return the app manager associated with project
- */
- public static DesignTimeApplicationManager getInstance(
- final IProject project)
- {
- if (!hasJSFDesignTime(project))
- {
- return null;
- }
-
- try
- {
- synchronized (GET_INSTANCE_LOCK)
- {
- DesignTimeApplicationManager manager = (DesignTimeApplicationManager) project
- .getSessionProperty(SESSION_PROPERTY_KEY_PROJECT);
-
- if (manager != null && !project.equals(manager._project))
- {
- if (!manager._isDisposed.get())
- {
- manager.dispose();
- }
- // bug 147729: pretend we starting with a new project (we kind of are)
- manager = null;
- }
-
- if (manager == null)
- {
- manager = new DesignTimeApplicationManager(project);
- project.setSessionProperty(SESSION_PROPERTY_KEY_PROJECT,
- manager);
- }
-
- return manager;
- }
- }
- catch (final CoreException ce)
- {
- Platform
- .getLog(JSFCorePlugin.getDefault().getBundle())
- .log(
- new Status(
- IStatus.ERROR,
- JSFCorePlugin.getDefault().getBundle()
- .getSymbolicName(),
- 0,
- "Problem loading design time appmanager", new Exception(ce))); //$NON-NLS-1$
- }
-
- return null;
- }
-
-// private void checkAndMaybeUpdateProject(final IProject project)
-// {
-// boolean needsPropertyStore = false;
-//
-// synchronized(this)
-// {
-// if (!project.equals(_project))
-// {
-// _lifecycleListener.removeResource(_project);
-// _project = project;
-// _lifecycleListener.addResource(_project);
-// _properties.setProject(project);
-// needsPropertyStore = true;
-// }
-// }
-//
-// if (needsPropertyStore)
-// {
-// _properties.store();
-// }
-// }
-
- private synchronized void dispose()
- {
- if (_isDisposed.compareAndSet(false, true))
- {
- // dispose viewhandler
- removeViewHandler();
- _lifecycleListener.dispose();
- _facesContexts.clear();
- }
- }
-
- /**
- * <p>
- * The criteria for a project having a JSF design time are:
- * </p>
- *
- * <ul>
- * <li>project is non-null.</li>
- * <li>project is accessible (project.isAccessible() == true)</li>
- * <li>project has a JSF facet (this implies that it's dependent facets are
- * also present).</li>
- * </ul>
- *
- * @param project
- * @return true if project can have a JSF DesignTimeApplicationManager
- * associated with it. getInstance(project) uses this determine if
- * should construct an instance for a project.
- */
- public static boolean hasJSFDesignTime(final IProject project)
- {
- return project != null && project.isAccessible()
- && JSFAppConfigUtils.isValidJSFProject(project);
- }
-
- // instance definition
- // _project must be writable in case the manager needs to be retargetted
- // after a rename/move etc.
- private final IProject _project;
- private final IExternalContextFactoryLocator _locator;
- private final LifecycleListener _lifecycleListener;
- private final AtomicBoolean _isDisposed;
- private final ViewHandlerManager _viewHandlerManager;
- private final Map<IFile, DTFacesContext> _facesContexts;
-
- private DesignTimeApplicationManager(final IProject project)
- {
- _project = project;
- _locator = new MyExternalContextFactoryLocator();
- _isDisposed = new AtomicBoolean();
- _lifecycleListener = new LifecycleListener(_project, ResourcesPlugin.getWorkspace());
- _lifecycleListener.addListener(new IResourceLifecycleListener()
- {
- public EventResult acceptEvent(final ResourceLifecycleEvent event)
- {
- if (event.getAffectedResource() == _project)
- {
- if (event.getEventType() == ResourceLifecycleEvent.EventType.RESOURCE_INACCESSIBLE
- && event.getReasonType() == ResourceLifecycleEvent.ReasonType.RESOURCE_PROJECT_CLOSED)
- {
- dispose();
- }
- }
- return EventResult.getDefaultEventResult();
- }
- });
-
- final PropertyFileManager properties = new PropertyFileManager(_project);
-
- _viewHandlerManager = new ViewHandlerManager(properties);
- _facesContexts = new HashMap<IFile, DTFacesContext>();
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @param file
- * must not be null
- * @return the faces context for the file or null if not found
- */
- public DTFacesContext getFacesContext(final IFile file)
- {
- checkIsDisposed();
- if (!hasDTFacesContext(file))
- {
- return null;
- }
-
- synchronized (_facesContexts)
- {
- DTFacesContext context = _facesContexts.get(file);
- if (context == null)
- {
- context = new DTFacesContext(file, _locator);
- context.initialize(_lifecycleListener);
- _facesContexts.put(file, context);
- }
- return context;
- }
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * Only files for which a runtime request context will be generated have a
- * corresponding design time context. This is generally confined to view
- * definition files such as JSP's.
- *
- * General criteria for a file to have a design time faces context are: -
- * the file is non-null and isAccessible() - the file has designtime view
- * handler (getViewHandler(file) != null) and it supports the content type
- * of file.
- *
- * getFacesContext uses this to decide whether to generate a context for an
- * IFile.
- *
- * @param file
- * @return true if file has a design time faces context
- */
- public boolean hasDTFacesContext(final IFile file)
- {
- checkIsDisposed();
- final IDTViewHandler viewHandler = getViewHandler();
-
- if (file != null && file.isAccessible() && viewHandler != null
- && viewHandler.supportsViewDefinition(file))
- {
- return true;
- }
- return false;
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the design time view handler for this webapp (project).
- */
- public IDTViewHandler getViewHandler()
- {
- checkIsDisposed();
- /* NOTE: it is critical that view handler calls _NEVER_ take the
- DesignTimeApplicationManager lock. let ViewHandlerManager manage it
- instead.*/
- return _viewHandlerManager.getViewHandler(_project, _lifecycleListener);
- }
-
- /**
- * Remove and dispose of any currently registered view handler
- */
- private void removeViewHandler()
- {
- /* NOTE: it is critical that view handler calls _NEVER_ take the
- DesignTimeApplicationManager lock. let ViewHandlerManager manage it
- instead.*/
- _viewHandlerManager.removeViewHandler(_project);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * Sets the persistent id on this project that will be used to load the view
- * handler.
- *
- * @param viewHandlerId
- */
- public void setViewHandlerId(final String viewHandlerId)
- {
- checkIsDisposed();
- /* NOTE: it is critical that view handler calls _NEVER_ take the
- DesignTimeApplicationManager lock. let ViewHandlerManager manage it
- instead.*/
- _viewHandlerManager.setViewHandlerId(_project, viewHandlerId);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @param resolverPluginId
- * @throws CoreException
- */
- public synchronized void setExternalContextProvider(
- final String resolverPluginId) throws CoreException
- {
- checkIsDisposed();
- _project.setPersistentProperty(
- PERSIST_PROPERTY_KEY_EXTERNAL_CONTEXT_PROVIDER,
- resolverPluginId);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the id of the active design time external context provider
- */
- public synchronized String getExternalContextProvider()
- {
- checkIsDisposed();
- return getResolverId(PERSIST_PROPERTY_KEY_EXTERNAL_CONTEXT_PROVIDER,
- DEFAULT_EXTERNAL_CONTEXT_ID);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the designtime variable resolver for this application
- */
- public synchronized AbstractDTVariableResolver getVariableResolver()
- {
- checkIsDisposed();
- ExtensionData<AbstractDTVariableResolver> extData = null;
-
- final String id = getResolverId_OLD(PERSIST_PROPERTY_KEY_VARIABLE_RESOLVER_PROVIDER);
- if (id != null)
- {
- extData = JSFCorePlugin.getVariableResolvers(id);
- }
-
- if (extData == null)
- {
- extData = JSFCorePlugin
- .getVariableResolvers(DEFAULT_VARIABLE_RESOLVER_ID);
- }
-
- return extData.getInstance(_project);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * Sets the plugin used to determine the designtime variable resolver. To
- * reset to the default, pass null.
- *
- * @param resolverPluginId
- * @throws CoreException --
- * if the setting the new value fails
- */
- public synchronized void setVariableResolverProvider(
- final String resolverPluginId) throws CoreException
- {
- checkIsDisposed();
- _project.setPersistentProperty(
- PERSIST_PROPERTY_KEY_VARIABLE_RESOLVER_PROVIDER,
- resolverPluginId);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the id of the active design time variable resolver
- */
- public synchronized String getVariableResolverProvider()
- {
- checkIsDisposed();
- return getResolverId(PERSIST_PROPERTY_KEY_VARIABLE_RESOLVER_PROVIDER,
- DEFAULT_VARIABLE_RESOLVER_ID);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the default property resolver that will be used if no other is
- * provided. The default property resolver is intended to match the
- * similar resolver used by the runtime.
- */
- public synchronized AbstractDTPropertyResolver getDefaultPropertyResolver()
- {
- checkIsDisposed();
- return JSFCorePlugin.getPropertyResolver(DEFAULT_PROPERTY_RESOLVER_ID)
- .getInstance(_project);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the designtime property resolver for this application
- */
- public synchronized AbstractDTPropertyResolver getPropertyResolver()
- {
- checkIsDisposed();
-
- ExtensionData<AbstractDTPropertyResolver> extData = null;
-
- final String id = getResolverId_OLD(PERSIST_PROPERTY_KEY_PROPERTY_RESOLVER_PROVIDER);
- if (id != null)
- {
- extData = JSFCorePlugin.getPropertyResolver(id);
- }
-
- if (extData == null)
- {
- extData = JSFCorePlugin
- .getPropertyResolver(DEFAULT_PROPERTY_RESOLVER_ID);
- }
-
- return extData.getInstance(_project);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @param resolverPluginId
- * @throws CoreException --
- * if setting the provider fails
- */
- public synchronized void setPropertyResolverProvider(
- final String resolverPluginId) throws CoreException
- {
- checkIsDisposed();
- _project.setPersistentProperty(
- PERSIST_PROPERTY_KEY_PROPERTY_RESOLVER_PROVIDER,
- resolverPluginId);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the id of the active design time variable resolver
- */
- public synchronized String getPropertyResolverProvider()
- {
- checkIsDisposed();
- return getResolverId(PERSIST_PROPERTY_KEY_PROPERTY_RESOLVER_PROVIDER,
- DEFAULT_PROPERTY_RESOLVER_ID);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the designtime method resolver for this application
- */
- public synchronized AbstractDTMethodResolver getMethodResolver()
- {
- checkIsDisposed();
- ExtensionData<AbstractDTMethodResolver> extData = null;
-
- final String id = getResolverId_OLD(PERSIST_PROPERTY_KEY_METHOD_RESOLVER_PROVIDER);
- if (id != null)
- {
- extData = JSFCorePlugin.getMethodResolvers(id);
- }
-
- if (extData == null)
- {
- extData = JSFCorePlugin
- .getMethodResolvers(DEFAULT_METHOD_RESOLVER_ID);
- }
-
- return extData.getInstance(_project);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @param resolverPluginId
- * @throws CoreException --
- * if setting the plugin fails
- */
- public synchronized void setMethodResolverProvider(
- final String resolverPluginId) throws CoreException
- {
- checkIsDisposed();
- _project
- .setPersistentProperty(
- PERSIST_PROPERTY_KEY_METHOD_RESOLVER_PROVIDER,
- resolverPluginId);
- }
-
- /**
- * Method is thread-safe and may block the caller.
- *
- * @return the id of the active design time variable resolver
- */
- public synchronized String getMethodResolverProvider()
- {
- checkIsDisposed();
- return getResolverId(PERSIST_PROPERTY_KEY_METHOD_RESOLVER_PROVIDER,
- DEFAULT_METHOD_RESOLVER_ID);
- }
-
- private String getResolverId_OLD(final QualifiedName pluginKey)
- {
- String pluginId = null;
-
- try
- {
- pluginId = _project.getPersistentProperty(pluginKey);
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,
- "Error getting plugin property", //$NON-NLS-1$
- ce));
- pluginId = null;
- // fall-through and use the default
- }
-
- return pluginId;
- }
-
- private String getResolverId(final QualifiedName key,
- final String defaultValue)
- {
- String id = defaultValue;
-
- try
- {
- final String userId = _project.getPersistentProperty(key);
-
- if (userId != null)
- {
- id = userId;
- }
- }
- catch (final CoreException ce)
- {
- // do nothing; fall through and return default
- }
-
- return id;
- }
-
- private class MyExternalContextFactoryLocator implements
- IExternalContextFactoryLocator
- {
- public AbstractDTExternalContextFactory getFactory()
- {
- ExtensionData<AbstractDTExternalContextFactory> extData = null;
-
- final String id = getResolverId_OLD(PERSIST_PROPERTY_KEY_EXTERNAL_CONTEXT_PROVIDER);
- if (id != null)
- {
- extData = JSFCorePlugin.getExternalContextProviders(id);
- }
-
- if (extData == null)
- {
- extData = JSFCorePlugin
- .getExternalContextProviders(DEFAULT_EXTERNAL_CONTEXT_ID);
- }
-
- return extData.getInstance(_project);
- }
- }
-
- private void checkIsDisposed()
- {
- // TODO: need to add isDisposed to this and throw an exception
- // for now, we just log what's happening to aid debugging
- if (_isDisposed.get())
- {
- JSFCorePlugin
- .log(
- "A call to a disposed DesignTimeApplicationManager was attempted", //$NON-NLS-1$
- new Throwable(
- "This exception is only to record a stack trace")); //$NON-NLS-1$
- }
- }
-
- private static class ViewHandlerManager
- {
- private final PropertyFileManager _propertyFileManager;
-
- ViewHandlerManager(final PropertyFileManager properties)
- {
- _propertyFileManager = properties;
- }
-
- public synchronized void removeViewHandler(final IProject project)
- {
- final String viewHandlerId = getHandlerId(project);
-
- if (viewHandlerId != null)
- {
- final ExtensionData<AbstractDTViewHandler> extData =
- JSFCorePlugin.getViewHandlers(viewHandlerId);
-
- if (extData != null)
- {
- final AbstractDTViewHandler handler = extData.removeInstance(project);
- if (handler != null)
- {
- handler.dispose();
- }
- }
- }
- }
-
- protected String getHandlerId(final IProject project)
- {
- IProjectFacetVersion projectFacet = JSFAppConfigUtils.getProjectFacet(project);
- if (projectFacet != null)
- {
- JSFVersion projectVersion = JSFVersion.valueOfFacetVersion(projectFacet);
-
- String defaultHandler = PRE_20_DEFAULT_VIEW_HANDLER_ID;
-
- // starting with JSF 2.0 a new view handler that first
- // processes as Facelet and then delegates to JSP is
- // used by default
- // TODO: check the web.xml flag that reverts things to 1.2 defaults
- if (projectVersion.compareTo(JSFVersion.V2_0) >= 0)
- {
- defaultHandler = JSF_20_DEFAULT_VIEW_HANDLER_ID;
- }
- final String viewHandlerId = _propertyFileManager
- .getProperty(PERSIST_PROPERTY_NAME_VIEW_HANDLER,
- defaultHandler);
- return viewHandlerId;
- }
- return null;
- }
-
-
- public synchronized IDTViewHandler getViewHandler(
- final IProject project, final LifecycleListener listener)
- {
-
- final String viewHandlerId = getHandlerId(project);
-
- if (viewHandlerId != null)
- {
- ExtensionData<AbstractDTViewHandler> viewHandlers = JSFCorePlugin
- .getViewHandlers(viewHandlerId);
- if (viewHandlers == null)
- {
- viewHandlers = JSFCorePlugin
- .getViewHandlers(PRE_20_DEFAULT_VIEW_HANDLER_ID);
- }
-
- final AbstractDTViewHandler viewHandler = viewHandlers
- .getInstance(project);
- viewHandler.setLifecycleListener(listener);
- return viewHandler;
- }
- return null;
- }
-
- public void setViewHandlerId(final IProject project,
- final String viewHandlerId)
- {
- // remove any previous handler before the id is lost
- removeViewHandler(project);
- _propertyFileManager.setProperty(
- PERSIST_PROPERTY_NAME_VIEW_HANDLER, viewHandlerId);
- }
- }
-
- private static class PropertyFileManager
- {
- private final Properties _properties;
- private IProject _project;
-
- PropertyFileManager(final IProject project)
- {
- _project = project;
- _properties = new Properties();
- load(_project, _properties);
- }
-
- private synchronized IProject getProject()
- {
- return _project;
- }
-
- public void setProperty(final String key, final String value) {
- _properties.setProperty(key, value);
- store();
- }
-
- public String getProperty(final String key, final String defaultValue) {
- return _properties.getProperty(key, defaultValue);
- }
-
- public void store()
- {
- final IWorkspaceRunnable storeJob = new IWorkspaceRunnable()
- {
- public void run(IProgressMonitor monitor) throws CoreException {
- IFile propFile;
-
- try {
- propFile = getPropsFile(getProject());
- if (propFile != null) {
- final ByteArrayOutputStream outstream = new ByteArrayOutputStream();
- // properties will thread-safe save to the array
- // stream
- // no further locking is needed since we have
- // already have a lock
- // on the workspace sub-tree for the settings file
- // if this job
- // is running.
- _properties.store(outstream, null);
- propFile.setContents(new ByteArrayInputStream(
- outstream.toByteArray()), true, true, null);
- }
- } catch (final CoreException e) {
- JSFCorePlugin.log(e, "Problem storing properties"); //$NON-NLS-1$
- } catch (final IOException e) {
- JSFCorePlugin.log(e, "Problem storing properties"); //$NON-NLS-1$
- }
- }
- };
-
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-
- try
- {
- // need to lock the project tree, since may need to create
- // .settings directory
- workspace.run(storeJob, getProject(), IWorkspace.AVOID_UPDATE,
- null);
- } catch (CoreException ce)
- {
- JSFCorePlugin.log(ce, "Problem storing properties"); //$NON-NLS-1$
- }
- }
-
- private static void load(final IProject project,
- final Properties properties)
- {
- try
- {
- final IFile propFile = getPropsFileHandle(project);
-
- if (propFile != null && propFile.isAccessible())
- {
- InputStream inStream = null;
-
- try
- {
- inStream = propFile.getContents();
- properties.load(inStream);
- }
- finally
- {
- if (inStream != null)
- {
- inStream.close();
- }
- }
- }
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.log(ce, "Problem loading properties"); //$NON-NLS-1$
- }
- catch (final IOException ce)
- {
- JSFCorePlugin.log(ce, "Problem loading properties"); //$NON-NLS-1$
- }
- }
-
- private static IFile getPropsFile(final IProject project) throws CoreException
- {
- final IFolder folder = project.getFolder(new Path(SETTINGS_DIR_NAME));
- if (!folder.exists())
- {
- folder.create(false, true, null);
- }
-
- final IFile file = folder.getFile(new Path(ORG_ECLIPSE_JST_JSF_DESIGNTIME_APPMGR_PREFS));
-
- if (!file.exists())
- {
- file.create(new ByteArrayInputStream(new byte[0]), false, null);
- }
-
- return file;
- }
-
- /**
- * @param project
- * @return the file handle for the properties file. Doesn't create the
- * resource if it doesn't exist
- */
- private static IFile getPropsFileHandle(final IProject project)
- {
- return project.getFile(new Path(SETTINGS_DIR_NAME).append(ORG_ECLIPSE_JST_JSF_DESIGNTIME_APPMGR_PREFS));
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContext.java
deleted file mode 100644
index b0bac6a3c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContext.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.context;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-
-/**
- * The parent of all IDTExternalContext implementations
- *
- * Clients must sub-class to create IDTExternalContext implementations
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTExternalContext implements IDTExternalContext
-{
-
- /**
- * Return a map of available symbols in each of the masked scopes
- * indexed by symbol name
- *
- * Called by {@link #getMapForScope(int)} to satify the interface.
- * If null is returned {@link #getMapForScope(int)} will automatically
- * return an EMPTY_MAP.
- *
- * @param scopeMask
- * @return the map of symbols
- */
- protected abstract Map<String, ISymbol> doGetMapForScope(int scopeMask);
-
-
- public final Map<String, ISymbol> getMapForScope(final int scopeMask)
- {
- Map<String, ISymbol> mapForScope = doGetMapForScope(scopeMask);
-
- if (mapForScope == null)
- {
- mapForScope = Collections.EMPTY_MAP;
- }
- else
- {
- mapForScope = Collections.unmodifiableMap(mapForScope);
- }
- return mapForScope;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.context.IDTExternalContext#getRequestMap()
- */
- public final Map<String, ISymbol> getRequestMap()
- {
- return getMapForScope(ISymbolConstants.SYMBOL_SCOPE_REQUEST);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.context.IDTExternalContext#getSessionMap()
- */
- public final Map<String, ISymbol> getSessionMap()
- {
- return getMapForScope(ISymbolConstants.SYMBOL_SCOPE_SESSION);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.context.IDTExternalContext#getApplicationMap()
- */
- public final Map<String, ISymbol> getApplicationMap()
- {
- return getMapForScope(ISymbolConstants.SYMBOL_SCOPE_APPLICATION);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.context.IDTExternalContext#getNoneMap()
- */
- public final Map<String, ISymbol> getNoneMap()
- {
- return getMapForScope(ISymbolConstants.SYMBOL_SCOPE_NONE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.context.IDTExternalContext#getRequestContextPath()
- */
- public String getRequestContextPath()
- {
- // API: do we need to support default behaviour here?
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContextFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContextFactory.java
deleted file mode 100644
index b2fbbbf13..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractDTExternalContextFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Super-class of all external context factories
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTExternalContextFactory
-{
- /**
- * @param containerContext
- * @return a new IDTExternalContext for the containerContext refered
- * to by containerContext.
- */
- public abstract IDTExternalContext create(IAdaptable containerContext);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractExternalContextFactoryLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractExternalContextFactoryLocator.java
deleted file mode 100644
index 77ae0861d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/AbstractExternalContextFactoryLocator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.context;
-
-/**
- * Parent of all implementers of IExternalContextFactoryLocator
- * @author cbateman
- *
- */
-public abstract class AbstractExternalContextFactoryLocator implements
- IExternalContextFactoryLocator
-{
- /**
- * @return the current external context factory
- */
- public abstract AbstractDTExternalContextFactory getFactory();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTFacesContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTFacesContext.java
deleted file mode 100644
index f4b03877b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTFacesContext.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.internal.resource.EventResult;
-import org.eclipse.jst.jsf.common.internal.resource.IResourceLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.LifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.EventType;
-import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewRootHandle;
-
-/**
- * Represents a design-time version of the JSF FacesContext for a particular web
- * application.
- *
- * Client may not sub-class.
- *
- * @author cbateman
- *
- */
-public final class DTFacesContext
-{
- private final IExternalContextFactoryLocator _locator;
- private final IAdaptable _contextObject;
- private final ViewRootHolder _viewRootHolder;
- private LifecycleListener _lifecycleListener;
- private IResourceLifecycleListener _listener;
-
- /**
- * @param contextObject
- * @param locator
- */
- public DTFacesContext(final IAdaptable contextObject,
- final IExternalContextFactoryLocator locator)
- {
- _contextObject = contextObject;
- _locator = locator;
-
- // init last -- NOTE: it is essential that the new Object be unique
- _viewRootHolder = new ViewRootHolder(this, new Object());
- }
-
- /**
- * @param locator
- * @deprecated Use DTFacesContext(IAdaptable,
- * IExternalContextFactoryLocator)
- */
- @Deprecated
- public DTFacesContext(final IExternalContextFactoryLocator locator)
- {
- _locator = locator;
- _contextObject = null;
-
- // init last -- NOTE: it is essential that the new Object be unique
- _viewRootHolder = new ViewRootHolder(this, new Object());
- }
-
- /**
- * THIS IS NOT AN API METHOD. External clients must not call.
- *
- * initilaize the faces context.
- * @param lifecycleListener
- */
- public void initialize(final LifecycleListener lifecycleListener)
- {
- final IResource res = adaptContextObject();
- _lifecycleListener = lifecycleListener;
-
- if (res != null && _lifecycleListener != null)
- {
- _listener = new IResourceLifecycleListener()
- {
- public EventResult acceptEvent(ResourceLifecycleEvent event)
- {
- if (res.equals(event.getAffectedResource()))
- {
- if (event.getEventType() == EventType.RESOURCE_INACCESSIBLE)
- {
- _lifecycleListener.removeResource(res);
- }
- }
- return EventResult.getDefaultEventResult();
- }
- };
-
- _lifecycleListener.addResource(res);
- _lifecycleListener.addListener(_listener);
- }
- }
-
- /**
- * @param contextObject --
- * the object corresponding to the external context. Usually an
- * IFile point to a file containing the external context. It must
- * be adaptable to an IFile.
- *
- * @return the designtime external context or null if one is not defined for
- * this contextObject
- */
- public IDTExternalContext getDTExternalContext(
- final IAdaptable contextObject)
- {
- IDTExternalContext externalContext = null;
-
- // if the context object is an IFile or can be adapted to one, create a
- // new externalContext for it
- if (contextObject instanceof IFile
- || (contextObject != null && contextObject
- .getAdapter(IFile.class) != null))
- {
-
- final AbstractDTExternalContextFactory factory = _locator
- .getFactory();
- externalContext = factory.create(contextObject);
- }
- return externalContext;
- }
-
- /**
- * <p>
- * Returns a new copy of the view root handle.
- * </p>
- *
- * return null if the value of the view root
- *
- * @return the cached view root. May be null.
- */
- public IViewRootHandle getViewRootHandle()
- {
- return _viewRootHolder.clone();
- }
-
- /**
- * @deprecated
- */
- @Deprecated
- private String _localeString = ""; //$NON-NLS-1$
-
- /**
- * @return the current locale string
- * @deprecated Use IDTViewHandler.calculateLocale instead
- */
- @Deprecated
- public String getLocaleString()
- {
- return _localeString;
- }
-
- /**
- * @param newLocaleString
- * @deprecated Use IDTViewHandler.calculateLocale instead
- */
- @Deprecated
- public void setLocaleString(final String newLocaleString)
- {
- _localeString = newLocaleString;
- }
-
- /**
- * @return the resource correspondinng to context object or null if it
- * cannot be adapted to an IResource
- */
- public IResource adaptContextObject()
- {
- if (_contextObject instanceof IResource)
- {
- return (IResource) _contextObject;
- }
- else if (_contextObject != null
- && _contextObject.getAdapter(IResource.class) != null)
- {
- return (IResource) _contextObject.getAdapter(IResource.class);
- }
- return null;
- }
-
- IDTViewHandler getViewHandler(final IResource res)
- {
- IDTViewHandler viewHandler = null;
-
- if (res != null)
- {
- final DesignTimeApplicationManager manager = DesignTimeApplicationManager
- .getInstance(res.getProject());
- if (manager != null)
- {
- viewHandler = manager.getViewHandler();
- }
- }
- return viewHandler;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTJSPExternalContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTJSPExternalContext.java
deleted file mode 100644
index 8c870d1c8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DTJSPExternalContext.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-import java.io.PrintStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.jsf.common.JSFCommonPlugin;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProvider;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProviderFactory;
-
-
-/**
- * A designtime proxy for the Faces ExternalContext
- *
- * Clients may sub-class.
- *
- * @author cbateman
- *
- */
-public class DTJSPExternalContext extends AbstractDTExternalContext
-{
- /**
- *
- */
- private final IFile _jspFile;
-
- /**
- * Construct a default external context
- *
- * @param jspFile
- */
- protected DTJSPExternalContext(final IAdaptable jspFile)
- {
- if (jspFile instanceof IFile)
- {
- _jspFile = (IFile) jspFile;
- }
- else if (jspFile != null)
- {
- IFile file = (IFile) jspFile.getAdapter(IFile.class);
-
- if (file != null)
- {
- _jspFile = file;
- }
- else
- {
- _jspFile = null;
- throw new AssertionError("jspFile must be adapable to an IFile"); //$NON-NLS-1$
- }
- }
- else
- {
- _jspFile = null;
- throw new AssertionError("jspFile must be adapable to an IFile"); //$NON-NLS-1$
- }
- }
-
- @Override
- protected Map doGetMapForScope(final int scopeMask)
- {
- final Map map = new HashMap();
-
- for (final Iterator it = JSFCommonPlugin.getSymbolSourceProviders().iterator(); it.hasNext();)
- {
- final ISymbolSourceProviderFactory factory = (ISymbolSourceProviderFactory) it.next();
- final ISymbolSourceProvider provider = factory.createInstance(_jspFile.getProject());
-
- final ISymbol[] symbols = provider.getSymbols(_jspFile, scopeMask);
-
- for (int i = 0; i < symbols.length; i++)
- {
- map.put(symbols[i].getName(), symbols[i]);
- }
- }
-
- return map;
- }
-
- /**
- * @param stream
- */
- public final void trace(PrintStream stream)
- {
- String[] scopeNames = {ISymbolConstants.SYMBOL_SCOPE_REQUEST_STRING,
- ISymbolConstants.SYMBOL_SCOPE_SESSION_STRING,
- ISymbolConstants.SYMBOL_SCOPE_APPLICATION_STRING,
- ISymbolConstants.SYMBOL_SCOPE_NONE_STRING
- };
- Map[] symbolMaps = {getRequestMap(), getSessionMap(), getApplicationMap(), getNoneMap()};
-
- for (int i = 0; i < scopeNames.length; i++)
- {
- stream.println("--------------"); //$NON-NLS-1$
- stream.println(scopeNames[i]+" Scope:"); //$NON-NLS-1$
- stream.println("--------------"); //$NON-NLS-1$
-
- for (final Iterator it = symbolMaps[i].values().iterator(); it.hasNext();)
- {
- ISymbol symbol = (ISymbol) it.next();
- System.out.println(symbol.getName());
- }
- }
- }
-
- @Override
- public String getRequestContextPath()
- {
- WebArtifactEdit artifactEdit = null;
- String path = null;
-
- try
- {
- // TODO: EARs?
- artifactEdit =
- WebArtifactEdit.getWebArtifactEditForRead(_jspFile.getProject());
- path = artifactEdit.getServerContextRoot();
- }
- finally
- {
- if (artifactEdit != null)
- {
- artifactEdit.dispose();
- }
- }
- return path;
- }
-
-// @Override
-// public String getRequestPathInfo() {
-// // TODO Auto-generated method stub
-// return super.getRequestPathInfo();
-// }
-//
-// @Override
-// public String getRequestServletPath() {
-// // TODO Auto-generated method stub
-// return super.getRequestServletPath();
-// }
-
-// private void getWebApp()
-// {
-// final IProject project = _jspFile.getProject();
-//
-// final IModelProvider provider =
-// ModelProviderManager.getModelProvider(project);
-// Object webAppObj = provider.getModelObject();
-//
-// if (webAppObj != null)
-// {
-// //
-// }
-//
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DefaultDTExternalContextFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DefaultDTExternalContextFactory.java
deleted file mode 100644
index 1d2af78b3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/DefaultDTExternalContextFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Creates external contexts for JSPs
- *
- * Clients may sub-class
- *
- * @author cbateman
- *
- */
-public class DefaultDTExternalContextFactory extends
- AbstractDTExternalContextFactory
-{
-
- /**
- * @param containerContext -- must be adaptable to an IFile of content type
- * JSP
- *
- * @return a new DT external context
- */
- public IDTExternalContext create(final IAdaptable containerContext)
- {
- return new DTJSPExternalContext(containerContext);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IDTExternalContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IDTExternalContext.java
deleted file mode 100644
index 2b76cb8af..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IDTExternalContext.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-import java.util.Map;
-
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * Interface that must be implemented by all design time external contexts
- *
- * Clients must not implement or sub-class. Sub-class AbstractDTExternalContext instead.
- *
- * @author cbateman
- *
- */
-public interface IDTExternalContext
-{
- /**
- * @param scopeMask -- the scope for which to return the symbol map
- * @return a map of ISymbols representing the currently available
- * scope variables. Never null, empty if no symbols
- *
- * Map is unmodifiable (throws exception on mutation operations)
- */
- Map<String, ISymbol> getMapForScope(int scopeMask);
-
- /**
- * @return a map of ISymbols representing the currently available
- * request scope variables. Never null, empty if no symbols
- *
- * Map is unmodifiable (throws exception on mutation operations)
- */
- Map<String, ISymbol> getRequestMap();
-
- /**
- * @return a map of ISymbols representing the currently available
- * session scope variables. Never null, empty if no symbols
- * Map is unmodifiable (throws exception on mutation operations)
- */
- Map<String, ISymbol> getSessionMap();
-
- /**
- * @return a map of ISymbols representing the currently available
- * application scope variables. Never null, empty if no symbols
- * Map is unmodifiable (throws exception on mutation operations)
- */
- Map<String, ISymbol> getApplicationMap();
-
- /**
- * @return a map of ISymbols representing the currently available
- * none scope variables. Never null, empty if no symbols
- * Map is unmodifiable (throws exception on mutation operations)
- */
- Map<String, ISymbol> getNoneMap();
-
- /**
- * Servlet 2.3_SRV.4.4: The context path of the application.
- *
- * @return the request context path
- */
- String getRequestContextPath();
-
- /**
- * Find all of the possible url-pattern's in the container that
- * could match the underlying resource. Normally this will be single
- * element list. It will only
- *
- * @return
- */
-// List<String> getAllContainerMappings();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IExternalContextFactoryLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IExternalContextFactoryLocator.java
deleted file mode 100644
index 0842ed8b4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/IExternalContextFactoryLocator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.context;
-
-/**
- * This interface is used to decouple the faces context from the
- * DesignTimeApplicationManager
- *
- * Client must NOT implement or subclass.
- * Extend AbstractExternalContextFactoryLocator instead
- *
- * @author cbateman
- *
- */
-public interface IExternalContextFactoryLocator
-{
- /**
- * @return the current external context factory
- */
- AbstractDTExternalContextFactory getFactory();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/ViewRootHolder.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/ViewRootHolder.java
deleted file mode 100644
index d33349622..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/ViewRootHolder.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.designtime.context;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewRootHandle;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessListener;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-
-/* package */ final class ViewRootHolder implements IViewRootHandle, Cloneable
-{
- private final Object _recalcViewRootExclusion;
- private final DTFacesContext _facesContext;
- private DTUIViewRoot _viewRoot;
- private final List<StalenessListener> _waitingToAdd;
- private final List<StalenessListener> _waitingToRemove;
-
- public ViewRootHolder(final DTFacesContext facesContext, final Object recalcViewRootExclusion)
- {
- _facesContext = facesContext;
- _recalcViewRootExclusion = recalcViewRootExclusion;
- _waitingToAdd = new ArrayList<StalenessListener>();
- _waitingToRemove = new ArrayList<StalenessListener>();
- }
-
- private ViewRootHolder(ViewRootHolder cloneFrom)
- {
- _recalcViewRootExclusion = cloneFrom._recalcViewRootExclusion;
- _facesContext = cloneFrom._facesContext;
- _viewRoot = cloneFrom.getCachedViewRoot();
-
- // create brand new copies
- _waitingToAdd = new ArrayList<StalenessListener>();
- _waitingToRemove = new ArrayList<StalenessListener>();
- }
-
- public synchronized DTUIViewRoot getCachedViewRoot()
- {
- return _viewRoot;
- }
-
- public DTUIViewRoot updateViewRoot()
- {
- DTUIViewRoot viewRoot = null;
- final IResource contextResource = _facesContext.adaptContextObject();
-
- // we create this additional exclusion so that we avoid a
- // situation
- // where two threads enter and start recalculating the same view
- // root in parallel. Only one thread may be working on creating
- // a new view root for a particular view at any given time. Note
- // that due to read/write lock on the value, there is nothing
- // to stop readers from simultaneous getting the old value until
- // the new value is ready and has been set.
- synchronized (_recalcViewRootExclusion)
- {
- viewRoot = getCachedViewRoot();
-
- if (viewRoot == null || viewRoot.isStale())
- {
- // if the view root hasn't been created, then do so
- // and populate it
- final IDTViewHandler viewHandler = _facesContext
- .getViewHandler(contextResource);
-
- if (viewHandler != null)
- {
- final String viewId = viewHandler.getViewId(
- _facesContext, contextResource);
-
- try
- {
- viewRoot = viewHandler.createView(_facesContext,
- viewId);
- if (viewRoot != null)
- {
- setCachedViewRoot(viewRoot);
- }
-
- // do adds first, let remove trump all
- for (final StalenessListener addListener : _waitingToAdd)
- {
- viewRoot.addListener(addListener);
- }
-
- for (final StalenessListener removeListener : _waitingToRemove)
- {
- viewRoot.removeListener(removeListener);
- }
- }
- catch (final ViewHandlerException e)
- {
- JSFCorePlugin.log(e,
- "While creating dt viewroot for viewId: " //$NON-NLS-1$
- + viewId);
- }
- }
- }
- }
- // return the copy. NEVER return _viewRoot directly since we are not
- // synchronized here.
- return viewRoot;
- }
-
- private synchronized void setCachedViewRoot(
- final DTUIViewRoot newViewRoot)
- {
- if (!Thread.holdsLock(_recalcViewRootExclusion))
- {
- throw new IllegalStateException(
- "Must hold _recalcViewRootExclusion to modify view root"); //$NON-NLS-1$
- }
- _viewRoot = newViewRoot;
- }
-
- @Override
- protected synchronized IViewRootHandle clone()
- {
- return new ViewRootHolder(this);
- }
-
- public void addListener(StalenessListener listener)
- {
- if (_viewRoot != null)
- {
- synchronized(this)
- {
- _viewRoot.addListener(listener);
- }
- }
- else
- {
- // ensure that if we calculating a new view root, then there isn't
- // an issue.
- synchronized(_recalcViewRootExclusion)
- {
- synchronized(this)
- {
- _waitingToAdd.add(listener);
- }
- }
- }
- }
-
- public void removeListener(StalenessListener listener)
- {
- DTUIViewRoot viewRoot = null;
-
- synchronized(this)
- {
- viewRoot = _viewRoot;
- }
-
- if (viewRoot != null)
- {
- synchronized(this)
- {
- viewRoot.removeListener(listener);
- }
- }
- else
- {
- // ensure that if we calculating a new view root, then there isn't
- // an issue.
- // always acquire the recalcViewRootExclusion first
- synchronized(_recalcViewRootExclusion)
- {
- synchronized(this)
- {
- _waitingToAdd.add(listener);
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/package-info.java
deleted file mode 100644
index 82480ed5f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/context/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Design Time Context Simulation Classes.
- */
-package org.eclipse.jst.jsf.designtime.context;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTMethodResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTMethodResolver.java
deleted file mode 100644
index da115122b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTMethodResolver.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * Sub-class of all design time method resolvers
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTMethodResolver
-{
- /**
- * Returns a symbol encapsulating the method on base with the name
- * methodId
- *
- * @param base
- * @param methodId
- * @return the symbol for the named methodId or null if not found
- */
- public abstract IMethodSymbol getMethod(IObjectSymbol base, Object methodId);
-
-
- /**
- * @param base
- * @return all method binding symbols for base
- */
- public abstract ISymbol[] getMethods(IObjectSymbol base);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTPropertyResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTPropertyResolver.java
deleted file mode 100644
index 33ab9bb53..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTPropertyResolver.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * Super-class of all design time property resolvers
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTPropertyResolver
-{
- /**
- * Returns a symbol encapsulating the property on base with the name
- * properyId. Note that getProperty may return *more* property symbols
- * for the same 'base' because some ISymbol's have unconstrained type
- * descriptors. For example, a bean that implements java.util.Map,
- * may have any number of possible properties added at runtime that cannot
- * be determined at design time. It is up to implementers of this interface
- * to decide how (whether) to return these objects at design time
- *
- * @param base
- * @param propertyId
- * @return the symbol for the named propertyId or null if not found
- */
- public abstract ISymbol getProperty(ISymbol base, Object propertyId);
-
- /**
- * @param base
- * @param offset
- * @return the symbol for the property referred to by the offset
- * into base when it is treated as either an array or a list.
- * The symbol returned is *not* found in the getAllProperties list.
- */
- public abstract ISymbol getProperty(ISymbol base, int offset);
-
- /**
- * @param base
- * @return all properties of base that can be determined concretely
- * at designtime. Note that getProperty(base, x) may return non-null
- * for objects not found in the return from this method. @see getProperty
- */
- public abstract ISymbol[] getAllProperties(ISymbol base);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTVariableResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTVariableResolver.java
deleted file mode 100644
index 532fc5d99..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/AbstractDTVariableResolver.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * Super-class of all design-time variable resolver. A design time variable
- * resolver
- *
- * Clients may sub-class.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTVariableResolver
-{
- /**
- * @param context
- * @param name
- * @param externalContextKey -- an adapter that identifies the external application
- * context within which to resolve name. For example, this could be an IFile
- * representing a JavaServer Page in which we want to resolve the symbol name
- * @return the symbol corresponding to name in the faces context or null
- * if not found
- */
- public abstract ISymbol resolveVariable(DTFacesContext context, String name, IAdaptable externalContextKey);
-
- /**
- * @param facesContext
- * @param externalContextKey
- * @return all variables
- */
- public abstract ISymbol[] getAllVariables(DTFacesContext facesContext,
- IAdaptable externalContextKey);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTMethodResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTMethodResolver.java
deleted file mode 100644
index bc6814bd4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTMethodResolver.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * This resolver has no direct analogue at runtime. JSF Components implement
- * method bindings at runtime in a runtime specific way. But at design time
- * we have no direct DTComponent so instead we use this resolver to resolve
- * an IInstanceSymbol and method name to an IMethodSymbol (if one exists).
- *
- * Clients may sub-class
- *
- * @author cbateman
- *
- */
-public class DefaultDTMethodResolver extends AbstractDTMethodResolver
-{
- /**
- * Returns a symbol encapsulating the method on base with the name
- * methodId
- *
- * @param base
- * @param methodId
- * @return the symbol for the named methodId or null if not found
- */
- public IMethodSymbol getMethod(IObjectSymbol base, Object methodId)
- {
- for (final Iterator it = base.getTypeDescriptor().getMethods().iterator(); it.hasNext();)
- {
- IMethodSymbol element = (IMethodSymbol) it.next();
- if (element.getName().equals(methodId))
- {
- return element;
- }
- }
-
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.el.AbstractDTMethodResolver#getMethods(org.eclipse.jst.jsf.context.symbol.IInstanceSymbol)
- */
- public ISymbol[] getMethods(IObjectSymbol base)
- {
- return (ISymbol[])
- base.getTypeDescriptor().getMethods().
- toArray(new ISymbol[0]);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTPropertyResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTPropertyResolver.java
deleted file mode 100644
index b1196258b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTPropertyResolver.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.StringLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IBoundedTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.ITypeDescriptor;
-import org.eclipse.jst.jsf.designtime.symbols.JSFSymbolFactory;
-
-/**
- * A design time proxy for the runtime PropertyResolver. This is used to
- * resolve all but the first element of a var.prop.prop2 type of sub-expression in
- * a JSF EL expression. @see DefaultDTVariableResolver for how to resolve 'var' at
- * designtime
- *
- * Clients may implement
- *
- * @author cbateman
- */
-public class DefaultDTPropertyResolver extends AbstractDTPropertyResolver
-{
- private static final String UICOMPONENT_SYMBOL_SIGNATURE = "Ljavax.faces.component.UIComponent;"; //$NON-NLS-1$
- private static final String ATTRS_SYMBOL_NAME = "attrs"; //$NON-NLS-1$
- private JSFSymbolFactory _symbolFactory = new JSFSymbolFactory();
-
- /**
- * Returns a symbol encapsulating the property on base with the name
- * properyId
- *
- * @param base
- * @param propertyId
- * @return the symbol for the named propertyId or null if not found
- */
- public ISymbol getProperty(ISymbol base, Object propertyId)
- {
- ITypeDescriptor typeDesc = null;
-
- Object[] factoredProperties = new Object[] {propertyId};
-
- // check for expected interface types per JSP.2.3.4
- if (base instanceof IObjectSymbol)
- {
- final IObjectSymbol objSymbol = (IObjectSymbol) base;
- typeDesc = objSymbol.getTypeDescriptor();
-
- // although not stated explicitly stated by the spec, in practice (based on Sun RI),
- // a list cannot have non-numeric indexed properties
- // note: due to remove(Object) having different return types
- // an object can't be both a List and a Map! So we can consider
- // a List instanceof out of order
- if (objSymbol.supportsCoercion(TypeConstants.TYPE_LIST))
- {
- typeDesc = null;
- }
- // per JSP.2.3.4, if instance of map (unconstrained in our terminology)
- else if (objSymbol.supportsCoercion(TypeConstants.TYPE_MAP))
- {
- EList<ValueType> args = new BasicEList<ValueType>();
- args.add(new StringLiteralType(propertyId.toString()));
-
- ISymbol prop = objSymbol.call("get", args, propertyId.toString()); //$NON-NLS-1$
-
- if (prop != null)
- {
- return prop;
- }
-
- typeDesc = objSymbol.coerce(TypeConstants.TYPE_MAP);
-
- // handle string keys into maps that contain dots. Because type descriptor
- // handle dotted property ids (i.e. 'x.y.z') as separate properties with
- // intermediate parts, we need to handle this specially.
- if (propertyId instanceof String && ((String)propertyId).indexOf('.')>-1)
- {
- factoredProperties = factorKey(propertyId);
- }
- }
- //if symbol is "attrs", add it if applicable
- else if (propertyId instanceof String
- && ((String)propertyId).equals(ATTRS_SYMBOL_NAME)) {
- return getCCAttrsSymbolIfNecessary(typeDesc);
- }
-
- // check unconstrained type
- if (typeDesc instanceof IBoundedTypeDescriptor)
- {
- // TODO: propertyId may need to change when supporting
- // template types
- if (((IBoundedTypeDescriptor)typeDesc).isUnboundedForType(TypeConstants.TYPE_JAVAOBJECT))
- {
- // the most we know is that it could be an Object
- return ((IBoundedTypeDescriptor)typeDesc).getUnboundedProperty(propertyId, TypeConstants.TYPE_JAVAOBJECT);
- }
- }
-
- }
-
- int i = 0;
- ISymbol matchedSymbol;
-
- do
- {
- matchedSymbol = null; // always reset so if the for completes without setting, the
- // while ends
- SEARCH_SEGMENT: for (final Iterator it = getIterator(typeDesc); it.hasNext();)
- {
- final ISymbol element = (ISymbol) it.next();
-
- if (element.getName().equals(factoredProperties[i])
- && element instanceof IObjectSymbol)
- {
- matchedSymbol = element;
- typeDesc = ((IObjectSymbol)matchedSymbol).getTypeDescriptor();
- break SEARCH_SEGMENT;
- }
- }
- } while(++i < factoredProperties.length && matchedSymbol != null);
-
- // may be null if none matched
- return matchedSymbol;
- }
-
- /**
- * @param base
- * @return all properties of base
- */
- public ISymbol[] getAllProperties(ISymbol base)
- {
- // if nothing found, return an empty array
- List symbolsList = Collections.EMPTY_LIST;
-
- if (base instanceof IObjectSymbol)
- {
- ITypeDescriptor typeDesc = null;
-
- // per JSP.2.3.4, if instance of map (unconstrained in our terminology)
- if (((IObjectSymbol)base).supportsCoercion(TypeConstants.TYPE_MAP))
- {
- typeDesc =
- ((IObjectSymbol)base).coerce(TypeConstants.TYPE_MAP);
- }
- // Lists have no properties, even if they are also beans
- else if (((IObjectSymbol)base).supportsCoercion(TypeConstants.TYPE_LIST))
- {
- typeDesc = null;
- }
- else
- {
- typeDesc = ((IObjectSymbol)base).getTypeDescriptor();
-
- }
-
- if (typeDesc != null)
- {
- symbolsList = typeDesc.getProperties();
- addCCAttrsIfNecessary(typeDesc, symbolsList);
- }
- }
-
- return (ISymbol[]) symbolsList.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- private ISymbol getCCAttrsSymbolIfNecessary(final ITypeDescriptor typeDesc) {
- ISymbol attrsSymbol = null;
- if (typeDesc.instanceOf(UICOMPONENT_SYMBOL_SIGNATURE)) {
- attrsSymbol = _symbolFactory.createUnknownInstanceSymbol(ATTRS_SYMBOL_NAME, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- }
- return attrsSymbol;
- }
-
- private void addCCAttrsIfNecessary(final ITypeDescriptor typeDesc, final List symbolsList) {
- final ISymbol attrsSymbol = getCCAttrsSymbolIfNecessary(typeDesc);
- if (attrsSymbol != null) {
- symbolsList.add(attrsSymbol);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.designtime.el.AbstractDTPropertyResolver#getProperty(org.eclipse.jst.jsf.context.symbol.ISymbol, int)
- */
- public ISymbol getProperty(ISymbol base, int offset)
- {
- ITypeDescriptor typeDesc = null;
-
- if (offset < 0)
- {
- // should never be called with offset < 0
- throw new AssertionError("offsets must be >=0 to be valid"); //$NON-NLS-1$
- }
-
- // check for expected interface types per JSP.2.3.4
- if (base instanceof IObjectSymbol)
- {
-
- final IObjectSymbol objSymbol = (IObjectSymbol) base;
- typeDesc = objSymbol.getTypeDescriptor();
-
- // per JSP.2.3.4, if instance of array (unconstrained in our terminology)
- if (typeDesc.isArray())
- {
- ISymbol arrayElement = typeDesc.getArrayElement();
- // reset the name
- arrayElement.setName(base.getName()+"["+offset+"]"); //$NON-NLS-1$ //$NON-NLS-2$
- return arrayElement;
- }
-
- // per JSP.2.3.4, if instance of list (unbounded in our terminology)
- if (objSymbol.supportsCoercion(TypeConstants.TYPE_LIST))
- {
- //typeDesc = objSymbol.coerce(TypeConstants.TYPE_LIST);
- final EList<ValueType> args = new BasicEList<ValueType>();
- args.add(new ValueType(Signature.SIG_INT, ValueType.ASSIGNMENT_TYPE_RHS));
- return objSymbol.call("get", args, base.getName()+"["+offset+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- return getCCAttrsSymbolIfNecessary(typeDesc);
- // check unconstrained type
-// if (typeDesc instanceof IBoundedTypeDescriptor)
-// {
-// // TODO: propertyId may need to change when supporting
-// // template types
-// if (((IBoundedTypeDescriptor)typeDesc).isUnboundedForType(TypeConstants.TYPE_BOXED_INTEGER))
-// {
- // the most we know is that it could be an Object
-// return ((IBoundedTypeDescriptor)typeDesc)
-// .getUnboundedProperty
-// (new Integer(offset), TypeConstants.TYPE_BOXED_INTEGER);
-// final EList<Object> args = new BasicEList<Object>();
-// args.add(offset);
-// return ((IBoundedTypeDescriptor)typeDesc)
-// .call("get", args, base.getName()+"["+offset+"]");
-// }
-// }
- }
-
- return null;
- }
-
- /**
- * @param typeDesc
- * @return the type descriptor's property iterator or empty list
- * if null
- */
- protected final Iterator getIterator(ITypeDescriptor typeDesc)
- {
- if (typeDesc != null)
- {
- return typeDesc.getProperties().iterator();
- }
- return Collections.EMPTY_LIST.iterator();
- }
-
- /**
- * Takes a key expression and factors it down to into all property segments it contains.
- * Property segments occur mainly when String keys contain '.' characters, indicating that
- * more one than property actually must be traversed to evaluate the whole expr.
- * @param key
- * @return an array containing all property segments of the key. If the key contains only
- * one property, then this is returned a single element in the array
- */
- protected final Object[] factorKey(Object key)
- {
- if (key instanceof String)
- {
- List segments = new ArrayList();
-
- String stringKey = (String) key;
- int nextPos = -1;
-
- while ((nextPos = stringKey.indexOf('.')) > -1)
- {
- segments.add(stringKey.substring(0, nextPos));
- stringKey = stringKey.substring(nextPos+1);
- }
-
- if (stringKey != null && stringKey.length() > 0)
- {
- segments.add(stringKey);
- }
-
- return segments.toArray();
- }
-
- return new Object[] {key};
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTVariableResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTVariableResolver.java
deleted file mode 100644
index 44d53a24f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/DefaultDTVariableResolver.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.context.IDTExternalContext;
-import org.eclipse.jst.jsf.designtime.symbols.DefaultBeanSymbolSourceProvider;
-import org.eclipse.jst.jsf.designtime.symbols.DefaultBuiltInSymbolProvider;
-
-/**
- * A design time proxy for the runtime VariableResolver. This is used to
- * resolve the first element of a var.prop.prop2 type of sub-expression in
- * a JSF EL expression
- *
- * Clients may sub-class
- *
- * @author cbateman
- *
- */
-public class DefaultDTVariableResolver extends AbstractDTVariableResolver
-{
- /**
- * Tries to mirror the JSF 1.1 runtime VariableResolver
- *
- * @see org.eclipse.jst.jsf.designtime.el.AbstractDTVariableResolver#resolveVariable(org.eclipse.jst.jsf.designtime.context.DTFacesContext, java.lang.String, org.eclipse.core.runtime.IAdaptable)
- */
- public ISymbol resolveVariable(DTFacesContext context, String name, IAdaptable externalContextKey)
- {
- // check implicits first
- final DefaultBuiltInSymbolProvider builtins =
- DefaultBuiltInSymbolProvider.getInstance();
-
- ISymbol symbol = builtins.getSymbol(name, externalContextKey, ISymbolConstants.SYMBOL_SCOPE_ALL);
-
- if (symbol != null)
- {
- return symbol;
- }
-
- // next check the scope maps from request up to application
- final IDTExternalContext externalContext =
- context.getDTExternalContext(externalContextKey);
-
- if (externalContext == null)
- {
- // TODO: try to find bean here?
- return null;
- }
-
- symbol = externalContext.getRequestMap().get(name);
-
- // check request scope
- if (symbol == null)
- {
- symbol = externalContext.getSessionMap().get(name);
-
- // then check session scope
- if (symbol == null)
- {
- symbol = externalContext.getApplicationMap().get(name);
-
- // if the symbol is not found at any scope, then look for a
- // a bean.
- if (symbol == null)
- {
- final DefaultBeanSymbolSourceProvider beanProvider =
- DefaultBeanSymbolSourceProvider.getInstance();
-
- symbol = beanProvider.getSymbol(name, externalContextKey,
- ISymbolConstants.SYMBOL_SCOPE_ALL);
- }
- }
- }
-
- return symbol;
- }
-
- /**
- * @param facesContext
- * @param externalContextKey
- * @return all variables
- */
- public ISymbol[] getAllVariables(DTFacesContext facesContext,
- IAdaptable externalContextKey)
- {
- final List allSymbols = new ArrayList();
-
- addBuiltins(allSymbols, externalContextKey);
-
- final IDTExternalContext externalContext =
- facesContext.getDTExternalContext(externalContextKey);
-
- if (externalContext != null)
- {
- addExternalContextSymbols(allSymbols, externalContext);
- }
-
- addBeanSymbols(allSymbols, externalContextKey);
-
- return (ISymbol[]) allSymbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- /**
- * Adds the built-in symbols to the list. This behaviour is standarized and should
- * not be overriden in general. However, you may wish to change the default
- * built-in symbol provider with your own.
- *
- * @param list
- * @param externalContextKey
- */
- protected void addBuiltins(final List list, final IAdaptable externalContextKey)
- {
- // check implicits first
- final DefaultBuiltInSymbolProvider builtins =
- DefaultBuiltInSymbolProvider.getInstance();
-
- list.addAll(Arrays.asList(builtins.getSymbols(externalContextKey,
- ISymbolConstants.SYMBOL_SCOPE_ALL)));
- }
-
- /**
- * Simulate resolution of symbols from the request, session, application and none
- * scope maps. Use a symbol provider instead if you simply want to add
- * new symbols for a tag variable or other symbol source.
- *
- * @param list
- * @param externalContext
- */
- protected void addExternalContextSymbols(final List list,
- final IDTExternalContext externalContext)
- {
- if (externalContext != null)
- {
- final ISymbol[] externalContextSymbols =
- externalContext.getMapForScope
- (ISymbolConstants.SYMBOL_SCOPE_ALL).values().
- toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- list.addAll(Arrays.asList(externalContextSymbols));
- }
- }
-
- /**
- * Gets all the bean symbols. If you wish to override it would be advisable
- * to look at and/or sub-class the default bean symbol source provider
- *
- * @param list
- * @param externalContextKey
- */
- protected void addBeanSymbols(final List list, final IAdaptable externalContextKey)
- {
- final DefaultBeanSymbolSourceProvider beanProvider =
- DefaultBeanSymbolSourceProvider.getInstance();
-
- final ISymbol[] beanSymbols =
- beanProvider.getSymbols(externalContextKey,
- ISymbolConstants.SYMBOL_SCOPE_ALL);
-
- list.addAll(Arrays.asList(beanSymbols));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IDecorativeResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IDecorativeResolver.java
deleted file mode 100644
index 2c50134c6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IDecorativeResolver.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-/**
- * Tagging interface that must be implemented by all resolvers that want to participate
- * in result decoration (i.e. variable and property resolvers) via the
- * forRuntimeClass extension.
- *
- * Clients may implement.
- *
- * @author cbateman
- *
- */
-public interface IDecorativeResolver
-{
- // purposefully empty
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IInstancePerProjectResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IInstancePerProjectResolver.java
deleted file mode 100644
index 41bcff88b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/IInstancePerProjectResolver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.el;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * See the variable and properyresolver extension points attribute instancePerProject.
- *
- * Clients may implement.
- *
- * @author cbateman
- *
- */
-public interface IInstancePerProjectResolver
-{
- /**
- * Called by the design time application manager before using the
- * resolver with the project it associated with. Resolvers need not
- * implement unless they wish to be instancePerProject resolvers.
- *
- * @param project
- */
- void setProject(final IProject project);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/package-info.java
deleted file mode 100644
index f71433762..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/el/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Design Time EL Resolvers.
- */
-package org.eclipse.jst.jsf.designtime.el;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/BasicExtensionFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/BasicExtensionFactory.java
deleted file mode 100644
index fd0b823b4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/BasicExtensionFactory.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.el.IInstancePerProjectResolver;
-import org.osgi.framework.Bundle;
-
-/**
- * @author cbateman
- * @param <EXTENSIONTYPE>
- *
- */
-public class BasicExtensionFactory<EXTENSIONTYPE>
-{
- private final Bundle _bundle;
- private final String _extName;
- private Map<String, ExtensionData<EXTENSIONTYPE>> _registeredResolvers;
- private final String _elementName;
- private final ExtensionDataFactory _extensionDataFactory;
- private final boolean _alwaysPerProject;
-
- /**
- * @param bundle
- * @param extName
- * @param elementName
- * @param alwaysPerProject
- */
- public BasicExtensionFactory(final Bundle bundle, final String extName,
- final String elementName, final boolean alwaysPerProject)
- {
- _bundle = bundle;
- _extName = extName;
- _elementName = elementName;
- _extensionDataFactory = new ExtensionDataFactory<EXTENSIONTYPE>();
- _alwaysPerProject = alwaysPerProject;
- }
-
- /**
- * @return the resolvers. Lazily initialized.
- */
- public final Map<String, ExtensionData<EXTENSIONTYPE>> getExtensions()
- {
- if (_registeredResolvers == null)
- {
- _registeredResolvers = loadRegisteredExtensions();
- }
-
- return _registeredResolvers;
- }
-
- /**
- * @return the map of extensions by id.
- */
- protected Map<String, ExtensionData<EXTENSIONTYPE>> loadRegisteredExtensions()
- {
- final Map<String, ExtensionData<EXTENSIONTYPE>> resolvers = new HashMap<String, ExtensionData<EXTENSIONTYPE>>();
-
- final IExtensionPoint point = Platform.getExtensionRegistry()
- .getExtensionPoint(_bundle.getSymbolicName(), _extName);
-
- final IExtension[] extensions = point.getExtensions();
-
- for (final IExtension extension : extensions)
- {
- final IConfigurationElement[] elements = extension
- .getConfigurationElements();
-
- for (final IConfigurationElement element : elements)
- {
- if (_elementName.equals(element.getName())
- && element.getAttribute("class") != null //$NON-NLS-1$
- && element.getAttribute("id") != null) //$NON-NLS-1$
- {
- final ExtensionData extData = processExtension(element, _alwaysPerProject);
-
- if (extData != null)
- {
- resolvers.put(extData.getId(), extData);
- }
- }
- }
- }
- return resolvers;
- }
-
- /**
- * @param element
- * @param alwaysPerProject
- * @return the extension data for the extension or null if can't be created
- */
- protected ExtensionData processExtension(final IConfigurationElement element, final boolean alwaysPerProject)
- {
- return _extensionDataFactory.createExtensionData(element, alwaysPerProject);
- }
-
- /**
- * @author cbateman
- *
- * @param <EXTENSIONTYPE>
- */
- protected static class ExtensionDataFactory<EXTENSIONTYPE>
- {
- ExtensionData createExtensionData(final IConfigurationElement element,
- final boolean alwaysPerProject)
- {
- if (isPerProjectExtension(element, alwaysPerProject))
- {
- return new PerProjectExtensionData<EXTENSIONTYPE>(element);
- }
- return new SingleInstanceExtensionData<EXTENSIONTYPE>(element);
- }
-
- static boolean isPerProjectExtension(final IConfigurationElement element, final boolean alwaysPerProject)
- {
- if (alwaysPerProject)
- {
- return true;
- }
- final String flag = element.getAttribute("instancePerProject"); //$NON-NLS-1$
- // must check for null for backward compatibility, since
- // this attribute wasn't part of the original.
- if (flag != null)
- {
- return Boolean.valueOf(flag).booleanValue();
- }
- return false;
- }
- }
-
- /**
- * @param <EXTENSIONTYPE>
- */
- protected static class PerProjectExtensionData<EXTENSIONTYPE> extends
- ExtensionData<EXTENSIONTYPE>
- {
- private Map<IProject, EXTENSIONTYPE> _extensions;
-
- /**
- * @param element
- */
- protected PerProjectExtensionData(IConfigurationElement element)
- {
- super(element);
- }
-
- @Override
- public EXTENSIONTYPE getInstance(final IProject project)
- {
- if (!project.isAccessible())
- {
- _extensions.remove(project);
- return null;
- }
-
- if (_extensions == null)
- {
- _extensions = new HashMap<IProject, EXTENSIONTYPE>();
- }
-
- EXTENSIONTYPE instance = _extensions.get(project);
-
- if (instance == null)
- {
- try
- {
- instance = createInstance();
- if (instance instanceof IInstancePerProjectResolver)
- {
- ((IInstancePerProjectResolver) instance)
- .setProject(project);
- }
- _extensions.put(project, instance);
- }
- catch (Exception e)
- {
- JSFCorePlugin.log(e,
- "Instantiating extension class for id: " + getId()); //$NON-NLS-1$
- }
- }
- return instance;
- }
-
- @Override
- public EXTENSIONTYPE removeInstance(IProject project)
- {
- if (_extensions != null)
- {
- return _extensions.remove(project);
- }
- return null;
- }
- }
-
- /**
- * @param <EXTENSIONTYPE>
- *
- */
- protected static class SingleInstanceExtensionData<EXTENSIONTYPE> extends
- ExtensionData<EXTENSIONTYPE>
- {
- private EXTENSIONTYPE _instance;
-
- /**
- * @param element
- */
- protected SingleInstanceExtensionData(IConfigurationElement element)
- {
- super(element);
- }
-
- @Override
- public EXTENSIONTYPE getInstance(final IProject project)
- {
- if (_instance == null)
- {
- try
- {
- _instance = createInstance();
- }
- catch (CoreException e)
- {
- JSFCorePlugin.log(e,
- "Instantiating extension class for id: " + getId()); //$NON-NLS-1$
- }
- }
- return _instance;
- }
-
- @Override
- public EXTENSIONTYPE removeInstance(IProject project)
- {
- final EXTENSIONTYPE removedItem = _instance;
- _instance = null;
- return removedItem;
- }
- }
-
- /**
- * Extension data
- *
- * @param <EXTENSIONTYPE>
- *
- */
- public abstract static class ExtensionData<EXTENSIONTYPE>
- {
- private final IConfigurationElement _element;
-
- /**
- * @param element
- */
- protected ExtensionData(final IConfigurationElement element)
- {
- super();
- _element = element;
- }
-
- /**
- * @return the unique id of the variable resolver extension
- */
- public String getId()
- {
- return _element.getAttribute("id"); //$NON-NLS-1$
- }
-
- /**
- * @param project
- * @return the instance. project may be ignored if there is only one
- * global instance for this factory.
- */
- public abstract EXTENSIONTYPE getInstance(final IProject project);
-
- /**
- * @param project
- * @return the extension for the project, removing from any internal
- * caching. May return null if getInstance was never called for
- * project.
- */
- public abstract EXTENSIONTYPE removeInstance(final IProject project);
-
- /**
- * @return the resolver
- * @throws CoreException
- */
- protected EXTENSIONTYPE createInstance() throws CoreException
- {
- return (EXTENSIONTYPE) _element.createExecutableExtension("class"); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/DecoratableExtensionFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/DecoratableExtensionFactory.java
deleted file mode 100644
index 249316ffb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/DecoratableExtensionFactory.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.osgi.framework.Bundle;
-
-/**
- * Factory for extensions that include a runtime class for which they decorate.
- *
- * @author cbateman
- *
- * @param <EXTENSIONTYPE>
- */
-public class DecoratableExtensionFactory<EXTENSIONTYPE> extends
- BasicExtensionFactory<EXTENSIONTYPE>
-{
- private static final String DECORATOR_ATTRIBUTE_NAME = "forRuntimeClass"; //$NON-NLS-1$
- private final Map<String, List<String>> _forNameToId;
-
- /**
- * @param bundle
- * @param extName
- * @param elementName
- * @param alwaysPerProject
- */
- public DecoratableExtensionFactory(final Bundle bundle,
- final String extName, final String elementName, final boolean alwaysPerProject)
- {
- super(bundle, extName, elementName, alwaysPerProject);
- _forNameToId = new HashMap<String, List<String>>();
- }
-
- /**
- * @param name
- * @return a canonically sorted list of ids of extensions registered by the
- * name.
- */
- public List<String> getIdsForName(final String name)
- {
- List<String> ids = _forNameToId.get(name);
- if (ids == null)
- {
- ids = Collections.EMPTY_LIST;
- }
- return ids;
- }
-
- /**
- * @return the number of runtime resolvers for which there is at least one
- * declarative variable resolver registered.
- */
- public int getNumDecorativeResolvers()
- {
- return _forNameToId.size();
- }
-
- @Override
- protected Map<String, ExtensionData<EXTENSIONTYPE>> loadRegisteredExtensions()
- {
- Map<String, ExtensionData<EXTENSIONTYPE>> extensions = super
- .loadRegisteredExtensions();
-
- // canonically sort forName's
- for (final Map.Entry<String, List<String>> entry : _forNameToId
- .entrySet())
- {
- Collections.sort(entry.getValue());
- }
-
- return extensions;
- }
-
-
- @Override
- protected ExtensionData processExtension(IConfigurationElement element, boolean alwaysPerProject)
- {
- final ExtensionData data = super.processExtension(element, alwaysPerProject);
- final String forRuntimeClass = element
- .getAttribute(DECORATOR_ATTRIBUTE_NAME);
- if (forRuntimeClass != null && !"".equals(forRuntimeClass.trim())){ //$NON-NLS-1$
- addRuntimeClassMapping(data.getId(), forRuntimeClass);
- }
- return data;
- }
-
- private void addRuntimeClassMapping(final String id,
- final String forRuntimeClass)
- {
- List mappings = _forNameToId.get(forRuntimeClass);
-
- if (mappings == null)
- {
- mappings = new ArrayList<String>(2);
- _forNameToId.put(forRuntimeClass, mappings);
- }
- mappings.add(id);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/Messages.java
deleted file mode 100644
index 9b1a379c9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/Messages.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * NLS messages.
- *
- * @author cbateman
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.internal.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String CompositeTagResolvingStrategy_DisplayName;
- /**
- * see messages.properties
- */
- public static String DefaultJSPTagResolver_DisplayName;
- /**
- * see messages.properties
- */
- public static String PersistedDataTagStrategy_DisplayName;
- /**
- * see messages.properties
- */
- public static String TagIntrospectingStrategy_DisplayName;
- /**
- * messages.properties
- */
- public static String TLDRegistryManager_DisplayName;
- /**
- * messages.properties
- */
- public static String TLDTagRegistry_RefreshJob;
- /**
- * messages.properties
- */
- public static String TLDTagRegistry_UpdateJob;
- /**
- * messages.properties
- */
- public static String UnresolvedJSPTagResolvingStrategy_DisplayName;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/AdditionalContextSymbolInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/AdditionalContextSymbolInfo.java
deleted file mode 100644
index 4755fa829..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/AdditionalContextSymbolInfo.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo;
-
-/**
- *
- * NOT API. Use IAdditionalContextSymbolInfo.
- *
- * @author cbateman
- *
- */
-/*package*/ final class AdditionalContextSymbolInfo implements IAdditionalContextSymbolInfo
-{
- private final String _symbolTypeSignature;
- private final String _valueExpressionAttributeName;
-
- /**
- * @param symbolTypeSignature
- */
- /*package*/ AdditionalContextSymbolInfo(final String symbolTypeSignature,
- String valueExpressionAttributeName)
- {
- super();
- this._symbolTypeSignature = symbolTypeSignature;
- this._valueExpressionAttributeName = valueExpressionAttributeName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo#getSymbolTypeSignature()
- */
- public String getSymbolTypeSignature()
- {
- return _symbolTypeSignature;
- }
-
- public String getValueExpressionAttributeName()
- {
- return _valueExpressionAttributeName;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/DataModelVariableFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/DataModelVariableFactory.java
deleted file mode 100644
index 95cde302c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/DataModelVariableFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.designtime.symbols.AbstractDataModelVariableFactory;
-import org.eclipse.jst.jsf.designtime.symbols.DefaultDataTableSymbolFactory;
-import org.w3c.dom.Element;
-
-/**
- * Constructs an EL IObjectSymbol for a particular data table row access variable
- * based on the type of the bound data (the value attribute)
- *
- *
- * @author cbateman
- *
- */
-class DataModelVariableFactory extends DefaultDataTableSymbolFactory
-{
- private static DataModelVariableFactory INSTANCE;
-
- /**
- * @return an instance of the factory
- */
- public synchronized static DataModelVariableFactory getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new DataModelVariableFactory();
- }
-
- return INSTANCE;
- }
-
- @Override
- public ISymbol createSymbolForDataTableValue(String symbolName,
- Element dataTableElement, IStructuredDocumentContext context)
- {
- if (!IJSFConstants.TAG_DATATABLE.equals(dataTableElement.getLocalName()))
- {
- throw new AssertionError("dataTableElement must be a dataTable"); //$NON-NLS-1$
- }
-
- return super.createSymbolForDataTableValue(symbolName, dataTableElement, context);
- }
-
- //private String getELText(IStructuredDocumentConte)
- private DataModelVariableFactory()
- {
- // no external instantiation
- super(new MyDataModelVariableFactory());
- }
-
- private static class MyDataModelVariableFactory extends AbstractDataModelVariableFactory
- {
- @Override
- protected String getVariableSourceName() {
- return "dataTable"; //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java
deleted file mode 100644
index 4e7094214..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPDefaultSymbolFactory.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IBoundedJavaTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.IComponentSymbol;
-import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.jsf.designtime.internal.symbols.ResourceBundleMapSourceFactory;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * @author cbateman
- *
- */
-public class JSPDefaultSymbolFactory extends AbstractContextSymbolFactory
-{
- protected ISymbol internalCreate(String symbolName,int scope,IAdaptable context,List problems, IAdditionalContextSymbolInfo additionInfo)
- {
- final IStructuredDocumentContext sContext =
- (IStructuredDocumentContext)
- context.getAdapter(IStructuredDocumentContext.class);
-
- final IDOMContextResolver domResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(sContext);
-
- if (domResolver != null)
- {
- final Node curNode = domResolver.getNode();
-
- if (curNode instanceof Attr)
- {
- final Attr attr = (Attr) curNode;
- final Node owningElement = attr.getOwnerElement();
-
- if (owningElement != null)
- {
- return handleSymbolCreation(symbolName, sContext, attr, owningElement, problems);
- }
- }
- }
-
- return null;
- }
-
-
- private ISymbol handleSymbolCreation(final String symbolName,
- final IStructuredDocumentContext context,
- final Attr attr,
- final Node owningElement,
- final List problems)
- {
- final ITaglibContextResolver resolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context);
-
-
- if (resolver == null
- || !resolver.canResolveContext(context))
- {
- return null;
- }
-
- final String uri = resolver.getTagURIForNodeName(owningElement);
-
- // process core taglib
- if (ITLDConstants.URI_JSF_CORE.equals(uri))
- {
- return handleCoreTags(symbolName, owningElement, attr, context, problems);
- }
- else if (ITLDConstants.URI_JSF_HTML.equals(uri))
- {
- return handleHtmlTags(symbolName, owningElement, attr, context, problems);
- }
-
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory#supports(org.eclipse.core.runtime.IAdaptable)
- */
- public boolean supports(IAdaptable context)
- {
- return context != null &&
- context.getAdapter(IStructuredDocumentContext.class) != null;
- }
-
- private ISymbol handleHtmlTags(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems)
- {
- final String elementName = owningElement.getLocalName();
- final String attrName = attr.getName();
-
- if (IJSFConstants.TAG_DATATABLE.equals(elementName))
- {
- if (IJSFConstants.ATTR_VAR.equals(attrName))
- {
- return DataModelVariableFactory.getInstance()
- .createSymbolForDataTableValue(symbolName, (Element) owningElement, context);
- }
- }
-
- return null;
- }
-
- private ISymbol handleCoreTags(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems)
- {
- final String elementName = owningElement.getLocalName();
-
- if (IJSFConstants.TAG_LOADBUNDLE.equals(elementName))
- {
-// long startTime = System.currentTimeMillis();
- ISymbol symbol = handleLoadBundleTag(symbolName, owningElement, attr, context, problems);
-
-// long endTime = System.currentTimeMillis();
-// long totalTime = endTime-startTime;
- //System.out.println("Loadbundle resolution for symbol "+symbolName+" took: "+totalTime+"ms");
- return symbol;
- }
- return null;
- }
-
- private ISymbol handleLoadBundleTag(String symbolName, Node owningElement, Attr attr, IStructuredDocumentContext context, List problems)
- {
- final String attrName = attr.getName();
- if (IJSFConstants.ATTR_VAR.equals(attrName))
- {
- final NamedNodeMap attrMap = owningElement.getAttributes();
- final Node baseNameNode = attrMap.getNamedItem(IJSFConstants.ATTR_BASENAME);
-
-
- if (baseNameNode != null)
- {
- try
- {
- final IWorkspaceContextResolver wkspaceResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- IProject project = wkspaceResolver.getProject();
-
- if (project == null)
- {
- throw new RuntimeException("Error acquiring project"); //$NON-NLS-1$
- }
-
- final Map source =
- ResourceBundleMapSourceFactory
- .getResourceBundleMapSource(project, baseNameNode.getNodeValue());
- final IMapTypeDescriptor typeDesc =
- SymbolFactory.eINSTANCE.createIMapTypeDescriptor();
- typeDesc.setMapSource(source);
- final IComponentSymbol symbol =
- SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(symbolName);
- symbol.setTypeDescriptor(typeDesc);
- symbol.setDetailedDescription(Messages.getString("JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription")+baseNameNode.getNodeValue()+"</i>"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return symbol;
- }
- catch (IOException ioe)
- {
- problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), ioe)); //$NON-NLS-1$
- }
- catch (JavaModelException jme)
- {
- problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), jme)); //$NON-NLS-1$
- }
- catch (CoreException ce)
- {
- problems.add(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0,Messages.getString("JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable"), ce)); //$NON-NLS-1$
- }
-
- final IBoundedJavaTypeDescriptor typeDesc = SymbolFactory.eINSTANCE.createIBoundedJavaTypeDescriptor();
- typeDesc.setTypeSignatureDelegate( TypeConstants.TYPE_JAVAOBJECT );
- final IComponentSymbol symbol = SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(symbolName);
- symbol.setTypeDescriptor(typeDesc);
- symbol.setDetailedDescription(Messages.getString("JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription")+baseNameNode.getNodeValue()+"</i>"); //$NON-NLS-1$ //$NON-NLS-2$
-
- return symbol;
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPModelProcessor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPModelProcessor.java
deleted file mode 100644
index c30f379d2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/JSPModelProcessor.java
+++ /dev/null
@@ -1,939 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jst.jsf.common.JSFCommonPlugin;
-import org.eclipse.jst.jsf.common.internal.resource.EventResult;
-import org.eclipse.jst.jsf.common.internal.resource.IResourceLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.LifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.EventType;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.ReasonType;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.context.symbol.IComponentSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * Processes a JSP model to determine information of interest about it such
- * as what tags are currently in use. Listens to the model and updates it's
- * information when the model changes.
- *
- * @author cbateman
- *
- */
-public class JSPModelProcessor
-{
- /**
- * Pass to force refresh arguments
- */
- public final static boolean FORCE_REFRESH = true;
-
- /**
- * Pass to runAfter argument of refresh to indicate there is nothing
- * to run when the refresh job completes.
- */
- public final static Runnable NO_RUN_AFTER = null;
-
- /**
- * Pass to runAfter argument of refresh to indicate that the caller
- * should be blocked until the job completes.
- */
- public final static Runnable RUN_ON_CURRENT_THREAD = new Runnable()
- {
- public void run()
- {
- // do nothing
- }
- };
-
- /**
- * An init-time setting that is used to stop the model processor from
- * automatically refreshing when the file it is tracking changes. The can
- * only be set once at init is permanent for the static life timpe of
- * JSPModelProcessor.
- *
- * Note that it does not turn off listening for file delete events because
- * the singleton management still needs to know if it can dispose of an
- * instance.
- */
- private final static boolean DISABLE_WKSPACE_CHANGE_REFRESH = System
- .getProperty("org.eclipse.jst.jsf.jspmodelprocessor.disable.wkspace.change.refresh") != null; //$NON-NLS-1$
- private final static Map<IFile, JSPModelProcessor> RESOURCE_MAP =
- new HashMap<IFile, JSPModelProcessor>();
- private final static java.util.concurrent.locks.Lock CRITICAL_SECTION =
- new ReentrantLock();
- private static LifecycleListener LIFECYCLE_LISTENER;
-
- /**
- * @param file The file to get the model processor for
- * @return the processor for a particular model, creating it if it does not
- * already exist
- * @throws CoreException if an attempt to get the model associated with file
- * fails due to reasons other than I/O problems
- */
- public static JSPModelProcessor get(final IFile file) throws CoreException
- {
- CRITICAL_SECTION.lock();
- try
- {
- if (!file.isAccessible())
- {
- throw new CoreException(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, "File must be accessible")); //$NON-NLS-1$
- }
-
- JSPModelProcessor processor = RESOURCE_MAP.get(file);
-
- if (processor == null)
- {
- if (LIFECYCLE_LISTENER == null)
- {
- LIFECYCLE_LISTENER = new LifecycleListener(file, ResourcesPlugin.getWorkspace());
- }
- else
- {
- LIFECYCLE_LISTENER.addResource(file);
- }
-
- processor = new JSPModelProcessor(file,LIFECYCLE_LISTENER);
- RESOURCE_MAP.put(file, processor);
- }
-
- return processor;
- }
- finally
- {
- CRITICAL_SECTION.unlock();
- }
- }
-
- /**
- * Disposes of the JSPModelProcessor associated with model
- * @param file the model processor to be disposed
- */
- private static void dispose(final IFile file)
- {
- CRITICAL_SECTION.lock();
- try
- {
- final JSPModelProcessor processor = RESOURCE_MAP.get(file);
-
- if (processor != null)
- {
- RESOURCE_MAP.remove(file);
-
- if (!processor.isDisposed())
- {
- processor.dispose();
- LIFECYCLE_LISTENER.removeResource(file);
- }
-
- }
-
- if (RESOURCE_MAP.isEmpty())
- {
- // if we no longer have any resources being tracked,
- // then dispose the lifecycle listener
- LIFECYCLE_LISTENER.dispose();
- LIFECYCLE_LISTENER = null;
- }
- }
- finally
- {
- CRITICAL_SECTION.unlock();
- }
- }
-
- private final IFile _file;
- private LifecycleListener _lifecycleListener;
- private IResourceLifecycleListener _resListener;
- private volatile boolean _isDisposed;
- private Map<Object, ISymbol> _requestMap;
- private Map<Object, ISymbol> _sessionMap;
- private Map<Object, ISymbol> _applicationMap;
- private Map<Object, ISymbol> _noneMap;
- private Map<Object, ISymbol> _viewMap;
- private Map<Object, ISymbol> _flashMap;
-
- // used to avoid infinite recursion in refresh. Must never be null
- private final CountingMutex _lastModificationStampMonitor = new CountingMutex();
-
- /**
- * Construct a new JSPModelProcessor for model
- *
- * @param model
- */
- private JSPModelProcessor(final IFile file, final LifecycleListener lifecycleListener)
- {
- _file = file;
- _lifecycleListener = lifecycleListener;
- _resListener = new IResourceLifecycleListener()
- {
- public EventResult acceptEvent(final ResourceLifecycleEvent event)
- {
- final EventResult result = EventResult.getDefaultEventResult();
-
- // not interested
- if (!_file.equals(event.getAffectedResource()))
- {
- return result;
- }
-
- if (event.getEventType() == EventType.RESOURCE_INACCESSIBLE)
- {
- dispose(_file);
- }
- else if (event.getEventType() == EventType.RESOURCE_CHANGED)
- {
- // if the file has changed contents on disk, then
- // invoke an unforced refresh of the JSP file
- if (event.getReasonType() == ReasonType.RESOURCE_CHANGED_CONTENTS
- && !DISABLE_WKSPACE_CHANGE_REFRESH)
- {
- refresh(! FORCE_REFRESH, NO_RUN_AFTER);
- }
- }
-
- return result;
- }
- };
-
- lifecycleListener.addListener(_resListener);
- }
-
- private IDOMModel getModelForFile(final IFile file)
- throws CoreException, IOException
- {
- final IModelManager modelManager =
- StructuredModelManager.getModelManager();
-
- final IStructuredModel model = modelManager.getModelForRead(file);
-
- if (model instanceof IDOMModel)
- {
- return (IDOMModel) model;
- }
- else if (model != null)
- {
- // only release from read if we don't find a DOMModelForJSP
- // if the model is correct, it will be released in dispose
- model.releaseFromRead();
- }
-
- JSFCorePlugin.log("Couldn't get valid model for file: "+file.toString(), new Exception()); //$NON-NLS-1$
- return null;
- }
-
- private void dispose()
- {
- if (!_isDisposed)
- {
- // ensure the resource listener is disposed
- _lifecycleListener.removeListener(_resListener);
- _resListener = null;
- _lifecycleListener = null;
-
- if (_requestMap != null)
- {
- _requestMap.clear();
- _requestMap = null;
- }
-
- if (_sessionMap != null)
- {
- _sessionMap.clear();
- _sessionMap = null;
- }
-
- if (_applicationMap != null)
- {
- _applicationMap.clear();
- _applicationMap = null;
- }
-
- if (_noneMap != null)
- {
- _noneMap.clear();
- _noneMap = null;
- }
-
- // mark as disposed
- _isDisposed = true;
- }
- }
-
- /**
- * @return true if this model processor has been disposed. Disposed
- * processors should not be used.
- */
- public boolean isDisposed()
- {
- return _isDisposed;
- }
-
- /**
- * If isModelDirty() returns true, then it means that a call
- * to refresh(false) will trigger a reprocess of the underlying document.
- *
- * @return true if the underlying JSP model is considered to be dirty
- */
- public boolean isModelDirty()
- {
- final long currentModificationStamp = _file.getModificationStamp();
- return _lastModificationStampMonitor.hasChanged(currentModificationStamp);
- }
-
-
-
- /**
- * Refreshes the processor's cache of information from its associated
- * JSP file.
- *
- * @param forceRefresh
- * @param runAfter
- */
- public void refresh(final boolean forceRefresh, final Runnable runAfter)
- {
- if (isDisposed())
- {
- throw new IllegalStateException(
- "Processor is disposed for file: " + _file.toString()); //$NON-NLS-1$
- }
-
- if (runAfter == RUN_ON_CURRENT_THREAD)
- {
- try
- {
- runOnCurrentThread(forceRefresh);
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log(e, "Running JSP model processor"); //$NON-NLS-1$
- }
- catch (final OperationCanceledException e)
- {
- // ignore
- }
- }
- else
- {
- runOnWorkspaceJob(forceRefresh, runAfter);
- }
-
- }
- private void runOnWorkspaceJob(final boolean forceRefresh, final Runnable runAfter)
- {
- WorkspaceJob refreshJob = new WorkspaceJob(NLS.bind(Messages
- .getString("JSPModelProcessor.0"), _file)) { //$NON-NLS-1$
- @Override
- public IStatus runInWorkspace(IProgressMonitor monitor)
- throws CoreException
- {
- RefreshRunnable runnable = new RefreshRunnable(forceRefresh);
- runnable.run(monitor);
- return Status.OK_STATUS;
- }
- };
- refreshJob.setSystem(true);
- refreshJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
- if (runAfter != null)
- {
- refreshJob.addJobChangeListener(new JobChangeAdapter()
- {
- @Override
- public void done(final IJobChangeEvent event)
- {
- runAfter.run();
- }
- });
- }
- refreshJob.schedule();
- }
-
- private void runOnCurrentThread(final boolean forceRefresh) throws CoreException, OperationCanceledException
- {
- ResourcesPlugin.getWorkspace().run(new RefreshRunnable(forceRefresh), _file, 0, null);
- }
-
- private final class RefreshRunnable implements IWorkspaceRunnable
- {
- private final boolean _forceRefresh;
-
- public RefreshRunnable(final boolean forceRefresh)
- {
- _forceRefresh = forceRefresh;
- }
-
- public void run(final IProgressMonitor monitor)
- throws CoreException
- {
- synchronized (_lastModificationStampMonitor)
- {
- if (!_lastModificationStampMonitor.compareAndSetSignalled(false, true))
- {
- // if this calls succeeds, then this thread has obtained the
- // lock already and has called through here before.
- // return immediately to ensure that we don't recurse
- // infinitely
- return;
- }
- IDOMModel model = null;
- try
- {
- // only refresh if forced or if the underlying file has
- // changed
- // since the last run
- if (_forceRefresh || isModelDirty())
- {
- model = getModelForFile(_file);
- if (model != null)
- {
- refreshInternal(model);
- }
- _lastModificationStampMonitor.setModificationStamp(_file.getModificationStamp());
- }
- }
- catch (final IOException e)
- {
- IStatus status = new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID,"Error refreshing internal model", e); //$NON-NLS-1$
- final CoreException e2 = new CoreException(status);
- throw e2;
- }
- // make sure that we unsignal the monitor before releasing the
- // mutex
- finally
- {
- _lastModificationStampMonitor.setSignalled(false);
- if (model != null)
- {
- model.releaseFromRead();
- }
- }
- }
- }
- }
-
-
-
- private void refreshInternal(final IDOMModel model)
- {
- final IStructuredDocumentContext context =
- IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), -1);
- final ITaglibContextResolver taglibResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context);
- final IDOMDocument document = model.getDocument();
- getApplicationMap().clear();
- getRequestMap().clear();
- getSessionMap().clear();
-
- if (taglibResolver == null) {
- // unusual, but protect against possible NPE
- JSFCorePlugin.log(IStatus.ERROR, "Program Error: taglib resolver is null."); //$NON-NLS-1$
- return;
- }
-
- //long curTime = System.currentTimeMillis();
- recurseChildNodes(model, document.getChildNodes(), taglibResolver);
- //long netTime = System.currentTimeMillis() - curTime;
- //System.out.println("Net time to recurse document: "+netTime);
- }
-
- private void recurseChildNodes(final IDOMModel model,
- final NodeList nodes,
- final ITaglibContextResolver taglibResolver)
- {
- for (int i = 0; i < nodes.getLength(); i++)
- {
- final Node child = nodes.item(i);
-
- // process attributes at this node before recursing
- processAttributes(model, child, taglibResolver);
- recurseChildNodes(model, child.getChildNodes(), taglibResolver);
- }
- }
-
- private void processAttributes(final IDOMModel model, final Node node,
- final ITaglibContextResolver taglibResolver)
- {
- if (taglibResolver.hasTag(node))
- {
- final String uri =
- taglibResolver.getTagURIForNodeName(node);
- final String elementName = node.getLocalName();
-
- for (int i = 0; i < node.getAttributes().getLength(); i++)
- {
- final Node attribute = node.getAttributes().item(i);
-
- processSymbolContrib(model, uri, elementName, attribute);
- processSetsLocale(uri, elementName, attribute);
- }
- }
- }
-
- private void processSymbolContrib(final IDOMModel model, final String uri, final String elementName, final Node attribute)
- {
- final SymbolContribAggregator aggregator =
- SymbolContribAggregator.
- create(_file, uri, elementName, attribute.getLocalName());
-
- if (aggregator != null)
- {
- final AbstractContextSymbolFactory factory = aggregator.getFactory();
- final String symbolName = attribute.getNodeValue();
-
- if (factory != null)
- {
-// long curTime = System.currentTimeMillis();
- final IStructuredDocumentContext context =
- IStructuredDocumentContextFactory.INSTANCE.
- getContext(model.getStructuredDocument(),
- attribute);
-
- if (factory.supports(context))
- {
- final List problems = new ArrayList();
- final ISymbol symbol =
- factory.create(symbolName,
- ISymbolConstants.SYMBOL_SCOPE_REQUEST, //TODO:
- context,
- problems,
- // TODO: add meta-data for signature
- new AdditionalContextSymbolInfo(aggregator.getStaticType(), aggregator.getValueExpressionAttr()));
-
- // long netTime = System.currentTimeMillis() - curTime;
- // System.out.println("Time to process loadBundle: "+netTime);
-
- if (symbol != null)
- {
- updateMap(symbol, aggregator.getScope());
- }
- }
- }
- else
- {
- final IComponentSymbol componentSymbol =
- SymbolFactory.eINSTANCE.createIComponentSymbol();
- componentSymbol.setName(symbolName);
-
- updateMap(componentSymbol, aggregator.getScope());
- }
- }
- }
-
- @SuppressWarnings("deprecation")
- private void processSetsLocale(final String uri, final String elementName, Node attribute)
- {
- LocaleSetAggregator aggregator = LocaleSetAggregator.create(_file, uri, elementName, attribute.getLocalName());
-
- if (aggregator != null)
- {
- DesignTimeApplicationManager dtAppMgr =
- DesignTimeApplicationManager.getInstance(_file.getProject());
-
- if (dtAppMgr != null)
- {
- DTFacesContext facesContext = dtAppMgr.getFacesContext(_file);
-
- if (facesContext != null)
- {
- facesContext.setLocaleString(attribute.getNodeValue());
- }
- }
- }
- }
-
- /**
- * @param scopeName - one of "request", "session" or "application" or "view" if JSF2.x
- * @return an unmodifable map containing all known symbols for
- * that scope. If scopeName is not found, returns the empty map.
- */
- public Map<Object, ISymbol> getMapForScope(final String scopeName)
- {
- final Map<Object, ISymbol> map = getMapForScopeInternal(scopeName);
-
- if (map != null)
- {
- return Collections.unmodifiableMap(map);
- }
-
- return Collections.EMPTY_MAP;
- }
-
- private void updateMap(final ISymbol symbol, final String scopeName)
- {
- final Map<Object, ISymbol> map = getMapForScopeInternal(scopeName);
-
- if (map != null)
- {
- map.put(symbol.getName(), symbol);
- }
- else
- {
- Platform.getLog(JSFCorePlugin.getDefault().getBundle()).log(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0, "Scope not found: "+scopeName, new Throwable())); //$NON-NLS-1$
- }
- }
-
- private Map<Object, ISymbol> getMapForScopeInternal(final String scopeName)
- {
- if (ISymbolConstants.SYMBOL_SCOPE_REQUEST_STRING.equals(scopeName))
- {
- return getRequestMap();
- }
- else if (ISymbolConstants.SYMBOL_SCOPE_SESSION_STRING.equals(scopeName))
- {
- return getSessionMap();
- }
- else if (ISymbolConstants.SYMBOL_SCOPE_APPLICATION_STRING.equals(scopeName))
- {
- return getApplicationMap();
- }
- else if (ISymbolConstants.SYMBOL_SCOPE_NONE_STRING.equals(scopeName))
- {
- return getNoneMap();
- }
- else if (ISymbolConstants.SYMBOL_SCOPE_VIEW_STRING.equals(scopeName))
- {
- return getViewMap();
- }
- else if (ISymbolConstants.SYMBOL_SCOPE_FLASH_STRING.equals(scopeName))
- {
- return getFlashMap();
- }
-
- Platform.getLog(JSFCorePlugin.getDefault().getBundle()).log(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0, "Scope not found: "+scopeName, new Throwable())); //$NON-NLS-1$
- return null;
-
- }
-
- private Map getRequestMap()
- {
- if (_requestMap == null)
- {
- _requestMap = new HashMap<Object, ISymbol>();
- }
-
- return _requestMap;
- }
-
- private Map<Object, ISymbol> getSessionMap()
- {
- if (_sessionMap == null)
- {
- _sessionMap = new HashMap<Object, ISymbol>();
- }
-
- return _sessionMap;
- }
-
- private Map<Object, ISymbol> getApplicationMap()
- {
- if (_applicationMap == null)
- {
- _applicationMap = new HashMap<Object, ISymbol>();
- }
-
- return _applicationMap;
- }
-
- private Map<Object, ISymbol> getNoneMap()
- {
- if (_noneMap == null)
- {
- _noneMap = new HashMap<Object, ISymbol>();
- }
-
- return _noneMap;
- }
-
- private Map<Object, ISymbol> getViewMap()
- {
- if (_viewMap == null)
- {
- _viewMap = new HashMap<Object, ISymbol>();
- }
-
- return _viewMap;
- }
-
- private Map<Object, ISymbol> getFlashMap()
- {
- if (_flashMap == null)
- {
- _flashMap = new HashMap<Object, ISymbol>();
- }
-
- return _flashMap;
- }
-
- /**
- * Aggregates the sets-locale meta-data
- *
- * @author cbateman
- */
- private static class LocaleSetAggregator
- {
- private final static String SETS_LOCALE = "sets-locale"; //$NON-NLS-1$
-
- private static LocaleSetAggregator create(final IFile file,
- final String uri,
- final String elementName, final String attributeName)
- {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- final Trait trait = query.getQueryHelper().getTrait(uri, elementName+"/"+attributeName, SETS_LOCALE); //$NON-NLS-1$
-// final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri);
-// final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, elementName+"/"+attributeName, SETS_LOCALE); //$NON-NLS-1$
-
- if (TraitValueHelper.getValueAsBoolean(trait))
- {
- return new LocaleSetAggregator();
- }
-
- return null;
- }
- }
-
- /**
- * Aggregates all the symbol contributor meta-data into a single object
- *
- * @author cbateman
- *
- */
- private static class SymbolContribAggregator
- {
- private final static String CONTRIBUTES_VALUE_BINDING =
- "contributes-value-binding"; //$NON-NLS-1$
- private final static String VALUE_BINDING_SCOPE = "value-binding-scope"; //$NON-NLS-1$
- private final static String VALUE_BINDING_SYMBOL_FACTORY =
- "value-binding-symbol-factory"; //$NON-NLS-1$
- private final static String STATIC_TYPE_KEY = "optional-value-binding-static-type"; //$NON-NLS-1$
- private final static String VALUEEXPRESSION_ATTR_NAME_KEY = "optional-value-binding-valueexpr-attr"; //$NON-NLS-1$
-
- /**
- * @param attributeName
- * @return a new instance only if attributeName is a symbol contributor
- */
- private static SymbolContribAggregator create(final IFile file,
- final String uri,
- final String elementName,
- final String attributeName)
- {
- final String entityKey = elementName+"/"+attributeName; //$NON-NLS-1$
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- final Entity entity = query.getQueryHelper().getEntity(uri, entityKey);
- Trait trait = query.getQueryHelper().getTrait(entity, CONTRIBUTES_VALUE_BINDING);
-// final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri);
-// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, CONTRIBUTES_VALUE_BINDING);
-
- final boolean contribsValueBindings = TraitValueHelper.getValueAsBoolean(trait);
-
- if (contribsValueBindings)
- {
- String scope = null;
- String symbolFactory = null;
-
- trait = query.getQueryHelper().getTrait(entity, VALUE_BINDING_SCOPE);
- scope = TraitValueHelper.getValueAsString(trait);
-
- if (scope != null && !scope.equals("")) //$NON-NLS-1$
- {
- trait = query.getQueryHelper().getTrait(entity, VALUE_BINDING_SYMBOL_FACTORY);
- symbolFactory = TraitValueHelper.getValueAsString(trait);
- }
-
- trait = query.getQueryHelper().getTrait(entity, STATIC_TYPE_KEY);
-
- String staticType = null;
-
- if (trait != null)
- {
- staticType = TraitValueHelper.getValueAsString(trait);
- }
-
- trait = query.getQueryHelper().getTrait(entity, VALUEEXPRESSION_ATTR_NAME_KEY);
-
- String valueExprAttr = null;
- if (trait != null)
- {
- valueExprAttr = TraitValueHelper.getValueAsString(trait);
- }
-
- return new SymbolContribAggregator(scope, symbolFactory, staticType, valueExprAttr);
- }
-
- return null;
- }
-
- private final Map<String, String> _metadata = new HashMap<String, String>(4);
-
- SymbolContribAggregator(final String scope, final String factory, final String staticType, final String valueExprAttr)
- {
- _metadata.put("scope", scope); //$NON-NLS-1$
- _metadata.put("factory", factory); //$NON-NLS-1$
- _metadata.put("staticType", staticType); //$NON-NLS-1$
- _metadata.put("valueExprAttr", valueExprAttr); //$NON-NLS-1$
- }
-
- /**
- * @return the scope
- */
- public String getScope()
- {
- return _metadata.get("scope"); //$NON-NLS-1$
- }
-
- /**
- * @return the factory
- */
- public AbstractContextSymbolFactory getFactory()
- {
- return JSFCommonPlugin.getSymbolFactories().get(_metadata.get("factory")); //$NON-NLS-1$
- }
-
- public String getStaticType()
- {
- return _metadata.get("staticType"); //$NON-NLS-1$
- }
-
- public String getValueExpressionAttr()
- {
- return _metadata.get("valueExprAttr"); //$NON-NLS-1$
- }
- }
-
- private final static class CountingMutex extends Object
- {
- private long _lastModificationStamp = -1;
- private boolean _signalled = false;
- private final ILock _lock = Job.getJobManager().newLock();
-
- /**
- * Similar to AtomicBoolean.compareAndSet. If the signalled flag
- * is the same as expect then update is written to the flag. Otherwise,
- * nothing happens.
- * @param expect the value of _signalled where update occurs
- * @param update the value written to _signalled if _signalled == expect
- *
- * @return true if the signalled flag was set to update
- */
- public boolean compareAndSetSignalled(final boolean expect, final boolean update) {
- final boolean[] value = new boolean[1];
- safeRun(new Runnable() {
- public void run()
- {
- if (_signalled == expect)
- {
- _signalled = update;
- value[0] = true;
- }
- else
- {
- value[0] = false;
- }
- }});
- return value[0];
- }
-
- public boolean hasChanged(final long currentModificationStamp)
- {
- final boolean[] value = new boolean[1];
- safeRun(new Runnable() {
- public void run()
- {
- value[0] = (_lastModificationStamp != currentModificationStamp);
- }});
- return value[0];
- }
-
- /**
- * @param signalled
- */
- public void setSignalled(final boolean signalled) {
- safeRun(new Runnable() {
- public void run()
- {
- _signalled = signalled;
- }});
- }
-
- public void setModificationStamp(final long newValue)
- {
- safeRun(new Runnable() {
- public void run()
- {
- _lastModificationStamp = newValue;
- }});
- }
-
- private void safeRun(final Runnable runnable)
- {
- _lock.acquire();
- try
- {
- runnable.run();
- }
- finally
- {
- _lock.release();
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/Messages.java
deleted file mode 100644
index de41104a9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/Messages.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Message resource class
- *
- * @author cbateman
- *
- */
-/*package*/ final class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- // no external instatiation
- }
-
- /**
- * @param key
- * @return the message string for key or !key! if not found
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/StartupHandler.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/StartupHandler.java
deleted file mode 100644
index 660e79752..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/jsp/StartupHandler.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.jsp;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.common.internal.JSPUtil;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * On workbench startup, registers a part listener that triggers when
- * a JSP editor opens.
- *
- * @author cbateman
- *
- */
-public class StartupHandler implements IStartup
-{
- private final JSPEditorListener _partListener = new JSPEditorListener();
- private final static boolean DISABLE_EDITOR_OPEN_REFRESH = System
- .getProperty("org.eclipse.jst.jsf.jspmodelprocessor.disable.editor.open.refresh") != null; //$NON-NLS-1$
-
- public void earlyStartup()
- {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
- {
- public void run()
- {
- final IWorkbenchWindow windows[] =
- PlatformUI.getWorkbench().getWorkbenchWindows();
-
- for (final IWorkbenchWindow window : windows)
- {
- final IWorkbenchPage pages[] = window.getPages();
- for (final IWorkbenchPage page : pages)
- {
- final IEditorReference[] editorReferences =
- page.getEditorReferences();
-
- for (final IEditorReference editorReference : editorReferences)
- {
- if (_partListener.isValidJSPEditor(editorReference))
- {
- _partListener.setJSPModelListener(editorReference);
- }
- }
- }
- window.getPartService().addPartListener(_partListener);
- }
-
- // TODO: register with all windows?
- PlatformUI.getWorkbench().addWindowListener(new IWindowListener()
- {
- public void windowActivated(final IWorkbenchWindow window) {
- // do nothing
- }
-
- public void windowDeactivated(final IWorkbenchWindow window) {
- // do nothing
- }
-
- public void windowClosed(final IWorkbenchWindow window) {
- window.getPartService().removePartListener(_partListener);
- }
-
- public void windowOpened(final IWorkbenchWindow window) {
- window.getPartService().addPartListener(_partListener);
- }
- });
- }
- });
- }
-
- private static class JSPEditorListener implements IPartListener2
- {
- private JSPModelProcessor _processor;
-
- public void partActivated(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partBroughtToTop(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partClosed(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partDeactivated(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partOpened(final IWorkbenchPartReference partRef) {
- if (isValidJSPEditor(partRef))
- {
- setJSPModelListener((IEditorReference)partRef);
- }
- }
-
- public void partHidden(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partVisible(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- public void partInputChanged(final IWorkbenchPartReference partRef) {
- // do nothing
- }
-
- private boolean isJSPEditor(final IEditorReference editorRef)
- {
- final IFile file = getIFile(editorRef);
-
- if (file != null)
- {
- return JSPUtil.isJSPContentType(file);
- }
-
- return false;
- }
-
- /**
- * @param editorRef
- * @return true if the editor is editing the JSP content type and
- * the owning project is a JSF project
- */
- boolean isValidJSPEditor(final IEditorReference editorRef)
- {
- final IFile file = getIFile(editorRef);
-
- return file != null &&
- JSFAppConfigUtils.isValidJSFProject(file.getProject()) &&
- isJSPEditor(editorRef);
- }
-
- boolean isValidJSPEditor(final IWorkbenchPartReference partRef)
- {
- if (partRef instanceof IEditorReference)
- {
- return isValidJSPEditor((IEditorReference)partRef);
- }
-
- return false;
- }
-
- void setJSPModelListener(final IEditorReference editorRef)
- {
- final IFile file = getIFile(editorRef);
-
- if (file != null && file.isAccessible())
- {
- try
- {
- if (!DISABLE_EDITOR_OPEN_REFRESH)
- {
- // implicitly creates if not present
- _processor = JSPModelProcessor.get(file);
- _processor.refresh(!JSPModelProcessor.FORCE_REFRESH,
- JSPModelProcessor.RUN_ON_CURRENT_THREAD);
- }
- } catch (final Exception e)
- {
- JSFCorePlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID,
- 0, "Error acquiring model processor", e)); //$NON-NLS-1$
- }
- }
- }
-
- IFile getIFile(final IEditorReference editorRef)
- {
- try
- {
- final IEditorInput editorInput = editorRef.getEditorInput();
- final Object adapt = editorInput.getAdapter(IFile.class);
-
- if (adapt instanceof IFile)
- {
- return (IFile) adapt;
- }
- }
- catch (final PartInitException excp)
- {
- JSFCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0, "Error acquiring editor input",excp)); //$NON-NLS-1$
- }
-
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/messages.properties
deleted file mode 100644
index 4ae3bd097..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/messages.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-CompositeTagResolvingStrategy_DisplayName=Composite Tag Resolving Strategies
-DefaultJSPTagResolver_DisplayName=Meta-data Driven Resolver
-PersistedDataTagStrategy_DisplayName=Cached Data Tag Resolver
-TagIntrospectingStrategy_DisplayName=Introspecting Tag Resolver
-TLDRegistryManager_DisplayName=JSP Registry Factory
-TLDTagRegistry_RefreshJob=Refreshing JSP tag registry for
-TLDTagRegistry_UpdateJob=Update job for project
-UnresolvedJSPTagResolvingStrategy_DisplayName=Unresolved Tag Resolver
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ITagElementResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ITagElementResolver.java
deleted file mode 100644
index 62d497d5d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ITagElementResolver.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resolver;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.IDocumentContextResolver;
-import org.w3c.dom.Node;
-
-/**
- * Defines a resolver that can resolve the ITagElement information from the
- * structured document region context.
- *
- */
-public interface ITagElementResolver extends IDocumentContextResolver {
-
- /**
- * @param node
- * @return ITagElement
- */
- public ITagElement getTagElement(final Node node);
-
- public boolean canResolveContext(final IModelContext modelContext);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ViewBasedTaglibResolverFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ViewBasedTaglibResolverFactory.java
deleted file mode 100644
index bf75439d4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resolver/ViewBasedTaglibResolverFactory.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.resolver;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IMetadataContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ITextRegionContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.designtime.DTAppManagerUtil;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewDefnAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A Taglib resolver that delegates to the design tieme view handler so that it
- * is independent of the tag definition type in use. Document must still be an
- * IStructuredDocument.
- *
- */
-public class ViewBasedTaglibResolverFactory implements
-IStructuredDocumentContextResolverFactory2, IAdaptable
-{
- public IDOMContextResolver getDOMContextResolver(
- final IStructuredDocumentContext context)
- {
- // no dom resolver
- return null;
- }
-
- public IMetadataContextResolver getMetadataContextResolver(
- final IStructuredDocumentContext context)
- {
- // no metadata resolver
- return null;
- }
-
- public ITaglibContextResolver getTaglibContextResolver(
- final IStructuredDocumentContext context)
- {
- if (context.getStructuredDocument() instanceof IStructuredDocument)
- {
- final IWorkspaceContextResolver resolver = INSTANCE
- .getWorkspaceContextResolver(context);
- if (resolver != null)
- {
- final IResource res = resolver.getResource();
-
- if (res instanceof IFile)
- {
- final IFile file = (IFile) res;
- final IProject project = file.getProject();
-
- if (project != null)
- {
- try
- {
- return new ViewBasedTaglibResolver(context, file,
- project);
- }
- catch (final IllegalArgumentException e)
- {
- // the constructor will throw this if the view
- // definition
- // adapter for file is not of the base type it needs
- // just fall through, no need to log
- }
- }
- }
- }
- }
-
- return null;
- }
-
- public ITaglibContextResolver getTaglibContextResolverFromDelegates(
- IStructuredDocumentContext context) {
- throw new UnsupportedOperationException();
- }
-
- public <T> T getResolver(final IStructuredDocumentContext context, final Class<T> clazz) {
- if (clazz.equals(ITagElementResolver.class) ||
- clazz.equals(ITaglibContextResolver.class)) {
- return (T)getTaglibContextResolver(context);
- }
- return null;
- }
- /**
- * A taglib resolver that goes through the design time view handler to
- * resolve tags. This allows us to abstract the definition format (XML) from
- * the kind of tag handlers that process it (JSP vs. Facelets vs. others).
- *
- */
- private static class ViewBasedTaglibResolver implements
- ITaglibContextResolver, ITagElementResolver
- {
- private final IProject _project;
- private final IFile _file;
- private final IStructuredDocumentContext _context;
-
- /**
- * @param context
- * @param file
- * @param project
- */
- private ViewBasedTaglibResolver(
- final IStructuredDocumentContext context, final IFile file,
- final IProject project)
- {
- super();
- _context = context;
- _file = file;
- _project = project;
-
- if (DTAppManagerUtil.getXMLViewDefnAdapter(project, file) == null)
- {
- throw new IllegalArgumentException(
- "View definition adapter not found"); //$NON-NLS-1$
- }
- }
-
- public String getTagPrefixForURI(final String uri)
- {
- final XMLViewDefnAdapter adapter = DTAppManagerUtil
- .getXMLViewDefnAdapter(_file);
-
- if (adapter != null)
- {
- return adapter.getPrefix(uri, _context.getStructuredDocument());
- }
- return null;
- }
-
- public String getTagURIForNodeName(final Node node)
- {
- final XMLViewDefnAdapter adapter = DTAppManagerUtil
- .getXMLViewDefnAdapter(_file);
- final Element element = getElement(node);
- if (element != null && adapter != null)
- {
- return adapter.getNamespace(element, _context.getStructuredDocument());
- }
- return null;
- }
-
- public NodeList getTagsByNamespaceURI(final String uri,
- final String tagName)
- {
- // TODO: what is the purpose of this API? deprecate?
- return null;
- }
-
- public boolean hasTag(final Node node)
- {
- // it is sufficient to check that the view adapter will give us
- // a non-null tag element
- return _getTagElement(node) != null;
- }
-
- public boolean canResolveContext(final IModelContext modelContext)
- {
- // must be a JSP page
- final Object adapter = modelContext.getAdapter(IStructuredDocumentContext.class);
-
- if (adapter instanceof IStructuredDocumentContext)
- {
- return ((IStructuredDocumentContext)adapter).getStructuredDocument() instanceof IStructuredDocument;
- }
- return false;
- }
-
- private Element getElement(final Node node)
- {
- Element checkNode = null;
-
- if (node instanceof Element)
- {
- checkNode = (Element) node;
- }
- else if (node instanceof Attr)
- {
- checkNode = ((Attr) node).getOwnerElement();
- }
- return checkNode;
- }
-
- private ITagElement _getTagElement(final Node node)
- {
- final Element element = getElement(node);
-
- final XMLViewDefnAdapter adapter =
- DTAppManagerUtil.getXMLViewDefnAdapter(_project, _file);
-
- if (element != null && adapter != null)
- {
- return adapter.mapToTagElement(element, _context
- .getStructuredDocument());
- }
- return null;
- }
-
- public ITagElement getTagElement(final Node node) {
- return _getTagElement(node);
- }
-
- }
-
-
- public ITextRegionContextResolver getTextRegionResolver(
- final IStructuredDocumentContext context)
- {
- // no text region resolver
- return null;
- }
-
- public IWorkspaceContextResolver getWorkspaceContextResolver(
- final IStructuredDocumentContext context)
- {
- // no workspace resolver
- return null;
- }
-
- public Object getAdapter(final Class adapter)
- {
- if (adapter.isInstance(this))
- {
- return this;
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/AbstractJSFResourceLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/AbstractJSFResourceLocator.java
deleted file mode 100644
index b0d5df80e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/AbstractJSFResourceLocator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.locator.AbstractLocator;
-import org.eclipse.jst.jsf.common.internal.locator.ILocatorChangeListener;
-import org.eclipse.jst.jsf.designtime.internal.resources.JSFResourceChangeListener.JSFResourceChangedEvent;
-
-/**
- * A locator that finds JSF resources.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractJSFResourceLocator extends
- AbstractLocator<List<IJSFResourceFragment>, IProject, String> implements
- IJSFResourceLocator
-{
-
- /**
- * @param id
- * @param displayName
- * @param noResultValue
- * @param mutableListenerList
- */
- protected AbstractJSFResourceLocator(String id, String displayName,
- List<IJSFResourceFragment> noResultValue,
- CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList)
- {
- super(id, displayName, noResultValue, mutableListenerList);
- }
-
- protected abstract List<IJSFResourceFragment> doLocate(IProject context);
-
- /**
- * TODO: would be better to have a private interface to call fire.
- *
- * @param event
- */
- protected void fireChangeEvent(final JSFResourceChangedEvent event)
- {
- super.fireChangeEvent(event);
- }
-
- public void addListener(JSFResourceChangeListener listener)
- {
- super.addListener(listener);
- }
-
- public void removeListener(JSFResourceChangeListener listener)
- {
- super.removeListener(listener);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResource.java
deleted file mode 100644
index 7ece953b8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResource.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- * Represents a JSF loadable resource (spec 2.6).
- *
- * @author cbateman
- *
- */
-public interface IJSFResource extends IJSFResourceFragment
-{
- /**
- * @param contentTypeName
- * @return true if the resources matches the content type indicated by the
- * contentTypeName.
- */
- public abstract boolean isContentType(final String contentTypeName);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceContainer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceContainer.java
deleted file mode 100644
index e65ff0194..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceContainer.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- * A JSF Resource fragment that is a container for other fragments.
- * @author cbateman
- *
- */
-public interface IJSFResourceContainer extends IJSFResourceFragment
-{
- // do nothing. Tagging for now.
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceFragment.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceFragment.java
deleted file mode 100644
index 71d474c7b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceFragment.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- * An object that backs a fragment of a JSF resource. A fragment may be a full
- * fledged JSF resource or a may be another interesting related object such as
- * the library folder that holds a resource.
- *
- * @author cbateman
- *
- */
-public interface IJSFResourceFragment
-{
-
- /**
- * @return true if the fragment is accessible
- */
- public abstract boolean isAccessible();
-
- /**
- * @return the type of this fragment.
- */
- public abstract Type getType();
-
- /**
- * @return the id of the fragment
- */
- public ResourceFragmentIdentifier getId();
-
- /**
- * The type of a fragment
- *
- */
- public enum Type
- {
- /**
- * A fragment of this type is a full-fledged JSF Resource. A fragment of
- * this type can always be cast to IJSFResource.
- */
- RESOURCE,
- /**
- * A fragment of this type is a container for actual RESOURCE's or other
- * fragments (or both). A fragment of this type can always be cast to
- * IJSFResourceContainer.
- */
- CONTAINER;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceLocator.java
deleted file mode 100644
index c44673cfe..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJSFResourceLocator.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.locator.ILocator;
-
-/**
- * A JSF resource locator.
- *
- * @author cbateman
- *
- */
-public interface IJSFResourceLocator extends ILocator<List<IJSFResourceFragment>, IProject, String>
-{
- /**
- * @param listener
- */
- public void addListener(final JSFResourceChangeListener listener);
- /**
- * @param listener
- */
- public void removeListener(final JSFResourceChangeListener listener);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJarBasedJSFResource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJarBasedJSFResource.java
deleted file mode 100644
index 76bcf6270..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IJarBasedJSFResource.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.net.URL;
-
-/**
- * @author cbateman
- *
- */
-public interface IJarBasedJSFResource extends IJSFResource
-{
- /**
- * @return the uri of the jar where the resource lives
- */
- public abstract URL getJarURL();
-
- /**
- * @return the zipEntry into the jar where the resource is.
- */
- public abstract String getJarEntryName();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IWorkspaceJSFResourceFragment.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IWorkspaceJSFResourceFragment.java
deleted file mode 100644
index d0d4a8a4b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/IWorkspaceJSFResourceFragment.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * A JSF fragment whose design time object(s) of interest are in the workspace
- * @author cbateman
- *
- */
-public interface IWorkspaceJSFResourceFragment extends IJSFResourceFragment
-{
-
- /**
- * @return the corresponding design time workspace resource.
- */
- public IResource getResource();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResource.java
deleted file mode 100644
index ccd37fe52..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResource.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-
-/**
- * Represents a JSF loadable resource (spec 2.6).
- *
- * @author cbateman
- *
- */
-public abstract class JSFResource extends JSFResourceFragment implements IJSFResource
-{
- private final ContentTypeResolver _contentTypeResolver;
-
- /**
- * @param id
- * @param contentTypeResolver
- */
- public JSFResource(final ResourceIdentifier id,
- final ContentTypeResolver contentTypeResolver)
- {
- super(id, Type.RESOURCE);
- _contentTypeResolver = contentTypeResolver;
- }
-
- /**
- * @return the identifier for this resource.
- */
- public final ResourceIdentifier getId()
- {
- return (ResourceIdentifier) super.getId();
- }
-
- /**
- * @return true if this jsf resource is currently accessible.
- */
- @Override
- public abstract boolean isAccessible();
-
- public boolean isContentType(final String contentTypeName)
- {
- return _contentTypeResolver.matchesType(contentTypeName, getId()
- .getResourceName());
- }
-
- @Override
- public String toString()
- {
- return getId().toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceChangeListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceChangeListener.java
deleted file mode 100644
index f7004c550..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceChangeListener.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.jst.jsf.common.internal.locator.ILocatorChangeListener;
-
-/**
- *
- * @author cbateman
- *
- */
-public abstract class JSFResourceChangeListener implements ILocatorChangeListener
-{
-
- /**
- * Indicates that a tag library has changed
- * @author cbateman
- *
- */
- public static class JSFResourceChangedEvent extends LocatorChangeEvent
- {
- /**
- *
- */
- private static final long serialVersionUID = -1546380081551499245L;
-
- /**
- * TODO: what happens if one locator has a namespace collision with
- * another one?
- */
- public enum CHANGE_TYPE
- {
- /**
- * Indicates that the resource is new
- */
- ADDED,
-
- /**
- * Indicates that the resource was removed.
- */
- REMOVED,
-
- /**
- * Indicates that the resource is not new, but it's content
- * has changed
- */
- CHANGED
- }
-
- private final CHANGE_TYPE _changeType;
- private final IJSFResourceFragment _oldValue;
- private final IJSFResourceFragment _newValue;
-
- /**
- * @param source
- * @param oldValue
- * @param newValue
- * @param changeType
- */
- public JSFResourceChangedEvent(
- final AbstractJSFResourceLocator source,
- final IJSFResourceFragment oldValue,
- final IJSFResourceFragment newValue,
- final CHANGE_TYPE changeType)
- {
- super(source);
- _changeType = changeType;
- _oldValue = oldValue;
- _newValue = newValue;
- }
-
- @Override
- public IJSFResourceLocator getSource()
- {
- return (IJSFResourceLocator) super.getSource();
- }
-
- /**
- * @return the type of the change
- */
- public final CHANGE_TYPE getChangeType()
- {
- return _changeType;
- }
-
- /**
- * @return the old value. This is null if the event is ADDED
- */
- public final IJSFResourceFragment getOldValue()
- {
- return _oldValue;
- }
-
- /**
- * @return the new value. This is null if the event is REMOVED
- */
- public final IJSFResourceFragment getNewValue()
- {
- return _newValue;
- }
- }
-
- public final void changed(final LocatorChangeEvent event)
- {
- changed((JSFResourceChangedEvent)event);
- }
-
- /**
- * @param event
- */
- public abstract void changed(final JSFResourceChangedEvent event);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceContainer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceContainer.java
deleted file mode 100644
index 3ffaf5885..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceContainer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- * A container for JSFResource's. This is a fragment in that it's identifier
- * may not point to a valid JSFResource but rather a portion of that nonetheless
- * maps to some interesting underlying contain object such as an IFolder.
- *
- * @author cbateman
- *
- */
-public abstract class JSFResourceContainer extends JSFResourceFragment implements IJSFResourceContainer
-{
-
- /**
- * @param id
- */
- public JSFResourceContainer(ResourceFragmentIdentifier id)
- {
- super(id, Type.CONTAINER);
- }
-
- @Override
- public abstract boolean isAccessible();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceFragment.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceFragment.java
deleted file mode 100644
index 4de62aef6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JSFResourceFragment.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- *
- * @author cbateman
- *
- */
-public abstract class JSFResourceFragment implements IJSFResourceFragment
-{
- private final ResourceFragmentIdentifier _id;
- private final Type _type;
-
- /**
- * @param id
- * @param type
- */
- public JSFResourceFragment(final ResourceFragmentIdentifier id,
- final Type type)
- {
- _id = id;
- _type = type;
- }
-
- public ResourceFragmentIdentifier getId()
- {
- return _id;
- }
-
- public final Type getType()
- {
- return _type;
- }
-
- public abstract boolean isAccessible();
-
- public String toString()
- {
- String toString = _id != null ? _id.toString() : "?"; //$NON-NLS-1$
- return String.format("%s[%s]", toString, _type.toString()); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResource.java
deleted file mode 100644
index 3cad67ee9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResource.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.io.IOException;
-import java.net.JarURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * A JSF Resource that references an entry in the jar. Because of changes in the
- * underlying system since it was created, there is no guarantee that the jarURI
- * is still valid. Callers should call isAccessible to determine this.
- *
- * @author cbateman
- *
- */
-public class JarBasedJSFResource extends JSFResource implements IJarBasedJSFResource
-{
-
- private final URL _jarURL;
-
- /**
- * @param id
- * @param jarURL
- * @param contentTypeResolver
- */
- public JarBasedJSFResource(final ResourceIdentifier id, final URL jarURL,
- final ContentTypeResolver contentTypeResolver)
- {
- super(id, contentTypeResolver);
- _jarURL = jarURL;
- }
-
- /**
- * @return the uri pointing in the the jar where the resource lives.
- */
- public URL getJarURL()
- {
- return _jarURL;
- }
-
- /**
- * @return the jar entry name for this resource.
- */
- public String getJarEntryName()
- {
- return String.format("META-INF/resources/%s", getId().toString()); //$NON-NLS-1$
- }
-
- private ZipEntry getZipEntry(final JarFile jarFile)
- {
- return jarFile.getEntry(getJarEntryName());
- }
-
- /**
- * @return true if is accessible.
- */
- @Override
- public boolean isAccessible()
- {
- JarFile jarFile = null;
- try
- {
- jarFile = getJarFile();
- if (jarFile != null)
- {
- final ZipEntry entry = getZipEntry(jarFile);
- return entry != null;
- }
- } finally
- {
- if (jarFile != null)
- {
- try
- {
- jarFile.close();
- } catch (IOException ioex)
- {
- JSFCorePlugin.log("Error closing jar file", ioex); //$NON-NLS-1$
- }
- }
- }
- return false;
- }
-
- private JarFile getJarFile()
- {
- URLConnection connection;
- try
- {
- connection = _jarURL.openConnection();
- connection.connect();
- if (connection instanceof JarURLConnection)
- {
- return ((JarURLConnection) connection).getJarFile();
- }
- } catch (IOException e)
- {
- // fall through
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResourceLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResourceLocator.java
deleted file mode 100644
index aa48cea55..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/JarBasedJSFResourceLocator.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.internal.finder.VisitorMatcher;
-import org.eclipse.jst.jsf.common.internal.finder.acceptor.JarEntryMatchingAcceptor;
-import org.eclipse.jst.jsf.common.internal.finder.matcher.TaglibJarEntryFinder;
-import org.eclipse.jst.jsf.common.internal.locator.ILocatorChangeListener;
-import org.eclipse.jst.jsf.common.internal.resource.ClasspathJarFile;
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-import org.eclipse.jst.jsf.common.internal.resource.IJarLocator;
-import org.eclipse.jst.jsf.common.internal.util.JarUtilities;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.resources.ResourceIdentifierFactory.InvalidIdentifierException;
-
-/**
- * A JSF resource locator that finds resources in jars.
- *
- * @author cbateman
- *
- */
-public class JarBasedJSFResourceLocator extends AbstractJSFResourceLocator
-{
- private final IJarLocator _provider;
- private final ContentTypeResolver _contentTypeResolver;
- private static final Pattern _resourcePathPattern = Pattern
- .compile("META-INF/resources/(.*)"); //$NON-NLS-1$
- private static final TaglibJarEntryFinder _resourceFinder = new TaglibJarEntryFinder(
- _resourcePathPattern);
-
- /**
- * @param id
- * @param displayName
- * @param noResultValue
- * @param mutableListenerList
- * @param provider
- * @param contentTypeResolver
- */
- public JarBasedJSFResourceLocator(
- final String id,
- final String displayName,
- final List<IJSFResourceFragment> noResultValue,
- final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList,
- final IJarLocator provider,
- final ContentTypeResolver contentTypeResolver)
- {
- super(id, displayName, noResultValue, mutableListenerList);
- _provider = provider;
- _contentTypeResolver = contentTypeResolver;
- }
-
- /**
- * @param noResultValue
- * @param mutableListenerList
- * @param provider
- * @param contentTypeResolver
- */
- public JarBasedJSFResourceLocator(
- final List<IJSFResourceFragment> noResultValue,
- final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList,
- final IJarLocator provider,
- final ContentTypeResolver contentTypeResolver)
- {
- this(
- "", "", noResultValue, mutableListenerList, provider, contentTypeResolver); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public void start(final IProject initialContext)
- {
- _provider.start(initialContext);
- super.start(initialContext);
- }
-
- @Override
- public void stop()
- {
- _provider.stop();
- super.stop();
- }
-
- @Override
- protected List<IJSFResourceFragment> doLocate(final IProject project)
- {
- final List<IJSFResourceFragment> resourcesFound = new ArrayList<IJSFResourceFragment>();
- final Collection<? extends ClasspathJarFile> jars = _provider
- .getJars(project);
- for (final ClasspathJarFile classpathJarFile : jars)
- {
- final JarFile jarFile = classpathJarFile.getJarFile();
- if (jarFile != null)
- {
- resourcesFound.addAll(processJar(jarFile));
- }
- }
- return resourcesFound;
- }
-
- /**
- * @param entry
- * @param defaultDtdStream
- * @throws Exception
- */
- private List<JSFResource> processJar(final JarFile jarFile)
- {
- final List<JSFResource> tagLibsFound = new ArrayList<JSFResource>();
- try
- {
- if (jarFile != null)
- {
- final JarEntryMatchingAcceptor acceptor = new JarEntryMatchingAcceptor();
- final VisitorMatcher<JarFile, JarEntry, String> matcher = new VisitorMatcher<JarFile, JarEntry, String>(
- "", "", acceptor, Collections.singletonList(_resourceFinder)); //$NON-NLS-1$//$NON-NLS-2$
- final Collection<? extends JarEntry> matchingEntries = matcher
- .find(jarFile);
- for (final JarEntry jarEntry : matchingEntries)
- {
- try
- {
- final Matcher patternMatcher = _resourcePathPattern
- .matcher(jarEntry.getName());
- if (patternMatcher.matches())
- {
- final String group = patternMatcher.group(1);
- if (group != null && group.trim().length() > 0)
- {
- final ResourceIdentifier libRes = new ResourceIdentifierFactory()
- .createLibraryResource(group);
- final URL jarUrl = JarUtilities.INSTANCE
- .createJarUrl(jarFile);
- tagLibsFound.add(new JarBasedJSFResource(
- libRes, jarUrl, _contentTypeResolver));
- }
- }
- } catch (final InvalidIdentifierException e)
- {
- JSFCorePlugin.log(IStatus.INFO, "Ignoring invalid id: "+e.getId()); //$NON-NLS-1$
- }
- catch (final Exception e)
- {
- JSFCorePlugin.log(
- "Error initializing facelet registry entry", //$NON-NLS-1$
- e);
- }
- }
- }
- } catch (final Exception e)
- {
- JSFCorePlugin.log(e,
- "While locating jar based facelet tag libraries"); //$NON-NLS-1$
- } finally
- {
- if (jarFile != null)
- {
- try
- {
- jarFile.close();
- } catch (final IOException ioe)
- {
- JSFCorePlugin.log("Error closing jar file", ioe); //$NON-NLS-1$
- }
- }
- }
- return tagLibsFound;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceFragmentIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceFragmentIdentifier.java
deleted file mode 100644
index 744f0b1b6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceFragmentIdentifier.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * A fragment identifier for a library folder.
- *
- * @author cbateman
- *
- */
-public class LibraryResourceFragmentIdentifier extends
- ResourceFragmentIdentifier
-{
- private final String _libraryName;
-
- /**
- * @param libraryName
- */
- public LibraryResourceFragmentIdentifier(final String libraryName)
- {
- super();
- _libraryName = libraryName;
- }
-
- @Override
- public String getLibraryName()
- {
- return _libraryName;
- }
- @Override
- public IStatus validate()
- {
- return Status.OK_STATUS;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceIdentifier.java
deleted file mode 100644
index 8d782731d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/LibraryResourceIdentifier.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-/**
- * A resource identifier for a library.
- * @author cbateman
- *
- */
-public class LibraryResourceIdentifier extends ResourceIdentifier
-{
- private final String _libraryName;
-
- /**
- * @param resName
- * @param libraryName
- */
- public LibraryResourceIdentifier(final String resName, final String libraryName)
- {
- super(resName);
- _libraryName = libraryName;
- }
-
- @Override
- public String getLibraryName()
- {
- return _libraryName;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/Messages.java
deleted file mode 100644
index d08cae68a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/Messages.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * NLS for resource identifier messages.
- * @author cbateman
- *
- */
-public class Messages extends NLS
-{
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.internal.resources.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String ResourceIdentifier_0;
- static
- {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceFragmentIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceFragmentIdentifier.java
deleted file mode 100644
index db87d34d5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceFragmentIdentifier.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Represents a piece of a resource identifier.
- *
- * [localePrefix/][libraryName/][libraryVersion/][resourceName][/resourceVersion]
- *
- * @author cbateman
- *
- */
-public abstract class ResourceFragmentIdentifier
-{
-
- /**
- * @return true if validate().isOk
- */
- public boolean isValid()
- {
- return validate().isOK();
- }
-
- /**
- * @return a validation status for the current value of this identifier
- */
- public abstract IStatus validate();
-
- /**
- * @return the resource name or null if none.
- */
- public String getResourceName()
- {
- return null;
- }
-
- /**
- * @return the locale prefix or null if none.
- */
- public String getLocalePrefix()
- {
- return null;
- }
-
- /**
- * @return the library name or null if none.
- */
- public String getLibraryName()
- {
- return null;
- }
-
- /**
- * @return the library version or null if none.
- */
- public String getLibraryVersion()
- {
- return null;
- }
-
- /**
- * @return the resource version or null if none.
- */
- public String getResourceVersion()
- {
- return null;
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if (super.equals(obj))
- {
- return true;
- }
-
- if (obj instanceof ResourceIdentifier)
- {
- String meToString = toString();
- String otherToString = obj.toString();
- return meToString != null && meToString.equals(otherToString);
- }
- return false;
- }
-
- @Override
- public int hashCode()
- {
- String toString = toString();
- return toString != null ? toString.hashCode() : 0;
- }
-
-
- @Override
- public String toString()
- {
- String toString = ""; //$NON-NLS-1$
-
- toString = append(toString, getLocalePrefix());
- toString = append(toString, getLibraryName());
- toString = append(toString, getLibraryVersion());
- toString = append(toString, getResourceName());
- toString = append(toString, getResourceVersion());
- return toString;
- }
-
- /**
- * @param appendStr
- * @param toAppend
- * @return a string with to toAppend appended to appendStr if it is not null.
- * If appendStr is not append, a '/' is added between the two concatenated strings.
- */
- protected String append(String appendStr, final String toAppend)
- {
- if (toAppend != null)
- {
- if (appendStr.length() > 0)
- {
- appendStr += "/"; //$NON-NLS-1$
- }
- appendStr += toAppend;
- }
- return appendStr;
- }
- /**
- * @return true if this identifier represents only a fragment of an identifier.
- */
- public boolean isFragment()
- {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifier.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifier.java
deleted file mode 100644
index 19f86efa9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifier.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Encapsulates the concept of a JSF (2.0+) resource identifier per 2.6.1 of the
- * specification. The class does not ensure validity of the identifier.
- *
- * You can call validate to determine if the contents are correct.
- *
- * @author cbateman
- *
- */
-public class ResourceIdentifier extends ResourceFragmentIdentifier
-{
- /**
- * Resource name is not optional on identifiers.
- */
- public static final int RESOURCE_NAME_MUST_NOT_BE_EMPTY = 0;
- /**
- * The namespace for validation diagnositics created by validate.
- */
- public static final String ResourceIdentifierValidationNamespace = JSFCorePlugin.PLUGIN_ID
- + "_JSFResourceIdentifier"; //$NON-NLS-1$
- private final String _resName;
-
- /**
- * @param resName
- */
- public ResourceIdentifier(String resName)
- {
- super();
- _resName = resName;
- }
-
- /**
- * Allow fragments to be
- */
- protected ResourceIdentifier()
- {
- super();
- _resName = null;
- }
- /**
- * @return the resource name or null if none.
- */
- @Override
- public String getResourceName()
- {
- return _resName;
- }
-
- /**
- * @return a status object multi-value that contains the results of
- * validating this resoure identifier.
- */
- @Override
- public IStatus validate()
- {
- final String id = ResourceIdentifierValidationNamespace;
- final MultiStatus status = new MultiStatus(id, 0,
- "Resource identifier problems", null); //$NON-NLS-1$
-
- if (getResourceName() == null)
- {
- status.add(new Status(IStatus.ERROR, id,
- RESOURCE_NAME_MUST_NOT_BE_EMPTY,
- Messages.ResourceIdentifier_0, null));
- }
-
- return status;
- }
-
- @Override
- public String toString()
- {
- if (!validate().isOK())
- {
- throw new IllegalStateException();
- }
- String idString = getResourceName();
- if (getResourceVersion() != null)
- {
- idString = String.format("%s/%s", getResourceVersion(), idString); //$NON-NLS-1$
- }
- if (getLibraryName() != null)
- {
- idString = String.format("%s/%s", getLibraryName(), idString); //$NON-NLS-1$
- }
-
- if (getLocalePrefix() != null)
- {
- idString = String.format("%s/%s", getLocalePrefix(), idString); //$NON-NLS-1$
- }
-
- if (getResourceVersion() != null)
- {
- idString += "/" + getResourceVersion(); //$NON-NLS-1$
- }
- return idString;
- }
-
- @Override
- public final boolean isFragment()
- {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java
deleted file mode 100644
index 004083b2c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.util.regex.Pattern;
-
-/**
- * Creates a resource identifier from a string. Because id strings are ambiguous,
- * the caller must used specific methods to resolve the ambiguity.
- *
- * @author cbateman
- *
- */
-public class ResourceIdentifierFactory
-{
- /**
- * The regular expression for version matching
- */
- public static final String VersionRegex = "[0-9]+(_[0-9]+)*"; //$NON-NLS-1$
- /**
- * A precompiled regex pattern for matching resource version.
- */
- public static final Pattern VersionPattern = Pattern.compile(VersionRegex);
-
- /**
- * @param idString
- * @return a LibraryResourceIdentifier based on the string. The call
- * assumes that the identifier contains a library name. If the idString
- * can't be resolved for correctness, InvalidIdentifierException will be thrown.
- * @throws InvalidIdentifierException
- */
- public ResourceIdentifier createLibraryResource(final String idString) throws InvalidIdentifierException
- {
- final String[] parts = idString.split("/"); //$NON-NLS-1$
- String resName = null;
- String libraryName = null;
- switch(parts.length)
- {
- case 1:
- // The whole string is the resource name. There is no library name.
- resName = parts[0];
- break;
- case 2:
- // the first part is the libraryName and the second is the res name
- // TODO: this is ambiguous with locale/resourceName
- resName = parts[1];
- libraryName = parts[0];
- break;
- case 3:
- // is it of form libraryName/libraryVersion/resourceName?
- if (VersionPattern.matcher(parts[1]).matches())
- {
- resName = parts[2];
- libraryName = parts[0];
- break;
- }
- // if no, then this is invalid
- throw new InvalidIdentifierException(idString);
- case 4:
- // is it of the form locale/libraryName/libraryVersion/resourceName
- if (VersionPattern.matcher(parts[2]).matches())
- {
- resName = parts[3];
- libraryName = parts[1];
- break;
- }
- // no? then is it libraryName/libraryVersion/resourceName/resourceVersion
- else if (VersionPattern.matcher(parts[1]).matches())
- {
- resName = parts[2];
- libraryName = parts[0];
- break;
- }
- // no? then assume it is locale/libraryName/resourceName/resourceVersion
- else
- {
- resName = parts[2];
- libraryName = parts[1];
- break;
- }
- case 5:
- // this is the full one: locale/libraryName/libraryVersion/resourceName/resourceVersion
- resName = parts[3];
- libraryName = parts[1];
- break;
- }
-
- if (resName == null)
- {
- throw new InvalidIdentifierException(idString);
- }
-
- return new LibraryResourceIdentifier(resName, libraryName);
- }
-
- /**
- * @param libraryName
- * @return a new resource fragment identifier for a library folder.
- */
- public ResourceFragmentIdentifier createLibraryFragment(final String libraryName)
- {
- return new LibraryResourceFragmentIdentifier(libraryName);
- }
-
- /**
- * Indicates an invalid id.
- *
- * @author cbateman
- *
- */
- public static class InvalidIdentifierException extends Exception
- {
-
- private final String _id;
-
- /**
- * @param id
- */
- public InvalidIdentifierException(final String id)
- {
- super();
- _id = id;
- }
-
- /**
- * @param message
- * @param cause
- * @param id
- */
- public InvalidIdentifierException(final String message, final Throwable cause, final String id)
- {
- super(message, cause);
- _id = id;
- }
-
- /**
- * @param message
- * @param id
- */
- public InvalidIdentifierException(final String message, final String id)
- {
- super(message);
- _id = id;
- }
-
- /**
- * @param cause
- * @param id
- */
- public InvalidIdentifierException(final Throwable cause, final String id)
- {
- super(cause);
- _id = id;
- }
-
- /**
- * @return the id that was found to be invalid.
- */
- public final String getId()
- {
- return _id;
- }
-
- /**
- *
- */
- private static final long serialVersionUID = -8926293207447823901L;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResource.java
deleted file mode 100644
index c0d48e838..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResource.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-
-/**
- * A JSF resource that corresponds to an object in the workspace.
- * @author cbateman
- *
- */
-public class WorkspaceJSFResource extends JSFResource implements IWorkspaceJSFResourceFragment
-{
- private final IResource _res;
-
- /**
- * @param id
- * @param res
- * @param contentTypeResolver
- */
- public WorkspaceJSFResource(final ResourceIdentifier id, final IResource res, final ContentTypeResolver contentTypeResolver)
- {
- super(id, contentTypeResolver);
- _res = res;
- }
-
- public final IResource getResource()
- {
- return _res;
- }
-
-
- public final boolean isAccessible()
- {
- return _res.isAccessible();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceContainer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceContainer.java
deleted file mode 100644
index aa9be8422..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceContainer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import org.eclipse.core.resources.IContainer;
-
-/**
- * A concrete JSFResourceContainer that maps to a container object in the
- * workspace.
- *
- * @author cbateman
- *
- */
-public class WorkspaceJSFResourceContainer extends JSFResourceContainer implements IWorkspaceJSFResourceFragment
-{
-
- private final IContainer _container;
-
- /**
- * @param id
- * @param container
- */
- public WorkspaceJSFResourceContainer(final ResourceFragmentIdentifier id,
- final IContainer container)
- {
- super(id);
- _container = container;
- }
-
- @Override
- public boolean isAccessible()
- {
- return _container.isAccessible();
- }
-
- /**
- * @return the container resource
- */
- public IContainer getResource()
- {
- return _container;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceLocator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceLocator.java
deleted file mode 100644
index 425e9e92a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceJSFResourceLocator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery;
-import org.eclipse.jst.jsf.common.internal.locator.ILocatorChangeListener;
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-
-/**
- * @author cbateman
- *
- */
-public class WorkspaceJSFResourceLocator extends AbstractJSFResourceLocator
-{
- private final AbstractVirtualComponentQuery _vcQuery;
- private final ContentTypeResolver _contentTypeResolver;
- private WorkspaceResourceManager _workspaceResourceManager;
-
- /**
- * @param id
- * @param displayName
- * @param noResultValue
- * @param mutableListenerList
- * @param vcQuery
- * @param contentTypeResolver
- * @param workspace
- */
- public WorkspaceJSFResourceLocator(
- final String id,
- final String displayName,
- final List<IJSFResourceFragment> noResultValue,
- final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList,
- final AbstractVirtualComponentQuery vcQuery,
- final ContentTypeResolver contentTypeResolver,
- final IWorkspace workspace)
- {
- super(id, displayName, noResultValue, mutableListenerList);
- _vcQuery = vcQuery;
- _contentTypeResolver = contentTypeResolver;
- }
-
- /**
- * @param noResultValue
- * @param mutableListenerList
- * @param vcQuery
- * @param contentTypeResolver
- * @param workspace
- */
- public WorkspaceJSFResourceLocator(
- final List<IJSFResourceFragment> noResultValue,
- final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList,
- final AbstractVirtualComponentQuery vcQuery,
- final ContentTypeResolver contentTypeResolver,
- final IWorkspace workspace)
- {
- this(
- "", "", noResultValue, mutableListenerList, vcQuery, contentTypeResolver, workspace); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- @Override
- public void start(final IProject initialContext)
- {
- _workspaceResourceManager = new WorkspaceResourceManager(
- initialContext, _vcQuery, this, _contentTypeResolver);
- _workspaceResourceManager.initResources();
- super.start(initialContext);
- }
-
- @Override
- protected List<IJSFResourceFragment> doLocate(final IProject project)
- {
- return _workspaceResourceManager.getJSFResources();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceResourceManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceResourceManager.java
deleted file mode 100644
index ac9127625..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/WorkspaceResourceManager.java
+++ /dev/null
@@ -1,406 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.resources;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery;
-import org.eclipse.jst.jsf.common.internal.finder.AbstractMatcher.AlwaysMatcher;
-import org.eclipse.jst.jsf.common.internal.finder.VisitorMatcher;
-import org.eclipse.jst.jsf.common.internal.finder.acceptor.FileMatchingAcceptor;
-import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.ReasonType;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceManager;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceTracker;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.resources.JSFResourceChangeListener.JSFResourceChangedEvent;
-import org.eclipse.jst.jsf.designtime.internal.resources.JSFResourceChangeListener.JSFResourceChangedEvent.CHANGE_TYPE;
-import org.eclipse.jst.jsf.designtime.internal.resources.ResourceIdentifierFactory.InvalidIdentifierException;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-
-/**
- * Resource Manager that tracks JSF resources in a workspace.
- *
- * @author cbateman
- *
- */
-public class WorkspaceResourceManager extends ResourceManager<IResource>
-{
- private final AbstractVirtualComponentQuery _vcQuery;
- private final IProject _project;
- private final AbstractJSFResourceLocator _locator;
- private final ContentTypeResolver _contentTypeResolver;
- private final ResourceIdentifierFactory _factory;
-
- /**
- * @param project
- * @param vcQuery
- * @param locator
- * @param contentTypeResolver
- */
- public WorkspaceResourceManager(final IProject project,
- final AbstractVirtualComponentQuery vcQuery,
- final AbstractJSFResourceLocator locator,
- final ContentTypeResolver contentTypeResolver)
- {
- super(project.getWorkspace());
- _project = project;
- _vcQuery = vcQuery;
- _locator = locator;
- _contentTypeResolver = contentTypeResolver;
- _factory = new ResourceIdentifierFactory();
- }
-
- @Override
- protected JSFResourceTracker createNewInstance(final IResource resource)
- {
- final boolean isJSFResource = !getRootResourceFolder().getParent()
- .equals(resource);
- return new JSFResourceTracker(resource, isJSFResource);
- }
-
- @Override
- public void initResources()
- {
- final IFolder folder = getRootResourceFolder();
- if (folder != null)
- {
- try
- {
- track(folder.getParent());
- track(folder);
- } catch (final Exception e1)
- {
- JSFCorePlugin
- .log(e1,
- "While trying to locate JSF resources in the workspace"); //$NON-NLS-1$
- }
- if (folder.isAccessible())
- {
- trackAllInFolder(folder);
- }
- }
- }
-
- private List<IWorkspaceJSFResourceFragment> trackAllInFolder(
- final IContainer folder)
- {
- final VisitorMatcher<IContainer, IResource, String> matcher = new VisitorMatcher<IContainer, IResource, String>(
- "", "", //$NON-NLS-1$ //$NON-NLS-2$
- new FileMatchingAcceptor(),
- Collections.singletonList(new AlwaysMatcher()));
- final List<IWorkspaceJSFResourceFragment> newFragments = new ArrayList<IWorkspaceJSFResourceFragment>();
- try
- {
- final Collection<? extends IResource> foundResources = matcher
- .find(folder);
- for (final IResource res : foundResources)
- {
- try
- {
- newFragments.add(track(res));
- } catch (final InvalidIdentifierException e)
- {
- JSFCorePlugin.log(IStatus.INFO,
- "Ignoring invalid JSF resource: "+res); //$NON-NLS-1$
- }
- catch (final ManagedObjectException e)
- {
- JSFCorePlugin.log(e,
- "Problem adding managed object for resource: "+res); //$NON-NLS-1$
- }
- }
- } catch (final Exception e)
- {
- JSFCorePlugin.log(e,
- "While trying to locate JSF resources in the workspace"); //$NON-NLS-1$
- }
- return newFragments;
- }
-
- private IWorkspaceJSFResourceFragment track(final IResource res)
- throws ManagedObjectException, InvalidIdentifierException
- {
- final IPath fullPath = res.getFullPath().makeRelativeTo(
- getRootResourceFolder().getFullPath());
- // cause the resource to get tracked
- final JSFResourceTracker tracker = (JSFResourceTracker) getInstance(res);
- IWorkspaceJSFResourceFragment jsfRes = null;
- if (res.getType() == IResource.FILE)
- {
- try
- {
- jsfRes = new WorkspaceJSFResource(
- _factory.createLibraryResource(fullPath.toString()), res,
- _contentTypeResolver);
- }
- catch (InvalidIdentifierException e)
- {
- // ensure that the tracker gets released before we throw the exception.
- unmanageResource(res);
- tracker.dispose();
- throw e;
- }
- } else
- {
- jsfRes = new WorkspaceJSFResourceContainer(
- _factory.createLibraryFragment(fullPath.toString()),
- (IContainer) res);
- }
- tracker.setJsfResource(jsfRes);
- addLifecycleEventListener(tracker);
- return jsfRes;
- }
-
- /**
- * @return the root folder for resources in the workspace.
- */
- public IFolder getRootResourceFolder()
- {
- final IVirtualFolder webContentFolder = _vcQuery
- .getWebContentFolder(_project);
- if (webContentFolder != null
- && webContentFolder.getUnderlyingFolder().isAccessible())
- {
- return webContentFolder.getUnderlyingFolder().getFolder(
- new Path("resources")); //$NON-NLS-1$
- }
- return null;
- }
-
- @Override
- public List<IResource> getResources()
- {
- return new ArrayList(getManagedResources());
- }
-
- /**
- * @return the jsf resource currently known. List is a copy but the
- * contained JSFResource references are not.
- */
- public List<IJSFResourceFragment> getJSFResources()
- {
- final List<IJSFResourceFragment> jsfResources = new ArrayList<IJSFResourceFragment>();
- final Map<IResource, ManagedResourceObject<ResourceTracker<IResource>>> jsfResourceTrackers = getPerResourceObjects();
- for (final Map.Entry<IResource, ManagedResourceObject<ResourceTracker<IResource>>> entry : jsfResourceTrackers
- .entrySet())
- {
- final JSFResourceTracker jsfResourceTracker = (JSFResourceTracker) entry
- .getValue().getManagedObject();
- if (jsfResourceTracker.isJSFResource())
- {
- jsfResources.add(jsfResourceTracker.getJsfResource());
- }
- }
- return jsfResources;
- }
-
- private class JSFResourceTracker extends ResourceTracker<IResource>
- {
- private IWorkspaceJSFResourceFragment _jsfResource;
- private final boolean _isJSFResource;
-
- /**
- * @param resource
- * @param isJSFResource
- * if false, indicates that the resource being tracked is
- * related to JSF resources but not an actual JSF resource
- * (i.e. web root).
- */
- public JSFResourceTracker(final IResource resource,
- final boolean isJSFResource)
- {
- super(resource);
- _isJSFResource = isJSFResource;
- }
-
- public boolean isJSFResource()
- {
- return _isJSFResource;
- }
-
- @Override
- protected void fireResourceInAccessible(
- final IResource affectedResource, final ReasonType reasonType)
- {
- if (reasonType == ReasonType.RESOURCE_DELETED_FROM_CONTAINER
- || reasonType == ReasonType.RESOURCE_MOVED_CONTAINER)
- {
- try
- {
- final List<JSFResourceTracker> trackers = getTrackers(affectedResource);
- for (final JSFResourceTracker tracker : trackers)
- {
- final IWorkspaceJSFResourceFragment jsfResource = tracker
- .getJsfResource();
- removeLifecycleEventListener(tracker);
- _locator.fireChangeEvent(new JSFResourceChangedEvent(
- _locator, jsfResource, null,
- CHANGE_TYPE.REMOVED));
- }
- } catch (final ManagedObjectException e)
- {
- JSFCorePlugin.log(e,
- "Processing an inaccessible resource event"); //$NON-NLS-1$
- }
- }
- }
-
- private List<JSFResourceTracker> getTrackers(final IResource res)
- throws ManagedObjectException
- {
- final JSFResourceTracker tracker = (JSFResourceTracker) getInstance(res);
- final List<JSFResourceTracker> allChildren = new ArrayList<JSFResourceTracker>();
- allChildren.add(tracker);
- if (res instanceof IContainer)
- {
- final IPath parentPath = res.getFullPath();
- for (final Entry<IResource, ManagedResourceObject<ResourceTracker<IResource>>> trackerEntry : getPerResourceObjects()
- .entrySet())
- {
- final IPath trackerPath = trackerEntry.getKey()
- .getFullPath();
- if (parentPath.isPrefixOf(trackerPath)
- && !parentPath.equals(trackerPath))
- {
- allChildren.add((JSFResourceTracker) trackerEntry
- .getValue().getManagedObject());
- }
- }
- }
- return allChildren;
- }
-
- @Override
- protected void fireResourceChanged(final IResource affectedResource,
- final ReasonType reasonType)
- {
- _locator.fireChangeEvent(new JSFResourceChangedEvent(_locator,
- _jsfResource, _jsfResource, CHANGE_TYPE.CHANGED));
- }
-
- @Override
- protected void fireResourceAdded(final IResource affectedResource,
- final ReasonType reasonType)
- {
- if (reasonType == ReasonType.RESOURCE_ADDED_TO_CONTAINER
- || reasonType == ReasonType.RESOURCE_MOVED_CONTAINER)
- {
- final IContainer parent = affectedResource.getParent();
- if (parent != null && parent.isAccessible())
- {
- try
- {
- final IWorkspaceJSFResourceFragment newJsfRes = track(affectedResource);
- fireNewJSFResourceEvent(newJsfRes);
- if (reasonType == ReasonType.RESOURCE_MOVED_CONTAINER
- && affectedResource instanceof IContainer)
- {
- final List<IWorkspaceJSFResourceFragment> newFragments = trackAllInFolder((IContainer) affectedResource);
- for (final IWorkspaceJSFResourceFragment frag : newFragments)
- {
- fireNewJSFResourceEvent(frag);
- }
- }
- } catch (final ManagedObjectException e)
- {
- JSFCorePlugin
- .log(e,
- "While adding new resource " + affectedResource); //$NON-NLS-1$
- } catch (final InvalidIdentifierException e)
- {
- JSFCorePlugin
- .log(IStatus.INFO,
- "While adding new resource " + affectedResource); //$NON-NLS-1$
- }
- }
- }
- }
-
- private void fireNewJSFResourceEvent(
- final IWorkspaceJSFResourceFragment newJsfRes)
- {
- final JSFResourceChangedEvent event = new JSFResourceChangedEvent(
- _locator, null, newJsfRes, CHANGE_TYPE.ADDED);
- _locator.fireChangeEvent(event);
- }
-
- @Override
- protected boolean isInteresting(final ResourceLifecycleEvent event)
- {
- boolean isInteresting = false;
- final ReasonType reasonType = event.getReasonType();
- switch (event.getEventType())
- {
- case RESOURCE_ADDED:
- {
- final IResource resource = getResource();
- isInteresting = (reasonType == ReasonType.RESOURCE_ADDED_TO_CONTAINER || reasonType == ReasonType.RESOURCE_MOVED_CONTAINER)
- && event.getAffectedResource().getParent()
- .equals(resource);
- // ignore if my resource is web content and this is trying
- // to add something other than resources folder
- if (resource.equals(_vcQuery.getWebContentFolder(_project)
- .getUnderlyingFolder()))
- {
- isInteresting &= event.getAffectedResource().equals(
- getRootResourceFolder());
- }
- }
- break;
- case RESOURCE_INACCESSIBLE:
- {
- final IResource resource = getResource();
- // if the resource made inaccessible was deleted or moved
- // from its container
- // and it's parent is me, then it is interesting.
- isInteresting = (reasonType == ReasonType.RESOURCE_DELETED_FROM_CONTAINER || reasonType == ReasonType.RESOURCE_MOVED_CONTAINER)
- && event.getAffectedResource().getParent()
- .equals(resource);
- // ignore if my resource is web content and this is trying
- // to add something other than resources folder
- if (resource.equals(_vcQuery.getWebContentFolder(_project)
- .getUnderlyingFolder()))
- {
- isInteresting &= event.getAffectedResource().equals(
- getRootResourceFolder());
- }
-// isInteresting &= (_isJSFResource || (resource.getType() == IResource.FOLDER && "resources".equals(resource.getName()))); //$NON-NLS-1$
- // or if the resource being delted or moved is the root
- // folder and that is my resource.
- // isInteresting |= (reasonType ==
- // ReasonType.RESOURCE_DELETED || reasonType ==
- // ReasonType.RESOURCE_MOVED_CONTAINER)
- // && (resource.equals(event.getAffectedResource()) &&
- // resource.equals(getRootResourceFolder()));
- }
- break;
- default:
- isInteresting = super.isInteresting(event);
- }
- return isInteresting;
- }
-
- public final IWorkspaceJSFResourceFragment getJsfResource()
- {
- return _jsfResource;
- }
-
- public final void setJsfResource(
- final IWorkspaceJSFResourceFragment jsfResource)
- {
- _jsfResource = jsfResource;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/messages.properties
deleted file mode 100644
index 093c3b94c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-ResourceIdentifier_0=Resource name must not be empty
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTPropertyResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTPropertyResolver.java
deleted file mode 100644
index d4e5b5139..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTPropertyResolver.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Xiaonan Jiang/IBM -- extracted from https://bugs.eclipse.org/bugs/show_bug.cgi?id=206514
- * Cameron Bateman/Oracle - integrated.
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTPropertyResolver;
-import org.eclipse.jst.jsf.designtime.el.DefaultDTPropertyResolver;
-import org.eclipse.jst.jsf.designtime.el.IDecorativeResolver;
-import org.eclipse.jst.jsf.designtime.el.IInstancePerProjectResolver;
-
-/**
- * A design time proxy for the runtime ProperyResolver.
- *
- * @author xnjiang
- *
- */
-public class ConfigBasedDTPropertyResolver extends DefaultDTPropertyResolver
- implements IInstancePerProjectResolver
-{
- private IProject _project;
-
- /**
- * Constructor
- *
- */
- public ConfigBasedDTPropertyResolver()
- {
- super();
- }
-
- @Override
- public ISymbol[] getAllProperties(final ISymbol base)
- {
- final Map<String, ISymbol> allSymbols = new HashMap<String, ISymbol>();
- final ISymbol[] superSymbols = super.getAllProperties(base);
- for (final ISymbol superSymbol : superSymbols)
- {
- allSymbols.put(superSymbol.getName(), superSymbol);
- }
-
- if (JSFCorePlugin.hasDecorativePropertyResolvers())
- {
- final List<AbstractDTPropertyResolver> resolvers = retrieveDecorativePropertyResolvers(_project);
- for (final AbstractDTPropertyResolver resolver : resolvers)
- {
- final ISymbol[] otherSymbols = resolver.getAllProperties(base);
- for (final ISymbol otherSymbol : otherSymbols)
- {
- // allow subsequent resolvers to replace symbols by name
- // added previously
- allSymbols.put(otherSymbol.getName(), otherSymbol);
- }
- }
- }
- return allSymbols.values().toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
-
- }
-
- @Override
- public ISymbol getProperty(final ISymbol base, final int offset)
- {
- if (JSFCorePlugin.hasDecorativePropertyResolvers())
- {
- final List<AbstractDTPropertyResolver> resolvers = retrieveDecorativePropertyResolvers(_project);
-
- // we need to iterate backwards through the resolvers, since
- // the we take the first answer we receive.
- for (int i = resolvers.size() - 1; i >= 0; i--)
- {
- final ISymbol symbol = resolvers.get(i).getProperty(base,
- offset);
- if (symbol != null)
- {
- return symbol;
- }
- }
- }
- return super.getProperty(base, offset);
- }
-
- @Override
- public ISymbol getProperty(final ISymbol base, final Object propertyId)
- {
- if (JSFCorePlugin.hasDecorativePropertyResolvers())
- {
- final List<AbstractDTPropertyResolver> resolvers = retrieveDecorativePropertyResolvers(_project);
-
- // we need to iterate backwards through the resolvers, since
- // the we take the first answer we receive.
- for (int i = resolvers.size() - 1; i >= 0; i--)
- {
- final ISymbol symbol = resolvers.get(i).getProperty(base,
- propertyId);
- if (symbol != null)
- {
- return symbol;
- }
- }
- }
- return super.getProperty(base, propertyId);
- }
-
- private List<AbstractDTPropertyResolver> retrieveDecorativePropertyResolvers(
- final IProject project)
- {
- final IJSFAppConfigManager manager = JSFAppConfigManagerFactory
- .getJSFAppConfigManagerInstance(project);
- final List<String> propertyResolvers = manager.getPropertyResolvers();
- final List<String> elResolvers = manager.getELResolvers();
- propertyResolvers.addAll(elResolvers);
- final List<AbstractDTPropertyResolver> resolvers = new ArrayList<AbstractDTPropertyResolver>();
- for (final String propertyResolver : propertyResolvers)
- {
- final List<String> ids = JSFCorePlugin
- .getPropertyResolversForName(propertyResolver);
-
- for (final String id : ids)
- {
- final AbstractDTPropertyResolver resolver = JSFCorePlugin
- .getPropertyResolver(id).getInstance(_project);
- if (resolver instanceof IDecorativeResolver)
- {
- resolvers.add(resolver);
- }
- else
- {
- JSFCorePlugin.log(new Exception(), String.format("resolver %s must implement the IDecorativeResolver interface to be used", id)); //$NON-NLS-1$
- }
- }
- }
- return resolvers;
- }
-
- public void setProject(final IProject project)
- {
- _project = project;
- }
-
- // private void retrievePropertyResolver() {
- // try {
- // String str =
- // project.getPersistentProperty(PERSIST_PROPERTY_KEY_PROPERTY_RESOLVERS);
- // if (str != null) {
- // resolvers = new ArrayList<AbstractDTPropertyResolver>();
- // StringTokenizer tokenizer = new StringTokenizer(str, ",");//$NON-NLS-1$
- // while (tokenizer.hasMoreTokens()) {
- // AbstractDTPropertyResolver resolver =
- // JSFCorePlugin.getPropertyResolvers().get(tokenizer.nextToken());
- // if (resolver != null) {
- // resolvers.add(resolver);
- // }
- // }
- // } else {
- // checkFacesConfigForPropertyResolver();
- // }
- // } catch (CoreException e) {
- // checkFacesConfigForPropertyResolver();
- // }
- // }
- //
- // private void checkFacesConfigForPropertyResolver() {
- // resolvers = new ArrayList<AbstractDTPropertyResolver>();
- // String str = "";//$NON-NLS-1$
- // boolean bFirst = true;
- // List facesConfigs =
- // JSFAppConfigManager.getInstance(project).getFacesConfigModels();
- // Iterator itFacesConfigs = facesConfigs.iterator();
- // while (itFacesConfigs.hasNext()) {
- // FacesConfigType facesConfig = (FacesConfigType)itFacesConfigs.next();
- // EList applications = facesConfig.getApplication();
- // for (int i=0;i<applications.size();i++) {
- // EList resolvers2 =
- // ((ApplicationType)applications.get(i)).getPropertyResolver();
- // for (int j=0;j<resolvers2.size();j++) {
- // PropertyResolverType resolverType =
- // (PropertyResolverType)resolvers2.get(i);
- // AbstractDTPropertyResolver resolver =
- // JSFCorePlugin.getPropertyResolvers().get(resolverType.getTextContent());
- // if (resolver != null) {
- // resolvers.add(resolver);
- // if (bFirst) {
- // bFirst = false;
- // } else {
- // str += ",";//$NON-NLS-1$
- // }
- // str += resolverType.getTextContent();
- // }
- // }
- // }
- // }
- // try {
- // if (!str.equals("")) {//$NON-NLS-1$
- // project.setPersistentProperty(PERSIST_PROPERTY_KEY_PROPERTY_RESOLVERS,
- // str);
- // } else {
- // project.setPersistentProperty(PERSIST_PROPERTY_KEY_PROPERTY_RESOLVERS,
- // null);
- // }
- // } catch (CoreException e) {
- // e.printStackTrace();
- // }
- // }
- //
- // /**
- // * Called when a change in an application configuration model for which
- // * this listener has been registered occurs.
- // *
- // * @param notification EMF {@link Notification} instance that describes
- // the
- // * model change.
- // */
- // public void notifyChanged(Notification notification) {
- // checkFacesConfigForPropertyResolver();
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTVariableResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTVariableResolver.java
deleted file mode 100644
index f78b98575..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ConfigBasedDTVariableResolver.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Xiaonan Jiang/IBM -- extracted from https://bugs.eclipse.org/bugs/show_bug.cgi?id=206514
- * Cameron Bateman/Oracle - integrated.
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTVariableResolver;
-import org.eclipse.jst.jsf.designtime.el.DefaultDTVariableResolver;
-import org.eclipse.jst.jsf.designtime.el.IDecorativeResolver;
-
-/**
- * A design time proxy for the runtime VariableResolver.
- *
- * @author xnjiang
- *
- */
-public class ConfigBasedDTVariableResolver extends DefaultDTVariableResolver
-// implements IFacesConfigChangeListener
-{
- /**
- * Constructor
- */
- public ConfigBasedDTVariableResolver()
- {
- super();
-
- }
-
- @Override
- public ISymbol[] getAllVariables(final DTFacesContext facesContext,
- final IAdaptable externalContextKey)
- {
- //final long curTime = System.nanoTime();
- final Map<String, ISymbol> allSymbols = new HashMap<String, ISymbol>();
- final ISymbol[] superSymbols = super.getAllVariables(facesContext,
- externalContextKey);
- for (final ISymbol superSymbol : superSymbols)
- {
- allSymbols.put(superSymbol.getName(), superSymbol);
- }
-
- if (JSFCorePlugin.hasDecorativeVariableResolvers())
- {
- final IProject project = getProject(facesContext);
-
- final List<AbstractDTVariableResolver> resolvers = retrieveDecorativeVariableResolvers(project);
- for (final AbstractDTVariableResolver resolver : resolvers)
- {
- final ISymbol[] otherSymbols = resolver.getAllVariables(
- facesContext, externalContextKey);
- for (final ISymbol otherSymbol : otherSymbols)
- {
- // allow subsequent resolvers to replace symbols by name
- // added previously
- allSymbols.put(otherSymbol.getName(), otherSymbol);
- }
- }
- }
- //System.out.printf("totalAllSymbols: %d\n", Long.valueOf(System.nanoTime()- curTime));
- return allSymbols.values().toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- @Override
- public ISymbol resolveVariable(final DTFacesContext context,
- final String name, final IAdaptable externalContextKey)
- {
- //long curTime = System.nanoTime();
- if (JSFCorePlugin.hasDecorativeVariableResolvers())
- {
- final IProject project = getProject(context);
-
- final List<AbstractDTVariableResolver> resolvers = retrieveDecorativeVariableResolvers(project);
-
- // we need to iterate backwards through the resolvers, since
- // the we take the first answer we receive.
- for (int i = resolvers.size() - 1; i >= 0; i--)
- {
- final ISymbol symbol = resolvers.get(i).resolveVariable(
- context, name, externalContextKey);
- if (symbol != null)
- {
- return symbol;
- }
- }
- }
- ISymbol symbol = super.resolveVariable(context, name, externalContextKey);
- //System.out.printf("totalSymbol: %d\n", Long.valueOf(System.nanoTime()- curTime));
- return symbol;
- }
-
- private List<AbstractDTVariableResolver> retrieveDecorativeVariableResolvers(
- final IProject project)
- {
- //final long curTime = System.nanoTime();
- final IJSFAppConfigManager manager = JSFAppConfigManagerFactory
- .getJSFAppConfigManagerInstance(project);
- final List<String> variableResolvers = manager.getVariableResolvers();
- final List<String> elResolvers = manager.getELResolvers();
- variableResolvers.addAll(elResolvers);
- final List<AbstractDTVariableResolver> resolvers = new ArrayList<AbstractDTVariableResolver>();
- for (final String variableResolver : variableResolvers)
- {
- final List<String> ids = JSFCorePlugin
- .getVariableResolversForName(variableResolver);
-
- for (final String id : ids)
- {
- final AbstractDTVariableResolver resolver = JSFCorePlugin
- .getVariableResolvers(id).getInstance(project);
- if (resolver instanceof IDecorativeResolver)
- {
- resolvers.add(resolver);
- }
- else
- {
- JSFCorePlugin.log(new Exception(), String.format("resolver %s must implement the IDecorativeResolver interface to be used", id)); //$NON-NLS-1$
- }
- }
- }
- //System.out.printf("retrieveDecorativeVariable: %d\n", Long.valueOf(System.nanoTime()- curTime));
- return resolvers;
- }
-
- private IProject getProject(final DTFacesContext facesContext)
- {
- final IResource res = facesContext.adaptContextObject();
-
- if (res != null)
- {
- return res.getProject();
- }
- return null;
- }
-
- // private void checkFacesConfigForVariableResolver(final IProject project)
- // {
- // resolvers = new ArrayList<AbstractDTVariableResolver>();
- // String str = "";//$NON-NLS-1$
- // boolean bFirst = true;
- // final List facesConfigs =
- // JSFAppConfigManager.getInstance(project).getFacesConfigModels();
- // final Iterator itFacesConfigs = facesConfigs.iterator();
- // while (itFacesConfigs.hasNext()) {
- // final FacesConfigType facesConfig =
- // (FacesConfigType)itFacesConfigs.next();
- // final EList applications = facesConfig.getApplication();
- // for (int i=0;i<applications.size();i++) {
- // final EList resolvers2 =
- // ((ApplicationType)applications.get(i)).getVariableResolver();
- // for (int j=0;j<resolvers2.size();j++) {
- // final VariableResolverType resolverType =
- // (VariableResolverType)resolvers2.get(i);
- // final AbstractDTVariableResolver resolver =
- // JSFCorePlugin.getVariableResolvers().get(resolverType.getTextContent());
- // if (resolver != null) {
- // resolvers.add(resolver);
- // if (bFirst) {
- // bFirst = false;
- // } else {
- // str += ",";//$NON-NLS-1$
- // }
- // str += resolverType.getTextContent();
- // }
- // }
- // }
- // }
- // try {
- // if (!str.equals("")) {//$NON-NLS-1$
- // project.setPersistentProperty(PERSIST_PROPERTY_KEY_VARIABLE_RESOLVERS,
- // str);
- // } else {
- // project.setPersistentProperty(PERSIST_PROPERTY_KEY_VARIABLE_RESOLVERS,
- // null);
- // }
- // } catch (final CoreException e) {
- // e.printStackTrace();
- // }
- // }
- //
- // public void notifyChanged(final Notification notification) {
- // checkFacesConfigForVariableResolver();
- // }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/DataModelVariableTestFacade.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/DataModelVariableTestFacade.java
deleted file mode 100644
index 7dc1801df..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/DataModelVariableTestFacade.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.designtime.symbols.AbstractDataModelVariableFactory;
-
-/**
- * Used to expose protected final members of AbstractDataModelVariableFactory
- * for testing purposes. May change without notice, should *never* be used in
- * production code.
- *
- * @author cbateman
- *
- */
-public final class DataModelVariableTestFacade extends AbstractDataModelVariableFactory
-{
- /**
- * Test facade for createArraySymbol
- *
- * @param symbolName
- * @param signature
- * @param javaProject
- * @return super.createArraySymbol()
- */
- public final ISymbol testCreateArraySymbol(final String symbolName, final String signature, final IJavaProject javaProject)
- {
- return getSymbolFactory().createArraySymbol(symbolName, signature, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * Test facade for createFromList
- *
- * @param symbolName
- * @param valueType
- * @param javaProject
- * @return super.createFromList()
- */
- public final ISymbol testCreateFromList(String symbolName, ValueType valueType, IJavaProject javaProject)
- {
- return getSymbolFactory().createFromList(symbolName, valueType, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, null, javaProject);
- }
-
- /**
- * @param symbolName
- * @param signature
- * @param javaProject
- * @return a symbol assuming a scalar type wrapping
- */
- public ISymbol testCreateScalarSymbol(String symbolName, String signature, IJavaProject javaProject)
- {
- return getSymbolFactory().createScalarSymbol(symbolName, signature, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
-
- /**
- * @param symbolName
- * @param valueType
- * @param javaProject
- * @return a symbol from a proxied call to super.createFromType
- */
- public ISymbol testCreateFromType(String symbolName, ValueType valueType,
- IJavaProject javaProject) {
- return super.createFromType(symbolName, valueType, javaProject);
- }
-
- @Override
- protected final String getVariableSourceName()
- {
- return "testFacade -- SHOULD NOT BE USED IN PRODUCTION CODE"; //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/JSPTagVariableSymbolSourceProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/JSPTagVariableSymbolSourceProvider.java
deleted file mode 100644
index c84f6cab2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/JSPTagVariableSymbolSourceProvider.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractSymbolSourceProviderFactory;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProvider;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.jsp.JSPModelProcessor;
-import org.eclipse.jst.jsf.designtime.symbols.FileContextUtil;
-import org.eclipse.jst.jsf.designtime.symbols.SymbolUtil;
-
-
-/**
- * Self-factory for a symbol provider that derives symbol information from
- * meta-data annotations on tag attributes that declare runtime EL variables
- *
- * @author cbateman
- *
- */
-public class JSPTagVariableSymbolSourceProvider extends
- AbstractSymbolSourceProviderFactory implements ISymbolSourceProvider
-{
- protected ISymbolSourceProvider create(IProject project)
- {
- return this;
- }
-
- public ISymbol[] getSymbols(IAdaptable context, int symbolScopeMask)
- {
- final IFile fileContext = FileContextUtil.deriveIFileFromContext(context);
-
- if (isProvider(fileContext) && fileContext.isAccessible())
- {
- JSPModelProcessor modelProcessor = null;
-
- try
- {
- modelProcessor = JSPModelProcessor.get(fileContext);
-
- // ensure internal model is sync'ed with document
- // but don't force refresh
- modelProcessor.refresh(!JSPModelProcessor.FORCE_REFRESH, JSPModelProcessor.RUN_ON_CURRENT_THREAD);
- final List<ISymbol> symbols = new ArrayList();
-
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_REQUEST) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_REQUEST_STRING).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_SESSION) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_SESSION_STRING).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_APPLICATION) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_APPLICATION_STRING).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_NONE) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_NONE_STRING).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_VIEW) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_VIEW_STRING).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_FLASH) != 0)
- {
- symbols.addAll(modelProcessor.getMapForScope(ISymbolConstants.SYMBOL_SCOPE_FLASH_STRING).values());
- }
- return symbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
- catch (Exception e)
- {
- JSFCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID, 0, "Error acquiring model processor",e)); //$NON-NLS-1$
- // fall-through to empty symbol array
- }
- }
-
- return ISymbol.EMPTY_SYMBOL_ARRAY;
- }
-
- public ISymbol[] getSymbols(String prefix, IAdaptable context,
- int symbolScopeMask) {
- return SymbolUtil.
- filterSymbolsByPrefix(getSymbols(context, symbolScopeMask), prefix);
- }
-
- public boolean isProvider(IAdaptable context)
- {
- IFile file = FileContextUtil.deriveIFileFromContext(context);
-
- return (file != null
- && file.getProject() == this.getProject());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/Messages.java
deleted file mode 100644
index f55547720..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/Messages.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Message resource class
- *
- * @author cbateman
- *
- */
-/*package*/ final class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- // no external instatiation
- }
-
- /**
- * @param key
- * @return the message string for key or !key! if not found
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSource.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSource.java
deleted file mode 100644
index af1ca6a5c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSource.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.AbstractMap;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.common.internal.resource.EventResult;
-import org.eclipse.jst.jsf.common.internal.resource.IResourceLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.LifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.EventType;
-import org.eclipse.jst.jsf.context.symbol.internal.impl.IMapSourceInfo;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.tld.LoadBundleUtil;
-
-class ResourceBundleMapSource extends AbstractMap implements IMapSourceInfo
-{
- private static final String PROPERTY_QUALIFIER =
- "org.eclipse.jst.jsf.designtime.internal.jsp"; //$NON-NLS-1$
- private static final String SESSION_PROPERTY_NAME_PROJECT =
- "ResourceBundleMapSource"; //$NON-NLS-1$
- private static final QualifiedName SESSION_PROPERTY_KEY_PROJECT =
- new QualifiedName(PROPERTY_QUALIFIER, SESSION_PROPERTY_NAME_PROJECT);
- private static final Object STATIC_LOCK = new Object();
-
- private static IFile getCachedBundleFile(final IProject project, final String baseName)
- {
- if (project != null)
- {
- final Map<String, BundleFileCacheInfo> bundleFileCache = getBundleFileCache(project);
-
- if (bundleFileCache != null)
- {
- final BundleFileCacheInfo info = bundleFileCache.get(baseName);
- if (info != null)
- {
- return info.getFile();
- }
- }
- }
-
- return null;
- }
-
- private static class BundleFileCacheInfo
- {
- private final IFile _file;
- private final Map<Object,CachedDataItem> _cachedData;
- public BundleFileCacheInfo(final IFile file)
- {
- super();
- _file = file;
- _cachedData =
- Collections.synchronizedMap(new HashMap<Object, CachedDataItem>());
- }
- public IFile getFile()
- {
- return _file;
- }
- public Object getCachedData(final Object key)
- {
- CachedDataItem item = _cachedData.get(key);
-
- if (item != null)
- {
- return item.getData();
- }
- return null;
- }
-
- public Object putCachedData(final Object key, final Object value, final long timestamp)
- {
- CachedDataItem item = new CachedDataItem(value, timestamp);
- CachedDataItem oldItem = _cachedData.put(key, item);
- if (oldItem != null)
- {
- return oldItem.getData();
- }
- return null;
- }
-
- public boolean hasChanged(final Object key, final long timestamp)
- {
- CachedDataItem item = _cachedData.get(key);
- if (item != null)
- {
- return item.getTimestamp() != timestamp;
- }
- return false;
- }
-
- private static class CachedDataItem
- {
- private final Object _data;
- private final long _timestamp;
- public CachedDataItem(Object data, long timestamp)
- {
- super();
- _data = data;
- _timestamp = timestamp;
- }
- public final Object getData()
- {
- return _data;
- }
- public final long getTimestamp()
- {
- return _timestamp;
- }
- }
- }
-
- private static Map<String, BundleFileCacheInfo> getBundleFileCache(final IProject project)
- {
- synchronized(STATIC_LOCK)
- {
- Map<String, BundleFileCacheInfo> bundleFileCache = null;
-
- try
- {
- bundleFileCache =
- (Map<String, BundleFileCacheInfo>) project.getSessionProperty(SESSION_PROPERTY_KEY_PROJECT);
-
- if (bundleFileCache == null)
- {
- bundleFileCache = new HashMap<String, BundleFileCacheInfo>();
- final LifecycleListener listener = new LifecycleListener(project, ResourcesPlugin.getWorkspace());
- listener.addListener(new IResourceLifecycleListener()
- {
- public EventResult acceptEvent(final ResourceLifecycleEvent event)
- {
- EventResult result = EventResult.getDefaultEventResult();
-
- if (event.getEventType() == EventType.RESOURCE_INACCESSIBLE)
- {
- try
- {
- //Bug 283764: this listener may be called more than once - check project not already inaccessible
- if (project.isAccessible())
- {
- final Map<String, BundleFileCacheInfo> bundleCache =
- (Map<String, BundleFileCacheInfo>) project.getSessionProperty(SESSION_PROPERTY_KEY_PROJECT);
- //This listener may be called more than once - check session property not already nulled
- if (bundleCache != null)
- {
- bundleCache.clear();
- project.setSessionProperty(SESSION_PROPERTY_KEY_PROJECT, null);
- }
- }
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.log("Error clearing bundle file cache", ce); //$NON-NLS-1$
- }
- result = EventResult.getDisposeAfterEventResult();
- }
-
- return result;
- }
- }
- );
-
- project.setSessionProperty(SESSION_PROPERTY_KEY_PROJECT, bundleFileCache);
- }
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.log("Error creating bundle file cache", ce); //$NON-NLS-1$
- }
-
- return bundleFileCache;
- }
- }
-
- private static IFile createCachedBundleFile(final IProject project,
- final String resourcePathStr)
- throws IOException, CoreException
- {
- final IStorage storage =
- LoadBundleUtil.getLoadBundleResource(project, resourcePathStr);
-
- IFile bundleRes = null;
-
- if (storage != null
- && storage.getAdapter(IFile.class) != null)
- {
- bundleRes = (IFile) storage.getAdapter(IFile.class);
- // if file is removed, clear the bundle from the store.
- final LifecycleListener listener = new LifecycleListener(bundleRes, ResourcesPlugin.getWorkspace());
- listener.addListener(new IResourceLifecycleListener()
- {
- public EventResult acceptEvent(final ResourceLifecycleEvent event)
- {
- EventResult result = EventResult.getDefaultEventResult();
-
- if (event.getEventType() == EventType.RESOURCE_INACCESSIBLE)
- {
- Map<String, BundleFileCacheInfo> bundleFileCache = getBundleFileCache(project);
- bundleFileCache.remove(resourcePathStr);
- result = EventResult.getDisposeAfterEventResult();
- }
- return result;
- }
- }
- );
-
- getBundleFileCache(project).put(resourcePathStr, new BundleFileCacheInfo(bundleRes));
- return bundleRes;
- }
-
- throw new IOException("Bundle "+resourcePathStr+" not found in classpath for project: "+project.getName()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private Properties _resourceBundle; // = null; set on first access or changes
- private final IFile _bundleFile; // the resource
- private final String _resourcePathStr; // the key used in the file cache
- // as returned by IResource.getModificationStamp()
- // the last time _resourceBundle was loaded
- private long _lastModificationStamp;
-
- ResourceBundleMapSource(final IProject context,
- final String resourcePathStr)
- throws IOException, JavaModelException, CoreException
- {
- IFile cachedBundleFile = getCachedBundleFile(context, resourcePathStr);
-
- if (cachedBundleFile == null)
- {
- cachedBundleFile = createCachedBundleFile(context, resourcePathStr);
- }
-
- _bundleFile = cachedBundleFile;
- _resourcePathStr = resourcePathStr;
- }
-
- private void checkAndRefreshBundle()
- {
- if (_bundleFile.isAccessible())
- {
- if (_resourceBundle == null // doesn't exist yet
- // exists but ws is out of sync
- || !_bundleFile.isSynchronized(IResource.DEPTH_ZERO)
- // exists but user has changed in workspace
- || _bundleFile.getModificationStamp()
- != _lastModificationStamp)
- {
- InputStream bundleStream = null;
- try
- {
- // force refresh if out of sync
- bundleStream = _bundleFile.getContents(true);
- _resourceBundle = new Properties();
- _resourceBundle.load(bundleStream);
- _lastModificationStamp = _bundleFile.getModificationStamp();
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.log("Error refreshing bundle", ce); //$NON-NLS-1$
- }
- catch (final IOException ioe)
- {
- JSFCorePlugin.log("Error refreshing bundle", ioe); //$NON-NLS-1$
- }
- finally
- {
- if (bundleStream != null)
- {
- try
- {
- bundleStream.close();
- }
- catch (final IOException ioe)
- {
- JSFCorePlugin.log("Error closing bundle", ioe); //$NON-NLS-1$
- }
- }
- }
- }
- }
- else
- {
- // bundle no longer exists so remove it
- final Map<String, BundleFileCacheInfo> bundleFileCache = getBundleFileCache(_bundleFile.getProject());
-
- if (bundleFileCache != null &&
- bundleFileCache.containsKey(_resourcePathStr))
- {
- bundleFileCache.remove(_resourcePathStr);
- }
- // in either case, clear the bundle entry
- if (_resourceBundle != null)
- {
- _resourceBundle.clear();
- _resourceBundle = null;
- }
- }
- }
-
- @Override
- public Set entrySet()
- {
- checkAndRefreshBundle();
-
- if (_resourceBundle == null)
- {
- return Collections.EMPTY_SET;
- }
- return _resourceBundle.entrySet();
- }
-
- /**
- * @param key
- * @return the value
- * @see java.util.AbstractMap#get(java.lang.Object)
- * @overrride to optimize for the fact that we are doing a hash get
- */
- //
- @Override
- public Object get(final Object key)
- {
- checkAndRefreshBundle();
-
- if (_resourceBundle == null)
- {
- return null;
- }
- return _resourceBundle.get(key);
- }
-
- public final boolean hasChanged(final Object key)
- {
- final BundleFileCacheInfo cache = getBundleFileCache(
- _bundleFile.getProject()).get(_resourcePathStr);
- if (cache != null)
- {
- return cache.hasChanged(key, _bundleFile.getModificationStamp());
- }
- // return true since if there is nothing cached, the caller will want
- // to react.
- return true;
- }
-
- public Object getCachedValue(final Object key)
- {
- final BundleFileCacheInfo cache = getBundleFileCache(
- _bundleFile.getProject()).get(_resourcePathStr);
- if (cache != null)
- {
- return cache.getCachedData(key);
- }
- return null;
- }
-
- public void putCachedValue(final Object key, final Object value)
- {
- final BundleFileCacheInfo cache = getBundleFileCache(
- _bundleFile.getProject()).get(_resourcePathStr);
- if (cache != null)
- {
- cache.putCachedData(key, value, _lastModificationStamp);
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSourceFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSourceFactory.java
deleted file mode 100644
index dc2209c6d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleMapSourceFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.JavaModelException;
-
-/**
- * Factory class for acquiring a ResourceBundleMapSourceFactory outside the local
- * package. This is intended only for internal testing and related use and
- * should not be used for normal feature development
- *
- * @author cbateman
- *
- */
-public class ResourceBundleMapSourceFactory
-{
- /**
- * @param project
- * @param resourcePathStr
- * @return a ResourceBundleMapSource
- * @throws CoreException
- * @throws IOException
- * @throws JavaModelException
- */
- public static Map getResourceBundleMapSource(final IProject project,
- final String resourcePathStr)
- throws JavaModelException, IOException, CoreException
- {
- return new ResourceBundleMapSource(project, resourcePathStr);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleSymbolSourceProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleSymbolSourceProvider.java
deleted file mode 100644
index 9c1830648..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ResourceBundleSymbolSourceProvider.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.context.symbol.IComponentSymbol;
-import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractSymbolSourceProviderFactory;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProvider;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.tld.LoadBundleUtil;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.designtime.symbols.FileContextUtil;
-import org.eclipse.jst.jsf.designtime.symbols.SymbolUtil;
-import org.eclipse.jst.jsf.facesconfig.emf.BaseNameType;
-import org.eclipse.jst.jsf.facesconfig.emf.ResourceBundleType;
-import org.eclipse.jst.jsf.facesconfig.emf.VarType;
-
-/**
- * WARNING: this is an interim solution to supporting Faces 1.2 resource
- * bundle variables. This class will become obsolete by design once
- * the dt framework for Unified EL symbol resolution is added
- *
- * DO NOT USE THIS CLASS EXTERNALLY, IT WILL BE REMOVED WITHOUT WARNING IN THE FUTURE
- * WITH NO MIGRATION PATH
- *
- * Self-factory for symbol source providers that contribute symbols for
- * the resource bundle variables declared in Faces 1.2 and greater
- * app configuration files.
- *
- * @author cbateman
- *
- */
-public final class ResourceBundleSymbolSourceProvider extends
- AbstractSymbolSourceProviderFactory implements ISymbolSourceProvider {
-
- protected final ISymbolSourceProvider create(IProject project) {
- return this;
- }
-
- public final ISymbol[] getSymbols(IAdaptable context, int symbolScopeMask)
- {
- if (isProvider(context))
- {
- final List symbols = new ArrayList();
- final IFile fileContext = FileContextUtil.deriveIFileFromContext(context);
- final IProject project = fileContext.getProject();
-
- final IJSFAppConfigManager appconfigMgr = JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(project);
- final List<ResourceBundleType> resourceBundles = appconfigMgr.getResourceBundles();
-
- for (final ResourceBundleType resBundle : resourceBundles)
- {
- final String basename = getBaseName(resBundle);
- final String name = getVarName(resBundle);
-
- if (basename != null && name != null)
- {
- try
- {
- symbols.add(createSymbolForResourceBundle(project, name, basename));
- } catch (JavaModelException e) {
- JSFCorePlugin.log(e, "Error creating base name for: "+basename); //$NON-NLS-1$
- } catch (IOException e) {
- //Bug 306811 - Invalid error "messages not found in classpath for project"
- ISymbol symbol = createSymbolForResourceBundleInJAR(project, name, basename);
- if (symbol != null) {
- symbols.add(symbol);
- } else {
- JSFCorePlugin.log(e, "Error creating base name for: "+basename); //$NON-NLS-1$
- }
- } catch (CoreException e) {
- JSFCorePlugin.log(e, "Error creating base name for: "+basename); //$NON-NLS-1$
- }
- }
- }
- return (ISymbol[]) symbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
- return ISymbol.EMPTY_SYMBOL_ARRAY;
- }
-
- private ISymbol createSymbolForResourceBundle(IProject project,
- final String name,
- final String basename) throws JavaModelException, IOException, CoreException
- {
- // TODO: push down into ResourceBundleMapSourceFactory and share
- // with loadBundle
- final Map mapSource = ResourceBundleMapSourceFactory
- .getResourceBundleMapSource(project, basename);
- final IMapTypeDescriptor typeDesc =
- SymbolFactory.eINSTANCE.createIMapTypeDescriptor();
- typeDesc.setMapSource(mapSource);
- final IComponentSymbol symbol =
- SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(name);
- symbol.setTypeDescriptor(typeDesc);
- symbol.setDetailedDescription(Messages.getString("ResourceBundleSymbolSourceProvider.DetailedDescription")+basename+"</i>"); //$NON-NLS-1$//$NON-NLS-2$
- return symbol;
- }
-
- //Bug 306811 - Invalid error "messages not found in classpath for project"
- private ISymbol createSymbolForResourceBundleInJAR(IProject project, final String name, final String basename) {
- IComponentSymbol symbol = null;
- InputStream in = null;
- try {
- final IStorage storage = LoadBundleUtil.getLoadBundleResource(project, basename);
- if (storage != null) {
- in = storage.getContents();
- Properties props = new Properties();
- props.load(in);
- final IMapTypeDescriptor typeDesc = SymbolFactory.eINSTANCE.createIMapTypeDescriptor();
- typeDesc.setMapSource(props);
- symbol = SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(name);
- symbol.setTypeDescriptor(typeDesc);
- symbol.setDetailedDescription(Messages.getString("ResourceBundleSymbolSourceProvider.DetailedDescription") + basename + "</i>"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch(CoreException cex) {
- //fall through with null symbol
- } catch(IOException ioex) {
- //fall through with null symbol
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch(IOException ignored) {
- //do nothing
- }
- }
- }
- return symbol;
- }
-
- private String getBaseName(ResourceBundleType resBundle)
- {
- final BaseNameType baseNameType = resBundle.getBaseName();
- if (baseNameType != null)
- {
- return baseNameType.getTextContent();
- }
- return null;
- }
-
- private String getVarName(ResourceBundleType resBundle)
- {
- final VarType varName = resBundle.getVar();
- if (varName != null)
- {
- return varName.getTextContent();
- }
- return null;
- }
-
- public final ISymbol[] getSymbols(String prefix, IAdaptable context,
- int symbolScopeMask) {
- return SymbolUtil.
- filterSymbolsByPrefix(getSymbols(context, symbolScopeMask), prefix);
- }
-
- public final boolean isProvider(IAdaptable context) {
- IFile file = FileContextUtil.deriveIFileFromContext(context);
-
- if (file != null)
- {
- final IProject project = file.getProject();
-
- if (project != null && project.isAccessible())
- {
- // to be valid, the jsf project must be at least version 1.2
- return JSFAppConfigUtils.isValidJSFProject(project, IJSFCoreConstants.FACET_VERSION_1_2);
- }
- }
-
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/StaticJavaTypeSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/StaticJavaTypeSymbolFactory.java
deleted file mode 100644
index 14d1c9369..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/StaticJavaTypeSymbolFactory.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IJavaTypeDescriptor2;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo;
-import org.eclipse.jst.jsf.designtime.symbols.FileContextUtil;
-import org.eclipse.jst.jsf.designtime.symbols.JSFSymbolFactory;
-
-/**
- * Creates symbols using a simple type.
- *
- * @author cbateman
- *
- */
-public class StaticJavaTypeSymbolFactory extends AbstractContextSymbolFactory
-{
- private final JSFSymbolFactory _factory = new JSFSymbolFactory();
-
- @Override
- protected ISymbol internalCreate(String symbolName, int scope,
- IAdaptable context, List problems,
- IAdditionalContextSymbolInfo additionalInfo)
- {
- if (additionalInfo != null)
- {
- final String signature = additionalInfo.getSymbolTypeSignature();
- if (signature != null)
- {
- final IJavaTypeDescriptor2 descriptor = _factory
- .createTypeDescriptorFromSignature(signature,
- getJavaProject(context));
- return _factory.createJavaComponentSymbol(symbolName, descriptor, null);
- }
- }
-
- // can't create
- return null;
- }
-
- @Override
- protected ISymbol internalCreate(String symbolName, int scope,
- IAdaptable context, List problems)
- {
- // need additionInfo to create the symbol
- return null;
- }
-
- @Override
- public boolean supports(IAdaptable context)
- {
- return getJavaProject(context) != null;
- }
-
- private IJavaProject getJavaProject(final IAdaptable context)
- {
- if (context != null)
- {
- final IStructuredDocumentContext sContext = (IStructuredDocumentContext) context
- .getAdapter(IStructuredDocumentContext.class);
- if (sContext != null)
- {
- final IProject project = FileContextUtil
- .getProject((IStructuredDocumentContext) context
- .getAdapter(IStructuredDocumentContext.class));
- if (project != null)
- {
- return JavaCore.create(project);
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ValueExpressionSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ValueExpressionSymbolFactory.java
deleted file mode 100644
index 724fd9484..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/symbols/ValueExpressionSymbolFactory.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.internal.symbols;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.IAdditionalContextSymbolInfo;
-import org.eclipse.jst.jsf.designtime.symbols.FileContextUtil;
-import org.eclipse.jst.jsf.designtime.symbols.JSFSymbolFactory;
-import org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidationUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- *
- * @author cbateman
- *
- */
-public class ValueExpressionSymbolFactory extends AbstractContextSymbolFactory
-{
- private final JSFSymbolFactory _factory = new JSFSymbolFactory();
-
- @Override
- protected ISymbol internalCreate(final String symbolName, final int scope,
- final IAdaptable context, final List problems,
- final IAdditionalContextSymbolInfo additionalInfo)
- {
- final Node node = getNode(context);
- final IStructuredDocumentContext sContext = getContext(context);
-
- final String valueAttrName = additionalInfo
- .getValueExpressionAttributeName();
- if (node != null && valueAttrName != null)
- {
- Element element = null;
-
- if (node instanceof Element)
- {
- element = (Element) node;
- }
- else
- {
- element = ((Attr) node).getOwnerElement();
- }
-
- return createSymbol(symbolName, sContext, valueAttrName, element);
- }
-
- return null;
- }
-
-
- private ISymbol createSymbol(final String name,
- final IStructuredDocumentContext sContext,
- final String valueAttrName, Element element)
- {
- if (element instanceof IDOMElement) // implicit null check.
- {
- final Attr attr = element.getAttributeNode(valueAttrName);
-
- if (attr instanceof IDOMAttr && attr.getValue() != null)
- {
- // TODO: the extract expression method belongs in more
- // generic code
- final String elText = AppConfigValidationUtil
- .extractELExpression(attr.getValue()).getElText();
- final IFile file = FileContextUtil
- .deriveIFileFromContext(sContext);
- final IStructuredDocumentContext elContext = IStructuredDocumentContextFactory.INSTANCE
- .getContext(sContext.getStructuredDocument(), attr);
- if (elText != null && file != null && elContext != null)
- {
- final ValueType valueExpr = _factory
- .getValueTypeFromEL(elText, elContext, file);
- if (valueExpr != null)
- {
- final IJavaProject javaProject = getJavaProject(sContext);
- return _factory.createJavaComponentSymbol(name, valueExpr, null, javaProject);
- }
- }
- }
- }
- return null;
- }
-
-
- @Override
- protected ISymbol internalCreate(final String symbolName, final int scope,
- final IAdaptable context, final List problems)
- {
- // need additionalInfo
- return null;
- }
-
- @Override
- public boolean supports(final IAdaptable context)
- {
- final Node node = getNode(context);
- final IJavaProject javaProject = getJavaProject(context);
- return javaProject != null && (node instanceof Element) || (node instanceof Attr);
- }
-
- private Node getNode(final IAdaptable context)
- {
- final IStructuredDocumentContext sContext = getContext(context);
- if (sContext != null)
- {
- final IDOMContextResolver domResolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(sContext);
- if (domResolver != null)
- {
- return domResolver.getNode();
- }
- }
- return null;
- }
-
- private IJavaProject getJavaProject(final IAdaptable context)
- {
- final IStructuredDocumentContext sContext = getContext(context);
-
- if (sContext != null)
- {
- final IProject project = FileContextUtil
- .getProject((IStructuredDocumentContext) sContext
- .getAdapter(IStructuredDocumentContext.class));
- if (project != null)
- {
- return JavaCore.create(project);
- }
- }
- return null;
- }
-
- private IStructuredDocumentContext getContext(final IAdaptable context)
- {
- if (context != null)
- {
- return (IStructuredDocumentContext) context
- .getAdapter(IStructuredDocumentContext.class);
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractDTViewHandler.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractDTViewHandler.java
deleted file mode 100644
index bf38fe899..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractDTViewHandler.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.jsf.common.internal.resource.ImmutableLifecycleListener;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessAdvisor;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessListener;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.VersionStamp;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException.Cause;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-
-/**
- * All IDTViewHandler's must sub-class this abstract class.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDTViewHandler implements IDTViewHandler
-{
- private final AtomicBoolean _isDisposed = new AtomicBoolean(false);
-
- /**
- * the path separator
- */
- public static final String PATH_SEPARATOR = "/"; //$NON-NLS-1$
-
- public abstract String calculateLocale(DTFacesContext context)
- throws ViewHandlerException;
-
- public final DTUIViewRoot createView(final DTFacesContext facesContext,
- final String viewId) throws ViewHandlerException
- {
- if (_isDisposed.get())
- {
- throw new IllegalStateException("View handler is disposed"); //$NON-NLS-1$
- }
-
- final DTUIViewRoot viewRoot = internalCreateView(facesContext, viewId);
-
- if (viewRoot == null)
- {
- throw new ViewHandlerException("Problem in createView", Cause.UNABLE_TO_CREATE_VIEW); //$NON-NLS-1$
- }
- viewRoot.setViewId(viewId);
- final VersionStamp versionStamp = createVersionStamp(facesContext,
- viewId);
- if (versionStamp == null)
- {
- throw new ViewHandlerException(new Throwable(
- "Bad version stamp detected"), Cause.BAD_VERSION_STAMP); //$NON-NLS-1$
- }
- viewRoot.setVersionStamp(versionStamp);
-
- final StalenessAdvisor advisor = createStalenessAdvisor(viewRoot,
- facesContext, viewId);
-
- if (advisor == null)
- {
- throw new ViewHandlerException(new Throwable(
- "Bad staleness advisor"), Cause.BAD_STALENESS_ADVISOR); //$NON-NLS-1$
- }
- viewRoot.setStalenessAdvisor(advisor);
-
- // lock down the tree
- viewRoot.setSubtreeProtected();
-
- registerView(viewRoot, facesContext, viewId);
-
- return viewRoot;
- }
-
- /**
- * @param facesContext
- * @param viewId
- * @return internal construction of the view root.
- */
- protected abstract DTUIViewRoot internalCreateView(
- final DTFacesContext facesContext, final String viewId);
-
- public abstract IResource getActionDefinition(DTFacesContext context,
- String viewId) throws ViewHandlerException;
-
- public abstract IPath getActionURL(DTFacesContext context,
- IResource resource, IPath requestPath) throws ViewHandlerException;
-
- public abstract IPath getRelativeActionPath(DTFacesContext context,
- String relativeToViewId, String uri) throws ViewHandlerException;
-
- public abstract IViewDefnAdapterFactory getViewMetadataAdapterFactory(
- DTFacesContext context) throws ViewHandlerException;
-
- public abstract boolean supportsViewDefinition(IFile file);
-
-
- public abstract void setLifecycleListener(ImmutableLifecycleListener listener);
-
- public final void dispose()
- {
- if (_isDisposed.compareAndSet(false, true))
- {
- doDispose();
- }
- }
-
- /**
- * Sub-classes should override to add disposal tasks
- */
- protected void doDispose()
- {
- // do nothing by default
- }
-
- /**
- * IMPORTANT: this method must not return null. All view creation will fail
- * for this handler when createVersionStamp() returns null. create() will
- * throw ViewHandlerException.
- *
- * @param facesContext
- * @param viewId
- * @return a new version stamp for the facesContext/viewId. The version
- * stamp needs to be unique for all instances of viewId only, not
- * all instances of component trees everywhere in the system.
- */
- protected abstract VersionStamp createVersionStamp(
- final DTFacesContext facesContext, final String viewId);
-
- /**
- * IMPORTANT: this method must not return null. All view creation will fail
- * for this handler when createStalenessAdvisor returns null.
- *
- * @param viewRoot
- * @param facesContext
- * @param viewId
- * @return a new staleness advisor.
- */
- protected abstract StalenessAdvisor createStalenessAdvisor(
- final DTUIViewRoot viewRoot, DTFacesContext facesContext,
- String viewId);
-
- /**
- * Called by createView immediately before returning. Provides sub-class
- * a chance to register a fully initialized view root with any stateful
- * activities such as automatic change tracking and caching.
- *
- * @param viewRoot
- * @param context
- * @param viewId
- */
- protected void registerView(DTUIViewRoot viewRoot, final DTFacesContext context, final String viewId)
- {
- // do nothing by default
- }
-
- public String getViewId(final DTFacesContext context, final IResource res)
- {
- // TODO: sync with WebrootUtil?
- String strWebrootPath = ""; //$NON-NLS-1$
- final IProject project = res.getProject();
- final IPath path = res.getFullPath();
- final IPath webContentPath = getWebContentPath(project);
- if (webContentPath != null && webContentPath.isPrefixOf(path))
- {
- final int start = path.matchingFirstSegments(webContentPath);
- final String[] segments = path.segments();
- for (int i = start, n = path.segmentCount(); i < n; i++)
- {
- strWebrootPath = strWebrootPath + PATH_SEPARATOR + segments[i];
- }
- }
- return strWebrootPath;
- }
-
- private IPath getWebContentPath(final IProject project)
- {
- if (project != null)
- {
- return ComponentCore.createComponent(project).getRootFolder()
- .getUnderlyingFolder().getFullPath();
- }
- return null;
- }
-
- /**
- * A default DTUIViewRoot that represents an uncreatable or uninitializable
- * view root.
- *
- */
- protected static final class NullViewRoot extends DTUIViewRoot
- {
- /**
- *
- */
- private static final long serialVersionUID = 1187035338610719171L;
-
- /**
- */
- protected NullViewRoot()
- {
- super(null, null, new ComponentTypeInfo("", "", "","")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- @Override
- public IAdaptable getServices()
- {
- return new IAdaptable()
- {
- public Object getAdapter(Class adapter)
- {
- // no services
- return null;
- }
- };
- }
-
- @Override
- protected Map<String, ISymbol> doGetMapForScope(int scopeMask) {
- return Collections.emptyMap();
- }
-
- }
-
- /**
- * Provides a simple time-based stamp that makes almost impossible to create
- * the same timestamp twice. To do so, two threads would need to get the
- * same system simulataneously and get same number back from the same
- * gaussian distribution.
- *
- * @author cbateman
- *
- */
- protected static class TimeBasedVersionStamp extends VersionStamp
- {
- /**
- *
- */
- private static final long serialVersionUID = 5557828245936568977L;
- private final long timestamp;
- private final long randomStamp;
-
- /**
- *
- */
- public TimeBasedVersionStamp()
- {
- super();
- // use the millisecond time, since it is offset from a known
- // point on all platform, whereas no guarantee is made about
- // the nano time value.
- this.timestamp = System.currentTimeMillis();
- // this protects against two threads constructing two time
- // stamp objects "simulataneously" and having the same time based
- // stamp. Math.random is thread-safe.
- this.randomStamp = (long) (Long.MAX_VALUE * Math.random());
- }
-
- @Override
- public int hashCode()
- {
- return (int) (timestamp ^ randomStamp);
- }
-
- @Override
- protected boolean isEqual(final VersionStamp other)
- {
- return other instanceof TimeBasedVersionStamp
- && (timestamp == ((TimeBasedVersionStamp) other).timestamp)
- && (randomStamp == ((TimeBasedVersionStamp) other).randomStamp);
- }
- }
-
- /**
- * Returns a default staleness advisor that always returns false.
- *
- * @author cbateman
- *
- */
- protected static final class NullStalenessAdvisor extends StalenessAdvisor
- {
- /**
- *
- */
- private static final long serialVersionUID = 5946420948320047613L;
-
- @Override
- public boolean isStale()
- {
- return false;
- }
-
- @Override
- public void addListener(final StalenessListener listener)
- {
- // do nothing
- }
-
- @Override
- public void removeListener(final StalenessListener listener)
- {
- // do nothing
- }
-
- public boolean isAccessible()
- {
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapter.java
deleted file mode 100644
index a7e620d15..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.datatypes.ELExpression;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-
-/**
- * All view definition adapters must sub-class this abstract class.
- *
- * @author cbateman
- * @param <VIEW_DEFN_BASE_TYPE>
- * @param <VIEW_CONTAINER_TYPE>
- *
- */
-public abstract class AbstractViewDefnAdapter<VIEW_DEFN_BASE_TYPE, VIEW_CONTAINER_TYPE>
- implements IViewDefnAdapter<VIEW_DEFN_BASE_TYPE, VIEW_CONTAINER_TYPE>
-{
- public abstract ViewObject mapToViewObject(
- VIEW_DEFN_BASE_TYPE viewDefnObject,
- ViewObjectConstructionStrategy<? extends VIEW_DEFN_BASE_TYPE> constructionData,
- VIEW_CONTAINER_TYPE viewContainer);
-
- public abstract String getId(VIEW_DEFN_BASE_TYPE viewDefnObject)
- throws IllegalArgumentException;
-
- public abstract VIEW_CONTAINER_TYPE getContainer(DTFacesContext context,
- String viewId);
-
- public abstract List<VIEW_DEFN_BASE_TYPE> getViewDefnRoots(
- VIEW_CONTAINER_TYPE container);
-
- public abstract ELExpression getELExpression(final IModelContext context)
- throws ViewHandlerException;
-
- public abstract ViewObject findViewObject(VIEW_DEFN_BASE_TYPE viewDefnObject,
- ComponentInfo root);
-
- public abstract VIEW_DEFN_BASE_TYPE findViewDefn(ViewObject viewObject,
- ComponentInfo root);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapterFactory.java
deleted file mode 100644
index 5c5fdf230..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/AbstractViewDefnAdapterFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory.TagRegistryIdentifier;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-
-/**
- * Factories that create view definition adapters must extend this
- * class.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractViewDefnAdapterFactory implements IViewDefnAdapterFactory
-{
- /**
- * @param context
- * @param viewId
- * @return a view adapter for the viewid or null if this factory
- * cannot produce an adapter for the underlying view definition.
- */
- public abstract IViewDefnAdapter createAdapter(DTFacesContext context, String viewId);
-
- /**
- * TODO: since this implicitly, XML-specific, perhaps this belongs
- * in a util class
- * Sub-classes may use to locate a tag registry for their view adapter
- * @param file
- * @return a tag registry for the file (based on class path and
- * content type) or null if none.
- */
- protected final ITagRegistry findTagRegistry(final IFile file)
- {
- final IContentTypeManager typeManager = Platform.getContentTypeManager();
- final IContentType contentType =
- typeManager.findContentTypeFor(file.getName());
- ITagRegistry tagRegistry = null;
- if (contentType != null)
- {
- final TagRegistryIdentifier id =
- new TagRegistryIdentifier(file.getProject(), contentType);
- tagRegistry = CompositeTagRegistryFactory.getInstance().getRegistry(id);
- }
- return tagRegistry;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentConstructionData.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentConstructionData.java
deleted file mode 100644
index 914f7efbf..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentConstructionData.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-
-/**
- * Encapsulates information required to construct a component
- *
- * @author cbateman
- *
- */
-public class ComponentConstructionData
-{
- private ComponentInfo _parent;
- private int _idCounter;
- private final IProject _project;
- private final IDocument _document;
- /**
- * @param idCounter
- * @param parent
- * @param project
- * @param document
- */
- public ComponentConstructionData(final int idCounter,
- final ComponentInfo parent, final IProject project, final IDocument document)
- {
- _parent = parent;
- _idCounter = idCounter;
- _project = project;
- _document = document;
- }
-
- /**
- * @return the parent id
- */
- public final ComponentInfo getParent()
- {
- return _parent;
- }
-
- /**
- * @return the id counter
- */
- public final int getIdCounter()
- {
- return _idCounter;
- }
-
- /**
- * Increment the counter by 1 and return the old value
- *
- * @return the old value
- */
- public final int increment()
- {
- return _idCounter++;
- }
-
- /**
- * @param parent
- */
- public final void setParent(final ComponentInfo parent)
- {
- _parent = parent;
- }
-
- /**
- * @param idCounter
- */
- public final void setIdCounter(final int idCounter)
- {
- _idCounter = idCounter;
- }
-
- /**
- * @return the project that this component construction is associated with
- */
- public final IProject getProject()
- {
- return _project;
- }
-
- /**
- * @return the document context for the construction
- */
- public final IDocument getDocument()
- {
- return _document;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentTreeConstructionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentTreeConstructionStrategy.java
deleted file mode 100644
index 53763daa6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ComponentTreeConstructionStrategy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * @author cbateman
- *
- * @param <VIEW_DEFN_BASE_TYPE>
- * @param <VIEW_CONTAINER_TYPE>
- */
-public abstract class ComponentTreeConstructionStrategy<VIEW_DEFN_BASE_TYPE, VIEW_CONTAINER_TYPE>
-{
- /**
- * @param context
- * @param viewRoot
- * @return a component tree rooted
- * XXX: need to accommodate different cases of fragments, invalid multiple roots
- * etc, perhaps with special surrogate root type
- */
- public abstract ComponentInfo createComponentTree(DTFacesContext context, DTUIViewRoot viewRoot);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTComponentIntrospector.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTComponentIntrospector.java
deleted file mode 100644
index c62cffed4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTComponentIntrospector.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributor;
-import org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-import org.eclipse.jem.internal.proxy.ide.IDERegistration;
-import org.eclipse.jst.jsf.common.internal.types.TypeInfoCache;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.util.JDTBeanIntrospector;
-import org.eclipse.jst.jsf.common.util.JDTBeanProperty;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.core.internal.jem.BeanProxyUtil.BeanProxyWrapper;
-import org.eclipse.jst.jsf.core.internal.jem.BeanProxyUtil.ProxyException;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorType;
-
-/**
- * Utility class for finding and bean introspecting component and related
- * classes.
- *
- * @author cbateman
- *
- */
-public final class DTComponentIntrospector
-{
- /**
- * A shared type cache for doing tag class introspection. The cache stores
- * type hierarchies and updates them on detected changes to reduce the
- * overhead of doing such lookups
- */
- private static TypeInfoCache TYPE_CACHE; // lazily created, don't access
-
- // directly
-
- /**
- * @return the type cache used by all DTComponentIntrospector internally.
- */
- public static TypeInfoCache getSharedTypeCache()
- {
- if (TYPE_CACHE == null)
- {
- TYPE_CACHE = TypeInfoCache.createNewInstance();
- }
- return TYPE_CACHE;
- }
-
- /**
- * @param classType
- * @param className
- * @param project
- * @param contributors may be null
- * @return the component type info for the class type or null if none. Adds
- * contributors to the class path
- */
- public static ComponentTypeInfo getComponent(final String classType,
- final String className, final IProject project,
- final IConfigurationContributor[] contributors)
- {
- ProxyFactoryRegistry registry = null;
- try
- {
- registry = getProxyFactoryRegistry(project,
- contributors);
-
- if (registry != null)
- {
- final IStandardBeanTypeProxyFactory factory = registry
- .getBeanTypeProxyFactory();
- final IBeanTypeProxy classTypeProxy = factory
- .getBeanTypeProxy(className);
- final BeanProxyWrapper classTypeWrapper = new BeanProxyWrapper(project,
- classTypeProxy);
-
- String family = null;
- String renderer = null;
- try
- {
- classTypeWrapper.init();
- family = classTypeWrapper.callStringMethod("getFamily"); //$NON-NLS-1$
- renderer = classTypeWrapper.callStringMethod("getRendererType"); //$NON-NLS-1$
- }
- catch (ProxyException e1)
- {
- // fall through
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log("DTComponentIntrospector.getComponent:", e1); //$NON-NLS-1$
- }
- }
-
- IType type = null;
-
- try
- {
- type = JavaCore.create(project).findType(className);
- }
- catch (JavaModelException e)
- {
- // fall through;
- }
-
- List<String> interfaces = new ArrayList<String>();
- List<String> superClasses = new ArrayList<String>();
-
- if (type != null)
- {
- TypeInfoCache typeCache = getSharedTypeCache();
-
- IType[] interfaceTypes = typeCache.cacheInterfaceTypesFor(type);
- for (IType interfaze : interfaceTypes)
- {
- interfaces.add(interfaze.getFullyQualifiedName());
- }
-
- IType[] superClassTypes = typeCache.cacheSupertypesFor(type);
-
- for (IType superClass : superClassTypes)
- {
- superClasses.add(superClass.getFullyQualifiedName());
- }
- }
-
- return new ComponentTypeInfo(classType, className, superClasses
- .toArray(new String[0]), interfaces.toArray(new String[0]),
- family, renderer);
- }
- }
- finally
- {
- if (registry != null)
- {
- registry.terminateRegistry(true);
- }
- }
- return null;
- }
-
- /**
- * @param classType
- * @param className
- * @param project
- * @return the component type info with no additional classpath
- * contributions. May return null;
- */
- public static ComponentTypeInfo getComponent(final String classType,
- final String className, final IProject project)
- {
- return getComponent(classType, className, project, null);
- }
-
- /**
- * @param converterId
- * @param converterClass
- * @return a new converter type info for the converter id.
- */
- public static ConverterTypeInfo getConverter(final String converterId,
- final String converterClass)
- {
- return new ConverterTypeInfo(converterClass, converterId);
- }
-
- /**
- * @param validatorId
- * @param validatorClass
- * @return a new validator type info for the validator id
- */
- public static ValidatorTypeInfo getValidator(final String validatorId,
- final String validatorClass)
- {
- return new ValidatorTypeInfo(validatorClass, validatorId);
- }
-
- /**
- * @param componentType
- * @param project
- * @return the configured class name for the JSF component type id or null
- * if not found.
- */
- public static String findComponentClass(final String componentType,
- final IProject project)
- {
- final IJSFAppConfigManager manager = JSFAppConfigManagerFactory
- .getJSFAppConfigManagerInstance(project);
- final List<ComponentType> components = manager.getComponents();
-
- for (final ComponentType component : components)
- {
- final String type = component.getComponentType().getTextContent()
- .trim();
-
- if (componentType.equals(type) && component.getComponentClass() != null && component.getComponentClass().getTextContent() != null)
- {
- return component.getComponentClass().getTextContent().trim();
- }
- }
- return null;
- }
-
- /**
- * @param converterId
- * @param project
- * @return a fully qualified class name corresponding to converterId or null
- * if none.
- */
- public static String findConverterClass(final String converterId,
- final IProject project)
- {
- final IJSFAppConfigManager manager = JSFAppConfigManagerFactory
- .getJSFAppConfigManagerInstance(project);
- final List<ConverterType> converters = manager.getConverters();
-
- for (final ConverterType converter : converters)
- {
- if (converter != null && converter.getConverterId() != null
- && converter.getConverterId().getTextContent() != null)
- {
- final String type = converter.getConverterId().getTextContent()
- .trim();
-
- if (converterId.equals(type))
- {
- if (converter.getConverterClass() != null && converter.getConverterClass().getTextContent()!=null)
- {
- return converter.getConverterClass().getTextContent()
- .trim();
- }
- return null;
- }
- }
- }
- return null;
- }
-
- /**
- * @param validatorId
- * @param project
- * @return a fully qualified class name corresponding to the validatorId or
- * null if none.
- */
- public static String findValidatorClass(final String validatorId,
- final IProject project)
- {
- final IJSFAppConfigManager manager = JSFAppConfigManagerFactory
- .getJSFAppConfigManagerInstance(project);
- final List<ValidatorType> validators = manager.getValidators();
-
- for (final ValidatorType validatorType : validators)
- {
- if (validatorType != null && validatorType.getValidatorId() != null &&
- validatorType.getValidatorId().getTextContent() != null)
- {
- final String type = validatorType.getValidatorId().getTextContent()
- .trim();
-
- if (validatorId.equals(type))
- {
- return validatorType.getValidatorClass().getTextContent()
- .trim();
- }
- }
- }
- return null;
- }
-
- /**
- * @param type
- * @param checkInstanceOf
- * @return true if type resolves to a type that is an instance of one of the
- * types in checkInstanceOf.
- */
- public static boolean isTypeNameInstanceOfClass(final IType type,
- final Set<String> checkInstanceOf)
- {
- if (checkInstanceOf == null)
- {
- throw new AssertionError();
- }
- if (type != null)
- {
- // first and foremost, are these exactly droids you're
- // looking for and not just their predecessors?
- if (checkInstanceOf.contains(type.getFullyQualifiedName()))
- {
- return true;
- }
-
- for (final IType supertype : getSharedTypeCache()
- .cacheSupertypesFor(type))
- {
- if (checkInstanceOf.contains(supertype.getFullyQualifiedName()))
- {
- return true;
- }
- }
-
- for (final IType interfaces : getSharedTypeCache()
- .cacheInterfaceTypesFor(type))
- {
- if (checkInstanceOf
- .contains(interfaces.getFullyQualifiedName()))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * @param typeInfo
- * @param project
- * @return a list of all bean properties (using the POJO method) on
- * typeInfo. List may be empty, never null.
- */
- public static Map<String, JDTBeanProperty> getBeanProperties(
- final ComponentTypeInfo typeInfo, final IProject project)
- {
- Map<String, JDTBeanProperty> properties = new HashMap<String, JDTBeanProperty>();
-
- IJavaProject javaProject = JavaCore.create(project);
- try
- {
- IType type = javaProject.findType(typeInfo.getClassName());
-
- if (type != null)
- {
- // TODO: should be able to use type cache for this
- final JDTBeanIntrospector introspector = new JDTBeanIntrospector(
- type);
- properties = introspector.getProperties();
- }
- }
- catch (JavaModelException e)
- {
- JSFCorePlugin.log("Error finding component type", e); //$NON-NLS-1$
- }
-
- return properties;
- }
-
- /**
- * @param project
- * @return a new proxy factory registry or null;
- *
- * TODO: caching?
- */
- private static ProxyFactoryRegistry getProxyFactoryRegistry(
- final IProject project, final IConfigurationContributor[] contributors)
- {
- try
- {
- return IDERegistration.startAnImplementation(contributors, false, project,
- project.getName(), JSFCorePlugin.PLUGIN_ID,
- new NullProgressMonitor());
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log("Error starting vm for project: " //$NON-NLS-1$
- + project.getName(), e);
- }
-
- return null;
- }
-
- private DTComponentIntrospector()
- {
- // no external instantiation
- }
-
- // private static class
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java
deleted file mode 100644
index 4629624ae..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DTUIViewRoot.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-
-/**
- * The interface for all design view root objects.
- *
- */
-public abstract class DTUIViewRoot extends ComponentInfo
-{
- private StalenessAdvisor _stalenessAdvisor;
-
- private String _viewId;
- private VersionStamp _versionStamp;
-
- /**
- *
- */
- private static final long serialVersionUID = -6375907116774572269L;
-
- /**
- * @param id
- * @param parent
- * @param componentTypeInfo
- */
- protected DTUIViewRoot(final String id, final ComponentInfo parent,
- final ComponentTypeInfo componentTypeInfo)
- {
- super(id, parent, componentTypeInfo, true);
- }
-
- /**
- * @return the view id
- */
- public final String getViewId()
- {
- return _viewId;
- }
-
- /**
- * @param viewId
- *
- */
- final void setViewId(final String viewId)
- {
- _viewId = viewId;
- }
-
- /**
- * <p>
- * Clients may use the version stamp to determine if their instance of a
- * view root is out of date. For example, if a client has cached an instance
- * of a view root and wants to quickly checked if there is a newer version,
- * it may request a new copy and compare version stamps
- * </p>
- *
- * <p>
- * The version stamp must be calculated so that given two instance of a view
- * root for the same view id, v1 and v2:
- * </p>
- *
- * <p>
- * if v1.getVersionStamp().equals(v2.getVersionStamp()) then v1 and v2 are
- * the same even if v1 != v2. Note that this uniqueness must hold true
- * across multiple sessions of the IDE, since v1 or v2 may have been
- * restored from permanent storage. For this reason, running counts should
- * are discouraged unless they too can be reliably stored. Better is
- * something that relies on large random numbers combined with a time stamp
- * or workspace modification stamp
- * </p>
- *
- * @return the unique version stamp of this view root. This may be used as
- * quick check as to whether to view roots are not equal.
- */
- public final VersionStamp getVersionStamp()
- {
- return delegateVersionStamp();
- }
-
- VersionStamp delegateVersionStamp()
- {
- return _versionStamp;
- }
-
- final void setVersionStamp(VersionStamp versionStamp)
- {
- _versionStamp = versionStamp;
- }
-
-
- /**
- * @return a map of ISymbols representing the currently available
- * view scope variables. Never null, empty if no symbols
- * Map is unmodifiable (throws exception on mutation operations)
- */
- public final Map<String, ISymbol> getViewMap() {
- return Collections.unmodifiableMap(doGetMapForScope(ISymbolConstants.SYMBOL_SCOPE_VIEW));
- }
-
- /**
- * @param scopeMask
- * @return Map of symbols
- */
- protected abstract Map<String, ISymbol> doGetMapForScope(final int scopeMask);
-
- /**
- * @return true if the view root is out of sync with its view source.
- */
- public final boolean isStale()
- {
- return _stalenessAdvisor.isStale();
- }
-
- final void setStalenessAdvisor(final StalenessAdvisor stalenessAdvisor)
- {
- _stalenessAdvisor = stalenessAdvisor;
- }
-
- /**
- * Implementations must ensure that listeners are only added if they are
- * not already present.
- *
- * @param listener
- */
- public final void addListener(final StalenessListener listener)
- {
- _stalenessAdvisor.addListener(listener);
- }
-
- /**
- * @param listener
- */
- public final void removeListener(final StalenessListener listener)
- {
- _stalenessAdvisor.removeListener(listener);
- }
-
- /**
- * @return an adapter that can be used to request additional services from
- * the view root instance. This can be used to get services that are
- * not specific to all view roots such as mappings between view
- * definition artifacts and their view objects. Value may be null if
- * a view root chooses not to expose any services.
- */
- public abstract IAdaptable getServices();
-
- /**
- * An abstract versioning stamp that can be used to uniquely identify a
- * version of a DTUIViewRoot.
- *
- * @author cbateman
- *
- */
- public abstract static class VersionStamp implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = -7869336223178326584L;
-
- /**
- * Called by equals to determine absolute equality.
- *
- * @param other
- * @return true if and only if other represents the exact same version
- * as this. Hashcode must be reimplemented in a way to guarantee
- * that the equals() contract is respected.
- */
- protected abstract boolean isEqual(final VersionStamp other);
-
- /**
- * Must reimplement hashCode to match isEqual
- */
- public abstract int hashCode();
-
- @Override
- public final boolean equals(Object obj)
- {
- if (this == obj)
- {
- return true;
- }
-
- // NOTE: instanceof covers obj == null check.
- if (obj instanceof VersionStamp)
- {
- return isEqual((VersionStamp) obj);
- }
- return false;
- }
- }
-
- /**
- * An advisor which allows a view root to bridge to its source to see if its
- * out-of-sync, while keeping it decoupled from what specifically its source
- * is.
- *
- * @author cbateman
- *
- */
- public static abstract class StalenessAdvisor implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = 3449240686744169430L;
-
- /**
- * Implementations must ensure that listeners are only added if they are
- * not already present.
- * @param listener
- */
- public abstract void addListener(StalenessListener listener);
-
- /**
- * @param listener
- */
- public abstract void removeListener(StalenessListener listener);
-
- /**
- * NOTE: it is very dangerous to have an advisor that always returns
- * stale == true since many clients will rely on the staleness flag to
- * determine if they should try to update the model.
- *
- * @return true if we are out of sync with the source that this tree was
- * constructed from.
- */
- public abstract boolean isStale();
-
- /**
- * @return a flag similar to IResource.isAccessible that indicates if
- * the underlying view definition is no longer accessible either
- * due it being deleted or it's source file being unaccessible
- * due to project closure or other issues.
- */
- public abstract boolean isAccessible();
- }
-
- /**
- * A listener that is informed of model staleness events
- *
- */
- public static abstract class StalenessListener
- {
- /**
- * @param event
- */
- protected abstract void stalenessChanged(StalenessEvent event);
- }
-
- /**
- * An event that is fied when a model's staleness changes.
- *
- */
- public final static class StalenessEvent
- {
- private final ChangeType _type;
-
- /**
- * @param type
- */
- protected StalenessEvent(final ChangeType type)
- {
- _type = type;
- }
-
- /**
- * @return true if the event source is now stale.
- */
- public final ChangeType getChangeType()
- {
- return _type;
- }
-
- /**
- * The type of staleness change
- *
- */
- /**
- * @author cbateman
- *
- */
- public enum ChangeType
- {
- /**
- * Indicates that the view definition has been changed in a way that
- * will make existing DTUIViewRoot's stale.
- */
- VIEW_DEFN_CHANGED,
-
- /**
- * Inidicates that the view definition has been deleted.
- */
- VIEW_DEFN_DELETED,
-
- /**
- * Indicates that the view definition's enclosing project will be
- * closed, causing the definition to be made unavailable for an
- * indeterminate amount of time.
- */
- VIEW_DEFN_PROJECT_CLOSED,
-
- /**
- * Indicates that a view root has been invalid due to a project
- * clean. View root should generally be forcibly updated on
- * a project clean even if other staleness preconditions haven't
- * been met.
- */
- PROJECT_CLEANED
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTUIViewRoot.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTUIViewRoot.java
deleted file mode 100644
index 75985be23..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTUIViewRoot.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.JSFCommonPlugin;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProvider;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolSourceProviderFactory;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * The default view root implementation. Assumes an XML view definition.
- *
- * @author cbateman
- *
- */
-public class DefaultDTUIViewRoot extends DTUIViewRoot
-{
- /**
- * serializable
- */
- private static final long serialVersionUID = -6948413077931237435L;
- private final DefaultServices _defaultServices;
- private DTFacesContext _facesContext;
-
- /**
- * @param facesContext
- */
- public DefaultDTUIViewRoot(final DTFacesContext facesContext)
- {
- // TODO: refactor constants
- super(null, null, new ComponentTypeInfo("javax.faces.ViewRoot", //$NON-NLS-1$
- "javax.faces.component.UIViewRoot", "javax.faces.ViewRoot", //$NON-NLS-1$ //$NON-NLS-2$
- null));
- _defaultServices = new DefaultServices();
- _facesContext = facesContext;
- }
-
- @Override
- public IAdaptable getServices()
- {
- return _defaultServices;
- }
-
- private class DefaultServices implements IAdaptable, Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = -5220371377352799212L;
- private final XMLViewObjectMappingService _xmlViewObjectMappingService;
-
- private DefaultServices()
- {
- _xmlViewObjectMappingService = new XMLViewObjectMappingService();
- }
-
- public Object getAdapter(final Class adapter)
- {
- if (adapter.equals(XMLViewObjectMappingService.class))
- {
- return _xmlViewObjectMappingService;
- }
- return null;
- }
- }
-
- @Override
- protected Map<String, ISymbol> doGetMapForScope(final int scopeMask) {
- final Map<String, ISymbol> map = new HashMap<String, ISymbol>();
-
- IProject project = _facesContext.adaptContextObject().getProject();
- for (final Iterator it = JSFCommonPlugin.getSymbolSourceProviders().iterator(); it.hasNext();)
- {
- final ISymbolSourceProviderFactory factory = (ISymbolSourceProviderFactory) it.next();
- final ISymbolSourceProvider provider = factory.createInstance(project);
-
- final ISymbol[] symbols = provider.getSymbols(_facesContext.adaptContextObject(), scopeMask);
-
- for (int i = 0; i < symbols.length; i++)
- {
- map.put(symbols[i].getName(), symbols[i]);
- }
- }
-
- return map;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTViewHandler.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTViewHandler.java
deleted file mode 100644
index 4f94b6c27..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/DefaultDTViewHandler.java
+++ /dev/null
@@ -1,614 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.internal.JSPUtil;
-import org.eclipse.jst.jsf.common.internal.resource.EventResult;
-import org.eclipse.jst.jsf.common.internal.resource.IResourceLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ImmutableLifecycleListener;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceLifecycleEvent.ReasonType;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessAdvisor;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessEvent;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessEvent.ChangeType;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessListener;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.VersionStamp;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.w3c.dom.Node;
-
-/**
- * A default implementation of the design time view handler meant to parallel
- * the default runtime ViewHandler required by the JSF spec.
- *
- */
-public class DefaultDTViewHandler extends AbstractDTViewHandler
-{
- private final MyLifecycleManager _lifecycleManager = new MyLifecycleManager();
-
- @Override
- public String calculateLocale(final DTFacesContext context)
- throws ViewHandlerException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IResource getActionDefinition(final DTFacesContext context,
- final String viewId) throws ViewHandlerException
- {
- // TODO: this seems like a bit of a cop out...
- return context.adaptContextObject();
- }
-
- @Override
- public IPath getActionURL(final DTFacesContext context,
- final IResource resource, final IPath requestPath)
- throws ViewHandlerException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IPath getRelativeActionPath(final DTFacesContext context,
- final String relativeToViewId, final String uri)
- throws ViewHandlerException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IViewDefnAdapterFactory getViewMetadataAdapterFactory(
- final DTFacesContext context) throws ViewHandlerException
- {
- return internalGetViewMetadataAdapterFactory(context);
- }
-
- /**
- * @param context
- * @return the DefaultViewDefnAdapterFactory
- *
- */
- protected IViewDefnAdapterFactory getDefaultViewMetadataAdapterFactory(
- final DTFacesContext context)
- {
- return internalGetViewMetadataAdapterFactory(context);
- }
-
- private IViewDefnAdapterFactory internalGetViewMetadataAdapterFactory (final DTFacesContext context) {
- final IResource res = context.adaptContextObject();
-
- if (res instanceof IFile)
- {
- return new DefaultViewDefnAdapterFactory(this);
- }
-
- return null;
- }
-
- @Override
- protected VersionStamp createVersionStamp(
- final DTFacesContext facesContext, final String viewId)
- {
- return new TimeBasedVersionStamp();
- }
-
- static class DefaultViewDefnAdapterFactory extends
- AbstractViewDefnAdapterFactory
- {
- private final DefaultDTViewHandler _myViewHandler;
-
- DefaultViewDefnAdapterFactory(final DefaultDTViewHandler viewHandler)
- {
- _myViewHandler = viewHandler;
- }
-
- @Override
- public IViewDefnAdapter<Node, IDocument> createAdapter(
- final DTFacesContext context, final String viewId)
- {
- try
- {
- final IResource res = _myViewHandler.getActionDefinition(
- context, viewId);
-
- if (res instanceof IFile)
- {
- final IFile srcFile = (IFile) res;
- final ITagRegistry registry = findTagRegistry(srcFile);
- if (JSPUtil.isJSPContentType(srcFile) && registry != null)
- {
- // if we have a jsp file, then return the default
- // adapter
- return new JSPViewDefnAdapter(registry);
- }
- }
- }
- catch (final ViewHandlerException vhe)
- {
- JSFCorePlugin.log(vhe, "While acquiring view adapter"); //$NON-NLS-1$
- }
-
- // not found or failed
- return null;
- }
- }
-
- @Override
- protected DTUIViewRoot internalCreateView(
- final DTFacesContext facesContext, final String viewId)
- {
- IViewDefnAdapterFactory factory;
- try
- {
- factory = getViewMetadataAdapterFactory(facesContext);
- if (factory != null)
- {
- final IViewDefnAdapter<?, ?> adapter = factory.createAdapter(
- facesContext, viewId);
- if (adapter instanceof XMLViewDefnAdapter)
- {
- final IResource res = facesContext.adaptContextObject();
- final DTUIViewRoot root = newView(facesContext, viewId);
- final XMLComponentTreeConstructionStrategy constructionStrategy = createTreeConstructionStrategy(
- (XMLViewDefnAdapter) adapter, res.getProject());
-
- constructionStrategy
- .createComponentTree(facesContext, root);
- return root;
- }
- JSFCorePlugin
- .log(
- IStatus.WARNING,
- String
- .format(
- "Could not get view adapter to construct design time view root for %s", //$NON-NLS-1$
- viewId));
- }
- else
- {
- JSFCorePlugin
- .log(
- IStatus.WARNING,
- String
- .format(
- "Could not get view adapter factory toconstruct design time view root for %s", //$NON-NLS-1$
- viewId));
- }
- }
- catch (final ViewHandlerException e)
- {
- JSFCorePlugin.log(e, "While acquiring view defn adapter factory"); //$NON-NLS-1$
- // fall-through
- }
-
- return new NullViewRoot();
- }
-
- /**
- * By default, returns DefaultDTUIViewRoot.
- *
- * @param facesContext
- * @param viewId
- * @return a new instance of a view. Override to change the implementation
- * or configuration of DTUIViewRoot that is used by
- * internalCreateView.
- */
- protected DTUIViewRoot newView(final DTFacesContext facesContext,
- final String viewId)
- {
- return new DefaultDTUIViewRoot(facesContext);
- }
-
- @Override
- protected void registerView(final DTUIViewRoot viewRoot,
- final DTFacesContext facesContext, final String viewId)
- {
- final IResource res = facesContext.adaptContextObject();
- _lifecycleManager.addViewInfo(viewId, res);
- }
-
- /**
- * Sub-classes may override to provide a different strategy.
- *
- * @param adapter
- * @param project
- * @return the construction strategy used to create this view's component
- * tree
- */
- protected XMLComponentTreeConstructionStrategy createTreeConstructionStrategy(
- final XMLViewDefnAdapter adapter, final IProject project)
- {
- return new XMLComponentTreeConstructionStrategy(adapter, project);
- }
-
- @Override
- public boolean supportsViewDefinition(final IFile file)
- {
- // currently only JSP content type is supported
- return (JSPUtil.isJSPContentType(file));
- }
-
- @Override
- protected StalenessAdvisor createStalenessAdvisor(
- final DTUIViewRoot viewRoot, final DTFacesContext facesContext,
- final String viewId)
- {
- final IResource res = facesContext.adaptContextObject();
- // if the view root is null or the res is null fall through
- // and use the null staleness advisor
- if (!(viewRoot instanceof NullViewRoot) && res != null)
- {
- return new ResourceModStampStalenessAdvisor(viewRoot, res, viewId);
- }
- return new NullStalenessAdvisor();
- }
-
- /**
- * Measures the staleness of a view by comparing the modification stamp on
- * the resource at construction with the current value when isStale is
- * called.
- *
- * @author cbateman
- *
- */
- protected final class ResourceModStampStalenessAdvisor extends
- StalenessAdvisor implements Serializable
- {
- /**
- * version id
- */
- private static final long serialVersionUID = -4982206388722638735L;
- private final long _modificationStamp;
-
- private transient final IResource _res;
- private transient final AtomicBoolean _forcedStale;
- private transient final StalenessListener _myListener;
-
- /**
- * @param viewRoot
- * @param file
- * @param viewId
- */
- public ResourceModStampStalenessAdvisor(final DTUIViewRoot viewRoot,
- final IResource file, final String viewId)
- {
- _res = file;
- _modificationStamp = file.getModificationStamp();
- _forcedStale = new AtomicBoolean(false);
- _myListener = new StalenessListener()
- {
- @Override
- protected void stalenessChanged(final StalenessEvent event)
- {
- if (event.getChangeType() == ChangeType.PROJECT_CLEANED)
- {
- if (_forcedStale.compareAndSet(false, true))
- {
- _lifecycleManager.removeListener(_res, _myListener);
- }
- }
- }
- };
- _lifecycleManager.addViewInfo(viewId, _res);
- _lifecycleManager.addListener(_res, _myListener);
- }
-
- @Override
- public boolean isStale()
- {
- if (!_forcedStale.get())
- {
- final long curStamp = _res.getModificationStamp();
- return curStamp != _modificationStamp;
- }
- // else forced stale
- return true;
- }
-
- @Override
- public void addListener(final StalenessListener listener)
- {
- _lifecycleManager.addListener(_res, listener);
- }
-
- @Override
- public void removeListener(final StalenessListener listener)
- {
- _lifecycleManager.removeListener(_res, listener);
- }
-
- @Override
- public boolean isAccessible()
- {
- return _res.isAccessible();
- }
- }
-
- @Override
- public final void setLifecycleListener(final ImmutableLifecycleListener listener)
- {
- _lifecycleManager.update(listener);
- }
-
- @Override
- protected final void doDispose()
- {
- _lifecycleManager.dispose();
- }
-
- private class MyLifecycleManager implements IResourceLifecycleListener
- {
- private ImmutableLifecycleListener _listener;
- private final Map<IResource, ViewInfo> _stalenessListeners;
- private final IResourceChangeListener _buildListener;
-
- public MyLifecycleManager()
- {
- _stalenessListeners = new HashMap<IResource, ViewInfo>();
- _buildListener = new IResourceChangeListener()
- {
- // on a clean build request, fire staleness for all project-related
- // resources.
- public void resourceChanged(final IResourceChangeEvent event)
- {
- if (event.getType() == IResourceChangeEvent.PRE_BUILD)
- {
- if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD)
- {
- if (event.getSource() instanceof IProject)
- {
- cleanProject((IProject) event.getSource());
- }
- else if (event.getSource() instanceof IWorkspace)
- {
- cleanAll();
- }
- }
- }
- }
- };
- ResourcesPlugin.getWorkspace().addResourceChangeListener(_buildListener,
- IResourceChangeEvent.PRE_BUILD);
- }
-
- public void addListener(final IResource res, final StalenessListener listener)
- {
- final ViewInfo viewInfo = getViewInfo(res);
- viewInfo.getListeners().addIfAbsent(listener);
- }
-
- public void removeListener(final IResource res, final StalenessListener listener)
- {
- final ViewInfo viewInfo = getViewInfo(res);
- viewInfo.getListeners().remove(listener);
- }
-
- public EventResult acceptEvent(final ResourceLifecycleEvent event)
- {
- switch (event.getEventType())
- {
- case RESOURCE_CHANGED:
- {
- return handleContentChangeEvent(event);
- }
-
- case RESOURCE_INACCESSIBLE:
- {
- return handleInaccessibleChangeEvent(event);
- }
-
- default:
- // do nothing with other types
- }
-
- return EventResult.getDefaultEventResult();
- }
-
- private EventResult handleContentChangeEvent(
- final ResourceLifecycleEvent event)
- {
- if (event.getReasonType() != ReasonType.RESOURCE_CHANGED_CONTENTS)
- {
- return EventResult.getDefaultEventResult();
- }
-
- final IResource res = event.getAffectedResource();
- final List<StalenessListener> stalenessListeners = getListeners(res);
-
- if (stalenessListeners != null)
- {
- for (final StalenessListener listener : stalenessListeners)
- {
- listener.stalenessChanged(new StalenessEvent(
- ChangeType.VIEW_DEFN_CHANGED));
- }
- }
- return EventResult.getDefaultEventResult();
- }
-
- private EventResult handleInaccessibleChangeEvent(
- final ResourceLifecycleEvent event)
- {
- final IResource res = event.getAffectedResource();
- final ReasonType reasonType = event.getReasonType();
- ChangeType changeType = null;
- if (reasonType == ReasonType.RESOURCE_PROJECT_CLOSED)
- {
- changeType = ChangeType.VIEW_DEFN_PROJECT_CLOSED;
- }
- else if (reasonType == ReasonType.RESOURCE_DELETED)
- {
- changeType = ChangeType.VIEW_DEFN_DELETED;
- }
- else
- {
- return EventResult.getDefaultEventResult();
- }
-
- final List<StalenessListener> listeners = getListeners(res);
-
- if (listeners != null)
- {
- for (final StalenessListener listener : listeners)
- {
- listener.stalenessChanged(new StalenessEvent(
- changeType));
- }
- }
- return EventResult.getDefaultEventResult();
- }
-
- private void cleanAll()
- {
- final StalenessEvent event = new StalenessEvent(ChangeType.PROJECT_CLEANED);
- for (final Map.Entry<IResource, ViewInfo> entry : _stalenessListeners.entrySet())
- {
- final ViewInfo info = entry.getValue();
- for (final StalenessListener listener : info.getListeners())
- {
- listener.stalenessChanged(event);
- }
- }
- }
-
- private void cleanProject(final IProject project)
- {
- final StalenessEvent event = new StalenessEvent(ChangeType.PROJECT_CLEANED);
- for (final Map.Entry<IResource, ViewInfo> entry : _stalenessListeners.entrySet())
- {
- final IResource res = entry.getKey();
-
- if (res.getProject().equals(project))
- {
- final ViewInfo info = entry.getValue();
- for (final StalenessListener listener : info.getListeners())
- {
- listener.stalenessChanged(event);
- }
- }
- }
- }
-
- private List<StalenessListener> getListeners(final IResource res)
- {
- List<StalenessListener> stalenessListeners = null;
-
- synchronized (this)
- {
- final ViewInfo viewInfo = _stalenessListeners.get(res);
-
- if (viewInfo != null)
- {
- stalenessListeners = viewInfo.getListeners();
- }
- }
- return stalenessListeners;
- }
-
- public synchronized void addViewInfo(final String viewId,
- final IResource res)
- {
- ViewInfo viewInfo = _stalenessListeners.get(res);
-
- if (viewInfo == null)
- {
- viewInfo = new ViewInfo(viewId);
- _stalenessListeners.put(res, viewInfo);
- }
- }
-
- public synchronized ViewInfo getViewInfo(final IResource res)
- {
- return _stalenessListeners.get(res);
- }
-
- public synchronized void dispose()
- {
- // updating with null effectively deregisters any existing listener
- // and doesn't register a new one.
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(_buildListener);
- update(null);
- }
-
- public synchronized void update(
- final ImmutableLifecycleListener listener)
- {
- if (listener == _listener)
- {
- return;
- }
-
- final ImmutableLifecycleListener oldListener = _listener;
-
- if (oldListener != null)
- {
- oldListener.removeListener(this);
- }
-
- _listener = listener;
-
- if (_listener != null)
- {
- _listener.addListener(this);
- }
- }
- }
-
- private static class ViewInfo
- {
- private final CopyOnWriteArrayList<StalenessListener> _listeners;
-// private final String _viewId;
-
- /**
- * @param listeners
- * @param res
- */
- private ViewInfo(final String viewId)
- {
- super();
- _listeners = new CopyOnWriteArrayList<StalenessListener>();
-// _viewId = viewId;
- }
-
- protected final CopyOnWriteArrayList<StalenessListener> getListeners()
- {
- return _listeners;
- }
-
-// protected final String getViewId()
-// {
-// return _viewId;
-// }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IDTViewHandler.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IDTViewHandler.java
deleted file mode 100644
index 81e4be6a4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IDTViewHandler.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.jsf.common.internal.resource.ImmutableLifecycleListener;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * <p>
- * Defines the basic interface for all design time view handlers that parallel
- * custom runtime view handlers (extenders of ViewHandler).
- * </p>
- *
- * @author cbateman
- *
- */
-public interface IDTViewHandler
-{
- /**
- * <p>
- * Creates and returns the view root. This method <i>may</i> optionally
- * intialize the view root with any data that need only be done once per
- * instance. Generally, this will include providing the root access to
- * itself or its IViewDefnAdapterFactory so that it can refresh itself.
- * </p>
- *
- * @param facesContext
- * @param viewId
- * @return a designtime view root instance of viewId under the given faces
- * context
- * @throws ViewHandlerException
- */
- DTUIViewRoot createView(DTFacesContext facesContext, String viewId)
- throws ViewHandlerException;
-
- /**
- * Calculate the locale for the current view context. The return string must
- * conform to the standard format proscribed by java.util.Locale.
- *
- * @param context
- * @return the locale string for the view definition referred to by context
- * @throws ViewHandlerException
- */
- String calculateLocale(DTFacesContext context) throws ViewHandlerException;
-
- /**
- * Given that resource is the view definition source and requestPath is the
- * current servlet uri for a request relative to the web content root, map
- * it to the actual request uri that would be required at runtime to invoke
- * the view definition in resource. DTFacesContext will contain an external
- * context that may be used to derive servlet mapping configuration.
- *
- * @param context
- * @param resource
- * @param requestPath
- * @return the IPath representing the newly mapped request path
- * @throws ViewHandlerException
- */
- IPath getActionURL(DTFacesContext context, IResource resource,
- IPath requestPath) throws ViewHandlerException;
-
- /**
- * TODO: if we already have context, must we already know what the source
- * is?
- *
- * The IResource need not exist.
- *
- * @param context
- * @param viewId
- * @return the resource containing the view definition for viewId.
- * @throws ViewHandlerException
- */
- IResource getActionDefinition(DTFacesContext context, String viewId)
- throws ViewHandlerException;
-
- /**
- * Given that a request is made for uri from within the view named by
- * relativeToViewId at runtime, return the path to the resource containing
- * that view definition. The path need not point to a resource that
- * currently exists.
- *
- * @param context
- * @param relativeToViewId
- * @param uri
- * @return the path to the resource named by uri relative to the view named
- * by relativeToViewId
- * @throws ViewHandlerException
- */
- IPath getRelativeActionPath(DTFacesContext context,
- String relativeToViewId, String uri) throws ViewHandlerException;
-
- /**
- * Translate a workspace resource to the view id it will have at runtime.
- *
- * @param context
- * @param res
- * @return the view id for res or null if there is no meaningful value
- */
- String getViewId(DTFacesContext context, IResource res);
-
- /**
- * @param context
- * @return a view definition adapter
- * @throws ViewHandlerException
- */
- IViewDefnAdapterFactory getViewMetadataAdapterFactory(DTFacesContext context)
- throws ViewHandlerException;
-
- /**
- * @param file
- * @return true if the contents of the file is of a format that this view
- * handler supports. Generally, this is decided by a combination of
- * content type and, in the case of XML formats, schema.
- */
- boolean supportsViewDefinition(final IFile file);
-
- /**
- * Releases the handler's in-memory image.
- */
- void dispose();
-
- /**
- * Called by design time app manager to set a global resource listener
- * for the view handler to use. View handlers should generally use this
- * listener to reduce the overhead of extra resouce change listeners.
- *
- * @param listener
- */
- void setLifecycleListener(final ImmutableLifecycleListener listener);
-
- /**
- * General exception class for problems that a custom view handler wants to
- * propagate to the framework in a well-defined way.
- *
- */
- public static final class ViewHandlerException extends Exception
- {
- private final Cause _causeCode;
-
- /**
- * Enumerates the known failure causes
- *
- */
- public enum Cause
- {
- /**
- * thrown from getELExpression when the context passed does not
- * refer to a parsable EL expression in the view definition
- */
- EL_NOT_FOUND,
- /**
- * thrown from getELExpression when an exception occurs during EL
- * parsing. The ViewHandlerException should wrap the causing
- * exception in this cause
- */
- EL_EXCEPTION_CAUGHT_WHILE_PARSING,
- /**
- * an undefined exception cause indicating something not foreseen by
- * the framework.
- */
- UNDEFINED,
-
- /**
- * indicates that a bad or null version stamp was encountered. The
- * wrapped exception may provide tracing information to the cause.
- */
- BAD_VERSION_STAMP,
-
- /**
- * indicates that a bad or null staleness advisor was encountered.
- * The wrapped exception may provide tracing information to the
- * cause.
- */
- BAD_STALENESS_ADVISOR,
-
- /**
- * a general failure by the view creation to create a new view root.
- */
- UNABLE_TO_CREATE_VIEW
- }
-
- /**
- *
- */
- private static final long serialVersionUID = 2109525340402345111L;
-
- /**
- * Construct an exception with an undefined cause
- */
- public ViewHandlerException()
- {
- this(Cause.UNDEFINED);
- }
-
- /**
- * @param cause
- */
- public ViewHandlerException(final Cause cause)
- {
- super();
- _causeCode = cause;
- }
-
- /**
- * @param message
- * @param caught
- * @param cause
- */
- public ViewHandlerException(final String message,
- final Throwable caught, final Cause cause)
- {
- super(message, caught);
- _causeCode = cause;
- }
-
- /**
- * @param message
- * @param cause
- */
- public ViewHandlerException(final String message, final Cause cause)
- {
- super(message);
- _causeCode = cause;
- }
-
- /**
- * @param caught
- * @param cause
- */
- public ViewHandlerException(final Throwable caught, final Cause cause)
- {
- super(caught);
- _causeCode = cause;
- }
-
- /**
- * @return the cause code
- */
- public final Cause getCauseCode()
- {
- return _causeCode;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapter.java
deleted file mode 100644
index 676643a74..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapter.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.datatypes.ELExpression;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-
-/**
- * <p>
- * A generic adapter used to adapt arbitrary view definitions to framework
- * objects.
- * </p>
- *
- * @author cbateman
- * @param <VIEW_DEFN_BASE_TYPE>
- * the base type of all view definition objects
- * @param <VIEW_CONTAINER_TYPE>
- * the type of the container that is expeccted to hold the view defn
- *
- */
-public interface IViewDefnAdapter<VIEW_DEFN_BASE_TYPE, VIEW_CONTAINER_TYPE>
-{
- /**
- * @param viewDefnObject
- * @param constructionData
- * @param viewContainer
- * @return a view object corresponding to the viewDefnBaseType object or
- * null if none.
- */
- ViewObject mapToViewObject(
- VIEW_DEFN_BASE_TYPE viewDefnObject,
- ViewObjectConstructionStrategy<? extends VIEW_DEFN_BASE_TYPE> constructionData,
- VIEW_CONTAINER_TYPE viewContainer);
-
- /**
- * This method may be expensive.
- *
- * @param viewDefnObject
- * @param root
- * @return the view object corresponding to viewDefnObject in the
- * component sub-tree rooted at root.
- * <b>May return null if isn't found or can't be found</b>
- */
- ViewObject findViewObject(VIEW_DEFN_BASE_TYPE viewDefnObject, ComponentInfo root);
-
- /**
- * @param viewObject
- * @param root
- * @return the view definition object that viewObject was derived from
- * using root as the component sub-tree root to search in.
- * <b>May return null if isn't found or can't be found</b>
- */
- VIEW_DEFN_BASE_TYPE findViewDefn(ViewObject viewObject, ComponentInfo root);
-
- /**
- * @param viewDefnObject
- * @return the id for the viewDefnObject or null if none. Generally, null
- * should indicate that no id is present but could be. This is
- * distinct from the case where viewDefnObject can never define an
- * id, in which case IllegalArgumentException should be thrown.
- *
- * @throws IllegalArgumentException
- * may be thrown to indicate that viewDefnObject does not
- * correspond to a ViewObject type that has an id.
- *
- */
- String getId(VIEW_DEFN_BASE_TYPE viewDefnObject)
- throws IllegalArgumentException;
-
- /**
- * Normally this is a workspace resource (IFile) or higher level document
- * type like an IDocument.
- *
- * @param context
- * @param viewId
- * @return the container resource for the viewId in context.
- */
- VIEW_CONTAINER_TYPE getContainer(DTFacesContext context, String viewId);
-
- /**
- * @param container
- * @return the view roots for the definition in container or empty if none.
- * MUST NOT BE NULL.
- */
- List<VIEW_DEFN_BASE_TYPE> getViewDefnRoots(VIEW_CONTAINER_TYPE container);
-
- /**
- * <p>
- * The view definition adapter must be able to extract all EL expressions
- * from a view definition. Given a model context that points into the view
- * definition it must return the EL expression in that context.
- * </p>
- *
- * <p>
- * If the model context provided does not refer to a valid view definition
- * for this handler, then ViewHandlerException(EL_NOT_FOUND) should be
- * thrown. If an exception occurs while trying to extract the EL expression
- * at context, then ViewHandlerException(caughtException,
- * EL_EXCEPTION_CAUGHT_WHILE_PARSING) should be thrown.
- * </p>
- *
- * <p>
- * Note that any reference to parsing here means extraction from the
- * document and not building an AST for the expression itself.</p>
- *
- * @param context
- * @return the text (stripped of any escaping such as #{} in JSP) of the EL
- * expression referred to by context or null if there is no valid EL
- * expression at context.
- * @throws ViewHandlerException
- */
- ELExpression getELExpression(IModelContext context) throws ViewHandlerException;
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapterFactory.java
deleted file mode 100644
index b0aa0f06e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewDefnAdapterFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * <p>Interface for a factory that creates view definition adapters.</p>
- *
- * @author cbateman
- *
- */
-public interface IViewDefnAdapterFactory
-{
- /**
- * @param context
- * @param viewId
- * @return a view adapter for the viewid or null if this factory
- * cannot produce an adapter for the underlying view definition.
- */
- IViewDefnAdapter<?,?> createAdapter(DTFacesContext context, String viewId);
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewRootHandle.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewRootHandle.java
deleted file mode 100644
index c8d37630c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/IViewRootHandle.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot.StalenessListener;
-
-/**
- * A handle to a view root.
- *
- * @author cbateman
- *
- */
-public interface IViewRootHandle
-{
- /**
- * <p>
- * This returns the copy of the view root cached by the faces context. If
- * updateViewRoot has never been called (or if it was called but never
- * succeeded) it may return null.
- * </p>
- *
- * <p>
- * This method should be cheap and avoid blocking
- * </p>
- *
- * return null if the value of the view root
- *
- * @return the cached view root. May be null.
- */
- DTUIViewRoot getCachedViewRoot();
-
- /**
- * NOTE: this method may be long running. If you can tolerate a possibly
- * stale value more quickly, use getCachedViewRoot(). NEVER run this method
- * on the main UI thread.
- *
- * A good strategy for invoking is as follows:
- *
- * DTUIViewRoot viewRoot = handle.getCachedViewRoot();
- *
- * <pre>
- * if (viewRoot == null || viewRoot.isStale())
- * {
- * spawnTread that calls updateViewRoot
- * }
- *
- * </pre>
- *
- * @return the view root for the associated context object or null if there
- * is no context object.
- */
- DTUIViewRoot updateViewRoot();
-
- /**
- * Adds a staleness listener to the currently cached view root. If there
- * currently is no cached view root, then the listener will be stored
- * until a updateViewRoot is successfully called.
- * @param listener
- */
- void addListener(final StalenessListener listener);
-
- /**
- * Removes a staleness listener from the currently cached view root. If
- * there is no currently cached root, then the listener will be stored
- * until one is found. The call will then attempt to remove it.
- * @param listener
- */
- void removeListener(final StalenessListener listener);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java
deleted file mode 100644
index da8825cf2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/JSPViewDefnAdapter.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ITextRegionContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException.Cause;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.domdocument.DOMModelForJSP;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.w3c.dom.Element;
-
-/**
- * <p>
- * A view definition adapter that adapts JSF view definitions based on the
- * standard JSP view description language.
- * </p>
- *
- * @author cbateman
- *
- */
-public class JSPViewDefnAdapter extends TaglibBasedViewDefnAdapter
-{
- JSPViewDefnAdapter(final ITagRegistry tldTagRegistry)
- {
- super(tldTagRegistry);
- }
-
- @Override
- public IDocument getContainer(final DTFacesContext context,
- final String viewId)
- {
- final IResource viewDefn = context.adaptContextObject();
-
- if (viewDefn instanceof IFile)
- {
- final IFile viewDefnFile = (IFile) viewDefn;
- IStructuredModel model = null;
- try
- {
- model =
- StructuredModelManager.getModelManager()
- .getModelForRead(viewDefnFile);
-
- if (model instanceof DOMModelForJSP)
- {
- return model.getStructuredDocument();
- }
- }
- catch (final IOException e)
- {
- JSFCorePlugin.log(e, "Acquiring model for view root"); //$NON-NLS-1$
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log(e, "Acquiring model for view root"); //$NON-NLS-1$
- }
- finally
- {
- if (model != null)
- {
- model.releaseFromRead();
- }
- }
- }
- return null;
- }
-
- @Override
- public final String getNamespace(final Element element,
- final IDocument doc)
- {
- final String prefix = element.getPrefix();
-
- // TODO: merge back with JSPUtil.findUri()
- final TLDCMDocumentManager m =
- TaglibController.getTLDCMDocumentManager(doc);
-
- if (prefix == null || m == null)
- {
- return null;
- }
- final List<?> trackers = m.getTaglibTrackers();
- for (final Object name : trackers)
- {
- final TaglibTracker tracker = (TaglibTracker) name;
- if (prefix.equals(tracker.getPrefix()))
- {
- return tracker.getURI();
- }
- }
- return null;
- }
-
-
- @Override
- public DTELExpression getELExpression(final IModelContext genericContext)
- throws ViewHandlerException
- {
- final IStructuredDocumentContext context =
- (IStructuredDocumentContext) genericContext
- .getAdapter(IStructuredDocumentContext.class);
-
- if (context == null)
- {
- throw new ViewHandlerException(Cause.EL_NOT_FOUND);
- }
-
- ITextRegionContextResolver resolver =
- IStructuredDocumentContextResolverFactory.INSTANCE
- .getTextRegionResolver(context);
-
- String elText = null;
-
- if (resolver != null)
- {
- final String regionType = resolver.getRegionType();
-
- if (regionType != null && resolver.matchesRelative(new String[]
- { DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE }))
- {
- // if we are in the EL content, then get the current region
- // text
- if (DOMJSPRegionContexts.JSP_VBL_CONTENT.equals(regionType))
- {
- elText = resolver.getRegionText();
- }
- // otherwise, we may be at the end of a content region but
- // at
- // the beginning of a closing brace so check to see if the
- // previous
- // region was a VBL_CONTENT
- else if (regionType.equals(DOMJSPRegionContexts.JSP_VBL_CLOSE))
- {
- final IStructuredDocumentContext previousContext =
- resolver.getPreviousContext();
-
- final ITextRegionContextResolver prevResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE
- .getTextRegionResolver(previousContext);
-
- if (prevResolver != null)
- {
- if (DOMJSPRegionContexts.JSP_VBL_CONTENT
- .equals(prevResolver.getRegionType()))
- {
- resolver = prevResolver;
- elText = prevResolver.getRegionText();
- }
- else if (DOMJSPRegionContexts.JSP_VBL_OPEN
- .equals(prevResolver.getRegionType()))
- {
- elText = ""; //$NON-NLS-1$
- }
- }
- }
- }
- }
-
- if (elText != null)
- {
- final IStructuredDocumentContext elContext =
- IStructuredDocumentContextFactory.INSTANCE.getContext(
- context.getStructuredDocument(), resolver
- .getStartOffset());
- return new DTELExpression(elContext, elText);
- }
- return null;
- }
-
- @Override
- public String getGeneratedIdPrefix()
- {
- return "_idJsp"; //$NON-NLS-1$
- }
-
- @Override
- public String getPrefix(String namespace, IDocument doc)
- {
- TLDCMDocumentManager m = TaglibController.getTLDCMDocumentManager(doc);
- if (m == null)
- return null;
- List trackers = m.getTaglibTrackers();
- for (Iterator iter = trackers.iterator(); iter.hasNext();) {
- TaglibTracker tracker = (TaglibTracker) iter.next();
- if (namespace.equals(tracker.getURI())) {
- return tracker.getPrefix();
- }
-
- CMDocument cmdoc = tracker.getDocument();
- if (cmdoc instanceof TLDDocument
- && namespace.equals(((TLDDocument) cmdoc).getUri())) {
- return tracker.getPrefix();
- }
- }
- return null;
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/TaglibBasedViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/TaglibBasedViewDefnAdapter.java
deleted file mode 100644
index f24c405eb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/TaglibBasedViewDefnAdapter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.w3c.dom.Element;
-
-/**
- * A view defintion adapter for XML-based view definition formats that use
- * a well defined tag library system, with associated ITagRegistry, to define
- * tag handlers. Most common view handlers (JSP, Facelets) should use this.
- *
- * @author cbateman
- *
- */
-public abstract class TaglibBasedViewDefnAdapter extends XMLViewDefnAdapter
-{
- private final ITagRegistry _tagRegistry;
-
- /**
- * @param tagRegistry
- */
- protected TaglibBasedViewDefnAdapter(final ITagRegistry tagRegistry)
- {
- _tagRegistry = tagRegistry;
- }
-
- /**
- * @param node
- * @param document
- * @return the tag element for node or null if none.
- */
- @Override
- protected ITagElement findTagElement(final Element node,
- final IDocument document)
- {
- final String uri = getNamespace(node, document);
- final String tagName = node.getLocalName();
-
- if (uri != null)
- {
- final Namespace lib = getTagRegistry().getTagLibrary(uri);
-
- if (lib != null)
- {
- return findTagElement(tagName, lib);
- }
- }
- return null;
- }
-
- /**
- * @return the tag registry
- */
- protected final ITagRegistry getTagRegistry()
- {
- return _tagRegistry;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ViewObjectConstructionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ViewObjectConstructionStrategy.java
deleted file mode 100644
index ad3a7a231..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/ViewObjectConstructionStrategy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-
-/**
- * A strategy for constructing a new view object from a tag element
- * @author cbateman
- * @param <VIEW_DEFN_BASE_TYPE>
- *
- */
-public abstract class ViewObjectConstructionStrategy<VIEW_DEFN_BASE_TYPE>
-{
- /**
- * For a tag element return the corresponding view object or null if
- * there is no such object. XMLViewObjectMappingService must be updated
- * if not null with any attribute->property mappings.
- *
- * @param viewBase the source object in the source
- * @param tagElement
- * @return a new view object or null if we can't do so
- */
- public abstract ViewObject createViewObject(VIEW_DEFN_BASE_TYPE viewBase,
- ITagElement tagElement);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLComponentTreeConstructionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLComponentTreeConstructionStrategy.java
deleted file mode 100644
index 49737f55f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLComponentTreeConstructionStrategy.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A component tree construction strategy based on XML view definition
- *
- * @author cbateman
- *
- */
-public class XMLComponentTreeConstructionStrategy extends
- ComponentTreeConstructionStrategy<Node, IDocument>
-{
- private final XMLViewDefnAdapter _adapter;
- // private final XMLViewObjectConstructionStrategy
- // _objectConstructionStrategy;
- private final IProject _project;
-
- /**
- * @param adapter
- * @param project
- */
- public XMLComponentTreeConstructionStrategy(
- final XMLViewDefnAdapter adapter, final IProject project)
- {
- _adapter = adapter;
- _project = project;
- }
-
- @Override
- public ComponentInfo createComponentTree(final DTFacesContext context,
- final DTUIViewRoot viewRoot)
- {
- final IDocument container = _adapter.getContainer(context, viewRoot
- .getViewId());
- final List<Node> roots = _adapter.getViewDefnRoots(container);
-
- if (roots.size() > 0)
- {
- final IAdaptable adaptable = viewRoot.getServices();
-
- XMLViewObjectMappingService tagMappingService = null;
- if (adaptable != null)
- {
- tagMappingService = (XMLViewObjectMappingService) adaptable
- .getAdapter(XMLViewObjectMappingService.class);
- }
- final XMLViewObjectConstructionStrategy objectConstructionStrategy =
- new XMLViewObjectConstructionStrategy(
- _adapter, new ComponentConstructionData(0, null, _project,
- container), tagMappingService);
-
- objectConstructionStrategy.getConstructionData().setIdCounter(0);
- // can only handle a single root for XML; should be the DOM root
- return buildComponentTree(roots.get(0), viewRoot, container,
- objectConstructionStrategy);
- }
-
- return viewRoot;
- }
-
- private ComponentInfo buildComponentTree(final Node root,
- final DTUIViewRoot viewRoot, final IDocument document,
- final XMLViewObjectConstructionStrategy objectConstructionStrategy)
- {
- final ComponentInfo dummyRoot = ComponentFactory.createComponentInfo(
- null, null, null, true);
- // populate the dummy root
- recurseDOMModel(root, dummyRoot, document, objectConstructionStrategy);
-
- // try to extract the view defined root from the dummyRoot and update
- // 'root' with its children.
- populateViewRoot(viewRoot, dummyRoot.getChildren());
- return viewRoot;
- }
-
- /**
- * Tries to find the view defined view root in children and use it populate
- * viewRoot. Children may sub-class to a different algorithm or, in some
- * cases create an implicit (i.e. Facelets does this) view root if one is
- * not explicitly created by the view definition.
- *
- * Regardless of the strategy, the following post-conditions must be true
- *
- * To the extend that children represent the top-level objects in the view
- * under the presumed root, viewRoot must be populated with them either
- * directly if the creation of a view root is implicit (i.e. Facelets) or
- * through a valid view root declaration found in the view definition (i.e.
- * f:view in JSP) found the children list.
- *
- * The default behaviour assumes the JSP case.
- *
- * TODO: add validation cases for missing view roots in JSP.
- *
- * @param viewRoot
- * @param children
- */
- protected void populateViewRoot(final DTUIViewRoot viewRoot,
- final List children)
- {
- ComponentInfo foundRoot = null;
- // TODO: additional cases:
- // 1) Valid case: view is a fragment and has one or more non-view root
- // children
- // 2) Invalid case: not a fragment and has no view root
- // 3) Invalid case: any definition and has more than one view root
- // 4) Invalid case: any definition and has component siblings to the
- // view root
- FIND_VIEWROOT: for (final Iterator it = children.iterator(); it
- .hasNext();)
- {
- final ComponentInfo topLevelChild = (ComponentInfo) it.next();
-
- if ("javax.faces.ViewRoot".equals(topLevelChild //$NON-NLS-1$
- .getComponentTypeInfo().getComponentType()))
- {
- foundRoot = topLevelChild;
- break FIND_VIEWROOT;
- }
- }
-
- if (foundRoot != null)
- {
- for (final Iterator it = foundRoot.getChildren().iterator(); it
- .hasNext();)
- {
- final ComponentInfo child = (ComponentInfo) it.next();
- final String facetName = foundRoot.getFacetName(child);
-
- // if not a facet, add as a normal child
- if (facetName == null)
- {
- viewRoot.addChild(child);
- }
- // if it is a facet, add as a facet
- else
- {
- viewRoot.addFacet(facetName, child);
- }
- }
- }
- }
-
- private void recurseDOMModel(final Node node, final ComponentInfo parent,
- final IDocument document,
- XMLViewObjectConstructionStrategy objectConstructionStrategy)
- {
- ViewObject mappedObject = null;
-
- objectConstructionStrategy.getConstructionData().setParent(parent);
-
- mappedObject = _adapter.mapToViewObject(node,
- objectConstructionStrategy, document);
-
- ComponentInfo newParent = parent;
-
- if (mappedObject instanceof ComponentInfo)
- {
- parent.addChild((ComponentInfo) mappedObject);
- newParent = (ComponentInfo) mappedObject;
- }
-
- final NodeList children = node.getChildNodes();
- final int numChildren = children.getLength();
-
- for (int i = 0; i < numChildren; i++)
- {
- recurseDOMModel(children.item(i), newParent, document,
- objectConstructionStrategy);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewDefnAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewDefnAdapter.java
deleted file mode 100644
index c7e727b74..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewDefnAdapter.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.datatypes.ELExpression;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewObjectMappingService.ElementData;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A view definition adapter base class for view definition that use XML to
- * define the view.
- *
- * @author cbateman
- *
- */
-public abstract class XMLViewDefnAdapter extends
- AbstractViewDefnAdapter<Node, IDocument>
-{
- private static final String GENERATED_ID = "_generatedId"; //$NON-NLS-1$
-
- @Override
- public abstract IDocument getContainer(DTFacesContext context, String viewId);
-
- @Override
- public String getId(final Node viewDefnObject)
- throws IllegalArgumentException
- {
- if (viewDefnObject instanceof Element)
- {
- return ((Element) viewDefnObject).getAttribute("id"); //$NON-NLS-1$
- }
- throw new IllegalArgumentException(
- "Only Elements can define view object ids"); //$NON-NLS-1$
- }
-
- @Override
- public ViewObject mapToViewObject(
- final Node viewDefnObject,
- final ViewObjectConstructionStrategy<? extends Node> constructionData,
- final IDocument document)
- {
- switch (viewDefnObject.getNodeType())
- {
- case Node.ELEMENT_NODE:
- return createFromElement(
- (Element) viewDefnObject,
- (ViewObjectConstructionStrategy<Element>) constructionData,
- document);
- }
-
- return null;
- }
-
- /**
- * @param viewDefnObject
- * @param viewContainer
- * @return the tag element corresponding to viewDefnObject in the context of
- * viewContainer or null if not found. Node must be an Element in
- * order for this work.
- */
- public ITagElement mapToTagElement(final Node viewDefnObject,
- final IDocument viewContainer)
- {
- if (viewDefnObject instanceof Element)
- {
- return findTagElement((Element) viewDefnObject, viewContainer);
- }
- return null;
- }
-
- @Override
- public List<Node> getViewDefnRoots(final IDocument container)
- {
- final List<Node> roots = new ArrayList<Node>();
-
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE
- .getContext(container, -1);
-
- if (context != null)
- {
- final IDOMContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(context);
-
- if (resolver != null)
- {
- final Document doc = resolver.getDOMDocument();
-
- if (doc != null)
- {
- roots.add(doc);
- }
- }
- }
-
- return roots;
- }
-
- @Override
- public ViewObject findViewObject(final Node viewDefnObject,
- final ComponentInfo root)
- {
- if (root instanceof DTUIViewRoot && viewDefnObject instanceof Element)
- {
- final IAdaptable services = ((DTUIViewRoot) root).getServices();
- final Object serviceAdapter = services
- .getAdapter(XMLViewObjectMappingService.class);
- if (serviceAdapter instanceof XMLViewObjectMappingService)
- {
- final IStructuredDocumentContext context = getContext(viewDefnObject);
-
- if (context != null)
- {
- final String uri = getNamespace((Element) viewDefnObject,
- context.getStructuredDocument());
- final ElementData elementData = XMLViewObjectMappingService
- .createElementData(uri, viewDefnObject
- .getLocalName(), context,
- Collections.EMPTY_MAP);
- return ((XMLViewObjectMappingService) serviceAdapter)
- .findViewObject(elementData);
- }
- }
- }
- return null;
- }
-
- private IStructuredDocumentContext getContext(final Node viewDefnObject)
- {
- if (viewDefnObject instanceof IDOMNode)
- {
- final IStructuredDocument sdoc = ((IDOMNode) viewDefnObject)
- .getStructuredDocument();
- return IStructuredDocumentContextFactory.INSTANCE.getContext(sdoc,
- viewDefnObject);
- }
- return null;
- }
-
- @Override
- public Node findViewDefn(final ViewObject viewObject,
- final ComponentInfo root)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public abstract DTELExpression getELExpression(IModelContext context)
- throws ViewHandlerException;
-
- // TODO: need to extend to other objects
- /**
- * @param element
- * @param constructionData
- * @param document
- * @return the component info for element
- */
- protected ViewObject createFromElement(final Element element,
- final ViewObjectConstructionStrategy<Element> constructionData,
- final IDocument document)
- {
- final ITagElement tagElement = findTagElement(element, document);
- return constructionData.createViewObject(element, tagElement);
- }
-
- /**
- * @param element
- * @param doc
- * @return the namespace uri for element in doc
- */
- public abstract String getNamespace(Element element, IDocument doc);
-
- /**
- * @param namespace
- * @param doc
- * @return the prefix in doc for namespace or null if none.
- */
- public abstract String getPrefix(final String namespace, IDocument doc);
-
- /**
- * @param node
- * @param document
- * @return the tag element for node in document or null if none
- */
- protected abstract ITagElement findTagElement(final Element node,
- final IDocument document);
-
- /**
- * @param nodeName
- * @param lib
- * @return the tag element with local name nodeName in lib or null if none.
- */
- protected static ITagElement findTagElement(final String nodeName,
- final Namespace lib)
- {
- return lib.getViewElement(nodeName);
- }
-
- /**
- * @param namespaces
- * @param uri
- * @return the namespace object in namespaces with uri, 'uri', or null if
- * none.
- */
- protected static Namespace getTaglib(
- final Collection<? extends Namespace> namespaces, final String uri)
- {
- for (final Namespace namespace : namespaces)
- {
- if (uri.equals(namespace.getNSUri()))
- {
- return namespace;
- }
- }
- return null;
- }
-
- /**
- * @return the prefix string to which a running count will be added to
- * produced the default generated id
- */
- public String getGeneratedIdPrefix()
- {
- return GENERATED_ID;
- }
-
- /**
- * @param element
- * @param componentAttrName
- * @return the attribute on element matching the component attribute called
- * componentAttrName or null if not found (this may indicate either
- * no such attribute or that it simply not populated on element; no
- * guarantee is made as to which it is)
- */
- public Attr mapAttributeToComponent(final Element element,
- final String componentAttrName)
- {
- // TODO: need to make meta-data type driven and validate bad conversion
-
-// final boolean mapByBeanName = true; // TODO: getMetadata for mapping
- // instead
-
-// if (mapByBeanName)
-// {
- return element.getAttributeNode(componentAttrName);
-// }
-
-// return null;
- }
-
- /**
- * A design time EL expression
- *
- */
- public static class DTELExpression extends ELExpression
- {
- private final IStructuredDocumentContext _documentContext;
- private final String _originalText;
-
- /**
- * @param doc
- * @param text
- */
- public DTELExpression(final IStructuredDocumentContext doc,
- final String text)
- {
- _documentContext = doc;
- _originalText = text;
- }
-
- @Override
- public String getText()
- {
- return _originalText;
- }
-
- /**
- * @return the document context. The document relative position of the
- * start of the EL expression is used
- *
- */
- public IStructuredDocumentContext getDocumentContext()
- {
- return _documentContext;
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectConstructionStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectConstructionStrategy.java
deleted file mode 100644
index fcff0bac0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectConstructionStrategy.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.behavioural.ActionSourceInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.behavioural.ActionSourceInfo2;
-import org.eclipse.jst.jsf.common.runtime.internal.model.behavioural.EditableValueHolderInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.behavioural.INamingContainerInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.behavioural.ValueHolderInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterDecorator;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorDecorator;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IComponentPropertyHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IComponentTagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IConverterTagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttributeHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IValidatorTagElement;
-import org.eclipse.jst.jsf.common.util.JDTBeanProperty;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewObjectMappingService.ElementData;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ICustomViewMapper;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ICustomViewMapper.PropertyMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.CustomViewMapperExtensionLoader;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * A strategy for constructing view objects.
- *
- * @author cbateman
- *
- */
-public class XMLViewObjectConstructionStrategy extends
- ViewObjectConstructionStrategy<Element>
-{
- private static final String GENERATED_ID = "_generatedId"; //$NON-NLS-1$
- private final ComponentConstructionData _constructionData;
- private final XMLViewDefnAdapter _adapter;
- private final XMLViewObjectMappingService _mappingService;
-
- /**
- * @param adapter
- * MUST NOT BE NULL
- * @param constructionData
- * MUST NOT BE NULL
- * @param mappingService
- * MAY BE NULL
- */
- public XMLViewObjectConstructionStrategy(final XMLViewDefnAdapter adapter,
- final ComponentConstructionData constructionData,
- final XMLViewObjectMappingService mappingService)
- {
- super();
- if (adapter == null || constructionData == null)
- {
- throw new IllegalArgumentException(
- "adapter and constructionData must not be null"); //$NON-NLS-1$
- }
- _constructionData = constructionData;
- _adapter = adapter;
- _mappingService = mappingService;
- }
-
- @Override
- public ViewObject createViewObject(final Element element,
- final ITagElement tagElement)
- {
- try
- {
- if (tagElement instanceof IComponentTagElement)
- {
- String id = null;
-
- // only generate ids for non-viewroot components. This will
- // make the generated id's more faithful to runtime since the
- // running count won't be incremented for view roots (as they
- // won't at runtime).
- final ComponentTypeInfo typeInfo = ((IComponentTagElement) tagElement)
- .getComponent();
-
- if (!"javax.faces.ViewRoot".equals(typeInfo.getComponentType())) //$NON-NLS-1$
- {
- id = calculateId(element, _constructionData);
- }
- return findBestComponent(tagElement.getUri(), element, id,
- (IComponentTagElement) tagElement);
- }
- else if (tagElement instanceof IConverterTagElement)
- {
- final ConverterTypeInfo typeInfo = ((IConverterTagElement) tagElement)
- .getConverter();
- // TODO: validate when no parent
- ComponentInfo parent = _constructionData.getParent();
- parent = findFirstParent(
- ComponentFactory.INTERFACE_VALUEHOLDER, parent);
- if (parent != null)
- {
- parent.addDecorator(
- new ConverterDecorator(parent, typeInfo),
- ComponentFactory.CONVERTER);
- }
- // TODO: else validate problem
- }
- else if (tagElement instanceof IValidatorTagElement)
- {
- final ValidatorTypeInfo typeInfo = ((IValidatorTagElement) tagElement)
- .getValidator();
- ComponentInfo parent = _constructionData.getParent();
- parent = findFirstParent(
- ComponentFactory.INTERFACE_EDITABLEVALUEHOLDER, parent);
- if (parent != null)
- {
- parent.addDecorator(
- new ValidatorDecorator(parent, typeInfo),
- ComponentFactory.VALIDATOR);
- }
- // TODO :else validate problem
- }
- }
- catch (final Exception e)
- {
- // log and ignore if an individual construction fails
- JSFCorePlugin.log(e, "Error constructing view object"); //$NON-NLS-1$
- }
- return null;
- }
-
- private ComponentInfo findFirstParent(final String matchingType,
- final ComponentInfo start)
- {
- ComponentInfo parent = start;
-
- while (parent != null && parent.getComponentTypeInfo() != null
- && !parent.getComponentTypeInfo().isInstanceOf(matchingType))
- {
- parent = parent.getParent();
- }
- return parent;
- }
-
- private ComponentInfo findBestComponent(final String uri,
- final Element srcElement, final String id,
- final IComponentTagElement tagElement)
- {
- ComponentInfo bestComponent = null;
-
- final ComponentInfo parent = _constructionData.getParent();
-
- final Map<String, Object> initMap = new HashMap<String, Object>();
- final Map<String, String> attributeToPropertyMap = new HashMap<String, String>();
- populateInitMap(uri, initMap, srcElement, tagElement,
- attributeToPropertyMap);
-
- if (initMap.get("id") == null) //$NON-NLS-1$
- {
- // id must be set
- initMap.put("id", id); //$NON-NLS-1$
- }
-
- final ComponentTypeInfo typeInfo = tagElement.getComponent();
-
- // if we have a well-established base type, try that first
- // sub-classes must occur before superclasses to ensure most accurate
- // detection.
- if (typeInfo.isInstanceOf(ComponentFactory.BASE_CLASS_UIINPUT))
- {
- bestComponent = ComponentFactory.createUIInputInfo(parent,
- typeInfo, initMap);
- }
- else if (typeInfo.isInstanceOf(ComponentFactory.BASE_CLASS_UIOUTPUT))
- {
- bestComponent = ComponentFactory.createUIOutputInfo(parent,
- typeInfo, initMap);
- }
- else if (typeInfo.isInstanceOf(ComponentFactory.BASE_CLASS_UICOMMAND))
- {
- bestComponent = ComponentFactory.createUICommandInfo(parent,
- typeInfo, initMap);
- }
- else if (typeInfo.isInstanceOf(ComponentFactory.BASE_CLASS_UIDATA))
- {
- bestComponent = ComponentFactory.createUIDataInfo(parent, typeInfo,
- initMap);
- }
- else if (typeInfo.isInstanceOf(ComponentFactory.BASE_CLASS_UIFORM))
- {
- // TODO: how handle prepend ids?
- bestComponent = ComponentFactory.createUIFormInfo(parent, typeInfo,
- initMap);
- }
- else
- {
- // default
- bestComponent = ComponentFactory.createComponentInfo(
- _constructionData.getParent(), typeInfo, initMap);
- }
-
- addTypeAdapters(bestComponent);
- maybeMapXMLToViewObjects(bestComponent, srcElement,
- attributeToPropertyMap, _constructionData.getDocument());
- maybeUpdateViewObject(bestComponent, srcElement, tagElement);
- return bestComponent;
- }
-
- // TODO: move to view definition adapter?
- private void populateInitMap(final String uri,
- final Map<String, Object> initMap, final Element srcElement,
- final IComponentTagElement tagElement,
- final Map<String, String> attributeToPropertyMap)
- {
- final ComponentTypeInfo typeInfo = tagElement.getComponent();
- final Map<String, ITagAttributeHandler> attributeHandlers = tagElement
- .getAttributeHandlers();
-
- final NamedNodeMap nodeMap = srcElement.getAttributes();
-
- if (nodeMap != null && attributeHandlers != null)
- {
- Map<String, JDTBeanProperty> properties = null;
-
- for (int i = 0; i < nodeMap.getLength(); i++)
- {
- final Attr attr = (Attr) nodeMap.item(i);
- if (attr != null)
- {
- final String name = attr.getLocalName();
-
- if (name != null)
- {
- final ITagAttributeHandler attrHandler = attributeHandlers
- .get(name);
- if (attrHandler instanceof IComponentPropertyHandler)
- {
- if (properties == null)
- {
- properties = DTComponentIntrospector.getBeanProperties(typeInfo, _constructionData.getProject());
- }
- mapComponentProperty(uri, srcElement, properties,
- (IComponentPropertyHandler) attrHandler,
- attr, name, initMap, attributeHandlers,
- attributeToPropertyMap);
- }
- }
- }
- }
- }
- }
-
- private void mapComponentProperty(final String uri,
- final Element srcElement,
- final Map<String, JDTBeanProperty> properties,
- final IComponentPropertyHandler attrHandler, final Attr attr,
- final String attributeName, final Map initMap,
- final Map<String, ITagAttributeHandler> attributeHandlers,
- final Map<String, String> attributeToPropertyMap)
- {
- final String propertyName = attrHandler.getPropertyName();
- if (properties.containsKey(propertyName))
- {
- final String id = attrHandler.getCustomHandler();
-
- ICustomViewMapper mapper = null;
-
- if (id != null)
- {
- mapper = CustomViewMapperExtensionLoader
- .getCustomViewMapper(id);
- if (mapper != null)
- {
- final PropertyMapping mapping = mapper
- .mapToComponentProperty(uri, srcElement, attr);
- if (mapping != null)
- {
- initMap.put(mapping.getName(), mapping.getProperty());
- attributeToPropertyMap.put(attributeName, mapping
- .getName());
- return;
- }
- }
- }
-
- final String value = attr.getValue();
- if (value != null)
- {
- final Object convertedValue = convertFromString(value,
- properties.get(propertyName));
- initMap.put(propertyName, convertedValue);
- }
- attributeToPropertyMap.put(attributeName, propertyName);
- }
- }
-
- private void maybeMapXMLToViewObjects(final ViewObject mappedObject,
- final Element node,
- final Map<String, String> attributeToProperties,
- final IDocument document)
- {
- if (mappedObject != null && _mappingService != null)
- {
- final String uri = _adapter.getNamespace(node, document);
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE
- .getContext(document, node);
- final ElementData elementData = XMLViewObjectMappingService
- .createElementData(uri, node.getLocalName(), context,
- attributeToProperties);
- //Bug 269050 - IllegalArgumentException in createMapping() method
- if (elementData != null) {
- _mappingService.createMapping(elementData, mappedObject);
- }
- }
- }
-
- private void maybeUpdateViewObject(final ComponentInfo bestComponent,
- final Element srcElement, final ITagElement tagElement)
- {
- if (srcElement.getAttributes() == null)
- return;
-
- for (int i = 0; i < srcElement.getAttributes().getLength(); i++)
- {
- final Attr attr = (Attr) srcElement.getAttributes().item(i);
- final Map<String, ITagAttributeHandler> attributeHandlers = tagElement
- .getAttributeHandlers();
-
- if (attributeHandlers != null)
- {
- final ITagAttributeHandler handler = attributeHandlers.get(attr
- .getLocalName());
-
- if (handler != null)
- {
- final String id = handler.getCustomHandler();
-
- ICustomViewMapper mapper = null;
-
- if (id != null)
- {
- mapper = CustomViewMapperExtensionLoader
- .getCustomViewMapper(id);
- if (mapper != null)
- {
- mapper.doAttributeActions(bestComponent,
- srcElement, attr);
- }
- }
- }
- }
- }
- }
-
- private Object convertFromString(final String convertValue,
- final JDTBeanProperty ofThisType)
- {
- final String signature = ofThisType.getTypeSignature();
-
- Object result = null;
- switch (Signature.getTypeSignatureKind(signature))
- {
- case Signature.BASE_TYPE_SIGNATURE:
- result = convertFromBaseType(convertValue, signature);
- break;
-
- case Signature.CLASS_TYPE_SIGNATURE:
- if (TypeConstants.TYPE_STRING.equals(signature))
- {
- result = convertValue;
- }
- else if (TypeConstants.TYPE_JAVAOBJECT.equals(signature))
- {
- result = convertValue;
- }
- break;
- }
-
- return result;
- }
-
- // TODO: does this belong somewhere else?
- private Object convertFromBaseType(final String convertValue,
- final String signature)
- {
- if (Signature.SIG_BOOLEAN.equals(signature))
- {
- return Boolean.valueOf(convertValue);
- }
- else if (Signature.SIG_INT.equals(signature)
- || Signature.SIG_BYTE.equals(signature)
- || Signature.SIG_SHORT.equals(signature))
- {
- try
- {
- return Integer.valueOf(convertValue);
- }
- catch (final NumberFormatException nfe)
- {
- return null;
- }
- }
- else if (Signature.SIG_LONG.equals(convertValue))
- {
- try
- {
- return Long.valueOf(convertValue);
- }
- catch (final NumberFormatException nfe)
- {
- return null;
- }
- }
-
- return null;
- }
-
- private void addTypeAdapters(final ComponentInfo component)
- {
- final String[] interfaceNames = component.getComponentTypeInfo()
- .getInterfaces();
- final Set interfaceNameSets = new HashSet();
-
- for (final String interfaceName : interfaceNames)
- {
- interfaceNameSets.add(interfaceName);
- }
-
- // don't replace intrinsic adapters
- if (interfaceNameSets.contains(ComponentFactory.INTERFACE_ACTIONSOURCE))
- {
- // an ActionSource2 is-a ActionSource
- if (interfaceNameSets
- .contains(ComponentFactory.INTERFACE_ACTIONSOURCE2)
- && component.getAdapter(ComponentFactory.ACTION_SOURCE2) == null)
- {
- component.addAdapter(ComponentFactory.ACTION_SOURCE2,
- new ActionSourceInfo2(null, null, false, null));
- }
-
- if (component.getAdapter(ComponentFactory.ACTION_SOURCE) == null)
- {
- component.addAdapter(ComponentFactory.ACTION_SOURCE,
- new ActionSourceInfo(null, null, false));
- }
- }
-
- if (interfaceNameSets.contains(ComponentFactory.INTERFACE_VALUEHOLDER))
- {
- // a EditableValueHolder is-a ValueHolder
- if (interfaceNameSets
- .contains(ComponentFactory.INTERFACE_EDITABLEVALUEHOLDER)
- && component
- .getAdapter(ComponentFactory.EDITABLE_VALUE_HOLDER) == null)
- {
- component.addAdapter(ComponentFactory.EDITABLE_VALUE_HOLDER,
- new EditableValueHolderInfo(null, null, null, false,
- false, true, false, null, null, null));
- }
-
- if (component.getAdapter(ComponentFactory.VALUE_HOLDER) == null)
- {
- component.addAdapter(ComponentFactory.VALUE_HOLDER,
- new ValueHolderInfo(null, null, null));
- }
- }
-
- if (interfaceNameSets
- .contains(ComponentFactory.INTERFACE_NAMINGCONTAINER)
- && component.getAdapter(ComponentFactory.NAMING_CONTAINER) == null)
- {
- component.addAdapter(ComponentFactory.NAMING_CONTAINER,
- INamingContainerInfo.ADAPTER);
- }
- }
-
- /**
- * @param element
- * @param constructionData
- * @return the id for element either derived from the element using getId or
- * if not present, using a generation algorithm
- */
- protected String calculateId(final Element element,
- final ComponentConstructionData constructionData)
- {
- final String id = _adapter.getId(element);
- if (id != null)
- {
- return id;
- }
- // TODO: improve this
- final String prefix = _adapter.getGeneratedIdPrefix();
- return (prefix != null ? prefix : GENERATED_ID)
- + constructionData.increment();
- }
-
- /**
- * @return the construction data for this strategy
- */
- public final ComponentConstructionData getConstructionData()
- {
- return _constructionData;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectMappingService.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectMappingService.java
deleted file mode 100644
index 855aad4ca..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/XMLViewObjectMappingService.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter.NoElementException;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.w3c.dom.Element;
-
-/**
- * @author cbateman
- *
- */
-public final class XMLViewObjectMappingService implements Serializable
-{
- /**
- *
- */
- private static final long serialVersionUID = -5371998199186683997L;
- private final Map<ElementData, ViewObject> _elementToViewObjMap;
- private final Map<ViewObject, ElementData> _viewObjToElementMap;
-
- /**
- *
- */
- public XMLViewObjectMappingService()
- {
- _elementToViewObjMap = new HashMap<ElementData, ViewObject>();
- _viewObjToElementMap = new HashMap<ViewObject, ElementData>();
- }
-
- /**
- * @param elementData
- * @param viewObject
- */
- public void createMapping(final ElementData elementData,
- final ViewObject viewObject)
- {
- if (elementData == null)
- {
- throw new IllegalArgumentException("elementData cannot be null"); //$NON-NLS-1$
- }
- else if (viewObject == null)
- {
- throw new IllegalArgumentException("viewObject cannot be null"); //$NON-NLS-1$
- }
-
- synchronized(this)
- {
- _elementToViewObjMap.put(elementData, viewObject);
- _viewObjToElementMap.put(viewObject, elementData);
- }
- }
-
- /**
- * Remove all mappings
- */
- public void clearMappings()
- {
- synchronized (this)
- {
- _elementToViewObjMap.clear();
- _viewObjToElementMap.clear();
- }
- }
-
- /**
- * @param elementData
- * @return the view object for which the mapping was removed
- */
- public ViewObject removeMapping(final ElementData elementData)
- {
- if (elementData == null)
- {
- throw new IllegalArgumentException("elementData mustn't be null"); //$NON-NLS-1$
- }
-
- ViewObject viewObject = null;
- synchronized(this)
- {
- viewObject = _elementToViewObjMap.remove(elementData);
- if (viewObject != null)
- {
- _viewObjToElementMap.remove(viewObject);
- }
- }
- return viewObject;
- }
-
- /**
- * @param viewObject
- * @return the element data for which the mapping was removed
- */
- public ElementData removeMapping(final ViewObject viewObject)
- {
- if (viewObject == null)
- {
- throw new IllegalArgumentException("elementData mustn't be null"); //$NON-NLS-1$
- }
-
- ElementData elementData = null;
- synchronized(this)
- {
- elementData = _viewObjToElementMap.remove(viewObject);
- if (elementData != null)
- {
- _elementToViewObjMap.remove(elementData);
- }
- }
- return elementData;
- }
-
- /**
- * @param viewObject
- * @return the element data for the view object
- */
- public synchronized ElementData findElementData(final ViewObject viewObject)
- {
- return _viewObjToElementMap.get(viewObject);
- }
-
- /**
- * @param viewObject
- * @return the element for the viewObject
- */
- public Element findElement(final ViewObject viewObject)
- {
- final ElementData elementData = findElementData(viewObject);
-
- if (elementData != null)
- {
- final IFile file = ResourcesPlugin.getWorkspace().getRoot()
- .getFile(new Path(elementData.getDocumentPath()));
-
- if (file != null && file.isAccessible())
- {
- IStructuredModel model = null;
- try
- {
- model = StructuredModelManager.getModelManager()
- .getModelForRead(file);
- final IStructuredDocument sDoc = model
- .getStructuredDocument();
- final IStructuredDocumentRegion region = sDoc
- .getRegionAtCharacterOffset(elementData
- .getStartOffset());
- final Region2ElementAdapter adapter = new Region2ElementAdapter(
- region);
- final TagIdentifier tagId = adapter.getTagId();
- if (tagId.equals(elementData.getTagId()))
- {
- return adapter.getElement();
- }
- }
- catch (CoreException ce)
- {
- JSFCorePlugin.log(ce,
- "While finding element for viewObject: " //$NON-NLS-1$
- + viewObject.toString() + " in " //$NON-NLS-1$
- + file.getFullPath());
- }
- catch (IOException e)
- {
- JSFCorePlugin.log(e,
- "While finding element for viewObject: " //$NON-NLS-1$
- + viewObject.toString() + " in " //$NON-NLS-1$
- + file.getFullPath());
- }
- catch (NoElementException e)
- {
- JSFCorePlugin.log(e,
- "While finding element for viewObject: " //$NON-NLS-1$
- + viewObject.toString() + " in " //$NON-NLS-1$
- + file.getFullPath());
- }
- finally
- {
- if (model != null)
- {
- model.releaseFromRead();
- }
- }
- }
- }
- return null;
- }
-
- /**
- * @param elementData
- * @return the mapped view object for elementData or null if not found.
- */
- public synchronized ViewObject findViewObject(final ElementData elementData)
- {
- return _elementToViewObjMap.get(elementData);
- }
-
- /**
- * @param namespace
- * @param tagName
- * @param context
- * @param attributeToPropertyMap
- * @return a new Element data for the namespace/element name in 'context'
- */
- public static ElementData createElementData(final String namespace,
- final String tagName, final IStructuredDocumentContext context,
- final Map<String, String> attributeToPropertyMap)
- {
- final IFile file = getFile(context);
- final int offset = context.getDocumentPosition();
-
- if (file != null && file.isAccessible() && offset > -1
- && tagName != null && namespace != null)
- {
- return new ElementData(offset, file.getFullPath().toString(),
- TagIdentifierFactory
- .createJSPTagWrapper(namespace, tagName),
- attributeToPropertyMap);
- }
- return null;
- }
-
- private static IFile getFile(final IStructuredDocumentContext context)
- {
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
- IResource res = resolver.getResource();
- if (res instanceof IFile)
- {
- return (IFile) res;
- }
- // fall through.
- return null;
- }
-
- /**
- * Describes enough information about an element instance to look it up
- * again, without storing possibly transient references to it.
- *
- * @author cbateman
- *
- */
- public final static class ElementData implements Serializable
- {
- /**
- * serializable id
- */
- private static final long serialVersionUID = 7937312530318827977L;
-
- private transient TagIdentifier _tagId;
- private Map<String, String> _attributeToPropertyMap;
- private String _documentPath;
- private int _startOffset;
-
- /**
- * @param startOffset
- * @param documentPath
- * @param tagId
- * @param attributeToPropertyMap constructor takes copy of map
- */
- private ElementData(final int startOffset, final String documentPath,
- final TagIdentifier tagId, Map<String, String> attributeToPropertyMap)
- {
- super();
- _startOffset = startOffset;
-
- _tagId = tagId;
- _documentPath = documentPath;
- _attributeToPropertyMap = Collections.unmodifiableMap(
- new HashMap<String,String>(attributeToPropertyMap));
- }
-
- /**
- * Default constructor
- */
- protected ElementData()
- {
- // for serialization
- }
-
- /**
- * @return the tag identifier for this element
- */
- public final TagIdentifier getTagId()
- {
- return _tagId;
- }
-
- /**
- * @param forTagAttribute
- * @return the name of the view object property that forTagAttribute
- * maps to on this element or null if none.
- */
- public final String getPropertyName(final String forTagAttribute)
- {
- return _attributeToPropertyMap.get(forTagAttribute);
- }
-
- final int getStartOffset()
- {
- return _startOffset;
- }
-
- final String getDocumentPath()
- {
- return _documentPath;
- }
-
- private void writeObject(final java.io.ObjectOutputStream out)
- throws IOException
- {
- out.defaultWriteObject();
- out.writeObject(_tagId.getUri());
- out.writeObject(_tagId.getTagName());
- }
-
- private void readObject(final java.io.ObjectInputStream in)
- throws IOException, ClassNotFoundException
- {
- in.defaultReadObject();
- final String uri = (String) in.readObject();
- final String tagName = (String) in.readObject();
- _tagId = TagIdentifierFactory.createJSPTagWrapper(uri, tagName);
- }
-
- @Override
- public boolean equals(final Object obj)
- {
- if (this == obj)
- {
- return true;
- }
- if (obj instanceof ElementData)
- {
- final ElementData other = (ElementData) obj;
- return _startOffset == other._startOffset
- && _documentPath.equals(other._documentPath)
- && _tagId.equals(other._tagId);
- }
- return false;
- }
-
- @Override
- public int hashCode()
- {
- int hashCode = _tagId.hashCode();
- hashCode ^= _documentPath.hashCode();
- // startOffsets will generally fit in the first 10 bits, so mix
- // it up a bit.
- hashCode ^= ~(_startOffset * 104551);
- return hashCode;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/AbstractCustomViewMapper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/AbstractCustomViewMapper.java
deleted file mode 100644
index f50a460e8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/AbstractCustomViewMapper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * Must be sub-classed by all ICustomViewMapper's.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractCustomViewMapper implements ICustomViewMapper
-{
- public abstract PropertyMapping mapToComponentProperty(final String uri,
- final Element srcElement, final Attr attr);
-
- public abstract void doAttributeActions(final ComponentInfo bestComponent,
- final Element srcElement, final Attr attr);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/CustomViewMappingAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/CustomViewMappingAdapter.java
deleted file mode 100644
index 4d3830bf3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/CustomViewMappingAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * A no-op implementation that sub-classes can selectively override.
- *
- * @author cbateman
- *
- */
-public class CustomViewMappingAdapter extends AbstractCustomViewMapper
-{
-
- @Override
- public void doAttributeActions(ComponentInfo bestComponent,
- Element srcElement, Attr attr)
- {
- // do nothing
- }
-
- @Override
- public PropertyMapping mapToComponentProperty(String uri,
- Element srcElement, Attr attr)
- {
- // no mappings
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ICustomViewMapper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ICustomViewMapper.java
deleted file mode 100644
index 954167e59..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ICustomViewMapper.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * A custom view mapper to map from elements and attributes to view objects and
- * properties.
- *
- * @author cbateman
- *
- */
-public interface ICustomViewMapper
-{
- /**
- * @param uri
- * @param srcElement
- * @param attr
- * @return the name/value of the component property or null if no mapping.
- */
- PropertyMapping mapToComponentProperty(final String uri,
- final Element srcElement, final Attr attr);
-
- /**
- * Allows a mapper to make updates to a component based on its attribute.
- * May choose to do nothing.
- *
- * @param bestComponent
- * @param srcElement
- * @param attr
- */
- void doAttributeActions(ComponentInfo bestComponent, Element srcElement,
- Attr attr);
-
- /**
- * The name/value pair of a component property mapping.
- *
- * @author cbateman
- *
- */
- public static class PropertyMapping
- {
- private final String _name;
- private final Object _property;
-
- /**
- * @param name
- * @param property
- */
- public PropertyMapping(final String name, final Object property)
- {
- _name = name;
- _property = property;
- }
-
- /**
- * @return the property name
- */
- public final String getName()
- {
- return _name;
- }
-
- /**
- * @return the property value
- */
- public final Object getProperty()
- {
- return _property;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java
deleted file mode 100644
index 975775f50..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.MetadataFactory;
-import org.eclipse.jst.jsf.common.metadata.MetadataPackage;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.runtime.internal.model.types.ClassTypeInfo;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping;
-
-/**
- * Generates View metadata from common.runtime objects.
- *
- * @author cbateman
- *
- */
-public class ViewMetadataGenerator
-{
- private final ResourceSet _resourceSet;
- private final ExtendedMetaData _extendedMetadata;
- private final Model _root;
- private final ViewMetadataMapper _mapper;
-
- /**
- * @param uri
- */
- public ViewMetadataGenerator(final String uri)
- {
- _root = MetadataFactory.eINSTANCE.createModel();
- _root.setId(uri);
- _root.setType("tagFile"); //$NON-NLS-1$
- _resourceSet = new ResourceSetImpl();
- _mapper = new ViewMetadataMapper();
- _extendedMetadata = new BasicExtendedMetaData(_resourceSet
- .getPackageRegistry());
-
- // Register the appropriate resource factory to handle all file
- // extensions.
- //
- _resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
- new XMLResourceFactoryImpl());
- }
-
- /**
- * The format of the strings should match OSGI version:
- *
- * MAJOR . MINOR . BUILD . QUALIFIER
- *
- * @param tagName
- * @param typeInfo
- * @param minJSFVersion
- * the minimum JSF version, null for DEFAULT.
- * @param minLibVersion
- * the minimum library version, null for NONE.
- */
- public void addTagToViewObjectMapping(final String tagName,
- final ClassTypeInfo typeInfo, final String minJSFVersion,
- final String minLibVersion)
- {
- final ClassTypeInfo_ metadata = _mapper.mapToMetadata(typeInfo);
-
- if (metadata != null)
- {
- final TagToViewObjectMapping viewMapping =
- ComponentMappingFactory.eINSTANCE.createTagToViewObjectMapping();
- if (minJSFVersion != null)
- {
- viewMapping.setMinJSFVersion(minJSFVersion);
- }
- viewMapping.setMinLibraryVersion(minLibVersion);
- viewMapping.setTypeInfo(metadata);
-
- final TagMapping tagMapping = findOrCreateTagMapping(tagName);
- tagMapping.getVersionedTagToViewMappings().add(viewMapping);
-
- final Trait trait = MetadataFactory.eINSTANCE.createTrait();
- trait.setId(ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID);
- trait.setValue(tagMapping);
-
- final Entity entity = MetadataFactory.eINSTANCE.createEntity();
- entity.setId(tagName);
- entity.setType("tag"); //$NON-NLS-1$
- entity.getTraits().add(trait);
-
- _root.getChildEntities().add(entity);
- }
- }
-
- private TagMapping findOrCreateTagMapping(final String tagName)
- {
- for (final Entity entity : (List<Entity>)_root.getChildEntities())
- {
- if (entity.getId().equals(tagName))
- {
- for (final Trait trait : (List<Trait>)entity.getTraits())
- {
- if (trait.getId().equals(ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID))
- {
- return (TagMapping) trait.getValue();
- }
- }
- }
- }
- return ComponentMappingFactory.eINSTANCE.createTagMapping();
- }
-
- /**
- * @param out
- * @throws IOException
- */
- public void save(final OutputStream out) throws IOException
- {
- final Resource res = new XMLResourceImpl()
- {
- @Override
- protected XMLHelper createXMLHelper()
- {
- return new XMLHelperImpl()
- {
- public String getHREF(EObject obj)
- {
- return ComponentMappingPackage.eNS_URI;
- }
-
- @Override
- public EPackage getNoNamespacePackage()
- {
- return MetadataPackage.eINSTANCE;
- }
- };
- }
- };// _resourceSet.createResource(URI.createURI("foo.xml"));
- res.getContents().add(_root);
- // res.setURI(uri);
- // resourceSet.getResources().add(res);
- // setLoadOptions(res);
- Map options = new HashMap();
- options.put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
- options.put(XMLResource.OPTION_EXTENDED_META_DATA, _extendedMetadata);
- // options.put(XMLResource.OPTION_RESOURCE_HANDLER, res);
- options.put(XMLResource.OPTION_LAX_FEATURE_PROCESSING, Boolean.TRUE);
- options.put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.FALSE);// turning
- // this
- // off
- // so
- // that
- // res.getErrors()
- // has
- // values
- // to
- // check!
- // bizarre
- // that
- // I
- // should
- // need
- // to
- // do
- // this.
- res.save(out, options);
- }
-
- // private void printHeader(final OutputStream out) throws IOException
- // {
- // final String header = "<md:metadatamodel \n"
- // + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- // + "xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\""
- // +
- // "xmlns:md=\"http://org.eclipse.jst.jsf.common.metadata/metadata.ecore\""
- // +
- // "xmlns:mdt=\"http://org.eclipse.jst.jsf.common.metadata/metadataTraitTypes.ecore\"
- // "
- // +
- // "xmlns:viewMap=\"http://org.eclipse.jst.jsf.core/componentMapping.ecore\""
- // + "id=\"http://java.sun.com/jsf/html\""
- // + "type\"tagFile\">";
- // out.write(header.getBytes());
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataLoader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataLoader.java
deleted file mode 100644
index 740968842..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataLoader.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.IMetaDataQuery;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping;
-
-/**
- * Loader class for view metadata.
- *
- * @author cbateman
- *
- */
-public class ViewMetadataLoader
-{
- private final IProject _project;
- private final IMetaDataQuery _query;
-
- /**
- * @param project
- */
- public ViewMetadataLoader(final IProject project)
- {
- _project = project;
- final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(_project);
- _query = MetaDataQueryFactory.getInstance().createQuery(modelContext);
-
- }
-
- /**
- * @param tagId
- * @return the tag to view object mapping metadata for a tag in a particular
- * metadata context or null if not found.
- */
- public TagMapping getTagToViewMapping(final TagIdentifier tagId)
- {
-
- final Entity entity = _query.getQueryHelper().getEntity(tagId.getUri(), tagId.getTagName());
-// final ITaglibDomainMetaDataModelContext modelContext = createMetadataContext(tagId
-// .getUri());
-// final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity(
-// modelContext, tagId.getTagName());
- if (entity != null)
- {
- final Trait trait = _query.getQueryHelper().getTrait(
- entity, ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID);
- if (trait != null)
- {
- return (TagMapping) trait.getValue();
- }
- }
- return null;
- }
-
-
- /**
- * @param tagId
- * @param name
- * @return the attribute mapping for name on tagId or null if known
- */
- public AttributeToPropertyMapping getAttributeMapping(
- final TagIdentifier tagId, final String name)
- {
-
- final Entity entity = _query.getQueryHelper().getEntity(
- tagId.getUri(), tagId.getTagName()+"/"+name); //$NON-NLS-1$
- if (entity != null)
- {
- final Trait trait = _query.getQueryHelper().getTrait(
- entity, ViewMetadataMapper.DEFAULT_ATTRIBUTE_TRAIT_ID);
- if (trait != null)
- {
- return (AttributeToPropertyMapping) trait.getValue();
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataMapper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataMapper.java
deleted file mode 100644
index a4bb00f8b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataMapper.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.view.mapping;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.types.ClassTypeInfo;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_;
-
-/**
- * Maps meta-data to and from common.runtime data. In future, we may eliminate
- * this class by making the EMF meta-data structures into the common.runtime
- * data.
- *
- * @author cbateman
- *
- */
-public final class ViewMetadataMapper
-{
-
- /**
- * The default trait id where meta-data will annotated
- */
- public final static String DEFAULT_MAPPING_TRAIT_ID = "viewElementMapping"; //$NON-NLS-1$
- /**
- * The default trait id where meta-data will be annotated.
- */
- public final static String DEFAULT_ATTRIBUTE_TRAIT_ID = "attributeMapping"; //$NON-NLS-1$
-
- /**
- * @param classTypeInfo
- * @return a framework ClassTypeInfo equivalent to classTypeInfo or null if
- * none.
- */
- public ClassTypeInfo mapToFrameworkData(final ClassTypeInfo_ classTypeInfo)
- {
- if (classTypeInfo instanceof ComponentTypeInfo_)
- {
- return createComponentTypeInfo_((ComponentTypeInfo_) classTypeInfo);
- }
- else if (classTypeInfo instanceof ConverterTypeInfo_)
- {
- return createConverterTypeInfo_((ConverterTypeInfo_) classTypeInfo);
- }
- else if (classTypeInfo instanceof ValidatorTypeInfo_)
- {
- return createValidatorTypeInfo_((ValidatorTypeInfo_) classTypeInfo);
- }
- return null;
- }
-
- private ClassTypeInfo createValidatorTypeInfo_(
- ValidatorTypeInfo_ classTypeInfo)
- {
- final String[] superClasses = classTypeInfo.getSuperClasses().toArray(
- new String[0]);
- final String[] interfaces = classTypeInfo.getInterfaces().toArray(
- new String[0]);
- if (classTypeInfo.getClassName()==null && classTypeInfo.getValidatorId() == null)
- {
- return ValidatorTypeInfo.UNKNOWN;
- }
-
- return new ValidatorTypeInfo(classTypeInfo.getClassName(),
- superClasses, interfaces, classTypeInfo.getValidatorId());
- }
-
- private ClassTypeInfo createConverterTypeInfo_(
- ConverterTypeInfo_ classTypeInfo)
- {
- final String[] superClasses = classTypeInfo.getSuperClasses().toArray(
- new String[0]);
- final String[] interfaces = classTypeInfo.getInterfaces().toArray(
- new String[0]);
- if (classTypeInfo.getClassName() == null
- && classTypeInfo.getConverterId() == null)
- {
- return ConverterTypeInfo.UNKNOWN;
- }
- final String[] forClasses = classTypeInfo.getForClasses().toArray(
- new String[0]);
- return new ConverterTypeInfo(classTypeInfo.getClassName(),
- superClasses, interfaces, classTypeInfo.getConverterId(),
- forClasses);
- }
-
- private ClassTypeInfo createComponentTypeInfo_(
- ComponentTypeInfo_ classTypeInfo)
- {
- final String[] superClasses = classTypeInfo.getSuperClasses().toArray(
- new String[0]);
- final String[] interfaces = classTypeInfo.getInterfaces().toArray(
- new String[0]);
- return new ComponentTypeInfo(classTypeInfo.getComponentType(),
- classTypeInfo.getClassName(), superClasses, interfaces,
- classTypeInfo.getComponentFamily(), classTypeInfo
- .getRenderType());
- }
-
- /**
- * @param classTypeInfo
- * @return a metadata type info matching classTypeInfo or null if
- * classTypeInfo isn't of a supported concrete type.
- */
- public ClassTypeInfo_ mapToMetadata(final ClassTypeInfo classTypeInfo)
- {
- if (classTypeInfo instanceof ComponentTypeInfo)
- {
- return createComponentTypeInfo((ComponentTypeInfo) classTypeInfo);
- }
- else if (classTypeInfo instanceof ConverterTypeInfo)
- {
- return createConverterTypeInfo((ConverterTypeInfo) classTypeInfo);
- }
- else if (classTypeInfo instanceof ValidatorTypeInfo)
- {
- return createValidatorTypeInfo((ValidatorTypeInfo) classTypeInfo);
- }
- return null;
- }
-
- private ClassTypeInfo_ createComponentTypeInfo(
- final ComponentTypeInfo typeInfo)
- {
- final ComponentTypeInfo_ metadata = ComponentMappingFactory.eINSTANCE
- .createComponentTypeInfo_();
- metadata.setComponentFamily(typeInfo.getComponentFamily());
- metadata.setComponentType(typeInfo.getComponentType());
- metadata.setRenderType(typeInfo.getRenderFamily());
- copy(typeInfo, metadata);
- return metadata;
- }
-
- private ClassTypeInfo_ createConverterTypeInfo(
- final ConverterTypeInfo typeInfo)
- {
- final ConverterTypeInfo_ metadata = ComponentMappingFactory.eINSTANCE
- .createConverterTypeInfo_();
- copy(typeInfo, metadata);
- metadata.setConverterId(typeInfo.getConverterId());
- return metadata;
- }
-
- private ClassTypeInfo_ createValidatorTypeInfo(
- final ValidatorTypeInfo typeInfo)
- {
- final ValidatorTypeInfo_ metadata = ComponentMappingFactory.eINSTANCE
- .createValidatorTypeInfo_();
- copy(typeInfo, metadata);
- metadata.setValidatorId(typeInfo.getValidatorId());
- return metadata;
- }
-
- private void copy(ClassTypeInfo source, ClassTypeInfo_ dest)
- {
- dest.setClassName(source.getClassName());
- for (final String interfaze : source.getInterfaces())
- {
- dest.getInterfaces().add(interfaze);
- }
-
- for (final String superClass : source.getSuperClasses())
- {
- dest.getSuperClasses().add(superClass);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/mappers/ValueHolderAttributeMapper.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/mappers/ValueHolderAttributeMapper.java
deleted file mode 100644
index 016b82107..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/mappers/ValueHolderAttributeMapper.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.mappers;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterDecorator;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.CustomViewMappingAdapter;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * Default mapper for value holders.
- *
- * @author cbateman
- *
- */
-public class ValueHolderAttributeMapper extends CustomViewMappingAdapter
-{
- @Override
- public void doAttributeActions(ComponentInfo bestComponent,
- Element srcElement, Attr attr)
- {
- final String name = attr.getNodeName();
-
- if ("converter".equals(name) //$NON-NLS-1$
- && bestComponent.getComponentTypeInfo().isInstanceOf(
- ComponentFactory.INTERFACE_VALUEHOLDER))
- {
- final String value = attr.getValue();
-
- if (value != null)
- {
- ConverterTypeInfo typeInfo = null;
-
- if (!value.startsWith("#{")) //$NON-NLS-1$
- {
- typeInfo = new ConverterTypeInfo(null, value);
-
- }
- else
- {
- typeInfo = ConverterTypeInfo.UNKNOWN;
- }
- ConverterDecorator decorator = new ConverterDecorator(
- bestComponent, typeInfo);
- bestComponent.addDecorator(decorator,
- ComponentFactory.CONVERTER);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/AttributeToPropertyMapping.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/AttributeToPropertyMapping.java
deleted file mode 100644
index a30491531..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/AttributeToPropertyMapping.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: AttributeToPropertyMapping.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Attribute To Property Mapping</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getPropertyName <em>Property Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#isElAllowed <em>El Allowed</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getAttributeToPropertyMapping()
- * @model
- * @generated
- */
-public interface AttributeToPropertyMapping extends EObject
-{
- /**
- * Returns the value of the '<em><b>Property Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Property Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Property Name</em>' attribute.
- * @see #setPropertyName(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getAttributeToPropertyMapping_PropertyName()
- * @model extendedMetaData="kind='element' name='propertyName'"
- * @generated
- */
- String getPropertyName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getPropertyName <em>Property Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Property Name</em>' attribute.
- * @see #getPropertyName()
- * @generated
- */
- void setPropertyName(String value);
-
- /**
- * Returns the value of the '<em><b>El Allowed</b></em>' attribute.
- * The default value is <code>"true"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>El Allowed</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>El Allowed</em>' attribute.
- * @see #setElAllowed(boolean)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getAttributeToPropertyMapping_ElAllowed()
- * @model default="true"
- * extendedMetaData="kind='element' name='elAllowed'"
- * @generated
- */
- boolean isElAllowed();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#isElAllowed <em>El Allowed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>El Allowed</em>' attribute.
- * @see #isElAllowed()
- * @generated
- */
- void setElAllowed(boolean value);
-
- /**
- * Returns the value of the '<em><b>Custom Conversion Factory Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Custom Conversion Factory Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Custom Conversion Factory Id</em>' attribute.
- * @see #setCustomConversionFactoryId(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getAttributeToPropertyMapping_CustomConversionFactoryId()
- * @model extendedMetaData="kind='element' name='customConversionFactoryId'"
- * @generated
- */
- String getCustomConversionFactoryId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Custom Conversion Factory Id</em>' attribute.
- * @see #getCustomConversionFactoryId()
- * @generated
- */
- void setCustomConversionFactoryId(String value);
-
-} // AttributeToPropertyMapping
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ClassTypeInfo_.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ClassTypeInfo_.java
deleted file mode 100644
index bad26512d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ClassTypeInfo_.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ClassTypeInfo_.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Class Type Info </b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getClassName <em>Class Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getSuperClasses <em>Super Classes</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getInterfaces <em>Interfaces</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getClassTypeInfo_()
- * @model
- * @generated
- */
-public interface ClassTypeInfo_ extends EObject
-{
- /**
- * Returns the value of the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Class Name</em>' attribute.
- * @see #setClassName(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getClassTypeInfo__ClassName()
- * @model extendedMetaData="kind='element' name='className'"
- * @generated
- */
- String getClassName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getClassName <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Class Name</em>' attribute.
- * @see #getClassName()
- * @generated
- */
- void setClassName(String value);
-
- /**
- * Returns the value of the '<em><b>Super Classes</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Super Classes</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Super Classes</em>' attribute list.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getClassTypeInfo__SuperClasses()
- * @model extendedMetaData="kind='element' name='superClasses'"
- * @generated
- */
- EList<String> getSuperClasses();
-
- /**
- * Returns the value of the '<em><b>Interfaces</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Interfaces</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Interfaces</em>' attribute list.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getClassTypeInfo__Interfaces()
- * @model extendedMetaData="kind='element' name='interfaces'"
- * @generated
- */
- EList<String> getInterfaces();
-
-} // ClassTypeInfo_
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingFactory.java
deleted file mode 100644
index 9a45fa050..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingFactory.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingFactory.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage
- * @generated
- */
-public interface ComponentMappingFactory extends EFactory
-{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ComponentMappingFactory eINSTANCE = org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Tag Mapping</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Mapping</em>'.
- * @generated
- */
- TagMapping createTagMapping();
-
- /**
- * Returns a new object of class '<em>Tag To View Object Mapping</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag To View Object Mapping</em>'.
- * @generated
- */
- TagToViewObjectMapping createTagToViewObjectMapping();
-
- /**
- * Returns a new object of class '<em>Class Type Info </em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Class Type Info </em>'.
- * @generated
- */
- ClassTypeInfo_ createClassTypeInfo_();
-
- /**
- * Returns a new object of class '<em>Component Type Info </em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Component Type Info </em>'.
- * @generated
- */
- ComponentTypeInfo_ createComponentTypeInfo_();
-
- /**
- * Returns a new object of class '<em>Converter Type Info </em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Converter Type Info </em>'.
- * @generated
- */
- ConverterTypeInfo_ createConverterTypeInfo_();
-
- /**
- * Returns a new object of class '<em>Validator Type Info </em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Validator Type Info </em>'.
- * @generated
- */
- ValidatorTypeInfo_ createValidatorTypeInfo_();
-
- /**
- * Returns a new object of class '<em>Attribute To Property Mapping</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Attribute To Property Mapping</em>'.
- * @generated
- */
- AttributeToPropertyMapping createAttributeToPropertyMapping();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ComponentMappingPackage getComponentMappingPackage();
-
-} //ComponentMappingFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingPackage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingPackage.java
deleted file mode 100644
index 886250790..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentMappingPackage.java
+++ /dev/null
@@ -1,949 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingPackage.java,v 1.2 2008/11/18 22:24:15 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingFactory
- * @model kind="package"
- * @generated
- */
-public interface ComponentMappingPackage extends EPackage
-{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "viewmapping"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://org.eclipse.jst.jsf.core/componentMapping.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "viewMap"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ComponentMappingPackage eINSTANCE = org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl <em>Tag Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getTagMapping()
- * @generated
- */
- int TAG_MAPPING = 0;
-
- /**
- * The feature id for the '<em><b>Versioned Tag To View Mappings</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS = 0;
-
- /**
- * The feature id for the '<em><b>Custom Conversion Factory Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID = 1;
-
- /**
- * The feature id for the '<em><b>Bean Mapped Properties</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_MAPPING__BEAN_MAPPED_PROPERTIES = 2;
-
- /**
- * The number of structural features of the '<em>Tag Mapping</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_MAPPING_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl <em>Tag To View Object Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getTagToViewObjectMapping()
- * @generated
- */
- int TAG_TO_VIEW_OBJECT_MAPPING = 1;
-
- /**
- * The feature id for the '<em><b>Type Info</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO = 0;
-
- /**
- * The feature id for the '<em><b>Min JSF Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION = 1;
-
- /**
- * The feature id for the '<em><b>Min Library Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION = 2;
-
- /**
- * The number of structural features of the '<em>Tag To View Object Mapping</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_TO_VIEW_OBJECT_MAPPING_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl <em>Class Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getClassTypeInfo_()
- * @generated
- */
- int CLASS_TYPE_INFO_ = 2;
-
- /**
- * The feature id for the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_TYPE_INFO___CLASS_NAME = 0;
-
- /**
- * The feature id for the '<em><b>Super Classes</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_TYPE_INFO___SUPER_CLASSES = 1;
-
- /**
- * The feature id for the '<em><b>Interfaces</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_TYPE_INFO___INTERFACES = 2;
-
- /**
- * The number of structural features of the '<em>Class Type Info </em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CLASS_TYPE_INFO__FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl <em>Component Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getComponentTypeInfo_()
- * @generated
- */
- int COMPONENT_TYPE_INFO_ = 3;
-
- /**
- * The feature id for the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___CLASS_NAME = CLASS_TYPE_INFO___CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Super Classes</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___SUPER_CLASSES = CLASS_TYPE_INFO___SUPER_CLASSES;
-
- /**
- * The feature id for the '<em><b>Interfaces</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___INTERFACES = CLASS_TYPE_INFO___INTERFACES;
-
- /**
- * The feature id for the '<em><b>Component Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___COMPONENT_TYPE = CLASS_TYPE_INFO__FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Component Family</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___COMPONENT_FAMILY = CLASS_TYPE_INFO__FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Render Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO___RENDER_TYPE = CLASS_TYPE_INFO__FEATURE_COUNT + 2;
-
- /**
- * The number of structural features of the '<em>Component Type Info </em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_TYPE_INFO__FEATURE_COUNT = CLASS_TYPE_INFO__FEATURE_COUNT + 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl <em>Converter Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getConverterTypeInfo_()
- * @generated
- */
- int CONVERTER_TYPE_INFO_ = 4;
-
- /**
- * The feature id for the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO___CLASS_NAME = CLASS_TYPE_INFO___CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Super Classes</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO___SUPER_CLASSES = CLASS_TYPE_INFO___SUPER_CLASSES;
-
- /**
- * The feature id for the '<em><b>Interfaces</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO___INTERFACES = CLASS_TYPE_INFO___INTERFACES;
-
- /**
- * The feature id for the '<em><b>Converter Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO___CONVERTER_ID = CLASS_TYPE_INFO__FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>For Classes</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO___FOR_CLASSES = CLASS_TYPE_INFO__FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Converter Type Info </em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONVERTER_TYPE_INFO__FEATURE_COUNT = CLASS_TYPE_INFO__FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ValidatorTypeInfo_Impl <em>Validator Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ValidatorTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getValidatorTypeInfo_()
- * @generated
- */
- int VALIDATOR_TYPE_INFO_ = 5;
-
- /**
- * The feature id for the '<em><b>Class Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int VALIDATOR_TYPE_INFO___CLASS_NAME = CLASS_TYPE_INFO___CLASS_NAME;
-
- /**
- * The feature id for the '<em><b>Super Classes</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int VALIDATOR_TYPE_INFO___SUPER_CLASSES = CLASS_TYPE_INFO___SUPER_CLASSES;
-
- /**
- * The feature id for the '<em><b>Interfaces</b></em>' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int VALIDATOR_TYPE_INFO___INTERFACES = CLASS_TYPE_INFO___INTERFACES;
-
- /**
- * The feature id for the '<em><b>Validator Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int VALIDATOR_TYPE_INFO___VALIDATOR_ID = CLASS_TYPE_INFO__FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Validator Type Info </em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int VALIDATOR_TYPE_INFO__FEATURE_COUNT = CLASS_TYPE_INFO__FEATURE_COUNT + 1;
-
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl <em>Attribute To Property Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getAttributeToPropertyMapping()
- * @generated
- */
- int ATTRIBUTE_TO_PROPERTY_MAPPING = 6;
-
- /**
- * The feature id for the '<em><b>Property Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME = 0;
-
- /**
- * The feature id for the '<em><b>El Allowed</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED = 1;
-
- /**
- * The feature id for the '<em><b>Custom Conversion Factory Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID = 2;
-
- /**
- * The number of structural features of the '<em>Attribute To Property Mapping</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_TO_PROPERTY_MAPPING_FEATURE_COUNT = 3;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping <em>Tag Mapping</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Mapping</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping
- * @generated
- */
- EClass getTagMapping();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getVersionedTagToViewMappings <em>Versioned Tag To View Mappings</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Versioned Tag To View Mappings</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getVersionedTagToViewMappings()
- * @see #getTagMapping()
- * @generated
- */
- EReference getTagMapping_VersionedTagToViewMappings();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Custom Conversion Factory Id</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getCustomConversionFactoryId()
- * @see #getTagMapping()
- * @generated
- */
- EAttribute getTagMapping_CustomConversionFactoryId();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getBeanMappedProperties <em>Bean Mapped Properties</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Bean Mapped Properties</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getBeanMappedProperties()
- * @see #getTagMapping()
- * @generated
- */
- EAttribute getTagMapping_BeanMappedProperties();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping <em>Tag To View Object Mapping</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag To View Object Mapping</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping
- * @generated
- */
- EClass getTagToViewObjectMapping();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getTypeInfo <em>Type Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Type Info</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getTypeInfo()
- * @see #getTagToViewObjectMapping()
- * @generated
- */
- EReference getTagToViewObjectMapping_TypeInfo();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinJSFVersion <em>Min JSF Version</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Min JSF Version</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinJSFVersion()
- * @see #getTagToViewObjectMapping()
- * @generated
- */
- EAttribute getTagToViewObjectMapping_MinJSFVersion();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinLibraryVersion <em>Min Library Version</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Min Library Version</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinLibraryVersion()
- * @see #getTagToViewObjectMapping()
- * @generated
- */
- EAttribute getTagToViewObjectMapping_MinLibraryVersion();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_ <em>Class Type Info </em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Class Type Info </em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_
- * @generated
- */
- EClass getClassTypeInfo_();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getClassName <em>Class Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Class Name</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getClassName()
- * @see #getClassTypeInfo_()
- * @generated
- */
- EAttribute getClassTypeInfo__ClassName();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getSuperClasses <em>Super Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Super Classes</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getSuperClasses()
- * @see #getClassTypeInfo_()
- * @generated
- */
- EAttribute getClassTypeInfo__SuperClasses();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getInterfaces <em>Interfaces</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Interfaces</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_#getInterfaces()
- * @see #getClassTypeInfo_()
- * @generated
- */
- EAttribute getClassTypeInfo__Interfaces();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_ <em>Component Type Info </em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Component Type Info </em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_
- * @generated
- */
- EClass getComponentTypeInfo_();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentType <em>Component Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Component Type</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentType()
- * @see #getComponentTypeInfo_()
- * @generated
- */
- EAttribute getComponentTypeInfo__ComponentType();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentFamily <em>Component Family</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Component Family</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentFamily()
- * @see #getComponentTypeInfo_()
- * @generated
- */
- EAttribute getComponentTypeInfo__ComponentFamily();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getRenderType <em>Render Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Render Type</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getRenderType()
- * @see #getComponentTypeInfo_()
- * @generated
- */
- EAttribute getComponentTypeInfo__RenderType();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_ <em>Converter Type Info </em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Converter Type Info </em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_
- * @generated
- */
- EClass getConverterTypeInfo_();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getConverterId <em>Converter Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Converter Id</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getConverterId()
- * @see #getConverterTypeInfo_()
- * @generated
- */
- EAttribute getConverterTypeInfo__ConverterId();
-
- /**
- * Returns the meta object for the attribute list '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getForClasses <em>For Classes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>For Classes</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getForClasses()
- * @see #getConverterTypeInfo_()
- * @generated
- */
- EAttribute getConverterTypeInfo__ForClasses();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_ <em>Validator Type Info </em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Validator Type Info </em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_
- * @generated
- */
- EClass getValidatorTypeInfo_();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_#getValidatorId <em>Validator Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Validator Id</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_#getValidatorId()
- * @see #getValidatorTypeInfo_()
- * @generated
- */
- EAttribute getValidatorTypeInfo__ValidatorId();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping <em>Attribute To Property Mapping</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Attribute To Property Mapping</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping
- * @generated
- */
- EClass getAttributeToPropertyMapping();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getPropertyName <em>Property Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Property Name</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getPropertyName()
- * @see #getAttributeToPropertyMapping()
- * @generated
- */
- EAttribute getAttributeToPropertyMapping_PropertyName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#isElAllowed <em>El Allowed</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>El Allowed</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#isElAllowed()
- * @see #getAttributeToPropertyMapping()
- * @generated
- */
- EAttribute getAttributeToPropertyMapping_ElAllowed();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Custom Conversion Factory Id</em>'.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping#getCustomConversionFactoryId()
- * @see #getAttributeToPropertyMapping()
- * @generated
- */
- EAttribute getAttributeToPropertyMapping_CustomConversionFactoryId();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ComponentMappingFactory getComponentMappingFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("hiding")
- interface Literals
- {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl <em>Tag Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getTagMapping()
- * @generated
- */
- EClass TAG_MAPPING = eINSTANCE.getTagMapping();
-
- /**
- * The meta object literal for the '<em><b>Versioned Tag To View Mappings</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS = eINSTANCE.getTagMapping_VersionedTagToViewMappings();
-
- /**
- * The meta object literal for the '<em><b>Custom Conversion Factory Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID = eINSTANCE.getTagMapping_CustomConversionFactoryId();
-
- /**
- * The meta object literal for the '<em><b>Bean Mapped Properties</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_MAPPING__BEAN_MAPPED_PROPERTIES = eINSTANCE.getTagMapping_BeanMappedProperties();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl <em>Tag To View Object Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getTagToViewObjectMapping()
- * @generated
- */
- EClass TAG_TO_VIEW_OBJECT_MAPPING = eINSTANCE.getTagToViewObjectMapping();
-
- /**
- * The meta object literal for the '<em><b>Type Info</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO = eINSTANCE.getTagToViewObjectMapping_TypeInfo();
-
- /**
- * The meta object literal for the '<em><b>Min JSF Version</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION = eINSTANCE.getTagToViewObjectMapping_MinJSFVersion();
-
- /**
- * The meta object literal for the '<em><b>Min Library Version</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION = eINSTANCE.getTagToViewObjectMapping_MinLibraryVersion();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl <em>Class Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getClassTypeInfo_()
- * @generated
- */
- EClass CLASS_TYPE_INFO_ = eINSTANCE.getClassTypeInfo_();
-
- /**
- * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CLASS_TYPE_INFO___CLASS_NAME = eINSTANCE.getClassTypeInfo__ClassName();
-
- /**
- * The meta object literal for the '<em><b>Super Classes</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CLASS_TYPE_INFO___SUPER_CLASSES = eINSTANCE.getClassTypeInfo__SuperClasses();
-
- /**
- * The meta object literal for the '<em><b>Interfaces</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CLASS_TYPE_INFO___INTERFACES = eINSTANCE.getClassTypeInfo__Interfaces();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl <em>Component Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getComponentTypeInfo_()
- * @generated
- */
- EClass COMPONENT_TYPE_INFO_ = eINSTANCE.getComponentTypeInfo_();
-
- /**
- * The meta object literal for the '<em><b>Component Type</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute COMPONENT_TYPE_INFO___COMPONENT_TYPE = eINSTANCE.getComponentTypeInfo__ComponentType();
-
- /**
- * The meta object literal for the '<em><b>Component Family</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute COMPONENT_TYPE_INFO___COMPONENT_FAMILY = eINSTANCE.getComponentTypeInfo__ComponentFamily();
-
- /**
- * The meta object literal for the '<em><b>Render Type</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute COMPONENT_TYPE_INFO___RENDER_TYPE = eINSTANCE.getComponentTypeInfo__RenderType();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl <em>Converter Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getConverterTypeInfo_()
- * @generated
- */
- EClass CONVERTER_TYPE_INFO_ = eINSTANCE.getConverterTypeInfo_();
-
- /**
- * The meta object literal for the '<em><b>Converter Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CONVERTER_TYPE_INFO___CONVERTER_ID = eINSTANCE.getConverterTypeInfo__ConverterId();
-
- /**
- * The meta object literal for the '<em><b>For Classes</b></em>' attribute list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CONVERTER_TYPE_INFO___FOR_CLASSES = eINSTANCE.getConverterTypeInfo__ForClasses();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ValidatorTypeInfo_Impl <em>Validator Type Info </em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ValidatorTypeInfo_Impl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getValidatorTypeInfo_()
- * @generated
- */
- EClass VALIDATOR_TYPE_INFO_ = eINSTANCE.getValidatorTypeInfo_();
-
- /**
- * The meta object literal for the '<em><b>Validator Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute VALIDATOR_TYPE_INFO___VALIDATOR_ID = eINSTANCE.getValidatorTypeInfo__ValidatorId();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl <em>Attribute To Property Mapping</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentMappingPackageImpl#getAttributeToPropertyMapping()
- * @generated
- */
- EClass ATTRIBUTE_TO_PROPERTY_MAPPING = eINSTANCE.getAttributeToPropertyMapping();
-
- /**
- * The meta object literal for the '<em><b>Property Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME = eINSTANCE.getAttributeToPropertyMapping_PropertyName();
-
- /**
- * The meta object literal for the '<em><b>El Allowed</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED = eINSTANCE.getAttributeToPropertyMapping_ElAllowed();
-
- /**
- * The meta object literal for the '<em><b>Custom Conversion Factory Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID = eINSTANCE.getAttributeToPropertyMapping_CustomConversionFactoryId();
-
- }
-
-} //ComponentMappingPackage
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentTypeInfo_.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentTypeInfo_.java
deleted file mode 100644
index e537498e1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ComponentTypeInfo_.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentTypeInfo_.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Component Type Info </b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentType <em>Component Type</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentFamily <em>Component Family</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getRenderType <em>Render Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getComponentTypeInfo_()
- * @model
- * @generated
- */
-public interface ComponentTypeInfo_ extends ClassTypeInfo_
-{
- /**
- * Returns the value of the '<em><b>Component Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Component Type</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Component Type</em>' attribute.
- * @see #setComponentType(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getComponentTypeInfo__ComponentType()
- * @model extendedMetaData="kind='element' name='componentType'"
- * @generated
- */
- String getComponentType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentType <em>Component Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Component Type</em>' attribute.
- * @see #getComponentType()
- * @generated
- */
- void setComponentType(String value);
-
- /**
- * Returns the value of the '<em><b>Component Family</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Component Family</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Component Family</em>' attribute.
- * @see #setComponentFamily(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getComponentTypeInfo__ComponentFamily()
- * @model extendedMetaData="kind='element' name='componentFamily'"
- * @generated
- */
- String getComponentFamily();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getComponentFamily <em>Component Family</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Component Family</em>' attribute.
- * @see #getComponentFamily()
- * @generated
- */
- void setComponentFamily(String value);
-
- /**
- * Returns the value of the '<em><b>Render Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Render Type</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Render Type</em>' attribute.
- * @see #setRenderType(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getComponentTypeInfo__RenderType()
- * @model extendedMetaData="kind='element' name='renderType'"
- * @generated
- */
- String getRenderType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_#getRenderType <em>Render Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Render Type</em>' attribute.
- * @see #getRenderType()
- * @generated
- */
- void setRenderType(String value);
-
-} // ComponentTypeInfo_
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ConverterTypeInfo_.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ConverterTypeInfo_.java
deleted file mode 100644
index d7dbc5484..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ConverterTypeInfo_.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConverterTypeInfo_.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.common.util.EList;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Converter Type Info </b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getConverterId <em>Converter Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getForClasses <em>For Classes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getConverterTypeInfo_()
- * @model
- * @generated
- */
-public interface ConverterTypeInfo_ extends ClassTypeInfo_
-{
- /**
- * Returns the value of the '<em><b>Converter Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Converter Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Converter Id</em>' attribute.
- * @see #setConverterId(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getConverterTypeInfo__ConverterId()
- * @model extendedMetaData="kind='element' name='converterId'"
- * @generated
- */
- String getConverterId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_#getConverterId <em>Converter Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Converter Id</em>' attribute.
- * @see #getConverterId()
- * @generated
- */
- void setConverterId(String value);
-
- /**
- * Returns the value of the '<em><b>For Classes</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>For Classes</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>For Classes</em>' attribute list.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getConverterTypeInfo__ForClasses()
- * @model extendedMetaData="kind='element' name='forClass'"
- * @generated
- */
- EList<String> getForClasses();
-
-} // ConverterTypeInfo_
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/CustomViewMapperExtensionLoader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/CustomViewMapperExtensionLoader.java
deleted file mode 100644
index 5e9de9062..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/CustomViewMapperExtensionLoader.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ICustomViewMapper;
-
-/**
- * @author cbateman
- *
- */
-public class CustomViewMapperExtensionLoader
-{
- private final static String EXTENSION_ID = "customViewMapper"; //$NON-NLS-1$
- private final static String ELEMENT_NAME = "customViewMapper"; //$NON-NLS-1$
-
- private static Map<String, ICustomViewMapper> _extensions;
-
- /**
- * @param id
- * @return the list of handlers. The list is not modifiable and will throw
- * exceptions if it is attempted.
- */
- public static synchronized ICustomViewMapper getCustomViewMapper(
- final String id)
- {
- if (_extensions == null)
- {
- _extensions = Collections.unmodifiableMap(readAllHandlers());
- }
- return _extensions.get(id);
- }
-
- private static Map<String, ICustomViewMapper> readAllHandlers()
- {
- final Map<String, ICustomViewMapper> handlers = new HashMap<String, ICustomViewMapper>();
- final IExtensionPoint extensionPoint = JSFCorePlugin.getDefault()
- .getExtension(EXTENSION_ID);
- final IExtension[] extensions = extensionPoint.getExtensions();
-
- for (final IExtension ext : extensions)
- {
- final IConfigurationElement[] configElements = ext
- .getConfigurationElements();
-
- for (final IConfigurationElement element : configElements)
- {
- if (ELEMENT_NAME.equals(element.getName()))
- {
- try
- {
- final String pluginId = element.getContributor()
- .getName();
- final String name = element.getAttribute("id"); //$NON-NLS-1$
- final Object customHandler = element
- .createExecutableExtension("class"); //$NON-NLS-1$
- if (customHandler instanceof ICustomViewMapper
- && name != null)
- {
- handlers.put(pluginId + "." + name, //$NON-NLS-1$
- (ICustomViewMapper) customHandler);
- }
- else
- {
- JSFCorePlugin.log(
- "Error loading tag registry extension: " //$NON-NLS-1$
- + element.getContributor().getName()
- + "." + element.getAttribute("id") //$NON-NLS-1$ //$NON-NLS-2$
- , new Throwable("No exception: stack trace only")); //$NON-NLS-1$
- }
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log(e,
- "Error loading tag registry extension: " //$NON-NLS-1$
- + element.getContributor().getName()
- + "." + element.getAttribute("id")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
- }
- return handlers;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagMapping.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagMapping.java
deleted file mode 100644
index 4f824a1ea..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagMapping.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagMapping.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Mapping</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getVersionedTagToViewMappings <em>Versioned Tag To View Mappings</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getBeanMappedProperties <em>Bean Mapped Properties</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagMapping()
- * @model
- * @generated
- */
-public interface TagMapping extends EObject
-{
- /**
- * Returns the value of the '<em><b>Versioned Tag To View Mappings</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Versioned Tag To View Mappings</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Versioned Tag To View Mappings</em>' containment reference list.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagMapping_VersionedTagToViewMappings()
- * @model containment="true"
- * extendedMetaData="kind='element' name='versionedTagToViewMappings'"
- * @generated
- */
- EList<TagToViewObjectMapping> getVersionedTagToViewMappings();
-
- /**
- * Returns the value of the '<em><b>Custom Conversion Factory Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Custom Conversion Factory Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Custom Conversion Factory Id</em>' attribute.
- * @see #setCustomConversionFactoryId(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagMapping_CustomConversionFactoryId()
- * @model extendedMetaData="kind='element' name='customConversionFactoryId'"
- * @generated
- */
- String getCustomConversionFactoryId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Custom Conversion Factory Id</em>' attribute.
- * @see #getCustomConversionFactoryId()
- * @generated
- */
- void setCustomConversionFactoryId(String value);
-
- /**
- * Returns the value of the '<em><b>Bean Mapped Properties</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Bean Mapped Properties</em>' attribute list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Bean Mapped Properties</em>' attribute list.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagMapping_BeanMappedProperties()
- * @model default=""
- * extendedMetaData="kind='element' name='beanMappedProperties'"
- * @generated
- */
- EList<String> getBeanMappedProperties();
-
- /**
- * <!-- begin-user-doc -->
- * @param jsfVersion
- * @param libVersion
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void findBestMapping(String jsfVersion, String libVersion);
-
-} // TagMapping
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagToViewObjectMapping.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagToViewObjectMapping.java
deleted file mode 100644
index 608ba0f16..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/TagToViewObjectMapping.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagToViewObjectMapping.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag To View Object Mapping</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getTypeInfo <em>Type Info</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinJSFVersion <em>Min JSF Version</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinLibraryVersion <em>Min Library Version</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagToViewObjectMapping()
- * @model
- * @generated
- */
-public interface TagToViewObjectMapping extends EObject
-{
- /**
- * Returns the value of the '<em><b>Type Info</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type Info</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type Info</em>' containment reference.
- * @see #setTypeInfo(ClassTypeInfo_)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagToViewObjectMapping_TypeInfo()
- * @model containment="true"
- * extendedMetaData="kind='element' name='typeInfo'"
- * @generated
- */
- ClassTypeInfo_ getTypeInfo();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getTypeInfo <em>Type Info</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type Info</em>' containment reference.
- * @see #getTypeInfo()
- * @generated
- */
- void setTypeInfo(ClassTypeInfo_ value);
-
- /**
- * Returns the value of the '<em><b>Min JSF Version</b></em>' attribute.
- * The default value is <code>"1.1"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Min JSF Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Min JSF Version</em>' attribute.
- * @see #setMinJSFVersion(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagToViewObjectMapping_MinJSFVersion()
- * @model default="1.1"
- * extendedMetaData="kind='element' name='minVersion'"
- * @generated
- */
- String getMinJSFVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinJSFVersion <em>Min JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Min JSF Version</em>' attribute.
- * @see #getMinJSFVersion()
- * @generated
- */
- void setMinJSFVersion(String value);
-
- /**
- * Returns the value of the '<em><b>Min Library Version</b></em>' attribute.
- * The default value is <code>""</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Min Library Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Min Library Version</em>' attribute.
- * @see #setMinLibraryVersion(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getTagToViewObjectMapping_MinLibraryVersion()
- * @model default=""
- * extendedMetaData="kind='element' name='minLibraryVersion'"
- * @generated
- */
- String getMinLibraryVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping#getMinLibraryVersion <em>Min Library Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Min Library Version</em>' attribute.
- * @see #getMinLibraryVersion()
- * @generated
- */
- void setMinLibraryVersion(String value);
-
-} // TagToViewObjectMapping
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ValidatorTypeInfo_.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ValidatorTypeInfo_.java
deleted file mode 100644
index 608568431..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/ValidatorTypeInfo_.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ValidatorTypeInfo_.java,v 1.1 2008/05/12 17:42:19 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Validator Type Info </b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_#getValidatorId <em>Validator Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getValidatorTypeInfo_()
- * @model
- * @generated
- */
-public interface ValidatorTypeInfo_ extends ClassTypeInfo_
-{
- /**
- * Returns the value of the '<em><b>Validator Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Validator Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Validator Id</em>' attribute.
- * @see #setValidatorId(String)
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#getValidatorTypeInfo__ValidatorId()
- * @model extendedMetaData="kind='element' name='validatorId'"
- * @generated
- */
- String getValidatorId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_#getValidatorId <em>Validator Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Validator Id</em>' attribute.
- * @see #getValidatorId()
- * @generated
- */
- void setValidatorId(String value);
-
-} // ValidatorTypeInfo_
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/AttributeToPropertyMappingImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/AttributeToPropertyMappingImpl.java
deleted file mode 100644
index 953109921..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/AttributeToPropertyMappingImpl.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: AttributeToPropertyMappingImpl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Attribute To Property Mapping</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl#getPropertyName <em>Property Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl#isElAllowed <em>El Allowed</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.AttributeToPropertyMappingImpl#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class AttributeToPropertyMappingImpl extends EObjectImpl implements AttributeToPropertyMapping
-{
- /**
- * The default value of the '{@link #getPropertyName() <em>Property Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPropertyName()
- * @generated
- * @ordered
- */
- protected static final String PROPERTY_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getPropertyName() <em>Property Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getPropertyName()
- * @generated
- * @ordered
- */
- protected String propertyName = PROPERTY_NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #isElAllowed() <em>El Allowed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isElAllowed()
- * @generated
- * @ordered
- */
- protected static final boolean EL_ALLOWED_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isElAllowed() <em>El Allowed</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isElAllowed()
- * @generated
- * @ordered
- */
- protected boolean elAllowed = EL_ALLOWED_EDEFAULT;
-
- /**
- * The default value of the '{@link #getCustomConversionFactoryId() <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCustomConversionFactoryId()
- * @generated
- * @ordered
- */
- protected static final String CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getCustomConversionFactoryId() <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCustomConversionFactoryId()
- * @generated
- * @ordered
- */
- protected String customConversionFactoryId = CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeToPropertyMappingImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.ATTRIBUTE_TO_PROPERTY_MAPPING;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getPropertyName()
- {
- return propertyName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setPropertyName(String newPropertyName)
- {
- String oldPropertyName = propertyName;
- propertyName = newPropertyName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME, oldPropertyName, propertyName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isElAllowed()
- {
- return elAllowed;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setElAllowed(boolean newElAllowed)
- {
- boolean oldElAllowed = elAllowed;
- elAllowed = newElAllowed;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED, oldElAllowed, elAllowed));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCustomConversionFactoryId()
- {
- return customConversionFactoryId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCustomConversionFactoryId(String newCustomConversionFactoryId)
- {
- String oldCustomConversionFactoryId = customConversionFactoryId;
- customConversionFactoryId = newCustomConversionFactoryId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID, oldCustomConversionFactoryId, customConversionFactoryId));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME:
- return getPropertyName();
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED:
- return isElAllowed() ? Boolean.TRUE : Boolean.FALSE;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- return getCustomConversionFactoryId();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME:
- setPropertyName((String)newValue);
- return;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED:
- setElAllowed(((Boolean)newValue).booleanValue());
- return;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- setCustomConversionFactoryId((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME:
- setPropertyName(PROPERTY_NAME_EDEFAULT);
- return;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED:
- setElAllowed(EL_ALLOWED_EDEFAULT);
- return;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- setCustomConversionFactoryId(CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME:
- return PROPERTY_NAME_EDEFAULT == null ? propertyName != null : !PROPERTY_NAME_EDEFAULT.equals(propertyName);
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED:
- return elAllowed != EL_ALLOWED_EDEFAULT;
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- return CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT == null ? customConversionFactoryId != null : !CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT.equals(customConversionFactoryId);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (propertyName: "); //$NON-NLS-1$
- result.append(propertyName);
- result.append(", elAllowed: "); //$NON-NLS-1$
- result.append(elAllowed);
- result.append(", customConversionFactoryId: "); //$NON-NLS-1$
- result.append(customConversionFactoryId);
- result.append(')');
- return result.toString();
- }
-
-} //AttributeToPropertyMappingImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ClassTypeInfo_Impl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ClassTypeInfo_Impl.java
deleted file mode 100644
index c81344b9e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ClassTypeInfo_Impl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ClassTypeInfo_Impl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Class Type Info </b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl#getClassName <em>Class Name</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl#getSuperClasses <em>Super Classes</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ClassTypeInfo_Impl#getInterfaces <em>Interfaces</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ClassTypeInfo_Impl extends EObjectImpl implements ClassTypeInfo_
-{
- /**
- * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getClassName()
- * @generated
- * @ordered
- */
- protected static final String CLASS_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getClassName()
- * @generated
- * @ordered
- */
- protected String className = CLASS_NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getSuperClasses() <em>Super Classes</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSuperClasses()
- * @generated
- * @ordered
- */
- protected EList<String> superClasses;
-
- /**
- * The cached value of the '{@link #getInterfaces() <em>Interfaces</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInterfaces()
- * @generated
- * @ordered
- */
- protected EList<String> interfaces;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ClassTypeInfo_Impl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.CLASS_TYPE_INFO_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setClassName(String newClassName)
- {
- String oldClassName = className;
- className = newClassName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.CLASS_TYPE_INFO___CLASS_NAME, oldClassName, className));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getSuperClasses()
- {
- if (superClasses == null)
- {
- superClasses = new EDataTypeUniqueEList<String>(String.class, this, ComponentMappingPackage.CLASS_TYPE_INFO___SUPER_CLASSES);
- }
- return superClasses;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getInterfaces()
- {
- if (interfaces == null)
- {
- interfaces = new EDataTypeUniqueEList<String>(String.class, this, ComponentMappingPackage.CLASS_TYPE_INFO___INTERFACES);
- }
- return interfaces;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CLASS_TYPE_INFO___CLASS_NAME:
- return getClassName();
- case ComponentMappingPackage.CLASS_TYPE_INFO___SUPER_CLASSES:
- return getSuperClasses();
- case ComponentMappingPackage.CLASS_TYPE_INFO___INTERFACES:
- return getInterfaces();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CLASS_TYPE_INFO___CLASS_NAME:
- setClassName((String)newValue);
- return;
- case ComponentMappingPackage.CLASS_TYPE_INFO___SUPER_CLASSES:
- getSuperClasses().clear();
- getSuperClasses().addAll((Collection<? extends String>)newValue);
- return;
- case ComponentMappingPackage.CLASS_TYPE_INFO___INTERFACES:
- getInterfaces().clear();
- getInterfaces().addAll((Collection<? extends String>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CLASS_TYPE_INFO___CLASS_NAME:
- setClassName(CLASS_NAME_EDEFAULT);
- return;
- case ComponentMappingPackage.CLASS_TYPE_INFO___SUPER_CLASSES:
- getSuperClasses().clear();
- return;
- case ComponentMappingPackage.CLASS_TYPE_INFO___INTERFACES:
- getInterfaces().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CLASS_TYPE_INFO___CLASS_NAME:
- return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
- case ComponentMappingPackage.CLASS_TYPE_INFO___SUPER_CLASSES:
- return superClasses != null && !superClasses.isEmpty();
- case ComponentMappingPackage.CLASS_TYPE_INFO___INTERFACES:
- return interfaces != null && !interfaces.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (className: "); //$NON-NLS-1$
- result.append(className);
- result.append(", superClasses: "); //$NON-NLS-1$
- result.append(superClasses);
- result.append(", interfaces: "); //$NON-NLS-1$
- result.append(interfaces);
- result.append(')');
- return result.toString();
- }
-
-} //ClassTypeInfo_Impl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingFactoryImpl.java
deleted file mode 100644
index 82bce6e36..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingFactoryImpl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingFactoryImpl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ComponentMappingFactoryImpl extends EFactoryImpl implements ComponentMappingFactory
-{
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * @return the factory
- * <!-- end-user-doc -->
- * @generated
- */
- public static ComponentMappingFactory init()
- {
- try
- {
- ComponentMappingFactory theComponentMappingFactory = (ComponentMappingFactory)EPackage.Registry.INSTANCE.getEFactory("http://org.eclipse.jst.jsf.core/componentMapping.ecore"); //$NON-NLS-1$
- if (theComponentMappingFactory != null)
- {
- return theComponentMappingFactory;
- }
- }
- catch (Exception exception)
- {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new ComponentMappingFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingFactoryImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass)
- {
- switch (eClass.getClassifierID())
- {
- case ComponentMappingPackage.TAG_MAPPING: return createTagMapping();
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING: return createTagToViewObjectMapping();
- case ComponentMappingPackage.CLASS_TYPE_INFO_: return createClassTypeInfo_();
- case ComponentMappingPackage.COMPONENT_TYPE_INFO_: return createComponentTypeInfo_();
- case ComponentMappingPackage.CONVERTER_TYPE_INFO_: return createConverterTypeInfo_();
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO_: return createValidatorTypeInfo_();
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING: return createAttributeToPropertyMapping();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagMapping createTagMapping()
- {
- TagMappingImpl tagMapping = new TagMappingImpl();
- return tagMapping;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagToViewObjectMapping createTagToViewObjectMapping()
- {
- TagToViewObjectMappingImpl tagToViewObjectMapping = new TagToViewObjectMappingImpl();
- return tagToViewObjectMapping;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ClassTypeInfo_ createClassTypeInfo_()
- {
- ClassTypeInfo_Impl classTypeInfo_ = new ClassTypeInfo_Impl();
- return classTypeInfo_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentTypeInfo_ createComponentTypeInfo_()
- {
- ComponentTypeInfo_Impl componentTypeInfo_ = new ComponentTypeInfo_Impl();
- return componentTypeInfo_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConverterTypeInfo_ createConverterTypeInfo_()
- {
- ConverterTypeInfo_Impl converterTypeInfo_ = new ConverterTypeInfo_Impl();
- return converterTypeInfo_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ValidatorTypeInfo_ createValidatorTypeInfo_()
- {
- ValidatorTypeInfo_Impl validatorTypeInfo_ = new ValidatorTypeInfo_Impl();
- return validatorTypeInfo_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public AttributeToPropertyMapping createAttributeToPropertyMapping()
- {
- AttributeToPropertyMappingImpl attributeToPropertyMapping = new AttributeToPropertyMappingImpl();
- return attributeToPropertyMapping;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingPackage getComponentMappingPackage()
- {
- return (ComponentMappingPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the package
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @Deprecated
- public static ComponentMappingPackage getPackage()
- {
- return ComponentMappingPackage.eINSTANCE;
- }
-
-} //ComponentMappingFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingPackageImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingPackageImpl.java
deleted file mode 100644
index 3debd70fc..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentMappingPackageImpl.java
+++ /dev/null
@@ -1,699 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingPackageImpl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingFactory;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ComponentMappingPackageImpl extends EPackageImpl implements ComponentMappingPackage
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagMappingEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagToViewObjectMappingEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass classTypeInfo_EClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass componentTypeInfo_EClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass converterTypeInfo_EClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass validatorTypeInfo_EClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass attributeToPropertyMappingEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ComponentMappingPackageImpl()
- {
- super(eNS_URI, ComponentMappingFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the initialized package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ComponentMappingPackage init()
- {
- if (isInited) return (ComponentMappingPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentMappingPackage.eNS_URI);
-
- // Obtain or create and register package
- ComponentMappingPackageImpl theComponentMappingPackage = (ComponentMappingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ComponentMappingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ComponentMappingPackageImpl());
-
- isInited = true;
-
- // Create package meta-data objects
- theComponentMappingPackage.createPackageContents();
-
- // Initialize created meta-data
- theComponentMappingPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theComponentMappingPackage.freeze();
-
- return theComponentMappingPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagMapping()
- {
- return tagMappingEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagMapping_VersionedTagToViewMappings()
- {
- return (EReference)tagMappingEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagMapping_CustomConversionFactoryId()
- {
- return (EAttribute)tagMappingEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagMapping_BeanMappedProperties()
- {
- return (EAttribute)tagMappingEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagToViewObjectMapping()
- {
- return tagToViewObjectMappingEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagToViewObjectMapping_TypeInfo()
- {
- return (EReference)tagToViewObjectMappingEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagToViewObjectMapping_MinJSFVersion()
- {
- return (EAttribute)tagToViewObjectMappingEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagToViewObjectMapping_MinLibraryVersion()
- {
- return (EAttribute)tagToViewObjectMappingEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getClassTypeInfo_()
- {
- return classTypeInfo_EClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getClassTypeInfo__ClassName()
- {
- return (EAttribute)classTypeInfo_EClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getClassTypeInfo__SuperClasses()
- {
- return (EAttribute)classTypeInfo_EClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getClassTypeInfo__Interfaces()
- {
- return (EAttribute)classTypeInfo_EClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getComponentTypeInfo_()
- {
- return componentTypeInfo_EClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getComponentTypeInfo__ComponentType()
- {
- return (EAttribute)componentTypeInfo_EClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getComponentTypeInfo__ComponentFamily()
- {
- return (EAttribute)componentTypeInfo_EClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getComponentTypeInfo__RenderType()
- {
- return (EAttribute)componentTypeInfo_EClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getConverterTypeInfo_()
- {
- return converterTypeInfo_EClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getConverterTypeInfo__ConverterId()
- {
- return (EAttribute)converterTypeInfo_EClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getConverterTypeInfo__ForClasses()
- {
- return (EAttribute)converterTypeInfo_EClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getValidatorTypeInfo_()
- {
- return validatorTypeInfo_EClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getValidatorTypeInfo__ValidatorId()
- {
- return (EAttribute)validatorTypeInfo_EClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getAttributeToPropertyMapping()
- {
- return attributeToPropertyMappingEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getAttributeToPropertyMapping_PropertyName()
- {
- return (EAttribute)attributeToPropertyMappingEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getAttributeToPropertyMapping_ElAllowed()
- {
- return (EAttribute)attributeToPropertyMappingEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getAttributeToPropertyMapping_CustomConversionFactoryId()
- {
- return (EAttribute)attributeToPropertyMappingEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingFactory getComponentMappingFactory()
- {
- return (ComponentMappingFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents()
- {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- tagMappingEClass = createEClass(TAG_MAPPING);
- createEReference(tagMappingEClass, TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS);
- createEAttribute(tagMappingEClass, TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID);
- createEAttribute(tagMappingEClass, TAG_MAPPING__BEAN_MAPPED_PROPERTIES);
-
- tagToViewObjectMappingEClass = createEClass(TAG_TO_VIEW_OBJECT_MAPPING);
- createEReference(tagToViewObjectMappingEClass, TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO);
- createEAttribute(tagToViewObjectMappingEClass, TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION);
- createEAttribute(tagToViewObjectMappingEClass, TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION);
-
- classTypeInfo_EClass = createEClass(CLASS_TYPE_INFO_);
- createEAttribute(classTypeInfo_EClass, CLASS_TYPE_INFO___CLASS_NAME);
- createEAttribute(classTypeInfo_EClass, CLASS_TYPE_INFO___SUPER_CLASSES);
- createEAttribute(classTypeInfo_EClass, CLASS_TYPE_INFO___INTERFACES);
-
- componentTypeInfo_EClass = createEClass(COMPONENT_TYPE_INFO_);
- createEAttribute(componentTypeInfo_EClass, COMPONENT_TYPE_INFO___COMPONENT_TYPE);
- createEAttribute(componentTypeInfo_EClass, COMPONENT_TYPE_INFO___COMPONENT_FAMILY);
- createEAttribute(componentTypeInfo_EClass, COMPONENT_TYPE_INFO___RENDER_TYPE);
-
- converterTypeInfo_EClass = createEClass(CONVERTER_TYPE_INFO_);
- createEAttribute(converterTypeInfo_EClass, CONVERTER_TYPE_INFO___CONVERTER_ID);
- createEAttribute(converterTypeInfo_EClass, CONVERTER_TYPE_INFO___FOR_CLASSES);
-
- validatorTypeInfo_EClass = createEClass(VALIDATOR_TYPE_INFO_);
- createEAttribute(validatorTypeInfo_EClass, VALIDATOR_TYPE_INFO___VALIDATOR_ID);
-
- attributeToPropertyMappingEClass = createEClass(ATTRIBUTE_TO_PROPERTY_MAPPING);
- createEAttribute(attributeToPropertyMappingEClass, ATTRIBUTE_TO_PROPERTY_MAPPING__PROPERTY_NAME);
- createEAttribute(attributeToPropertyMappingEClass, ATTRIBUTE_TO_PROPERTY_MAPPING__EL_ALLOWED);
- createEAttribute(attributeToPropertyMappingEClass, ATTRIBUTE_TO_PROPERTY_MAPPING__CUSTOM_CONVERSION_FACTORY_ID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents()
- {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- componentTypeInfo_EClass.getESuperTypes().add(this.getClassTypeInfo_());
- converterTypeInfo_EClass.getESuperTypes().add(this.getClassTypeInfo_());
- validatorTypeInfo_EClass.getESuperTypes().add(this.getClassTypeInfo_());
-
- // Initialize classes and features; add operations and parameters
- initEClass(tagMappingEClass, TagMapping.class, "TagMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagMapping_VersionedTagToViewMappings(), this.getTagToViewObjectMapping(), null, "versionedTagToViewMappings", null, 0, -1, TagMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagMapping_CustomConversionFactoryId(), ecorePackage.getEString(), "customConversionFactoryId", null, 0, 1, TagMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagMapping_BeanMappedProperties(), ecorePackage.getEString(), "beanMappedProperties", "", 0, -1, TagMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-
- EOperation op = addEOperation(tagMappingEClass, null, "findBestMapping", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "jsfVersion", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "libVersion", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagToViewObjectMappingEClass, TagToViewObjectMapping.class, "TagToViewObjectMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagToViewObjectMapping_TypeInfo(), this.getClassTypeInfo_(), null, "typeInfo", null, 0, 1, TagToViewObjectMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagToViewObjectMapping_MinJSFVersion(), ecorePackage.getEString(), "minJSFVersion", "1.1", 0, 1, TagToViewObjectMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagToViewObjectMapping_MinLibraryVersion(), ecorePackage.getEString(), "minLibraryVersion", "", 0, 1, TagToViewObjectMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-
- initEClass(classTypeInfo_EClass, ClassTypeInfo_.class, "ClassTypeInfo_", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getClassTypeInfo__ClassName(), ecorePackage.getEString(), "className", null, 0, 1, ClassTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getClassTypeInfo__SuperClasses(), ecorePackage.getEString(), "superClasses", null, 0, -1, ClassTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getClassTypeInfo__Interfaces(), ecorePackage.getEString(), "interfaces", null, 0, -1, ClassTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(componentTypeInfo_EClass, ComponentTypeInfo_.class, "ComponentTypeInfo_", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getComponentTypeInfo__ComponentType(), ecorePackage.getEString(), "componentType", null, 0, 1, ComponentTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getComponentTypeInfo__ComponentFamily(), ecorePackage.getEString(), "componentFamily", null, 0, 1, ComponentTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getComponentTypeInfo__RenderType(), ecorePackage.getEString(), "renderType", null, 0, 1, ComponentTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(converterTypeInfo_EClass, ConverterTypeInfo_.class, "ConverterTypeInfo_", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getConverterTypeInfo__ConverterId(), ecorePackage.getEString(), "converterId", null, 0, 1, ConverterTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getConverterTypeInfo__ForClasses(), ecorePackage.getEString(), "forClasses", null, 0, -1, ConverterTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(validatorTypeInfo_EClass, ValidatorTypeInfo_.class, "ValidatorTypeInfo_", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getValidatorTypeInfo__ValidatorId(), ecorePackage.getEString(), "validatorId", null, 0, 1, ValidatorTypeInfo_.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(attributeToPropertyMappingEClass, AttributeToPropertyMapping.class, "AttributeToPropertyMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getAttributeToPropertyMapping_PropertyName(), ecorePackage.getEString(), "propertyName", null, 0, 1, AttributeToPropertyMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getAttributeToPropertyMapping_ElAllowed(), ecorePackage.getEBoolean(), "elAllowed", "true", 0, 1, AttributeToPropertyMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getAttributeToPropertyMapping_CustomConversionFactoryId(), ecorePackage.getEString(), "customConversionFactoryId", null, 0, 1, AttributeToPropertyMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations()
- {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation
- (getTagMapping_VersionedTagToViewMappings(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "versionedTagToViewMappings" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagMapping_CustomConversionFactoryId(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "customConversionFactoryId" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagMapping_BeanMappedProperties(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "beanMappedProperties" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagToViewObjectMapping_TypeInfo(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "typeInfo" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagToViewObjectMapping_MinJSFVersion(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "minVersion" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagToViewObjectMapping_MinLibraryVersion(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "minLibraryVersion" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getClassTypeInfo__ClassName(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "className" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getClassTypeInfo__SuperClasses(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "superClasses" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getClassTypeInfo__Interfaces(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "interfaces" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getComponentTypeInfo__ComponentType(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "componentType" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getComponentTypeInfo__ComponentFamily(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "componentFamily" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getComponentTypeInfo__RenderType(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "renderType" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getConverterTypeInfo__ConverterId(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "converterId" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getConverterTypeInfo__ForClasses(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "forClass" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getValidatorTypeInfo__ValidatorId(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "validatorId" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getAttributeToPropertyMapping_PropertyName(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "propertyName" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getAttributeToPropertyMapping_ElAllowed(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "elAllowed" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getAttributeToPropertyMapping_CustomConversionFactoryId(),
- source,
- new String[]
- {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "customConversionFactoryId" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} //ComponentMappingPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentTypeInfo_Impl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentTypeInfo_Impl.java
deleted file mode 100644
index ac318c8dd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ComponentTypeInfo_Impl.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentTypeInfo_Impl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Component Type Info </b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl#getComponentType <em>Component Type</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl#getComponentFamily <em>Component Family</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ComponentTypeInfo_Impl#getRenderType <em>Render Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ComponentTypeInfo_Impl extends ClassTypeInfo_Impl implements ComponentTypeInfo_
-{
- /**
- * The default value of the '{@link #getComponentType() <em>Component Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getComponentType()
- * @generated
- * @ordered
- */
- protected static final String COMPONENT_TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getComponentType() <em>Component Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getComponentType()
- * @generated
- * @ordered
- */
- protected String componentType = COMPONENT_TYPE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getComponentFamily() <em>Component Family</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getComponentFamily()
- * @generated
- * @ordered
- */
- protected static final String COMPONENT_FAMILY_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getComponentFamily() <em>Component Family</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getComponentFamily()
- * @generated
- * @ordered
- */
- protected String componentFamily = COMPONENT_FAMILY_EDEFAULT;
-
- /**
- * The default value of the '{@link #getRenderType() <em>Render Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRenderType()
- * @generated
- * @ordered
- */
- protected static final String RENDER_TYPE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getRenderType() <em>Render Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRenderType()
- * @generated
- * @ordered
- */
- protected String renderType = RENDER_TYPE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ComponentTypeInfo_Impl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.COMPONENT_TYPE_INFO_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getComponentType()
- {
- return componentType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setComponentType(String newComponentType)
- {
- String oldComponentType = componentType;
- componentType = newComponentType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_TYPE, oldComponentType, componentType));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getComponentFamily()
- {
- return componentFamily;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setComponentFamily(String newComponentFamily)
- {
- String oldComponentFamily = componentFamily;
- componentFamily = newComponentFamily;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_FAMILY, oldComponentFamily, componentFamily));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getRenderType()
- {
- return renderType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRenderType(String newRenderType)
- {
- String oldRenderType = renderType;
- renderType = newRenderType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.COMPONENT_TYPE_INFO___RENDER_TYPE, oldRenderType, renderType));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_TYPE:
- return getComponentType();
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_FAMILY:
- return getComponentFamily();
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___RENDER_TYPE:
- return getRenderType();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_TYPE:
- setComponentType((String)newValue);
- return;
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_FAMILY:
- setComponentFamily((String)newValue);
- return;
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___RENDER_TYPE:
- setRenderType((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_TYPE:
- setComponentType(COMPONENT_TYPE_EDEFAULT);
- return;
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_FAMILY:
- setComponentFamily(COMPONENT_FAMILY_EDEFAULT);
- return;
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___RENDER_TYPE:
- setRenderType(RENDER_TYPE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_TYPE:
- return COMPONENT_TYPE_EDEFAULT == null ? componentType != null : !COMPONENT_TYPE_EDEFAULT.equals(componentType);
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___COMPONENT_FAMILY:
- return COMPONENT_FAMILY_EDEFAULT == null ? componentFamily != null : !COMPONENT_FAMILY_EDEFAULT.equals(componentFamily);
- case ComponentMappingPackage.COMPONENT_TYPE_INFO___RENDER_TYPE:
- return RENDER_TYPE_EDEFAULT == null ? renderType != null : !RENDER_TYPE_EDEFAULT.equals(renderType);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (componentType: "); //$NON-NLS-1$
- result.append(componentType);
- result.append(", componentFamily: "); //$NON-NLS-1$
- result.append(componentFamily);
- result.append(", renderType: "); //$NON-NLS-1$
- result.append(renderType);
- result.append(')');
- return result.toString();
- }
-
-} //ComponentTypeInfo_Impl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ConverterTypeInfo_Impl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ConverterTypeInfo_Impl.java
deleted file mode 100644
index 53387ea0d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ConverterTypeInfo_Impl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConverterTypeInfo_Impl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import java.util.Collection;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Converter Type Info </b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl#getConverterId <em>Converter Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ConverterTypeInfo_Impl#getForClasses <em>For Classes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ConverterTypeInfo_Impl extends ClassTypeInfo_Impl implements ConverterTypeInfo_
-{
- /**
- * The default value of the '{@link #getConverterId() <em>Converter Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getConverterId()
- * @generated
- * @ordered
- */
- protected static final String CONVERTER_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getConverterId() <em>Converter Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getConverterId()
- * @generated
- * @ordered
- */
- protected String converterId = CONVERTER_ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getForClasses() <em>For Classes</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getForClasses()
- * @generated
- * @ordered
- */
- protected EList<String> forClasses;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ConverterTypeInfo_Impl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.CONVERTER_TYPE_INFO_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getConverterId()
- {
- return converterId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setConverterId(String newConverterId)
- {
- String oldConverterId = converterId;
- converterId = newConverterId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.CONVERTER_TYPE_INFO___CONVERTER_ID, oldConverterId, converterId));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getForClasses()
- {
- if (forClasses == null)
- {
- forClasses = new EDataTypeUniqueEList<String>(String.class, this, ComponentMappingPackage.CONVERTER_TYPE_INFO___FOR_CLASSES);
- }
- return forClasses;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___CONVERTER_ID:
- return getConverterId();
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___FOR_CLASSES:
- return getForClasses();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___CONVERTER_ID:
- setConverterId((String)newValue);
- return;
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___FOR_CLASSES:
- getForClasses().clear();
- getForClasses().addAll((Collection<? extends String>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___CONVERTER_ID:
- setConverterId(CONVERTER_ID_EDEFAULT);
- return;
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___FOR_CLASSES:
- getForClasses().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___CONVERTER_ID:
- return CONVERTER_ID_EDEFAULT == null ? converterId != null : !CONVERTER_ID_EDEFAULT.equals(converterId);
- case ComponentMappingPackage.CONVERTER_TYPE_INFO___FOR_CLASSES:
- return forClasses != null && !forClasses.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (converterId: "); //$NON-NLS-1$
- result.append(converterId);
- result.append(", forClasses: "); //$NON-NLS-1$
- result.append(forClasses);
- result.append(')');
- return result.toString();
- }
-
-} //ConverterTypeInfo_Impl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagMappingImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagMappingImpl.java
deleted file mode 100644
index 44f32b5ce..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagMappingImpl.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagMappingImpl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Mapping</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl#getVersionedTagToViewMappings <em>Versioned Tag To View Mappings</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl#getCustomConversionFactoryId <em>Custom Conversion Factory Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagMappingImpl#getBeanMappedProperties <em>Bean Mapped Properties</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagMappingImpl extends EObjectImpl implements TagMapping
-{
- /**
- * The cached value of the '{@link #getVersionedTagToViewMappings() <em>Versioned Tag To View Mappings</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getVersionedTagToViewMappings()
- * @generated
- * @ordered
- */
- protected EList<TagToViewObjectMapping> versionedTagToViewMappings;
-
- /**
- * The default value of the '{@link #getCustomConversionFactoryId() <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCustomConversionFactoryId()
- * @generated
- * @ordered
- */
- protected static final String CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT = null;
- /**
- * The cached value of the '{@link #getCustomConversionFactoryId() <em>Custom Conversion Factory Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getCustomConversionFactoryId()
- * @generated
- * @ordered
- */
- protected String customConversionFactoryId = CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getBeanMappedProperties() <em>Bean Mapped Properties</em>}' attribute list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getBeanMappedProperties()
- * @generated
- * @ordered
- */
- protected EList<String> beanMappedProperties;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagMappingImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.TAG_MAPPING;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<TagToViewObjectMapping> getVersionedTagToViewMappings()
- {
- if (versionedTagToViewMappings == null)
- {
- versionedTagToViewMappings = new EObjectContainmentEList<TagToViewObjectMapping>(TagToViewObjectMapping.class, this, ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS);
- }
- return versionedTagToViewMappings;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCustomConversionFactoryId()
- {
- return customConversionFactoryId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setCustomConversionFactoryId(String newCustomConversionFactoryId)
- {
- String oldCustomConversionFactoryId = customConversionFactoryId;
- customConversionFactoryId = newCustomConversionFactoryId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID, oldCustomConversionFactoryId, customConversionFactoryId));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<String> getBeanMappedProperties()
- {
- if (beanMappedProperties == null)
- {
- beanMappedProperties = new EDataTypeUniqueEList<String>(String.class, this, ComponentMappingPackage.TAG_MAPPING__BEAN_MAPPED_PROPERTIES);
- }
- return beanMappedProperties;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void findBestMapping(String jsfVersion, String libVersion)
- {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS:
- return ((InternalEList<?>)getVersionedTagToViewMappings()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS:
- return getVersionedTagToViewMappings();
- case ComponentMappingPackage.TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- return getCustomConversionFactoryId();
- case ComponentMappingPackage.TAG_MAPPING__BEAN_MAPPED_PROPERTIES:
- return getBeanMappedProperties();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS:
- getVersionedTagToViewMappings().clear();
- getVersionedTagToViewMappings().addAll((Collection<? extends TagToViewObjectMapping>)newValue);
- return;
- case ComponentMappingPackage.TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- setCustomConversionFactoryId((String)newValue);
- return;
- case ComponentMappingPackage.TAG_MAPPING__BEAN_MAPPED_PROPERTIES:
- getBeanMappedProperties().clear();
- getBeanMappedProperties().addAll((Collection<? extends String>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS:
- getVersionedTagToViewMappings().clear();
- return;
- case ComponentMappingPackage.TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- setCustomConversionFactoryId(CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT);
- return;
- case ComponentMappingPackage.TAG_MAPPING__BEAN_MAPPED_PROPERTIES:
- getBeanMappedProperties().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_MAPPING__VERSIONED_TAG_TO_VIEW_MAPPINGS:
- return versionedTagToViewMappings != null && !versionedTagToViewMappings.isEmpty();
- case ComponentMappingPackage.TAG_MAPPING__CUSTOM_CONVERSION_FACTORY_ID:
- return CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT == null ? customConversionFactoryId != null : !CUSTOM_CONVERSION_FACTORY_ID_EDEFAULT.equals(customConversionFactoryId);
- case ComponentMappingPackage.TAG_MAPPING__BEAN_MAPPED_PROPERTIES:
- return beanMappedProperties != null && !beanMappedProperties.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (customConversionFactoryId: "); //$NON-NLS-1$
- result.append(customConversionFactoryId);
- result.append(", beanMappedProperties: "); //$NON-NLS-1$
- result.append(beanMappedProperties);
- result.append(')');
- return result.toString();
- }
-
-} //TagMappingImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagToViewObjectMappingImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagToViewObjectMappingImpl.java
deleted file mode 100644
index de7b3321e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/TagToViewObjectMappingImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagToViewObjectMappingImpl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag To View Object Mapping</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl#getTypeInfo <em>Type Info</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl#getMinJSFVersion <em>Min JSF Version</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.TagToViewObjectMappingImpl#getMinLibraryVersion <em>Min Library Version</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagToViewObjectMappingImpl extends EObjectImpl implements TagToViewObjectMapping
-{
- /**
- * The cached value of the '{@link #getTypeInfo() <em>Type Info</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTypeInfo()
- * @generated
- * @ordered
- */
- protected ClassTypeInfo_ typeInfo;
-
- /**
- * The default value of the '{@link #getMinJSFVersion() <em>Min JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinJSFVersion()
- * @generated
- * @ordered
- */
- protected static final String MIN_JSF_VERSION_EDEFAULT = "1.1"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getMinJSFVersion() <em>Min JSF Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinJSFVersion()
- * @generated
- * @ordered
- */
- protected String minJSFVersion = MIN_JSF_VERSION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getMinLibraryVersion() <em>Min Library Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinLibraryVersion()
- * @generated
- * @ordered
- */
- protected static final String MIN_LIBRARY_VERSION_EDEFAULT = ""; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getMinLibraryVersion() <em>Min Library Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinLibraryVersion()
- * @generated
- * @ordered
- */
- protected String minLibraryVersion = MIN_LIBRARY_VERSION_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagToViewObjectMappingImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.TAG_TO_VIEW_OBJECT_MAPPING;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ClassTypeInfo_ getTypeInfo()
- {
- return typeInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newTypeInfo
- * @param msgs
- * @return the notification chain
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetTypeInfo(ClassTypeInfo_ newTypeInfo, NotificationChain msgs)
- {
- ClassTypeInfo_ oldTypeInfo = typeInfo;
- typeInfo = newTypeInfo;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO, oldTypeInfo, newTypeInfo);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTypeInfo(ClassTypeInfo_ newTypeInfo)
- {
- if (newTypeInfo != typeInfo)
- {
- NotificationChain msgs = null;
- if (typeInfo != null)
- msgs = ((InternalEObject)typeInfo).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO, null, msgs);
- if (newTypeInfo != null)
- msgs = ((InternalEObject)newTypeInfo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO, null, msgs);
- msgs = basicSetTypeInfo(newTypeInfo, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO, newTypeInfo, newTypeInfo));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getMinJSFVersion()
- {
- return minJSFVersion;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMinJSFVersion(String newMinJSFVersion)
- {
- String oldMinJSFVersion = minJSFVersion;
- minJSFVersion = newMinJSFVersion;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION, oldMinJSFVersion, minJSFVersion));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getMinLibraryVersion()
- {
- return minLibraryVersion;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMinLibraryVersion(String newMinLibraryVersion)
- {
- String oldMinLibraryVersion = minLibraryVersion;
- minLibraryVersion = newMinLibraryVersion;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION, oldMinLibraryVersion, minLibraryVersion));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO:
- return basicSetTypeInfo(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO:
- return getTypeInfo();
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION:
- return getMinJSFVersion();
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION:
- return getMinLibraryVersion();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO:
- setTypeInfo((ClassTypeInfo_)newValue);
- return;
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION:
- setMinJSFVersion((String)newValue);
- return;
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION:
- setMinLibraryVersion((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO:
- setTypeInfo((ClassTypeInfo_)null);
- return;
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION:
- setMinJSFVersion(MIN_JSF_VERSION_EDEFAULT);
- return;
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION:
- setMinLibraryVersion(MIN_LIBRARY_VERSION_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__TYPE_INFO:
- return typeInfo != null;
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_JSF_VERSION:
- return MIN_JSF_VERSION_EDEFAULT == null ? minJSFVersion != null : !MIN_JSF_VERSION_EDEFAULT.equals(minJSFVersion);
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING__MIN_LIBRARY_VERSION:
- return MIN_LIBRARY_VERSION_EDEFAULT == null ? minLibraryVersion != null : !MIN_LIBRARY_VERSION_EDEFAULT.equals(minLibraryVersion);
- }
- return super.eIsSet(featureID);
- }
-
- @Override
- public String toString()
- {
- return "TagToViewObjectMapping: typeInfo="+getTypeInfo(); //$NON-NLS-1$
- }
-} //TagToViewObjectMappingImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ValidatorTypeInfo_Impl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ValidatorTypeInfo_Impl.java
deleted file mode 100644
index 2aca75466..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/impl/ValidatorTypeInfo_Impl.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ValidatorTypeInfo_Impl.java,v 1.2 2008/11/18 22:23:57 gkessler Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Validator Type Info </b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.impl.ValidatorTypeInfo_Impl#getValidatorId <em>Validator Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ValidatorTypeInfo_Impl extends ClassTypeInfo_Impl implements ValidatorTypeInfo_
-{
- /**
- * The default value of the '{@link #getValidatorId() <em>Validator Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValidatorId()
- * @generated
- * @ordered
- */
- protected static final String VALIDATOR_ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getValidatorId() <em>Validator Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValidatorId()
- * @generated
- * @ordered
- */
- protected String validatorId = VALIDATOR_ID_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ValidatorTypeInfo_Impl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ComponentMappingPackage.Literals.VALIDATOR_TYPE_INFO_;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getValidatorId()
- {
- return validatorId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValidatorId(String newValidatorId)
- {
- String oldValidatorId = validatorId;
- validatorId = newValidatorId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComponentMappingPackage.VALIDATOR_TYPE_INFO___VALIDATOR_ID, oldValidatorId, validatorId));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO___VALIDATOR_ID:
- return getValidatorId();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO___VALIDATOR_ID:
- setValidatorId((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO___VALIDATOR_ID:
- setValidatorId(VALIDATOR_ID_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO___VALIDATOR_ID:
- return VALIDATOR_ID_EDEFAULT == null ? validatorId != null : !VALIDATOR_ID_EDEFAULT.equals(validatorId);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (validatorId: "); //$NON-NLS-1$
- result.append(validatorId);
- result.append(')');
- return result.toString();
- }
-
-} //ValidatorTypeInfo_Impl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingAdapterFactory.java
deleted file mode 100644
index 767687908..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingAdapterFactory.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingAdapterFactory.java,v 1.1 2008/05/12 17:42:21 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage
- * @generated
- */
-public class ComponentMappingAdapterFactory extends AdapterFactoryImpl
-{
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ComponentMappingPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingAdapterFactory()
- {
- if (modelPackage == null)
- {
- modelPackage = ComponentMappingPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object)
- {
- if (object == modelPackage)
- {
- return true;
- }
- if (object instanceof EObject)
- {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ComponentMappingSwitch<Adapter> modelSwitch =
- new ComponentMappingSwitch<Adapter>()
- {
- @Override
- public Adapter caseTagMapping(TagMapping object)
- {
- return createTagMappingAdapter();
- }
- @Override
- public Adapter caseTagToViewObjectMapping(TagToViewObjectMapping object)
- {
- return createTagToViewObjectMappingAdapter();
- }
- @Override
- public Adapter caseClassTypeInfo_(ClassTypeInfo_ object)
- {
- return createClassTypeInfo_Adapter();
- }
- @Override
- public Adapter caseComponentTypeInfo_(ComponentTypeInfo_ object)
- {
- return createComponentTypeInfo_Adapter();
- }
- @Override
- public Adapter caseConverterTypeInfo_(ConverterTypeInfo_ object)
- {
- return createConverterTypeInfo_Adapter();
- }
- @Override
- public Adapter caseValidatorTypeInfo_(ValidatorTypeInfo_ object)
- {
- return createValidatorTypeInfo_Adapter();
- }
- @Override
- public Adapter caseAttributeToPropertyMapping(AttributeToPropertyMapping object)
- {
- return createAttributeToPropertyMappingAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object)
- {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target)
- {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping <em>Tag Mapping</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping
- * @generated
- */
- public Adapter createTagMappingAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping <em>Tag To View Object Mapping</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping
- * @generated
- */
- public Adapter createTagToViewObjectMappingAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_ <em>Class Type Info </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_
- * @generated
- */
- public Adapter createClassTypeInfo_Adapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_ <em>Component Type Info </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentTypeInfo_
- * @generated
- */
- public Adapter createComponentTypeInfo_Adapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_ <em>Converter Type Info </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ConverterTypeInfo_
- * @generated
- */
- public Adapter createConverterTypeInfo_Adapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_ <em>Validator Type Info </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ValidatorTypeInfo_
- * @generated
- */
- public Adapter createValidatorTypeInfo_Adapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping <em>Attribute To Property Mapping</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping
- * @generated
- */
- public Adapter createAttributeToPropertyMappingAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter()
- {
- return null;
- }
-
-} //ComponentMappingAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceFactoryImpl.java
deleted file mode 100644
index 08f2fbf27..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceFactoryImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingResourceFactoryImpl.java,v 1.1 2008/05/12 17:42:21 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util.ComponentMappingResourceImpl
- * @generated
- */
-public class ComponentMappingResourceFactoryImpl extends ResourceFactoryImpl
-{
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingResourceFactoryImpl()
- {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Resource createResource(URI uri)
- {
- XMLResource result = new ComponentMappingResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} //ComponentMappingResourceFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceImpl.java
deleted file mode 100644
index 8d3c819df..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingResourceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingResourceImpl.java,v 1.1 2008/05/12 17:42:21 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util.ComponentMappingResourceFactoryImpl
- * @generated
- */
-public class ComponentMappingResourceImpl extends XMLResourceImpl
-{
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public ComponentMappingResourceImpl(URI uri)
- {
- super(uri);
- }
-
-} //ComponentMappingResourceImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingSwitch.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingSwitch.java
deleted file mode 100644
index 3de410697..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingSwitch.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingSwitch.java,v 1.1 2008/05/12 17:42:21 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * @param <T>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage
- * @generated
- */
-public class ComponentMappingSwitch<T>
-{
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ComponentMappingPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingSwitch()
- {
- if (modelPackage == null)
- {
- modelPackage = ComponentMappingPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public T doSwitch(EObject theEObject)
- {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(EClass theEClass, EObject theEObject)
- {
- if (theEClass.eContainer() == modelPackage)
- {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List<EClass> eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch(eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(int classifierID, EObject theEObject)
- {
- switch (classifierID)
- {
- case ComponentMappingPackage.TAG_MAPPING:
- {
- TagMapping tagMapping = (TagMapping)theEObject;
- T result = caseTagMapping(tagMapping);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.TAG_TO_VIEW_OBJECT_MAPPING:
- {
- TagToViewObjectMapping tagToViewObjectMapping = (TagToViewObjectMapping)theEObject;
- T result = caseTagToViewObjectMapping(tagToViewObjectMapping);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.CLASS_TYPE_INFO_:
- {
- ClassTypeInfo_ classTypeInfo_ = (ClassTypeInfo_)theEObject;
- T result = caseClassTypeInfo_(classTypeInfo_);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.COMPONENT_TYPE_INFO_:
- {
- ComponentTypeInfo_ componentTypeInfo_ = (ComponentTypeInfo_)theEObject;
- T result = caseComponentTypeInfo_(componentTypeInfo_);
- if (result == null) result = caseClassTypeInfo_(componentTypeInfo_);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.CONVERTER_TYPE_INFO_:
- {
- ConverterTypeInfo_ converterTypeInfo_ = (ConverterTypeInfo_)theEObject;
- T result = caseConverterTypeInfo_(converterTypeInfo_);
- if (result == null) result = caseClassTypeInfo_(converterTypeInfo_);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.VALIDATOR_TYPE_INFO_:
- {
- ValidatorTypeInfo_ validatorTypeInfo_ = (ValidatorTypeInfo_)theEObject;
- T result = caseValidatorTypeInfo_(validatorTypeInfo_);
- if (result == null) result = caseClassTypeInfo_(validatorTypeInfo_);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ComponentMappingPackage.ATTRIBUTE_TO_PROPERTY_MAPPING:
- {
- AttributeToPropertyMapping attributeToPropertyMapping = (AttributeToPropertyMapping)theEObject;
- T result = caseAttributeToPropertyMapping(attributeToPropertyMapping);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tag Mapping</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tag Mapping</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseTagMapping(TagMapping object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tag To View Object Mapping</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tag To View Object Mapping</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseTagToViewObjectMapping(TagToViewObjectMapping object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Class Type Info </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Class Type Info </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseClassTypeInfo_(ClassTypeInfo_ object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Component Type Info </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Component Type Info </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseComponentTypeInfo_(ComponentTypeInfo_ object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Converter Type Info </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Converter Type Info </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseConverterTypeInfo_(ConverterTypeInfo_ object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Validator Type Info </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Validator Type Info </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseValidatorTypeInfo_(ValidatorTypeInfo_ object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Attribute To Property Mapping</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Attribute To Property Mapping</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseAttributeToPropertyMapping(AttributeToPropertyMapping object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public T defaultCase(EObject object)
- {
- return null;
- }
-
-} //ComponentMappingSwitch
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingXMLProcessor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingXMLProcessor.java
deleted file mode 100644
index 0280c4e09..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/viewmapping/util/ComponentMappingXMLProcessor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentMappingXMLProcessor.java,v 1.1 2008/05/12 17:42:21 cbateman Exp $
- */
-package org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ComponentMappingXMLProcessor extends XMLProcessor
-{
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComponentMappingXMLProcessor()
- {
- super((EPackage.Registry.INSTANCE));
- ComponentMappingPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the ComponentMappingResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected Map<String, Resource.Factory> getRegistrations()
- {
- if (registrations == null)
- {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new ComponentMappingResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new ComponentMappingResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //ComponentMappingXMLProcessor
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/AbstractTagRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/AbstractTagRegistry.java
deleted file mode 100644
index 50d932830..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/AbstractTagRegistry.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsf.common.internal.RunOnCompletionPattern;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * The abstract registry that all implementations of ITagRegistry should
- * sub-class.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractTagRegistry implements ITagRegistry
-{
- private final List<ITagRegistryListener> _listeners;
- private final AtomicBoolean _isDisposed = new AtomicBoolean(
- false);
-
- /**
- *
- */
- protected AbstractTagRegistry()
- {
- super();
- _listeners = new CopyOnWriteArrayList<ITagRegistryListener>();
- }
-
- public final void addListener(final ITagRegistryListener listener)
- {
- if (!_listeners.contains(listener))
- {
- _listeners.add(listener);
- }
- }
-
- public final void removeListener(final ITagRegistryListener listener)
- {
- _listeners.remove(listener);
- }
-
- /**
- * @param event
- */
- protected final void fireEvent(final TagRegistryChangeEvent event)
- {
- for (final ITagRegistryListener listener : _listeners)
- {
- try
- {
- listener.registryChanged(event);
- }
- catch (final Exception e)
- {
- JSFCorePlugin.log(new Exception(e),
- "During change event notification"); //$NON-NLS-1$
- }
- }
- }
-
- public abstract Collection<? extends Namespace> getAllTagLibraries();
-
- public abstract Namespace getTagLibrary(String uri);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry.ITagRegistry#isDisposed()
- */
- public final boolean isDisposed()
- {
- return _isDisposed.get();
- }
-
- /**
- *
- */
- public final void destroy()
- {
- cleanupPersistentState();
- dispose();
- }
-
- /**
- * Called by destroy before it calls dispose. Sub-class should
- * invalidate, and ideally delete, any persistent state.
- *
- * NOTE: DO NOT call dispose functionality from this call. The framework
- * will call dispose() immediately after cleanupPersistentState.
- */
- protected abstract void cleanupPersistentState();
-
- /**
- * Must be factories or caches when disposing the registry. Instances
- * must implement doDispose to provide their specific disposal operations.
- */
- public final void dispose()
- {
- // latch on the isDisposed flag so this block can only ever
- // execute once
- if (_isDisposed.compareAndSet(false, true))
- {
- fireEvent(new TagRegistryChangeEvent(this,
- TagRegistryChangeEvent.EventType.REGISTRY_DISPOSED));
- doDispose();
- }
- }
-
- /**
- * Implement with instance specific disposal operations. Do do not fire
- * the REGISTRY_DISPOSED event from this method (it is done in dispose.
- *
- * Implementer must assume that this method be called at most once and that
- * it is error to access the registry instance after it is called
- */
- protected abstract void doDispose();
-
- public final void refresh(final Runnable runAfter, final boolean flushCaches)
- {
- final Job refreshJob = getRefreshJob(flushCaches);
-
- final RunOnCompletionPattern runPattern = new RunOnCompletionPattern(
- refreshJob, runAfter);
- runPattern.run();
- }
-
- /**
- * @param flushCaches
- * @return a job that, when run, will perform the registry refresh. Job
- * must do any necessary synchronizing of internal state.
- */
- protected abstract Job getRefreshJob(final boolean flushCaches);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/ITagRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/ITagRegistry.java
deleted file mode 100644
index 7bb3dde8d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/ITagRegistry.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EventListener;
-import java.util.EventObject;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-
-/**
- * A registry for tags for a given context TODO: generally tied to project, but
- * may also need a tie to specific tag-in-use type. For example, if JSPs and
- * Facelets are used at the same time?
- *
- * @author cbateman
- *
- */
-public interface ITagRegistry
-{
-
- /**
- * @return true if this registry is disposed. It is an error to use a
- * disposed registry and behaviour of such a registry is not
- * guaranteed.
- */
- public abstract boolean isDisposed();
-
- /**
- * This method may cause long-running operations to be executed. If runAfter
- * is non-null, any long running operations will schedule asynchronously on
- * a separate thread and on successful completion, runAfter will be executed
- * (no assumption should be made about what thread it is run on).
- *
- * @param runAfter
- * @param flushCaches true indicates that any cached data should be flushed.
- *
- */
- public abstract void refresh(final Runnable runAfter, final boolean flushCaches);
-
- /**
- * Callers should assume the collection is not modifiable. Implementers
- * may return a collection whose mutator operations throw exceptions.
- *
- * @return all tag libraries for a project tag registry
- */
- public abstract Collection<? extends Namespace> getAllTagLibraries();
-
- /**
- * @param uri
- * @return the tag library corresponding to uri or null if none.
- */
- public abstract Namespace getTagLibrary(final String uri);
-
- /**
- * Adds the listener to the list of objects that receive change events
- * from this tag registry instance. If listener is already in the list,
- * it will not be added again.
- *
- * @param listener
- */
- public abstract void addListener(ITagRegistryListener listener);
-
- /**
- * Remove listener from the list of objects that receive change events
- * from this tag registry instance.
- *
- * @param listener
- */
- public abstract void removeListener(ITagRegistryListener listener);
-
-
- /**
- * Marks a listener that receives tag registry change events
- *
- */
- interface ITagRegistryListener extends EventListener
- {
- /**
- * @param changeEvent
- */
- void registryChanged(final TagRegistryChangeEvent changeEvent);
- }
-
- /**
- * A change event object that communicates a single type of change to
- * a single tag registry
- *
- */
- static class TagRegistryChangeEvent extends EventObject
- {
- public enum EventType
- {
- // if the type is any of these three, then getAffectedObjects()
- // will return one or more Namespace objects that have changed.
- ADDED_NAMESPACE,
- REMOVED_NAMESPACE,
- CHANGED_NAMESPACE,
-
- // if the type is is this one, then the event is being called
- // before dispose operation on getSource().
- REGISTRY_DISPOSED
- }
- /**
- *
- */
- private static final long serialVersionUID = 6559096306615373552L;
- private final List<? extends Namespace> _affectedObjects;
- private final EventType _type;
-
- public TagRegistryChangeEvent(ITagRegistry source, EventType type)
- {
- this(source, type, Collections.EMPTY_LIST);
- }
-
- public TagRegistryChangeEvent(ITagRegistry source, EventType type,
- List<? extends Namespace> affectedObjects)
- {
- super(source);
- _affectedObjects = affectedObjects;
- _type = type;
- }
-
- @Override
- public ITagRegistry getSource()
- {
- return (ITagRegistry) super.getSource();
- }
-
- public List<? extends Namespace> getAffectedObjects()
- {
- return _affectedObjects;
- }
-
- public EventType getType()
- {
- return _type;
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/TagRegistryFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/TagRegistryFactory.java
deleted file mode 100644
index ba0f74da1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/TagRegistryFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.internal.strategy.IIdentifiableStrategy;
-
-/**
- * Creates a tag registry for the given project. The factory may use
- * whatever mechanism it chooses and the tag registry may or may not be a
- * single instance for project.
- *
- * @author cbateman
- *
- */
-public abstract class TagRegistryFactory implements IIdentifiableStrategy<IProject, ITagRegistry, String>
-{
- private static final ITagRegistry NO_RESULT = null;
-
- private static final String ID = "org.eclipse.jst.jsf.designtime.view.model.TagRegistryFactory"; //$NON-NLS-1$
-
- /**
- * @param project
- * @return a tag registry for project. This instance may be a common
- * shared per-project singleton. The factory must ensure that the registry
- * is cleaned up if the associated project becomes inaccessible (see IProject.isAccessible).
- * Return null if none.
- *
- * @throws TagRegistryFactoryException
- */
- public abstract ITagRegistry createTagRegistry(final IProject project) throws TagRegistryFactoryException;
-
- /**
- * @param project
- * @return determines whether a particular tag registry is appropriate for
- * the project. If there is no valid tag registry for a project (i.e. due
- * to lack of facet or bad facet version), return false.
- */
- public abstract boolean projectIsValid(final IProject project);
-
- /**
- * Allow
- *
- * @param project
- * @return true if an instance of ITagRegistry already exists for project
- */
- public abstract boolean isInstance(final IProject project);
-
- public final ITagRegistry getNoResult()
- {
- return NO_RESULT;
- }
-
- public final ITagRegistry perform(IProject project) throws Exception
- {
- return createTagRegistry(project);
- }
-
- public String getId()
- {
- return ID;
- }
-
- /**
- * Wraps exceptions generated by trying to create a tag registry
- */
- public static class TagRegistryFactoryException extends Exception
- {
- /**
- * serializable id
- */
- private static final long serialVersionUID = 1361229535611361339L;
-
- /**
- * @param cause
- */
- public TagRegistryFactoryException(Throwable cause)
- {
- super("Problem during tag registry construction", cause); //$NON-NLS-1$
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/AbstractTagResolvingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/AbstractTagResolvingStrategy.java
deleted file mode 100644
index 637ec963c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/AbstractTagResolvingStrategy.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-
-/**
- * Implements the tag resolving strategy.
- *
- * @author cbateman
- *
- * @param <TLDELEMENT>
- * @param <IDTYPE>
- */
-public abstract class AbstractTagResolvingStrategy<TLDELEMENT, IDTYPE>
- implements ITagResolvingStrategy<TLDELEMENT, IDTYPE>
-{
- private final static ITagElement NOT_FOUND_INDICATOR = null;
-
- public ITagElement getNotFoundIndicator()
- {
- return NOT_FOUND_INDICATOR;
- }
-
- public abstract ITagElement resolve(TLDELEMENT element);
-
- public abstract IDTYPE getId();
-
- /**
- * Must always be the same as resolve.
- */
- public final ITagElement perform(TLDELEMENT element)
- {
- return resolve(element);
- }
-
- /**
- * Must always be the same as getNotFoundIndicator.
- */
- public final ITagElement getNoResult()
- {
- return getNotFoundIndicator();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CMNodeNamedMapAdapter.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CMNodeNamedMapAdapter.java
deleted file mode 100644
index 733cccf0b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CMNodeNamedMapAdapter.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttributeHandler;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.IAttributeAdvisor.UnknownAttributeException;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-
-/**
- * Adapts TLDDocument attributes to a simple map of ITagAttributeHandler. Map is
- * unmodifiable.
- *
- * @author cbateman
- *
- */
-public class CMNodeNamedMapAdapter implements
- Map<String, ITagAttributeHandler>
-{
- private transient final TLDElementDeclaration _tldElement;
- private transient final IAttributeAdvisor _advisor;
- private transient final AtomicBoolean _isInitialized = new AtomicBoolean(false);
- private final Map<String, ITagAttributeHandler> _cache;
-
- /**
- * @param tldDoc
- * @param advisor
- */
- public CMNodeNamedMapAdapter(final TLDElementDeclaration tldDoc,
- final IAttributeAdvisor advisor)
- {
- _tldElement = tldDoc;
- _advisor = advisor;
- _cache = new HashMap<String, ITagAttributeHandler>();
- }
-
- public boolean containsKey(Object key)
- {
- ensureAllAttributes();
- return _cache.containsKey(key);
- }
-
- public boolean containsValue(Object value)
- {
- ensureAllAttributes();
- return _cache.containsValue(value);
- }
-
- public Set<java.util.Map.Entry<String, ITagAttributeHandler>> entrySet()
- {
- ensureAllAttributes();
- return _cache.entrySet();
- }
-
-
- public ITagAttributeHandler get(Object key)
- {
- if (key instanceof String)
- {
- return getOrCreateAttribute((String) key);
- }
- return null;
- }
-
- public boolean isEmpty()
- {
- return size() == 0;
- }
-
- public Set<String> keySet()
- {
- ensureAllAttributes();
- return Collections.unmodifiableSet(_cache.keySet());
- }
-
- public int size()
- {
- if (_tldElement != null)
- {
- return _tldElement.getAttributes().getLength();
- }
- return _cache.size();
- }
-
- public Collection<ITagAttributeHandler> values()
- {
- ensureAllAttributes();
- return Collections.unmodifiableCollection(_cache.values());
- }
-
- private synchronized ITagAttributeHandler getOrCreateAttribute(final String name)
- {
- ITagAttributeHandler tagAttr = _cache.get(name);
-
- if (tagAttr == null)
- {
- try
- {
- tagAttr = _advisor.createAttributeHandler(name);
- _cache.put(name, tagAttr);
- }
- catch (UnknownAttributeException e)
- {
- JSFCorePlugin.log(e, "Trying to get attribute for "+name); //$NON-NLS-1$
- }
- }
-
- return tagAttr;
- }
-
- private void ensureAllAttributes()
- {
- if (_isInitialized.compareAndSet(false, true))
- {
- for (final Iterator it = _tldElement.getAttributes().iterator(); it.hasNext();)
- {
- final CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) it.next();
- getOrCreateAttribute(attrDecl.getAttrName());
- }
- }
- }
-
- public void clear()
- {
- throw new UnsupportedOperationException("Cannot modify map"); //$NON-NLS-1$
- }
-
- public ITagAttributeHandler put(String key, ITagAttributeHandler value)
- {
- throw new UnsupportedOperationException("Cannot modify map"); //$NON-NLS-1$
- }
-
- public void putAll(Map<? extends String, ? extends ITagAttributeHandler> t)
- {
- throw new UnsupportedOperationException("Cannot modify map"); //$NON-NLS-1$
- }
-
- public ITagAttributeHandler remove(Object key)
- {
- throw new UnsupportedOperationException("Cannot modify map"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CompositeTagResolvingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CompositeTagResolvingStrategy.java
deleted file mode 100644
index 8037ff1a2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/CompositeTagResolvingStrategy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.internal.policy.IIdentifiable;
-import org.eclipse.jst.jsf.common.internal.policy.IIteratorPolicy;
-import org.eclipse.jst.jsf.common.internal.strategy.IteratorPolicyBasedStrategyComposite;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-
-/**
- * @author cbateman
- *
- * @param <TLDELEMENT>
- */
-public class CompositeTagResolvingStrategy<TLDELEMENT>
- extends
- IteratorPolicyBasedStrategyComposite<TLDELEMENT, ITagElement, ITagElement, String, ITagResolvingStrategy<TLDELEMENT, String>>
- implements IIdentifiable<String>,
- ITagResolvingStrategy<TLDELEMENT, String>
-{
- private static final String ID = "org.eclipse.jst.jsf.designtime.CompositeTagResolvingStrategy"; //$NON-NLS-1$
-
- /**
- * @param policy
- *
- */
- public CompositeTagResolvingStrategy(final IIteratorPolicy<String> policy)
- {
- super(policy);
- }
-
- public final String getId()
- {
- return ID;
- }
-
- public final String getDisplayName()
- {
- return Messages.CompositeTagResolvingStrategy_DisplayName;
- }
-
- @Override
- public ITagElement getNoResult()
- {
- return null;
- }
-
- public final ITagElement getNotFoundIndicator()
- {
- return getNoResult();
- }
-
- public final ITagElement resolve(TLDELEMENT element)
- {
- return perform(element);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultJSPTagResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultJSPTagResolver.java
deleted file mode 100644
index e34d56d1d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultJSPTagResolver.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.types.TypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IHandlerTagElement.TagHandlerType;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ViewMetadataLoader;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ViewMetadataMapper;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.IAttributeAdvisor.NullAttributeAdvisor;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.osgi.framework.Version;
-
-/**
- * ** TEMPORARY CLASS UNTIL META-DATA STRATEGY IS AVAILABLE **
- *
- * @author cbateman
- *
- */
-public class DefaultJSPTagResolver extends JSPTagResolvingStrategy
-{
- /**
- * strategy id
- */
- public final static String ID = "org.eclipse.jst.jsf.metadata.DefaultJSPTagResolver"; //$NON-NLS-1$
- /**
- * displayable nameb
- */
- public final static String DISPLAY_NAME = Messages.DefaultJSPTagResolver_DisplayName;
-
- private final ViewMetadataLoader _loader;
- private final ViewMetadataMapper _mapper;
-
- /**
- * @return the descriptor for this resolver strategy
- */
- public static StrategyDescriptor createDescriptor()
- {
- return new StrategyDescriptor(ID, DISPLAY_NAME);
- }
-
- /**
- * @param project
- */
- public DefaultJSPTagResolver(final IProject project)
- {
- _loader = new ViewMetadataLoader(project);
- _mapper = new ViewMetadataMapper();
- }
-
- @Override
- public ITagElement resolve(final TLDElementDeclaration elementDecl)
- {
- // final IProjectFacetVersion version = JSFAppConfigUtils
- // .getProjectFacet(_project);
- // final String versionAsString = version.getVersionString();
- // final JSFVersion jsfVersion = JSFVersion.valueOfString(versionAsString);
-
- final TagIdentifier tagId = TagIdentifierFactory
- .createTLDTagWrapper(elementDecl);
- // final DefaultTagTypeInfo defaultTagTypeInfo = new DefaultTagTypeInfo();
- final TagMapping mapping = _loader.getTagToViewMapping(tagId);
-
- TypeInfo elementType = null;
- if (mapping != null)
- {
- elementType = findTypeInfo(mapping, "1.1", null); //$NON-NLS-1$
- }
-
- if (elementType instanceof ComponentTypeInfo)
- {
- return new TLDComponentTagElement(elementDecl,
- (ComponentTypeInfo) elementType,
- new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
- }
- else if (elementType instanceof ConverterTypeInfo)
- {
- return new TLDConverterTagElement(elementDecl,
- (ConverterTypeInfo) elementType,
- new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
- }
- else if (elementType instanceof ValidatorTypeInfo)
- {
- return new TLDValidatorTagElement(elementDecl,
- (ValidatorTypeInfo) elementType,
- new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
- }
- else if (elementType instanceof TagHandlerType)
- {
- return new TLDTagHandlerElement(elementDecl,
- (TagHandlerType) elementType,
- new MetadataAttributeAdvisor(tagId, _loader, elementDecl));
- }
- else if (DefaultTagTypeInfo.isDefaultLib(tagId.getUri()))
- {
- return new TLDTagElement(elementDecl, new NullAttributeAdvisor());
- }
-
- // not found
- return null;
- }
-
- private TypeInfo findTypeInfo(final TagMapping mapping, final String jsfVersion,
- final String libVersion)
- {
- final EList list = mapping.getVersionedTagToViewMappings();
-
- FIND_BY_VERSION : for (final Iterator<?> it = list.iterator(); it.hasNext();)
- {
- Object obj = it.next();
-
- if (obj instanceof TagToViewObjectMapping)
- {
- final TagToViewObjectMapping viewMapping = (TagToViewObjectMapping) obj;
-
- final String minJsfVersionString = viewMapping.getMinJSFVersion();
- if (minJsfVersionString != null)
- {
- try
- {
- final Version version = new Version(jsfVersion);
- final Version minVersion = Version.parseVersion(minJsfVersionString);
-
- if (version.compareTo(minVersion) < 0)
- {
- // my version is less than the minimum specified
- // by this meta-data
- continue FIND_BY_VERSION;
- }
- }
- catch (final IllegalArgumentException iae)
- {
- continue FIND_BY_VERSION;
- }
- }
- final String minLibVersionString = viewMapping.getMinLibraryVersion();
- if (libVersion != null && minLibVersionString != null)
- {
- try
- {
- final Version version = new Version(libVersion);
- final Version minLibVersion = Version.parseVersion(minLibVersionString);
-
- if (version.compareTo(minLibVersion) < 0)
- {
- // my lib version is less than the minimum specified
- // by the meta-data
- continue FIND_BY_VERSION;
- }
- }
- catch (IllegalArgumentException iae)
- {
- continue FIND_BY_VERSION;
- }
- }
- return _mapper.mapToFrameworkData(viewMapping.getTypeInfo());
- }
- }
- return null;
- }
-
- @Override
- public String getId()
- {
- return ID;
- }
-
- public String getDisplayName()
- {
- return DISPLAY_NAME;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultTagTypeInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultTagTypeInfo.java
deleted file mode 100644
index 6853c82a9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/DefaultTagTypeInfo.java
+++ /dev/null
@@ -1,655 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.types.TypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IHandlerTagElement.TagHandlerType;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-
-/**
- * Hard-coded TypeInfo for default core and html JSF tags.
- *
- * @author cbateman
- *
- */
-public final class DefaultTagTypeInfo
-{
- private final static Set<String> URI_IS_A_JSF_LIB;
-
- static
- {
- final Set<String> libs = new HashSet<String>();
- libs.add(ITLDConstants.URI_JSF_CORE);
- libs.add(ITLDConstants.URI_JSF_HTML);
- URI_IS_A_JSF_LIB = Collections.unmodifiableSet(libs);
- }
-
- /**
- * @param tagId
- * @param jsfVersion
- * @return a type info for the tag id in jsf version or null if none.
- */
- public TypeInfo getTypeInfo(final TagIdentifier tagId,
- final JSFVersion jsfVersion)
- {
-
- switch (jsfVersion)
- {
- case V1_0:
- case V1_1:
- return JSF11_ELEMENTS.get(tagId);
-
- case V1_2:
- return JSF12_ELEMENTS.get(tagId);
-
- default:
- return null;
- }
- }
-
- /**
- * @param uri
- * @return true if uri is covered by this class
- */
- public static boolean isDefaultLib(final String uri)
- {
- return URI_IS_A_JSF_LIB.contains(uri);
- }
-
- private static final ComponentTypeInfo COMPINFO_PARAM = new ComponentTypeInfo(
- "javax.faces.Parameter", //$NON-NLS-1$
- "javax.faces.component.UIParameter", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Parameter", //$NON-NLS-1$
- null);
-
- private static final ComponentTypeInfo COMPINFO_SELECTITEM = new ComponentTypeInfo(
- "javax.faces.SelectItem", //$NON-NLS-1$
- "javax.faces.component.UISelectItem", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectItem", //$NON-NLS-1$
- null);
-
- private static final ComponentTypeInfo COMPINFO_SELECTITEMS = new ComponentTypeInfo(
- "javax.faces.SelectItems", //$NON-NLS-1$
- "javax.faces.component.UISelectItems", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectItems", //$NON-NLS-1$
- null);
-
- private static final ComponentTypeInfo COMPINFO_SUBVIEW = new ComponentTypeInfo(
- "javax.faces.NamingContainer", //$NON-NLS-1$
- "javax.faces.component.UINamingContainer", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.NamingContainer", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.NamingContainer", //$NON-NLS-1$
- null);
-
- private static final ComponentTypeInfo COMPINFO_VERBATIM = new ComponentTypeInfo(
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.component.UIOutput", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.Text"); //$NON-NLS-1$
-
- private static final ComponentTypeInfo COMPINFO_VIEW = new ComponentTypeInfo(
- "javax.faces.ViewRoot", //$NON-NLS-1$
- "javax.faces.component.UIViewRoot", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.ViewRoot", //$NON-NLS-1$
- null);
-
- // expected type info for jsf/html components
- private static final ComponentTypeInfo COMPINFO_COLUMN = new ComponentTypeInfo(
- "javax.faces.Column", //$NON-NLS-1$
- "javax.faces.component.UIColumn", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Column", //$NON-NLS-1$
- null);
- private static final ComponentTypeInfo COMPINFO_COMMAND = new ComponentTypeInfo(
- "javax.faces.HtmlCommandButton", //$NON-NLS-1$
- "javax.faces.component.html.HtmlCommandButton", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UICommand", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ActionSource", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Command", //$NON-NLS-1$
- "javax.faces.Button"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_COMMANDLINK = new ComponentTypeInfo(
- "javax.faces.HtmlCommandLink", //$NON-NLS-1$
- "javax.faces.component.html.HtmlCommandLink", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UICommand", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ActionSource", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Command", //$NON-NLS-1$
- "javax.faces.Link"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_DATATABLE = new ComponentTypeInfo(
- "javax.faces.HtmlDataTable", //$NON-NLS-1$
- "javax.faces.component.html.HtmlDataTable", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIData", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.NamingContainer", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Data", //$NON-NLS-1$
- "javax.faces.Table"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_FORM = new ComponentTypeInfo(
- "javax.faces.HtmlForm", //$NON-NLS-1$
- "javax.faces.component.html.HtmlForm", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIForm", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.NamingContainer", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Form", //$NON-NLS-1$
- "javax.faces.Form"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_GRAPHIC = new ComponentTypeInfo(
- "javax.faces.HtmlGraphicImage", //$NON-NLS-1$
- "javax.faces.component.html.HtmlGraphicImage", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIGraphic", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Graphic", //$NON-NLS-1$
- "javax.faces.Image"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_HIDDEN = new ComponentTypeInfo(
- "javax.faces.HtmlInputHidden", //$NON-NLS-1$
- "javax.faces.component.html.HtmlInputHidden", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Input", //$NON-NLS-1$
- "javax.faces.Hidden"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SECRET = new ComponentTypeInfo(
- "javax.faces.HtmlInputSecret", //$NON-NLS-1$
- "javax.faces.component.html.HtmlInputSecret", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Input", //$NON-NLS-1$
- "javax.faces.Secret"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_INPUTTEXT = new ComponentTypeInfo(
- "javax.faces.HtmlInputText", //$NON-NLS-1$
- "javax.faces.component.html.HtmlInputText", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder" }, //$NON-NLS-1$
- "javax.faces.Input", //$NON-NLS-1$
- "javax.faces.Text"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_INPUTTEXTAREA = new ComponentTypeInfo(
- "javax.faces.HtmlInputTextarea", //$NON-NLS-1$
- "javax.faces.component.html.HtmlInputTextarea", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Input", //$NON-NLS-1$
- "javax.faces.Textarea"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_MESSAGE = new ComponentTypeInfo(
- "javax.faces.HtmlMessage", //$NON-NLS-1$
- "javax.faces.component.html.HtmlMessage", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIMessage", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Message", //$NON-NLS-1$
- "javax.faces.Message"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_MESSAGES = new ComponentTypeInfo(
- "javax.faces.HtmlMessages", //$NON-NLS-1$
- "javax.faces.component.html.HtmlMessages", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIMessages", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Messages", //$NON-NLS-1$
- "javax.faces.Messages"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_OUTPUTFORMAT = new ComponentTypeInfo(
- "javax.faces.HtmlOutputFormat", //$NON-NLS-1$
- "javax.faces.component.html.HtmlOutputFormat", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIOutput", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.Format"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_OUTPUTLABEL = new ComponentTypeInfo(
- "javax.faces.HtmlOutputLabel", //$NON-NLS-1$
- "javax.faces.component.html.HtmlOutputLabel", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIOutput", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.Label"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_OUTPUTLINK = new ComponentTypeInfo(
- "javax.faces.HtmlOutputLink", //$NON-NLS-1$
- "javax.faces.component.html.HtmlOutputLink", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIOutput", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.Link"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_OUTPUTTEXT = new ComponentTypeInfo(
- "javax.faces.HtmlOutputText", //$NON-NLS-1$
- "javax.faces.component.html.HtmlOutputText", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIOutput", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Output", //$NON-NLS-1$
- "javax.faces.Text"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_PANELGRID = new ComponentTypeInfo(
- "javax.faces.HtmlPanelGrid", //$NON-NLS-1$
- "javax.faces.component.html.HtmlPanelGrid", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIPanel", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Panel", //$NON-NLS-1$
- "javax.faces.Grid"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_PANELGROUP = new ComponentTypeInfo(
- "javax.faces.HtmlPanelGroup", //$NON-NLS-1$
- "javax.faces.component.html.HtmlPanelGroup", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UIPanel", //$NON-NLS-1$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- { "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.Panel", //$NON-NLS-1$
- "javax.faces.Group"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTBOOLEANCHECKBOX = new ComponentTypeInfo(
- "javax.faces.HtmlSelectBooleanCheckbox", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectBooleanCheckbox", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectBoolean", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectBoolean", //$NON-NLS-1$
- "javax.faces.Checkbox"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTMANYCHECKBOX = new ComponentTypeInfo(
- "javax.faces.HtmlSelectManyCheckbox", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectManyCheckbox", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectMany", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectMany", //$NON-NLS-1$
- "javax.faces.Checkbox"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTMANYLISTBOX = new ComponentTypeInfo(
- "javax.faces.HtmlSelectManyListbox", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectManyListbox", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectMany", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectMany", //$NON-NLS-1$
- "javax.faces.Listbox"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTMANYMENU = new ComponentTypeInfo(
- "javax.faces.HtmlSelectManyMenu", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectManyMenu", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectMany", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectMany", //$NON-NLS-1$
- "javax.faces.Menu"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTONELISTBOX = new ComponentTypeInfo(
- "javax.faces.HtmlSelectOneListbox", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectOneListbox", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectOne", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectOne", //$NON-NLS-1$
- "javax.faces.Listbox"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTONEMENU = new ComponentTypeInfo(
- "javax.faces.HtmlSelectOneMenu", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectOneMenu", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectOne", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectOne", //$NON-NLS-1$
- "javax.faces.Menu"); //$NON-NLS-1$
- private static final ComponentTypeInfo COMPINFO_SELECTONERADIO = new ComponentTypeInfo(
- "javax.faces.HtmlSelectOneRadio", //$NON-NLS-1$
- "javax.faces.component.html.HtmlSelectOneRadio", //$NON-NLS-1$
- new String[]
- {
- "javax.faces.component.UISelectOne", //$NON-NLS-1$
- "javax.faces.component.UIInput", "javax.faces.component.UIOutput", //$NON-NLS-1$ //$NON-NLS-2$
- "javax.faces.component.UIComponentBase", //$NON-NLS-1$
- "javax.faces.component.UIComponent", "java.lang.Object", }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[]
- {
- "javax.faces.component.EditableValueHolder", //$NON-NLS-1$
- "javax.faces.component.ValueHolder", //$NON-NLS-1$
- "javax.faces.component.StateHolder", }, //$NON-NLS-1$
- "javax.faces.SelectOne", //$NON-NLS-1$
- "javax.faces.Radio"); //$NON-NLS-1$
-
- // default converters
- private static final ConverterTypeInfo CONVERTERINFO_DATETIME = new ConverterTypeInfo(
- "javax.faces.convert.DateTimeConverter", //$NON-NLS-1$
- "javax.faces.DateTime"); //$NON-NLS-1$
-
- private static final ConverterTypeInfo CONVERTERINFO_NUMBER = new ConverterTypeInfo(
- "javax.faces.convert.NumberConverter", //$NON-NLS-1$
- "javax.faces.Number"); //$NON-NLS-1$
-
- // default validators
- private static final ValidatorTypeInfo VALIDATORINFO_DOUBLERANGE = new ValidatorTypeInfo(
- "javax.faces.validator.DoubleRangeValidator", //$NON-NLS-1$
- "javax.faces.DoubleRange"); //$NON-NLS-1$
-
- private static final ValidatorTypeInfo VALIDATORINFO_LENGTH = new ValidatorTypeInfo(
- "javax.faces.validator.LengthValidator", //$NON-NLS-1$
- "javax.faces.Length"); //$NON-NLS-1$
-
- private static final ValidatorTypeInfo VALIDATORINFO_LONGRANGE = new ValidatorTypeInfo(
- "javax.faces.validator.LongRangeValidator", //$NON-NLS-1$
- "javax.faces.LongRange"); //$NON-NLS-1$
-
- private static Map<TagIdentifier, TypeInfo> JSF11_ELEMENTS;
- private static Map<TagIdentifier, TypeInfo> JSF12_ELEMENTS;
-
- static
- {
- final Map<TagIdentifier, TypeInfo> commonElements = new HashMap<TagIdentifier, TypeInfo>();
- // IJSFConstants.TAG_IDENTIFIER_PHASELISTENER);
- // IJSFConstants.TAG_IDENTIFIER_SETPROPERTYACTIONLISTENER);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_ACTIONLISTENER,
- TagHandlerType.ACTIONLISTENER);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_ATTRIBUTE,
- TagHandlerType.ATTRIBUTE);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_CONVERTDATETIME,
- CONVERTERINFO_DATETIME);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_CONVERTER,
- ConverterTypeInfo.UNKNOWN);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_CONVERTNUMBER,
- CONVERTERINFO_NUMBER);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_FACET, TagHandlerType.FACET);
- // elements.put(IJSFConstants.TAG_IDENTIFIER_LOADBUNDLE,
- // TagHandlerType.);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_PARAM, COMPINFO_PARAM);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTITEM,
- COMPINFO_SELECTITEM);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTITEMS,
- COMPINFO_SELECTITEMS);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SUBVIEW, COMPINFO_SUBVIEW);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VALIDATEDOUBLERANGE,
- VALIDATORINFO_DOUBLERANGE);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VALIDATELENGTH,
- VALIDATORINFO_LENGTH);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VALIDATELONGRANGE,
- VALIDATORINFO_LONGRANGE);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VALIDATOR,
- ValidatorTypeInfo.UNKNOWN);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VALUECHANGELISTENER,
- TagHandlerType.VALUECHANGELISTENER);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VERBATIM, COMPINFO_VERBATIM);
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_VIEW, COMPINFO_VIEW);
-
- // JSF 1.2 core elements
- // none currently...
-
- // JSF 1.1/1.2 HTML tags
- // html verifier
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_COLUMN, COMPINFO_COLUMN);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_COMMANDBUTTON,
- COMPINFO_COMMAND);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_COMMANDLINK,
- COMPINFO_COMMANDLINK);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_DATA_TABLE,
- COMPINFO_DATATABLE);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_FORM, COMPINFO_FORM);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_GRAPHICIMAGE,
- COMPINFO_GRAPHIC);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_INPUTHIDDEN, COMPINFO_HIDDEN);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_INPUTSECRET, COMPINFO_SECRET);
-
- commonElements
- .put(IJSFConstants.TAG_IDENTIFIER_INPUTTEXT, COMPINFO_INPUTTEXT);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_INPUTTEXTAREA,
- COMPINFO_INPUTTEXTAREA);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_MESSAGE, COMPINFO_MESSAGE);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_MESSAGES, COMPINFO_MESSAGES);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_OUTPUTFORMAT,
- COMPINFO_OUTPUTFORMAT);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_OUTPUTLABEL,
- COMPINFO_OUTPUTLABEL);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_OUTPUTLINK,
- COMPINFO_OUTPUTLINK);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_OUTPUTTEXT,
- COMPINFO_OUTPUTTEXT);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_PANEL_GRID,
- COMPINFO_PANELGRID);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_PANEL_GROUP,
- COMPINFO_PANELGROUP);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTBOOLEANCHECKBOX,
- COMPINFO_SELECTBOOLEANCHECKBOX);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTMANYCHECKBOX,
- COMPINFO_SELECTMANYCHECKBOX);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTMANYLISTBOX,
- COMPINFO_SELECTMANYLISTBOX);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTMANYMENU,
- COMPINFO_SELECTMANYMENU);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTONELISTBOX,
- COMPINFO_SELECTONELISTBOX);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTONEMENU,
- COMPINFO_SELECTONEMENU);
-
- commonElements.put(IJSFConstants.TAG_IDENTIFIER_SELECTONERADIO,
- COMPINFO_SELECTONERADIO);
-
- JSF11_ELEMENTS = Collections.unmodifiableMap(commonElements);
-
- JSF12_ELEMENTS = Collections
- .unmodifiableMap(new HashMap<TagIdentifier, TypeInfo>(commonElements));
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/IAttributeAdvisor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/IAttributeAdvisor.java
deleted file mode 100644
index 37596b2a9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/IAttributeAdvisor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttributeHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.TagAttributeHandler;
-
-/**
- * @author cbateman
- *
- */
-public interface IAttributeAdvisor
-{
-
- /**
- * @param name
- * @return a tag attribute handler for the name.
- * @throws UnknownAttributeException if name does not match a known attribute.
- */
- ITagAttributeHandler createAttributeHandler(String name) throws UnknownAttributeException;
-
- /**
- * @return a map of attributes indexed by local name
- */
- Map<String, ? extends ITagAttribute> getAttributes();
-
- /**
- * @author cbateman
- *
- */
- public static class NullAttributeAdvisor implements IAttributeAdvisor
- {
- public ITagAttributeHandler createAttributeHandler(String name)
- throws UnknownAttributeException
- {
- return new TagAttributeHandler(null, name, false);
- }
-
- public Map<String, ? extends ITagAttribute> getAttributes()
- {
- return Collections.emptyMap();
- }
- }
-
- /**
- * Indicates an unknown attribute was requested or encountered
- * @author cbateman
- *
- */
- public static class UnknownAttributeException extends Exception
- {
- /**
- *
- */
- private static final long serialVersionUID = -988838913707929315L;
-
- /**
- *
- */
- public UnknownAttributeException()
- {
- super();
- }
-
- /**
- * @param message
- * @param cause
- */
- public UnknownAttributeException(String message, Throwable cause)
- {
- super(message, cause);
- }
-
- /**
- * @param message
- */
- public UnknownAttributeException(String message)
- {
- super(message);
- }
-
- /**
- * @param cause
- */
- public UnknownAttributeException(Throwable cause)
- {
- super(cause);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/ITagResolvingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/ITagResolvingStrategy.java
deleted file mode 100644
index 4befb221e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/ITagResolvingStrategy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.internal.strategy.IIdentifiableStrategy;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-
-/**
- * Describes an algorithm that can produce ITagElements from <TLD> objects.
- *
- * @author cbateman
- * @param <TLDELEMENT> the object type that describes a tag library.
- * @param <IDTYPE>
- *
- */
-public interface ITagResolvingStrategy<TLDELEMENT, IDTYPE> extends
- IIdentifiableStrategy<TLDELEMENT, ITagElement, IDTYPE>
-{
- /**
- * @param element
- * @return a new tag element or {@link #getNotFoundIndicator()} if not found
- */
- ITagElement resolve(TLDELEMENT element);
-
- /**
- * @return the ITagElement (may be null) that indicates that
- * resolve(TLDELEMENT) could not resolve a tag. The return
- * must be testable with standard "==" operator and not equals().
- */
- ITagElement getNotFoundIndicator();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/JSPTagResolvingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/JSPTagResolvingStrategy.java
deleted file mode 100644
index 8f2235db6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/JSPTagResolvingStrategy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A strategy for resolving JSP TLDs.
- *
- * @author cbateman
- *
- */
-public abstract class JSPTagResolvingStrategy extends
- AbstractTagResolvingStrategy<TLDElementDeclaration, String>
-{
- @Override
- public abstract ITagElement resolve(TLDElementDeclaration element);
-
- public abstract String getId();
-
- public abstract String getDisplayName();
-
- /**
- * A descriptor for JSP tag resolving strategies
- *
- * @author cbateman
- *
- */
- public final static class StrategyDescriptor
- {
- private final String _id;
- private final String _displayName;
-
- /**
- * @param id
- * @param displayName
- */
- public StrategyDescriptor(final String id, final String displayName)
- {
- _id = id;
- _displayName = displayName;
- }
-
- /**
- * @return the id of the strategy
- */
- public String getId()
- {
- return _id;
- }
- /**
- * @return the human-readable displayable name of the strategy
- */
- public String getDisplayName()
- {
- return _displayName;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/Messages.java
deleted file mode 100644
index 9d3dcee38..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * NLS message getter.
- *
- * @author cbateman
- *
- */
-public class Messages extends NLS
-{
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.internal.view.model.jsp.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String UnresolvedJSPTagResolvingStrategy_1;
- static
- {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/MetadataAttributeAdvisor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/MetadataAttributeAdvisor.java
deleted file mode 100644
index df2c7ac1f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/MetadataAttributeAdvisor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ComponentPropertyHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttributeHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.TagAttributeHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.ViewMetadataLoader;
-import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.AttributeToPropertyMapping;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDAttributeDeclaration;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-/* package */class MetadataAttributeAdvisor implements IAttributeAdvisor
-{
- private final TagIdentifier _tagId;
- private final ViewMetadataLoader _loader;
- private final TLDElementDeclaration _tldElement;
-
- public MetadataAttributeAdvisor(final TagIdentifier tagId,
- final ViewMetadataLoader loader, TLDElementDeclaration tldElement)
- {
- _tagId = tagId;
- _loader = loader;
- _tldElement = tldElement;
- }
-
- public ITagAttributeHandler createAttributeHandler(final String name)
- throws UnknownAttributeException
- {
- final AttributeToPropertyMapping mapping = _loader.getAttributeMapping(
- _tagId, name);
- if (mapping != null)
- {
- final String customHandler = mapping.getCustomConversionFactoryId();
- final boolean isELAllowed = mapping.isElAllowed();
- final String propertyName = mapping.getPropertyName();
- if (propertyName != null)
- {
- return new ComponentPropertyHandler(customHandler, name,
- isELAllowed, propertyName);
- }
- return new TagAttributeHandler(customHandler, name, isELAllowed);
- }
- return new TagAttributeHandler(null, name, false);
- }
-
- public Map<String, ? extends ITagAttribute> getAttributes()
- {
- final Map<String, TLDTagAttribute> attributes = new HashMap<String, TLDTagAttribute>();
-
- for (int i = 0; i < _tldElement.getAttributes().getLength(); i++)
- {
- CMNode item = _tldElement.getAttributes().item(i);
- if (item instanceof TLDAttributeDeclaration)
- {
- TLDTagAttribute attr = new TLDTagAttribute((TLDAttributeDeclaration) item);
- attributes.put(attr.getName(), attr);
- }
- }
- return attributes;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDComponentTagElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDComponentTagElement.java
deleted file mode 100644
index 416bc1638..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDComponentTagElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IComponentTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-
-
-/**
- * A TLD-defined tag (i.e. JSP) that maps one-to-one with a JSF UIComponent
- * @author cbateman
- *
- */
-public class TLDComponentTagElement extends TLDJSFTagElement implements
-IComponentTagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = -6479445622102799425L;
- private final ComponentTypeInfo _componentTypeInfo;
-
- /**
- * @param elementDecl
- * @param componentTypeInfo
- * @param advisor
- */
- public TLDComponentTagElement(final TLDElementDeclaration elementDecl
- , final ComponentTypeInfo componentTypeInfo, final IAttributeAdvisor advisor)
- {
- super(elementDecl, advisor);
- _componentTypeInfo = componentTypeInfo;
- }
-
- public ComponentTypeInfo getComponent()
- {
- return _componentTypeInfo;
- }
-
- @Override
- public TagType getType()
- {
- return TagType.COMPONENT;
- }
-
- @Override
- public String toString()
- {
- final String attributes = constructAttributesString();
- return _componentTypeInfo.toString() +
- (!"".equals(attributes) ? "\n" + attributes : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDConverterTagElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDConverterTagElement.java
deleted file mode 100644
index 257a6f479..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDConverterTagElement.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IConverterTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A TLD-defined tag (i.e. JSP) that maps one-to-one with a JSF Converter
- *
- * @author cbateman
- *
- */
-public class TLDConverterTagElement extends TLDJSFTagElement implements IConverterTagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = 2854457220470229847L;
- private final ConverterTypeInfo _converterTypeInfo;
-
- /**
- * @param elementDecl
- * @param converterTypeInfo
- * @param advisor
- */
- public TLDConverterTagElement(final TLDElementDeclaration elementDecl, final ConverterTypeInfo converterTypeInfo, final IAttributeAdvisor advisor)
- {
- super(elementDecl, advisor);
- _converterTypeInfo = converterTypeInfo;
- }
-
- @Override
- public TagType getType()
- {
- return TagType.CONVERTER;
- }
-
- /**
- * @return the type info for this converter
- */
- public final ConverterTypeInfo getConverter()
- {
- return _converterTypeInfo;
- }
-
- @Override
- public String toString()
- {
- return _converterTypeInfo.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDJSFTagElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDJSFTagElement.java
deleted file mode 100644
index 58f88a865..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDJSFTagElement.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IJSFTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A JSF tag element.
- *
- * @author cbateman
- *
- */
-public abstract class TLDJSFTagElement extends TLDTagElement implements
- IJSFTagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = -7629153104201317346L;
-
- /**
- * @param elementDecl
- * @param advisor
- */
- public TLDJSFTagElement(final TLDElementDeclaration elementDecl
- , final IAttributeAdvisor advisor)
- {
- super(elementDecl, advisor);
- }
-
- public abstract TagType getType();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDNamespace.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDNamespace.java
deleted file mode 100644
index 043ffe7d5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDNamespace.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence.SerializableTLDNamespace;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-
-/**
- * Represents a JSP tag library namespace
- *
- * @author cbateman
- *
- */
-public class TLDNamespace extends Namespace
-{
- /**
- *
- */
- private static final long serialVersionUID = 9206460825737988441L;
- private TLDNamespaceData _tldData;
-
- /**
- * @param tldDoc
- * @param tagResolver
- */
- public TLDNamespace(
- final TLDDocument tldDoc,
- final ITagResolvingStrategy<TLDElementDeclaration, String> tagResolver)
- {
- _tldData = new DocumentTLDNamespaceData(tldDoc, tagResolver);
- }
-
- @Override
- public final String getDisplayName()
- {
- return _tldData.getDisplayName();
- }
-
- @Override
- public final String getNSUri()
- {
- return _tldData.getUri();
- }
-
- @Override
- public boolean isInitialized()
- {
- return _tldData.isInitialized();
- }
-
- public final ITagElement getViewElement(final String name)
- {
- // // bias the table small if this creates it
- // final Map<String, ITagElement> tags = getOrCreateMap(3);
- //
- // return _tldData.getOrCreateTagElement(name, tags);
- return _tldData.getViewElement(name);
- }
-
- @Override
- public final Collection<? extends ITagElement> getViewElements()
- {
- return Collections.unmodifiableCollection(_tldData.getAllViewElements().values());
- }
-
- /**
- * Differs from getViewElements because it won't include those elements
- * that haven't been lazily loaded.
- *
- * @return an unmodifiable map of all elements currently calculated for
- * this namespaces
- */
- public final Map<String, ITagElement> getCurrentElements()
- {
- return Collections.unmodifiableMap(_tldData.getCurrentElements());
- }
-
- @Override
- public final boolean hasViewElements()
- {
- return _tldData.getNumTags() > 0;
- }
-
-
- private Object writeReplace()
- {
- return new SerializableTLDNamespace(this);
- }
-
- private static class DocumentTLDNamespaceData extends TLDNamespaceData
- {
- /**
- *
- */
- private static final long serialVersionUID = -1098872687238068584L;
- private final transient TLDDocument _tldDoc;
- private final transient ITagResolvingStrategy<TLDElementDeclaration, String> _tagResolver;
- private final transient ILock _tagMapReadWriteLock;
- // should only be accessed directly in getOrCreateMap;
- private Map<String, ITagElement> _tags; // lazy init in initializeTags
-
- public DocumentTLDNamespaceData(
- final TLDDocument tldDoc,
- final ITagResolvingStrategy<TLDElementDeclaration, String> tagResolver)
- {
- _tldDoc = tldDoc;
- _tagResolver = tagResolver;
- _tagMapReadWriteLock = Job.getJobManager().newLock();
- }
-
- @Override
- public String getDisplayName()
- {
- String displayName = _tldDoc.getDisplayName();
- if (displayName == null || "".equals(displayName.trim())) //$NON-NLS-1$
- {
- displayName = getUri();
- }
- return displayName;
- }
-
- @Override
- public String getUri()
- {
- return _tldDoc.getUri();
- }
-
- @Override
- public int getNumTags()
- {
- return _tldDoc.getElements().getLength();
- }
-
- private ITagElement createTagElement(final String name)
- {
- CMNode cmNode = _tldDoc.getElements().getNamedItem(name);
- ITagElement tagElement = null;
- if (cmNode instanceof TLDElementDeclaration)
- {
- tagElement = _tagResolver
- .resolve((TLDElementDeclaration) cmNode);
-
- if (tagElement == _tagResolver.getNotFoundIndicator())
- {
- // the not-found indicator may not be null.
- tagElement = null;
- }
- }
- return tagElement;
- }
-
- public final Map<String, ITagElement> getAllViewElements()
- {
- final CMNamedNodeMap elementMap = _tldDoc.getElements();
- final Map<String, ITagElement> tags = getOrCreateMap(elementMap
- .getLength());
- if (!isInitialized())
- {
- // if we create the table with this call, bias the table size
- // to be 1 bigger than the number of tags, since we know if it's
- // smaller, it'll cause at least one buffer resize
-
-
- for (int i = 0; i < elementMap.getLength(); i++)
- {
- final CMNode cmNode = elementMap.item(i);
- getViewElement(cmNode.getNodeName());
- }
- }
- return tags;
- }
-
- public ITagElement getViewElement(final String name)
- {
- ITagElement tagElement = null;
-
- _tagMapReadWriteLock.acquire();
- final Map<String, ITagElement> tags = getOrCreateMap(_tldDoc.getElements().getLength());
- try
- {
- tagElement = tags.get(name);
-
- if (tagElement == null)
- {
- tagElement = createTagElement(name);
-
- if (tagElement != null)
- {
- tags.put(tagElement.getName(), tagElement);
- }
- }
- }
- finally
- {
- _tagMapReadWriteLock.release();
- }
-
- return tagElement;
- }
-
- /**
- * mapSizeHint will be used
- *
- * @param mapSizeHint
- * @return the map
- */
- private synchronized Map<String, ITagElement> getOrCreateMap(
- final int mapSizeHint)
- {
- if (_tags == null)
- {
- final float loadFactor = 0.75f;
- final int initSize = ((int) (mapSizeHint / loadFactor)) + 1;
- _tags = Collections
- .synchronizedMap(new HashMap<String, ITagElement>(
- initSize));
- }
- return _tags;
- }
-
- @Override
- public boolean isInitialized()
- {
- int numTags = getNumTags();
- int tagMapSize = getOrCreateMap(3).size();
-
- // we are only initialized if the tag map is the equal in size
- // to the number of tags in the tld.
- return numTags == tagMapSize;
- }
-
- @Override
- public Map<String, ITagElement> getCurrentElements()
- {
- return getOrCreateMap(3);
- }
- }
-
- /**
- * Encapsulates all the data for a TLDNamespace. Allows the model
- * to be separated from the Namespace interface for ease of serialization and
- * controlled subclassing.
- *
- */
- public abstract static class TLDNamespaceData implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = -1284294636936289804L;
-
- /**
- * @return the displayb
- */
- public abstract String getDisplayName();
-
-// public abstract ITagElement getOrCreateTagElement(String name,
-// Map<String, ITagElement> tags);
-
- /**
- * @return the number of tags
- */
- public abstract int getNumTags();
-
- /**
- * @return the namespace uri
- */
- public abstract String getUri();
-
- /**
- * @param name
- * @return the view element for name or null if not found.
- */
- public abstract ITagElement getViewElement(final String name);
-
- /**
- * May be long running since it will lazily calculate all unloaded
- * tags.
- * @return all view elements for this namespace
- */
- public abstract Map<String, ITagElement> getAllViewElements();
-
- /**
- * @return true if all elements have been lazily loaded
- */
- public abstract boolean isInitialized();
-
- /**
- * @return just the currently loaded elements for this namespace.
- */
- public abstract Map<String, ITagElement> getCurrentElements();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagAttribute.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagAttribute.java
deleted file mode 100644
index 94ac59948..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagAttribute.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.AbstractTagAttribute;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDAttributeDeclaration;
-
-/**
- * Adapts a TLDAttributeDeclaration to the ITagAttribute interface.
- *
- * @author cbateman
- *
- */
-public class TLDTagAttribute extends AbstractTagAttribute
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 4327701042556836452L;
-
- private final TLDAttributeData _tldData;
-
- /**
- * @param decl
- */
- public TLDTagAttribute(final TLDAttributeDeclaration decl)
- {
- _tldData = new DocumentAttributeData(decl);
- }
-
- @Override
- public String getName()
- {
- return _tldData.getName();
- }
-
- @Override
- public String getDisplayName()
- {
- return _tldData.getDisplayName();
- }
-
- @Override
- public String getDescription() {
- return _tldData.getDescription();
- }
-
- @Override
- public String getTargetNamespace()
- {
- return _tldData.getTargetNamespace();
- }
-
- public boolean isRequired()
- {
- return _tldData.isRequired();
- }
-
- /**
- * Diagnostic only. For testing only. Should never be exposed on ITagAttribute.
- *
- * @return true if this instance wraps a SerializedTLDAttributeData (the
- * instance was created by readObject). False if it is wrapping a
- * TLDAttributeDeclaration.
- */
- public boolean hasBeenDeserialized()
- {
- return _tldData instanceof SerializedTLDAttributeData;
- }
- @Override
- public String toString()
- {
- return String.format("Attribute: name=%s, displayName=%s, description=%s\n" //$NON-NLS-1$
- , getName(), getDisplayName(), getDescription());
- }
-
- private static class DocumentAttributeData extends TLDAttributeData
- {
- /**
- *
- */
- private static final long serialVersionUID = -5974753636507938515L;
- private final TLDAttributeDeclaration _decl;
-
-
- public DocumentAttributeData(TLDAttributeDeclaration decl)
- {
- super();
- _decl = decl;
- }
-
- private Object writeReplace()
- {
- return new SerializedTLDAttributeData(getName(), getDisplayName(), getDescription()
- , getTargetNamespace(), isRequired());
- }
-
- @SuppressWarnings("unused")
- private void readObject(java.io.ObjectInputStream in)
- throws IOException, ClassNotFoundException
- {
- throw new UnsupportedOperationException("This object should be serialized; writeReplace"); //$NON-NLS-1$
- }
-
- @Override
- public String getName()
- {
- return _decl.getAttrName();
- }
-
- @Override
- public String getTargetNamespace()
- {
- return null;
- }
-
- @Override
- public String getDescription()
- {
- return _decl.getDescription();
- }
-
- @Override
- public String getDisplayName()
- {
- return _decl.getAttrName();
- }
-
- @Override
- public boolean isRequired()
- {
- return _decl.isRequired();
- }
-
- }
-
- /**
- * @author cbateman
- *
- */
- private static class SerializedTLDAttributeData extends TLDAttributeData
- {
- /**
- *
- */
- private static final long serialVersionUID = -1094006883222087189L;
-
- private final String _name;
- private final String _displayName;
- private final String _description;
- private final String _targetNamespace;
- private final boolean _isRequired;
-
-
-
- public SerializedTLDAttributeData(String name, String displayName,
- String description, String targetNamespace, boolean isRequired)
- {
- super();
- _name = name;
- _displayName = displayName;
- _description = description;
- _targetNamespace = targetNamespace;
- _isRequired = isRequired;
- }
-
- @Override
- public String getName()
- {
- return _name;
- }
-
- @Override
- public String getDisplayName()
- {
- return _displayName;
- }
-
- @Override
- public String getDescription()
- {
- return _description;
- }
-
- @Override
- public String getTargetNamespace()
- {
- return _targetNamespace;
- }
-
- @Override
- public boolean isRequired()
- {
- return _isRequired;
- }
-
- }
-
- private static abstract class TLDAttributeData implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = 8376571212994363562L;
- public abstract String getName();
- public abstract String getDisplayName();
- public abstract String getDescription();
- public abstract String getTargetNamespace();
- public abstract boolean isRequired();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagElement.java
deleted file mode 100644
index 001e1aeb0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagElement.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttributeHandler;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.TagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-
-/**
- * A tag element for a JSP tag (TLD-defined)
- *
- * @author cbateman
- *
- */
-public class TLDTagElement extends TagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = -874272538404837105L;
- private final TLDElementData _tldData;
-
- /**
- * @param elementDecl
- * @param advisor
- */
- public TLDTagElement(final TLDElementDeclaration elementDecl
- , final IAttributeAdvisor advisor)
- {
- _tldData = new DocumentElementData(elementDecl, advisor);
- }
-
- @Override
- public String getName()
- {
- return _tldData.getName();
- }
-
- @Override
- public String getUri()
- {
- return _tldData.getUri();
- }
-
- @Override
- public String getTagHandlerClassName() {
- return _tldData.getTagHandlerClassName();
- }
-
- @Override
- public String toString()
- {
- return String.format("Tag: Tag Handler: name=%s, uri=%s, tagHandlerClassName=%s\n" //$NON-NLS-1$
- , getName(), getUri(), getTagHandlerClassName())
- + constructAttributesString();
- }
-
- /**
- * @return a string representation of the attributes.
- */
- protected String constructAttributesString()
- {
- String attributes = ""; //$NON-NLS-1$
-
- for (final Iterator it = getAttributeHandlers().entrySet().iterator(); it.hasNext();)
- {
- final Map.Entry entry = (Entry) it.next();
- final String name = (String) entry.getKey();
- final ITagAttributeHandler handler = (ITagAttributeHandler) entry.getValue();
-
- attributes += String.format("\t\t\tAttribute: name=%s, customHandler=%s, propertyName=%s, isELAllowed=%b\n", //$NON-NLS-1$
- name, handler.getCustomHandler(), handler.getName(),
- Boolean.valueOf(handler.isELAllowed()));
- }
- return attributes;
- }
-
- @Override
- public Map getAttributeHandlers()
- {
- return _tldData.getAttributeHandlers();
- }
-
- public Map<String, ? extends ITagAttribute> getAttributes()
- {
- return _tldData.getAttributes();
- }
-
- private static class DocumentElementData extends TLDElementData
- {
- /**
- * serialization id
- */
- private static final long serialVersionUID = -6160324802818766058L;
- private final TLDElementDeclaration _tldDoc;
- private final CMNodeNamedMapAdapter _adapter;
- private Map<String, ? extends ITagAttribute> _tldAttributes;
-
- public DocumentElementData(final TLDElementDeclaration tldDoc,
- final IAttributeAdvisor advisor)
- {
- _tldDoc = tldDoc;
- _adapter = new CMNodeNamedMapAdapter(tldDoc, advisor);
- _tldAttributes = advisor.getAttributes();
- }
-
- @Override
- public String getName()
- {
- return _tldDoc.getElementName();
- }
-
- @Override
- public String getTagHandlerClassName()
- {
- return _tldDoc.getTagclass();
- }
-
- @Override
- public String getUri()
- {
- final CMDocument owner = _tldDoc.getOwnerDocument();
-
- if (owner instanceof TLDDocument)
- {
- return ((TLDDocument)owner).getUri();
- }
- return null;
- }
-
- private Object writeReplace()
- {
- return new SerializedTLDElementData(getName(), getTagHandlerClassName(), getUri()
- , _adapter, _tldAttributes);
- }
-
- @SuppressWarnings("unused")
- private void readObject(java.io.ObjectInputStream in)
- throws IOException, ClassNotFoundException
- {
- throw new UnsupportedOperationException("This object should be serialized; writeReplace"); //$NON-NLS-1$
- }
-
- @Override
- public Map<String, ? extends ITagAttributeHandler> getAttributeHandlers()
- {
- return _adapter;
- }
-
- @Override
- public Map<String, ? extends ITagAttribute> getAttributes()
- {
- return _tldAttributes;
- }
- }
-
- /**
- * @author cbateman
- *
- */
- private static class SerializedTLDElementData extends TLDElementData
- {
- /**
- *
- */
- private static final long serialVersionUID = 4008084060638384114L;
- private final String _name;
- private final String _uri;
- private final String _tagHandlerClassName;
- private final Map<String, ? extends ITagAttributeHandler> _tagAttributes;
- private final Map<String, ? extends ITagAttribute> _actualTagAttributes;
-
- /**
- * @param name
- * @param tagHandlerClassName
- * @param uri
- * @param tagAttributes
- */
- private SerializedTLDElementData(final String name,
- final String tagHandlerClassName, final String uri,
- final Map<String, ? extends ITagAttributeHandler> tagAttributes,
- final Map<String, ? extends ITagAttribute> actualTagAttributes)
- {
- super();
- _name = name;
- _tagHandlerClassName = tagHandlerClassName;
- _uri = uri;
- // copy the map, because we don't if it is simply delta
- _tagAttributes = new HashMap(tagAttributes);
- _actualTagAttributes = new HashMap(actualTagAttributes);
- }
-
- @Override
- public String getName()
- {
- return _name;
- }
-
- @Override
- public String getTagHandlerClassName()
- {
- return _tagHandlerClassName;
- }
-
- @Override
- public String getUri()
- {
- return _uri;
- }
-
- @Override
- public Map<String, ? extends ITagAttributeHandler> getAttributeHandlers()
- {
- return _tagAttributes;
- }
-
- @Override
- public Map<String, ? extends ITagAttribute> getAttributes()
- {
- return _actualTagAttributes;
- }
- }
-
- private static abstract class TLDElementData implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = -2494388738109839064L;
- public abstract String getTagHandlerClassName();
- public abstract String getName();
- public abstract String getUri();
- public abstract Map<String, ? extends ITagAttributeHandler> getAttributeHandlers();
- public abstract Map<String, ? extends ITagAttribute> getAttributes();
-
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagHandlerElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagHandlerElement.java
deleted file mode 100644
index d637f49e2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDTagHandlerElement.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IHandlerTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A TLD-defined tag (i.e. JSP) that maps to a known tag handler.
- *
- * @author cbateman
- *
- */
-public class TLDTagHandlerElement extends TLDJSFTagElement implements
-IHandlerTagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = 8984277085824995102L;
- private final TagHandlerType _tagHandlerType;
-
- /**
- * @param elementDecl
- * @param tagHandlerType
- * @param advisor
- */
- public TLDTagHandlerElement(final TLDElementDeclaration elementDecl, final TagHandlerType tagHandlerType, final IAttributeAdvisor advisor)
- {
- super(elementDecl, advisor);
- _tagHandlerType = tagHandlerType;
- }
-
- public TagHandlerType getTagHandlerType()
- {
- return _tagHandlerType;
- }
-
- @Override
- public TagType getType()
- {
- return TagType.HANDLER;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDValidatorTagElement.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDValidatorTagElement.java
deleted file mode 100644
index e99d97b07..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TLDValidatorTagElement.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IValidatorTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A TLD-defined tag (i.e. JSP) that maps one-to-one with a JSF Converter
- *
- * @author cbateman
- *
- */
-public class TLDValidatorTagElement extends TLDJSFTagElement implements IValidatorTagElement
-{
- /**
- *
- */
- private static final long serialVersionUID = 4251223772554969477L;
- private final ValidatorTypeInfo _validator;
-
- /**
- * @param elementDecl
- * @param validatorTypeInfo
- * @param advisor
- */
- public TLDValidatorTagElement(final TLDElementDeclaration elementDecl, final ValidatorTypeInfo validatorTypeInfo, final IAttributeAdvisor advisor)
- {
- super(elementDecl, advisor);
- _validator = validatorTypeInfo;
- }
-
- public final ValidatorTypeInfo getValidator()
- {
- return _validator;
- }
-
- @Override
- public final TagType getType()
- {
- return TagType.VALIDATOR;
- }
-
- @Override
- public String toString()
- {
- return _validator.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TagIntrospectingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TagIntrospectingStrategy.java
deleted file mode 100644
index 6a5d97d35..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/TagIntrospectingStrategy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.analyzer.TagAnalyzer;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * A resolving strategy that uses tag introspection.
- *
- * @author cbateman
- *
- */
-public final class TagIntrospectingStrategy extends JSPTagResolvingStrategy
-{
- /**
- * the identifier of this strategy
- */
- public final static String ID = "org.eclipse.jst.jsf.designtime.TagIntrospectingStrategy"; //$NON-NLS-1$
- /**
- * the display name
- */
- public final static String DISPLAY_NAME = Messages.TagIntrospectingStrategy_DisplayName;
-
- private final IProject _project;
-
- /**
- * @return the descriptor for this resolver strategy
- */
- public static StrategyDescriptor createDescriptor()
- {
- return new StrategyDescriptor(ID, DISPLAY_NAME);
- }
-
- /**
- * @param project
- */
- public TagIntrospectingStrategy(final IProject project)
- {
- // TODO: would it be better to have a model context on the resolve?
- _project = project;
- }
-
- @Override
- public String getId()
- {
- return ID;
- }
-
- public String getDisplayName()
- {
- return DISPLAY_NAME;
- }
-
- @Override
- public ITagElement resolve(TLDElementDeclaration element)
- {
- return TagAnalyzer.createTLDTagElement(element, _project);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/UnresolvedJSPTagResolvingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/UnresolvedJSPTagResolvingStrategy.java
deleted file mode 100644
index 0a94f66b5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/UnresolvedJSPTagResolvingStrategy.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.IAttributeAdvisor.NullAttributeAdvisor;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * This a fallback strategy that always creates an element for a tld decl. This
- * can be tacked to the end of a composite strategy (or used alone) to ensure
- * that a basic ITagElement is always created for a TLDElementDeclaration.
- *
- * @author cbateman
- *
- */
-public class UnresolvedJSPTagResolvingStrategy extends JSPTagResolvingStrategy
-{
- /**
- * the identifier of this strategy
- */
- public final static String ID = "org.eclipse.jst.jsf.designtime.UnresolvedJSPTagResolvingStrategy"; //$NON-NLS-1$
- /**
- * the displayable name
- */
- public final static String DISPLAY_NAME = Messages.UnresolvedJSPTagResolvingStrategy_1;
-
- /**
- * @return the descriptor for this resolver strategy
- */
- public static StrategyDescriptor createDescriptor()
- {
- return new StrategyDescriptor(ID, DISPLAY_NAME);
- }
-
- @Override
- public String getId()
- {
- return ID;
- }
-
- public String getDisplayName()
- {
- return DISPLAY_NAME;
- }
-
- @Override
- public ITagElement resolve(TLDElementDeclaration element)
- {
- // just create a tag element
- return new TLDTagElement(element, new NullAttributeAdvisor());
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/ServletBeanProxyContributor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/ServletBeanProxyContributor.java
deleted file mode 100644
index 45d8d9212..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/ServletBeanProxyContributor.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.analyzer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.internal.proxy.core.ConfigurationContributorAdapter;
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributionController;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.osgi.framework.Bundle;
-
-class ServletBeanProxyContributor extends ConfigurationContributorAdapter
-{
- private final JSFVersion _jsfVersion;
-
- public ServletBeanProxyContributor(final IProject project)
- {
- _jsfVersion = getProjectVersion(project);
- if (_jsfVersion == null)
- {
- throw new IllegalArgumentException("jsfVersion must not be null"); //$NON-NLS-1$
- }
- }
-
- @Override
- public void contributeClasspaths(
- final IConfigurationContributionController controller)
- throws CoreException
- {
- if (_jsfVersion != null && _jsfVersion.compareTo(JSFVersion.V1_2) < 0)
- {
- final Bundle servletBundle = Platform.getBundle("javax.servlet"); //$NON-NLS-1$
- controller.contributeClasspath(servletBundle, (IPath) null,
- IConfigurationContributionController.APPEND_USER_CLASSPATH,
- true);
-
- final Bundle jspBundle = Platform.getBundle("javax.servlet.jsp"); //$NON-NLS-1$
- controller.contributeClasspath(jspBundle, (IPath) null,
- IConfigurationContributionController.APPEND_USER_CLASSPATH,
- true);
- }
- else
- {
- final Bundle coreBundle = JSFCorePlugin.getDefault().getBundle();
- controller.contributeClasspath(coreBundle,
- "/jars/fake_jsp_21.jar", //$NON-NLS-1$
- IConfigurationContributionController.APPEND_USER_CLASSPATH,
- false);
- controller.contributeClasspath(coreBundle,
- "/jars/fake_el.jar", //$NON-NLS-1$
- IConfigurationContributionController.APPEND_USER_CLASSPATH,
- false);
- }
- }
-
- static JSFVersion getProjectVersion(final IProject project)
- {
- return JSFVersion.valueOfProject(project);
- }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/TagAnalyzer.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/TagAnalyzer.java
deleted file mode 100644
index 150d160e7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/analyzer/TagAnalyzer.java
+++ /dev/null
@@ -1,870 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.analyzer;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributor;
-import org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-import org.eclipse.jem.internal.proxy.ide.IDERegistration;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ValidatorTypeInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IJSFTagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IHandlerTagElement.TagHandlerType;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.IJSFTagElement.TagType;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.core.internal.jem.BeanProxyUtil.BeanProxyWrapper;
-import org.eclipse.jst.jsf.core.internal.jem.BeanProxyUtil.ProxyException;
-import org.eclipse.jst.jsf.designtime.internal.view.DTComponentIntrospector;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDComponentTagElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDConverterTagElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDTagElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDTagHandlerElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDValidatorTagElement;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.IAttributeAdvisor.NullAttributeAdvisor;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-
-/**
- * Utility class supporting methods to derive information from JSP tag
- * definitions (TLD)
- *
- * @author cbateman
- *
- */
-public final class TagAnalyzer
-{
- private static final String JAVAX_FACES_WEBAPP_CONVERTER_TAG = "javax.faces.webapp.ConverterTag"; //$NON-NLS-1$
- private static final String JAVAX_FACES_WEBAPP_CONVERTER_ELTAG = "javax.faces.webapp.ConverterELTag"; //$NON-NLS-1$
- private static final String JAVAX_FACES_WEBAPP_VALIDATOR_TAG = "javax.faces.webapp.ValidatorTag"; //$NON-NLS-1$
- private static final String JAVAX_FACES_WEBAPP_VALIDATOR_ELTAG = "javax.faces.webapp.ValidatorELTag"; //$NON-NLS-1$
- private static final String JAVAX_FACES_WEBAPP_FACET_TAG = "javax.faces.webapp.FacetTag"; //$NON-NLS-1$
-
- // private static final String JAVAX_FACES_WEBAPP_ACTIONLISTENER_TAG =
- // "javax.faces.webapp.ActionListenerTag";
- // private static final String JAVAX_FACES_WEBAPP_VALUECHANGELISTENER_TAG =
- // "javax.faces.webapp.ValueChangeListenerTag";
- private static final String JAVAX_FACES_WEBAPP_ATTRIBUTE_TAG = "javax.faces.webapp.AttributeTag"; //$NON-NLS-1$
-
- private final static Set<String> COMPONENT_TAG_HANDLER_TYPES_JSF11;
- private final static Set<String> COMPONENT_TAG_HANDLER_TYPES_JSF12;
-
- private final static Set<String> CONVERTER_TAG_HANDLER_TYPES_JSF11 = Collections
- .singleton(JAVAX_FACES_WEBAPP_CONVERTER_TAG);
- private final static Set<String> CONVERTER_TAG_HANDLER_TYPES_JSF12;
-
- private final static Set<String> VALIDATOR_TAG_HANDLER_TYPES_JSF11 = Collections
- .singleton(JAVAX_FACES_WEBAPP_VALIDATOR_TAG);
- private final static Set<String> VALIDATOR_TAG_HANDLER_TYPES_JSF12;
-
- private final static Set<String> FACET_TAG_HANDLER = Collections
- .singleton(JAVAX_FACES_WEBAPP_FACET_TAG);
- private final static Set<String> ATTRIBUTE_TAG_HANDLER = Collections
- .singleton(JAVAX_FACES_WEBAPP_ATTRIBUTE_TAG);
- // private final static Set<String> ACTIONLISTENER_TAG_HANDLER = Collections
- // .singleton(JAVAX_FACES_WEBAPP_ACTIONLISTENER_TAG);
- // private final static Set<String> VALUECHANGELISTENER_TAG_HANDLER =
- // Collections
- // .singleton(JAVAX_FACES_WEBAPP_VALUECHANGELISTENER_TAG);
-
- private final static Set<String> ALL_HANDLER_TAGS;
-
- static
- {
- // components
- // JSF 1.1
- Set<String> set = new HashSet<String>(8);
- set.add("javax.faces.webapp.UIComponentTag"); //$NON-NLS-1$
- set.add("javax.faces.webapp.UIComponentBodyTag"); //$NON-NLS-1$
- COMPONENT_TAG_HANDLER_TYPES_JSF11 = Collections.unmodifiableSet(set);
-
- // JSF 1.2+
- set = new HashSet<String>(8);
- set.addAll(COMPONENT_TAG_HANDLER_TYPES_JSF11);
- set.add("javax.faces.webapp.UIComponentELTag"); //$NON-NLS-1$
- COMPONENT_TAG_HANDLER_TYPES_JSF12 = Collections.unmodifiableSet(set);
-
- // converters
- set = new HashSet<String>(8);
- set.add(JAVAX_FACES_WEBAPP_CONVERTER_TAG);
- set.add(JAVAX_FACES_WEBAPP_CONVERTER_ELTAG);
- CONVERTER_TAG_HANDLER_TYPES_JSF12 = Collections.unmodifiableSet(set);
-
- // validators
- set = new HashSet<String>(8);
- set.add(JAVAX_FACES_WEBAPP_VALIDATOR_TAG);
- set.add(JAVAX_FACES_WEBAPP_VALIDATOR_ELTAG);
- VALIDATOR_TAG_HANDLER_TYPES_JSF12 = Collections.unmodifiableSet(set);
-
- // tag handlers
- ALL_HANDLER_TAGS = new HashSet<String>();
- ALL_HANDLER_TAGS.addAll(FACET_TAG_HANDLER);
- ALL_HANDLER_TAGS.addAll(ATTRIBUTE_TAG_HANDLER);
- // ALL_HANDLER_TAGS.addAll(VALUECHANGELISTENER_TAG_HANDLER);
- // ALL_HANDLER_TAGS.addAll(ACTIONLISTENER_TAG_HANDLER);
- }
-
- /**
- * Tries to determine the component type of the component that corresponds
- * to the JSP tag defined by tldDecl.
- *
- * @param tldDecl
- * @param project
- * @return get the component type from the tag definition or null if none.
- */
- public static String findComponentType(final TLDElementDeclaration tldDecl,
- final IProject project)
- {
- final String className = tldDecl.getTagclass();
-
- final IConfigurationContributor[] contributor = new IConfigurationContributor[]
- { new ServletBeanProxyContributor(project) };
-
- ProxyFactoryRegistry registry = null;
- try
- {
- registry = getProxyFactoryRegistry(contributor, project);
-
- if (registry != null)
- {
-
- final IStandardBeanTypeProxyFactory factory = registry
- .getBeanTypeProxyFactory();
- final IBeanTypeProxy classTypeProxy = factory
- .getBeanTypeProxy(className);
- final BeanProxyWrapper classTypeWrapper = new BeanProxyWrapper(project,
- classTypeProxy);
-
- try
- {
- classTypeWrapper.init();
- return classTypeWrapper.callStringMethod("getComponentType"); //$NON-NLS-1$
- }
- catch (final ProxyException tp)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log("TagAnalyzer.findComponentType", tp); //$NON-NLS-1$
- }
- }
- }
- }
- finally
- {
- if (registry != null)
- {
- registry.terminateRegistry(true);
- }
- }
- return null;
- }
-
- /**
- * Tries to introspect tldDecl's tag class to determine what the identifier
- * of the underlying Converter that is used to register it in the app config
- *
- * @param tldDecl
- * @param project
- * @return the converter type identifier for the tldDecl or null if not
- * found
- */
- public static String findConverterType(final TLDElementDeclaration tldDecl,
- final IProject project)
- {
- // TODO: allow for pluggable resolver?
-
- // This one is more hacky and less prone to success than the component
- // type finder because the ConverterTag doesn't initialize its type
- // field on construction. Instead, both MyFaces and RI seem to do it
- // based on the doStartTag method. They also don't provide a standard
- // interface for acquiring the id so instead we make some guess on
- // the internal field name.
- ProxyFactoryRegistry registry = null;
- try
- {
- final String className = tldDecl.getTagclass();
-
- final IConfigurationContributor[] contributor = new IConfigurationContributor[]
- { new ServletBeanProxyContributor(project) };
- registry = getProxyFactoryRegistry(
- contributor, project);
-
- if (registry != null)
- {
- final IStandardBeanTypeProxyFactory factory = registry
- .getBeanTypeProxyFactory();
- final IBeanTypeProxy classTypeProxy = factory
- .getBeanTypeProxy(className);
-
- try
- {
- final IType type = JavaCore.create(project).findType(className);
-
- if (type != null
- && DTComponentIntrospector
- .isTypeNameInstanceOfClass(
- type,
- Collections
- .singleton(JAVAX_FACES_WEBAPP_CONVERTER_ELTAG)))
- {
- return findConverterType_InELTag(factory, classTypeProxy,project);
- }
- // the assumption is that this is a component tag, so we assume
- // it is one.
- else if (type != null
- && DTComponentIntrospector
- .isTypeNameInstanceOfClass(
- type,
- Collections
- .singleton(JAVAX_FACES_WEBAPP_CONVERTER_TAG)))
- {
- return findConverterType_InTag(factory, classTypeProxy, project);
- }
- }
- catch (final JavaModelException jme)
- {
- // suppress for now
- }
- }
- }
- finally
- {
- if (registry != null)
- {
- registry.terminateRegistry(true);
- }
- }
- return null;
- }
-
- private static String findConverterType_InTag(
- final IStandardBeanTypeProxyFactory factory,
- final IBeanTypeProxy classTypeProxy, final IProject project)
- {
- final IBeanTypeProxy nullPageContextType = factory
- .getBeanTypeProxy("javax.servlet.jsp.PageContext"); //$NON-NLS-1$
- final BeanProxyWrapper classTypeWrapper = new BeanProxyWrapper(project,
- classTypeProxy);
-
- try
- {
- classTypeWrapper.init();
-
- callSuppressExceptions(classTypeWrapper, "setPageContext", //$NON-NLS-1$
- new IBeanProxy[]
- { null }, new IBeanTypeProxy[]
- { nullPageContextType });
- callSuppressExceptions(classTypeWrapper, "doStartTag"); //$NON-NLS-1$
-
- final IBeanTypeProxy converterProxy = factory
- .getBeanTypeProxy(JAVAX_FACES_WEBAPP_CONVERTER_TAG);
-
- // hopefully doStartTag set the converter field before it
- // failed.
- // now try to guess what it's called
- String converterId = getStringField(classTypeWrapper,
- converterProxy, "converterId"); //$NON-NLS-1$
-
- if (converterId != null)
- {
- return converterId;
- }
-
- converterId = getStringField(classTypeWrapper, converterProxy,
- "_converterId"); //$NON-NLS-1$
-
- if (converterId != null)
- {
- return converterId;
- }
-
- // no? look for a CONVERTER_ID
- converterId = getStringField(classTypeWrapper, classTypeProxy,
- "CONVERTER_ID"); //$NON-NLS-1$
- }
- catch (final ProxyException tp)
- {
- // fall through
- }
- return null;
- }
-
- private static String findConverterType_InELTag(
- final IStandardBeanTypeProxyFactory factory,
- final IBeanTypeProxy classTypeProxy, final IProject project)
- {
- final BeanProxyWrapper classTypeWrapper = new BeanProxyWrapper(project,
- classTypeProxy);
- final IBeanTypeProxy elExpressionType = factory
- .getBeanTypeProxy("javax.el.ValueExpression"); //$NON-NLS-1$
-
- if (elExpressionType == null)
- {
- return null;
- }
-
- try
- {
- classTypeWrapper.init();
-
- callSuppressExceptions(classTypeWrapper, "doStartTag"); //$NON-NLS-1$
-
- // no? look for a CONVERTER_ID
- final IBeanProxy converterId = getFieldInParents(classTypeWrapper,
- classTypeProxy, "CONVERTER_ID_EXPR"); //$NON-NLS-1$
-
- if (converterId != null)
- {
- converterId.getTypeProxy().isKindOf(elExpressionType);
- final BeanProxyWrapper elExprValue = new BeanProxyWrapper(project,
- converterId.getTypeProxy());
- final String value = elExprValue
- .callStringMethod("getExpressionString"); //$NON-NLS-1$
- System.out.println("Expression string:" + value); //$NON-NLS-1$
- }
-
- //
- //
- // final IBeanTypeProxy converterProxy = factory
- // .getBeanTypeProxy(JAVAX_FACES_WEBAPP_CONVERTER_TAG);
-
- }
- catch (final ProxyException tp)
- {
- // fall through
- }
- return null;
- }
-
- /**
- * @param tldDecl
- * @param project
- * @return the validator type identifier for the tldDecl or null if not
- * found
- */
- public static String findValidatorType(final TLDElementDeclaration tldDecl,
- final IProject project)
- {
- // TODO: allow for pluggable resolver?
-
- // This one is more hacky and less prone to success than the component
- // type finder because the Validator doesn't initialize its type
- // field on construction. Instead, both MyFaces and RI seem to do it
- // based on the doStartTag method. They also don't provide a standard
- // interface for acquiring the id so instead we make some guess on
- // the internal field name.
- final String className = tldDecl.getTagclass();
-
- final IConfigurationContributor[] contributor = new IConfigurationContributor[]
- { new ServletBeanProxyContributor(project) };
-
- ProxyFactoryRegistry registry = null;
-
- try
- {
- registry = getProxyFactoryRegistry(contributor, project);
-
- if (registry != null)
- {
- final IStandardBeanTypeProxyFactory factory = registry
- .getBeanTypeProxyFactory();
- final IBeanTypeProxy classTypeProxy = factory
- .getBeanTypeProxy(className);
- final BeanProxyWrapper classTypeWrapper = new BeanProxyWrapper(project,
- classTypeProxy);
- final IBeanTypeProxy converterProxy = factory
- .getBeanTypeProxy(JAVAX_FACES_WEBAPP_VALIDATOR_TAG);
- try
- {
- classTypeWrapper.init();
-
- callSuppressExceptions(classTypeWrapper, "doStartTag"); //$NON-NLS-1$
- callSuppressExceptions(classTypeWrapper, "createValidator"); //$NON-NLS-1$
-
- // hopefully doStartTag set the converter field before it
- // failed.
- // now try to guess what it's called
- String validatorId = getStringField(classTypeWrapper,
- converterProxy, "validatorId"); //$NON-NLS-1$
-
- if (validatorId != null)
- {
- return validatorId;
- }
-
- validatorId = getStringField(classTypeWrapper, converterProxy,
- "_validatorId"); //$NON-NLS-1$
-
- if (validatorId != null)
- {
- return validatorId;
- }
-
- // no? then see if there's a VALIDATOR_ID field *on the tag*
- validatorId = getStringField(classTypeWrapper, classTypeProxy,
- "VALIDATOR_ID"); //$NON-NLS-1$
-
- if (validatorId != null)
- {
- return validatorId;
- }
- }
- catch (final ProxyException tp)
- {
- // fall through
- }
- }
- }
- finally
- {
- if (registry != null)
- {
- registry.terminateRegistry(true);
- }
- }
- return null;
-
- }
-
- private static IBeanProxy getFieldInParents(
- final BeanProxyWrapper classTypeWrapper,
- final IBeanTypeProxy typeProxy, final String fieldName)
- {
- try
- {
- return classTypeWrapper.getFieldValueIncludeParents(fieldName,
- typeProxy);
- }
- catch (final ProxyException e)
- {
- // suppress
- }
-
- return null;
- }
-
- private static String getStringField(
- final BeanProxyWrapper classTypeWrapper,
- final IBeanTypeProxy typeProxy, final String fieldName)
- {
- try
- {
- return classTypeWrapper.getStringFieldValue(fieldName, typeProxy);
- }
- catch (final ProxyException e)
- {
- // suppress
- }
-
- return null;
- }
-
- private static void callSuppressExceptions(
- final BeanProxyWrapper classTypeWrapper, final String methodName)
- {
- try
- {
- classTypeWrapper.call(methodName);
- }
- catch (final ProxyException tp)
- {
- // suppress this since it may well throw an exception
- // depending on what assumptions the tag class is making
- // that won't be true because we're not in a servlet
- }
- }
-
- private static void callSuppressExceptions(
- final BeanProxyWrapper classTypeWrapper, final String methodName,
- final IBeanProxy[] args, final IBeanTypeProxy[] argTypes)
- {
- try
- {
- classTypeWrapper.call(methodName, args, argTypes);
- }
- catch (final ProxyException tp)
- {
- // suppress this since it may well throw an exception
- // depending on what assumptions the tag class is making
- // that won't be true because we're not in a servlet
- }
-
- }
-
- /**
- * @param project
- * @return a new proxy factory registry or null;
- *
- * TODO: caching?
- */
- private static ProxyFactoryRegistry getProxyFactoryRegistry(
- final IConfigurationContributor[] configuration,
- final IProject project)
- {
- try
- {
- return IDERegistration.startAnImplementation(configuration, false,
- project, project.getName(), JSFCorePlugin.PLUGIN_ID,
- new NullProgressMonitor());
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log("Error starting vm for project: " //$NON-NLS-1$
- + project.getName(), e);
- }
-
- return null;
- }
-
- /**
- * @param tldDecl
- * @param project
- * @return the tag element for the tldDecl
- */
- public static TLDTagElement createTLDTagElement(
- final TLDElementDeclaration tldDecl, final IProject project)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions
- .log(String
- .format(
- "TagAnalyzer.createTLDTagElement: Start tld=%s, project=%s", //$NON-NLS-1$
- tldDecl.getNodeName(), project.getName()));
- }
- long startTime = 0;
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR_PERF)
- {
- startTime = System.nanoTime();
- }
-
- try
- {
- final IJavaProject javaProject = JavaCore.create(project);
- final String typeName = tldDecl.getTagclass();
-
- if (typeName == null
- || JavaConventions.validateJavaTypeName(typeName,
- JavaCore.VERSION_1_3,
- JavaCore.VERSION_1_3).getSeverity() == IStatus.ERROR)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log(
- "Bad tag class name in " + tldDecl.toString()); //$NON-NLS-1$
- }
- return null;
- }
-
- final IType type = javaProject.findType(typeName);
-
- if (type == null)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log("Type not found for: "+typeName); //$NON-NLS-1$
- }
- return null;
- }
- final TagType tagType = getJSFComponentTagType(type, project);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log(String.format(
- "Tag class type=%s\nTag type=%s", type, tagType)); //$NON-NLS-1$
- }
-
- if (tagType == TagType.COMPONENT)
- {
- final TLDTagElement element = createComponentTagElement(tldDecl, project);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR_PERF)
- {
- String name = element != null ? element.toString()
- : "<none>"; //$NON-NLS-1$
- System.out.printf(
- "Time to create component tag element %s was %d\n", //$NON-NLS-1$
- name, Long.valueOf(System.nanoTime() - startTime));
- }
- return element;
- }
- else if (tagType == TagType.CONVERTER)
- {
- final TLDTagElement element = createConverterTagElement(tldDecl, project);
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR_PERF)
- {
- String name = element != null ? element.toString()
- : "<none>"; //$NON-NLS-1$
- System.out.printf(
- "Time to create converter tag element %s was %d\n", //$NON-NLS-1$
- name, Long.valueOf(System.nanoTime() - startTime));
- }
- return element;
- }
- else if (tagType == TagType.VALIDATOR)
- {
- final TLDTagElement element = createValidatorTagElement(tldDecl, project);
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR_PERF)
- {
- String name = element != null ? element.toString()
- : "<none>"; //$NON-NLS-1$
- System.out.printf(
- "Time to create validator tag element %s was %d\n", //$NON-NLS-1$
- name, Long.valueOf(System.nanoTime() - startTime));
- }
- return element;
- }
- else if (tagType == TagType.HANDLER)
- {
- final TLDTagElement element = createHandlerTagElement(tldDecl, type);
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR_PERF)
- {
- String name = element != null ? element.toString()
- : "<none>"; //$NON-NLS-1$
- System.out.printf(
- "Time to create handler tag element %s was %d\n", //$NON-NLS-1$
- name, Long.valueOf(System.nanoTime() - startTime));
- }
- return element;
- }
- }
- catch (final JavaModelException jme)
- {
- JSFCorePlugin.log(jme, "Trying to get type for TLD"); //$NON-NLS-1$
- }
-
- return null;
- }
-
- /**
- * @param tldDecl
- * @param project
- * @return a component tag element for tldDecl
- */
- public static TLDTagElement createComponentTagElement(
- final TLDElementDeclaration tldDecl, final IProject project)
- {
- final String componentType = findComponentType(tldDecl, project);
-
- if (componentType != null)
- {
- final String componentClass = DTComponentIntrospector
- .findComponentClass(componentType, project);
-
- if (componentClass != null && !"".equals(componentClass.trim())) //$NON-NLS-1$
- {
- final ComponentTypeInfo typeInfo = DTComponentIntrospector
- .getComponent(componentType, componentClass, project,
- new IConfigurationContributor[]
- {new ServletBeanProxyContributor(project)});
-
- if (typeInfo != null)
- {
- final TLDComponentTagElement tagElement = new TLDComponentTagElement(
- tldDecl, typeInfo, new NullAttributeAdvisor());
- return tagElement;
- }
- }
- }
-
- // TODO: really return null?
- return null;
- }
-
- /**
- * @param tldDecl
- * @param project
- * @return a converter tag element for tldDecl
- */
- public static TLDTagElement createConverterTagElement(
- final TLDElementDeclaration tldDecl, final IProject project)
- {
- final String converterId = findConverterType(tldDecl, project);
-
- if (converterId != null)
- {
- final String converterClass = DTComponentIntrospector
- .findConverterClass(converterId, project);
-
- if (converterClass != null && !"".equals(converterClass.trim())) //$NON-NLS-1$
- {
- final ConverterTypeInfo typeInfo = DTComponentIntrospector
- .getConverter(converterId, converterClass);
- final TLDConverterTagElement tagElement = new TLDConverterTagElement(
- tldDecl, typeInfo, new NullAttributeAdvisor());
- return tagElement;
- }
- }
-
- // we know (actually we assume by contract) that this a converter
- // so create an unknown converter tag for it
- return new TLDConverterTagElement(tldDecl, ConverterTypeInfo.UNKNOWN, new NullAttributeAdvisor());
- }
-
- /**
- * @param tldDecl
- * @param project
- * @return a validator tag element for the tldDec
- */
- public static TLDTagElement createValidatorTagElement(
- final TLDElementDeclaration tldDecl, final IProject project)
- {
- final String validatorId = findValidatorType(tldDecl, project);
-
- if (validatorId != null)
- {
- final String validatorClass = DTComponentIntrospector
- .findValidatorClass(validatorId, project);
-
- if (validatorClass != null && !"".equals(validatorClass.trim())) //$NON-NLS-1$
- {
- final ValidatorTypeInfo typeInfo = DTComponentIntrospector
- .getValidator(validatorId, validatorClass);
- final TLDValidatorTagElement tagElement = new TLDValidatorTagElement(
- tldDecl, typeInfo, new NullAttributeAdvisor());
- return tagElement;
- }
- }
- // we know (actually we assume by contract) that this a validator
- // so create an unknown converter tag for it
- return new TLDValidatorTagElement(tldDecl, ValidatorTypeInfo.UNKNOWN, new NullAttributeAdvisor());
- }
-
- /**
- * @param tldDecl
- * @param type
- * @return the tag element for a JSF handler
- */
- public static TLDTagElement createHandlerTagElement(
- final TLDElementDeclaration tldDecl, final IType type)
- {
- if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- FACET_TAG_HANDLER))
- {
- return new TLDTagHandlerElement(tldDecl, TagHandlerType.FACET, new NullAttributeAdvisor());
- }
- else if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- ATTRIBUTE_TAG_HANDLER))
- {
- return new TLDTagHandlerElement(tldDecl, TagHandlerType.ATTRIBUTE, new NullAttributeAdvisor());
- }
- // else if (isTypeNameInstanceOfClass(type, ACTIONLISTENER_TAG_HANDLER))
- // {
- // return new TLDTagHandlerElement(tldDecl,
- // TagHandlerType.ACTIONLISTENER);
- // }
- // else if (isTypeNameInstanceOfClass(type,
- // VALUECHANGELISTENER_TAG_HANDLER))
- // {
- // return new TLDTagHandlerElement(tldDecl,
- // TagHandlerType.VALUECHANGELISTENER);
- // }
- return null;
- }
-
- /**
- * @param type
- * @param project
- * @return true if type represents a JSF component action class (spec 9.2.2)
- */
- public static IJSFTagElement.TagType getJSFComponentTagType(
- final IType type, final IProject project)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions
- .log(String
- .format(
- "TagAnalyzer.getJSFComponentTagType: Determining Tag Type for type %s on project %s", //$NON-NLS-1$
- type.getFullyQualifiedName(), project
- .toString()));
- }
-
- Set<String> componentTags = null;
- Set<String> converterTags = null;
- Set<String> validatorTags = null;
-
- final JSFVersion jsfVersion = ServletBeanProxyContributor.getProjectVersion(project);
-
- if (jsfVersion == null){
- return null;
- }
- // v1.1(9.2.2): JSF component tags must sub-class one of these
- else if (jsfVersion == JSFVersion.V1_0 || jsfVersion == JSFVersion.V1_1)
- {
- componentTags = COMPONENT_TAG_HANDLER_TYPES_JSF11;
- converterTags = CONVERTER_TAG_HANDLER_TYPES_JSF11;
- validatorTags = VALIDATOR_TAG_HANDLER_TYPES_JSF11;
- }
- // v1.2(9.2.2): JSF component tags must sub-class UIComponentELTag
- // the original two are included because we must be backward
- // compatible
- else if (jsfVersion == JSFVersion.V1_2 || jsfVersion == JSFVersion.V2_0)
- {
- componentTags = COMPONENT_TAG_HANDLER_TYPES_JSF12;
- converterTags = CONVERTER_TAG_HANDLER_TYPES_JSF12;
- validatorTags = VALIDATOR_TAG_HANDLER_TYPES_JSF12;
- }
- else
- {
- throw new IllegalArgumentException();
- }
-
- TagType tagType = null;
-
- if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- componentTags))
- {
- tagType = TagType.COMPONENT;
- }
- else if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- converterTags))
- {
- tagType = TagType.CONVERTER;
- }
- else if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- validatorTags))
- {
- tagType = TagType.VALIDATOR;
- }
- else if (DTComponentIntrospector.isTypeNameInstanceOfClass(type,
- ALL_HANDLER_TAGS))
- {
- tagType = TagType.HANDLER;
- }
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGINTROSPECTOR)
- {
- JSFCoreTraceOptions.log(String.format(
- "TagAnalyzer.getJSFComponentTagType: tag type is %s", //$NON-NLS-1$
- tagType != null ? tagType.toString() : "null")); //$NON-NLS-1$
- }
- return tagType;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/messages.properties
deleted file mode 100644
index 15bf8c5b3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-UnresolvedJSPTagResolvingStrategy_1=Unresolved Tag Resolver
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/MasterIndex.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/MasterIndex.java
deleted file mode 100644
index 3f2799de9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/MasterIndex.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.osgi.framework.Version;
-
-/**
- * The definitive index of what projects are indexed for JSP tag registry
- * persistence.
- *
- * @author cbateman
- *
- */
-class MasterIndex implements Serializable
-{
- public final static SerializableVersion CURRENT_VERSION = new SerializableVersion(
- 1, 0, 0);
-
- /**
- *
- */
- private static final long serialVersionUID = -2725662604972649316L;
-
- private final transient String _repositoryPath;
- private final transient File _storageFile;
-
- private IndexHeader _header;
- private List<ProjectIndex> _projectIndices;
-
- public MasterIndex(final File storageFile, final String repositoryPath)
- {
- _storageFile = storageFile;
- _repositoryPath = repositoryPath;
- }
-
- public synchronized void create(final SerializableVersion version)
- throws IOException
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("MasterIndex.create, version=:" //$NON-NLS-1$
- + version.toString());
- }
-
- _header = new IndexHeader(version);
- _projectIndices = new ArrayList<ProjectIndex>();
-
- save(_storageFile);
- }
-
- public synchronized void save(final File file) throws IOException
- {
- FileOutputStream out = null;
-
- try
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Trying to save master index file: " //$NON-NLS-1$
- + file.getAbsolutePath());
- }
-
- out = new FileOutputStream(file);
- final ObjectOutputStream objStream = new ObjectOutputStream(out);
- objStream.writeObject(this);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions
- .log("Master index file written successfully: " //$NON-NLS-1$
- + file.getAbsolutePath());
- }
- }
- finally
- {
- if (out != null)
- {
- out.close();
- }
- }
- }
-
- public synchronized void load(final SerializableVersion expectedVersion)
- throws IOException, ClassNotFoundException
- {
- FileInputStream in = null;
-
- try
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Trying to load master index file: " //$NON-NLS-1$
- + _storageFile.getAbsolutePath());
- }
-
- in = new FileInputStream(_storageFile);
- final ObjectInputStream objStream = new ObjectInputStream(in);
- MasterIndex index = (MasterIndex) objStream.readObject();
- _header = index._header;
- _projectIndices = index._projectIndices;
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions
- .log("Loaded master index file successfully:" //$NON-NLS-1$
- + _storageFile.getAbsolutePath());
- JSFCoreTraceOptions.log("Initial contents: "); //$NON-NLS-1$
- System.out.println(index.toString());
- }
- }
- finally
- {
- if (in != null)
- {
- in.close();
- }
- }
- }
-
- public synchronized String toString()
- {
- StringBuffer buffer = new StringBuffer();
-
- buffer.append(String.format("Header: %s\n\n", _header.toString())); //$NON-NLS-1$
-
- for (final ProjectIndex projIndex : _projectIndices)
- {
- buffer.append(String.format("\t%s\n", projIndex.toString())); //$NON-NLS-1$
- }
-
- return buffer.toString();
- }
-
- public synchronized ProjectIndex getProjectIndex(final IProject project)
- {
- ProjectIndex index = findIndex(project);
-
- if (index != null)
- {
- return index;
- }
-
- // otherwise, create.
- index = new ProjectIndex(0, project.getName(), _repositoryPath);
- index.create();
- _projectIndices.add(index);
- try
- {
- save(_storageFile);
- }
- catch (IOException ioe)
- {
- JSFCorePlugin.log(ioe,
- "Failed to save master index. Project Index for " //$NON-NLS-1$
- + project.toString() + " may not be saved"); //$NON-NLS-1$
- }
- return index;
- }
-
- public synchronized void removeProjectIndex(final IProject project) throws IOException
- {
- final ProjectIndex index = findIndex(project);
- if (index != null)
- {
- _projectIndices.remove(index);
- if (!index.remove())
- {
- throw new IOException("Failed to remove index file"); //$NON-NLS-1$
- }
- }
- }
-
- private ProjectIndex findIndex(final IProject project)
- {
- // check if the project already exists
- for (final ProjectIndex index : _projectIndices)
- {
- if (index.getProjectName().equals(project.getName()))
- {
- return index;
- }
- }
- return null;
- }
-
- private void writeObject(final java.io.ObjectOutputStream out)
- throws IOException
- {
- out.writeObject(_header);
- out.writeObject(_projectIndices);
- }
-
- private void readObject(final java.io.ObjectInputStream in)
- throws IOException, ClassNotFoundException
- {
- _header = (IndexHeader) in.readObject();
- _projectIndices = (List<ProjectIndex>) in.readObject();
- }
-
- private class IndexHeader implements Serializable
- {
- /**
- * serializable
- */
- private static final long serialVersionUID = 40851054201507727L;
-
- private final SerializableVersion _version;
-// private long _lastModifiedStamp;
-
- public IndexHeader(final SerializableVersion version)
- {
- _version = version;
-// _lastModifiedStamp = 0;
- }
-
-// protected final Version getVersion()
-// {
-// return _version.getVersion();
-// }
-//
-// protected final synchronized long modified()
-// {
-// return _lastModifiedStamp++;
-// }
-//
-// protected final synchronized long getLastModifiedStamp()
-// {
-// return _lastModifiedStamp;
-// }
-
- public String toString()
- {
- return "Version: " + _version.toString(); //$NON-NLS-1$
- }
- }
-
- static class SerializableVersion implements Serializable
- {
- private Version _version;
- /**
- *
- */
- private static final long serialVersionUID = 5973410328814890568L;
-
- public SerializableVersion(final int major, final int minor,
- final int micro)
- {
- _version = new Version(major, minor, micro);
- }
-
- public SerializableVersion(final String versionString)
- {
- _version = new Version(versionString);
- }
-
- public Version getVersion()
- {
- return _version;
- }
-
- public String toString()
- {
- return _version.toString();
- }
-
- private void writeObject(ObjectOutputStream out) throws IOException
- {
- out.writeObject(_version.toString());
- }
-
- private void readObject(ObjectInputStream in) throws IOException,
- ClassNotFoundException
- {
- final String versionString = (String) in.readObject();
- _version = new Version(versionString);
- }
- }
-
- static class ProjectIndex implements Serializable
- {
- /**
- *
- */
- private static final long serialVersionUID = 2864798175910805380L;
-
- private final String _projectName;
- private final String _relativePath;
- private final long _lastModStampOnProject;
- private File _file;
-
- /**
- * @param lastModStampOnProject
- * @param projectName
- * @param relativePath
- */
- public ProjectIndex(final long lastModStampOnProject,
- final String projectName, final String relativePath)
- {
- super();
- _lastModStampOnProject = lastModStampOnProject;
- _projectName = projectName;
- _relativePath = relativePath;
- }
-
- public boolean remove()
- {
- return _file.delete();
- }
-
- public synchronized void create()
- {
- final long uniqueCode = Math
- .round((Math.random() * Integer.MAX_VALUE));
- final String fileName = String.format("Project_%s_%x.idx", //$NON-NLS-1$
- _projectName, Long.valueOf(uniqueCode));
- _file = new File(new Path(_relativePath).append(fileName)
- .toOSString());
- }
-
- public synchronized Map<String, SerializableTLDNamespace> getNamespaces()
- throws IOException, ClassNotFoundException
- {
- FileInputStream in = null;
-
- try
- {
- in = new FileInputStream(_file);
- final ObjectInputStream objStream = new ObjectInputStream(in);
- final Map<String, SerializableTLDNamespace> namespaces = (Map<String, SerializableTLDNamespace>) objStream
- .readObject();
- return namespaces;
- }
- catch (FileNotFoundException nfe)
- {
- return new HashMap<String, SerializableTLDNamespace>();
- }
- finally
- {
- if (in != null)
- {
- in.close();
- }
- }
- }
-
- public synchronized void save(
- final Map<String, SerializableTLDNamespace> namespaces)
- throws IOException
- {
- FileOutputStream out = null;
-
- try
- {
- out = new FileOutputStream(_file);
- final ObjectOutputStream objStream = new ObjectOutputStream(out);
- objStream.writeObject(namespaces);
- }
- finally
- {
- if (out != null)
- {
- out.close();
- }
- }
- }
-
- public String toString()
- {
- return "project= " + _projectName + ", relativePath=" //$NON-NLS-1$ //$NON-NLS-2$
- + _relativePath + ", lastModified=" //$NON-NLS-1$
- + _lastModStampOnProject + ", saveFile=" + _file; //$NON-NLS-1$
- }
-
- // public synchronized void save()
- // {
- // if (_file != null)
- // {
- // doSave();
- // }
- // throw new NullPointerException("_file is null");
- // }
- //
- // private void doSave() throws IOException
- // {
- // FileOutputStream out = null;
- //
- // try
- // {
- // out = new FileOutputStream(_file);
- // final ObjectOutputStream objStream = new ObjectOutputStream(out);
- // objStream.writeObject(this);
- // }
- // finally
- // {
- // if (out != null)
- // {
- // out.close();
- // }
- // }
- // }
-
- protected final String getProjectName()
- {
- return _projectName;
- }
-
- protected final String getRelativePath()
- {
- return _relativePath;
- }
-
- protected final long getLastModStampOnProject()
- {
- return _lastModStampOnProject;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/PersistedDataTagStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/PersistedDataTagStrategy.java
deleted file mode 100644
index 6c95f0274..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/PersistedDataTagStrategy.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.JSPTagResolvingStrategy;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDNamespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDTagElement;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-
-/**
- * @author cbateman
- *
- */
-public class PersistedDataTagStrategy extends JSPTagResolvingStrategy
-{
- /**
- * the identifier of this strategy
- */
- public final static String ID = "org.eclipse.jst.jsf.designtime.PersistedDataTagStrategy"; //$NON-NLS-1$
- /**
- * the display name
- */
- public final static String DISPLAY_NAME = Messages.PersistedDataTagStrategy_DisplayName;
-
- private final IProject _project;
- private final TagRepository _repository;
- private Map<String, SerializableTLDNamespace> _namespaces;
- private final transient AtomicBoolean _reentrancyFlag = new AtomicBoolean(
- false);
-
- /**
- * @return the descriptor for this resolver strategy
- */
- public static StrategyDescriptor createDescriptor()
- {
- return new StrategyDescriptor(ID, DISPLAY_NAME);
- }
-
- /**
- * @param project
- */
- public PersistedDataTagStrategy(final IProject project)
- {
- _project = project;
- _repository = new TagRepository(_project);
- }
-
- /**
- *
- */
- public void init()
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions
- .log("Initializing PersistedDataTagStrategy for project: " //$NON-NLS-1$
- + _project.toString());
- }
- try
- {
- _namespaces = _repository.load();
- return;
- }
- catch (final IOException e)
- {
- JSFCorePlugin
- .log(e,
- "JSP tag registry cached failed to load. Strategy will not be used"); //$NON-NLS-1$
- }
- catch (final ClassNotFoundException e)
- {
- JSFCorePlugin
- .log(e,
- "JSP tag registry cached failed to load. Strategy will not be used"); //$NON-NLS-1$
- }
- _namespaces = new HashMap<String, SerializableTLDNamespace>();
- }
-
- /**
- * @param namespace
- * @throws ClassNotFoundException
- * @throws IOException
- */
- public void save(final Map<String, TLDNamespace> namespace)
- throws IOException, ClassNotFoundException
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions
- .log("Saving PersistedDataTagStrategy for project: " //$NON-NLS-1$
- + _project.toString());
- }
-
- // namespace is considered authoritative for every key it contains
- // so copy them all in. However, preserve anything in our own namespace
- // map not found in namespace
- for (final Map.Entry<String, TLDNamespace> namespaceEntry : namespace
- .entrySet())
- {
- final TLDNamespace ns = namespaceEntry.getValue();
- final String nsName = namespaceEntry.getKey();
- final SerializableTLDNamespace myNs = _namespaces.get(nsName);
-
- if (myNs == null)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Adding namespace %s for project", ns.getNSUri(), //$NON-NLS-1$
- _project.toString()));
- }
-
- _namespaces.put(nsName, new SerializableTLDNamespace(ns));
- }
- else
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Updating namespace %s for project", ns.getNSUri(), //$NON-NLS-1$
- _project.toString()));
- }
-
- for (final Map.Entry<String, ITagElement> elementEntry : ns
- .getCurrentElements().entrySet())
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Putting element %s", elementEntry.getKey())); //$NON-NLS-1$
- }
- myNs.put(elementEntry.getKey(), elementEntry.getValue());
- }
- }
- }
-
- _repository.save(_namespaces);
- }
-
- @Override
- public ITagElement resolve(final TLDElementDeclaration element)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Attempting to resolve element %s for project %s", element //$NON-NLS-1$
- .getElementName(), _project));
- }
-
- try
- {
- if (!_reentrancyFlag.compareAndSet(false, true))
- {
- throw new IllegalStateException("Reentrant call to resolve"); //$NON-NLS-1$
- }
-
- final String uri = getUri(element);
- final String tagName = element.getElementName();
-
- if (uri != null && tagName != null)
- {
- final SerializableTLDNamespace ns = _namespaces.get(uri);
-
- if (ns != null)
- {
- final ITagElement tagElement = ns.getViewElement(tagName);
-
- if (tagElement instanceof TLDTagElement)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Resolved element %s for project %s", //$NON-NLS-1$
- element.getElementName(), _project));
- }
- return tagElement;
- }
- }
- }
- return getNotFoundIndicator();
- }
- finally
- {
- _reentrancyFlag.set(false);
- }
- }
-
- /**
- * Clears all cached data and removes it permanently from disk.
- */
- public void clear()
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log(String.format(
- "Flushing all data for project %s", _project)); //$NON-NLS-1$
- }
-
- try
- {
- _repository.clearAll();
- }
- catch (IOException e)
- {
- JSFCorePlugin.log(e, "Failure during cache flushing on project: " //$NON-NLS-1$
- + _project);
- }
- catch (ClassNotFoundException e)
- {
- JSFCorePlugin.log(e, "Failure during cache flushing on project: " //$NON-NLS-1$
- + _project);
- }
- _namespaces.clear();
- }
-
- public String getDisplayName()
- {
- return DISPLAY_NAME;
- }
-
- private static String getUri(final TLDElementDeclaration element)
- {
- final CMDocument owner = element.getOwnerDocument();
-
- if (owner instanceof TLDDocument)
- {
- return ((TLDDocument) owner).getUri();
- }
- return null;
- }
-
- @Override
- public String getId()
- {
- return ID;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/SerializableTLDNamespace.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/SerializableTLDNamespace.java
deleted file mode 100644
index b40878a8f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/SerializableTLDNamespace.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDNamespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDNamespace.TLDNamespaceData;
-
-/**
- * A serializable tld namespace. This is distinct from TLDNamespace in that it
- * takes a snapshot of a TLDNamespace at a point in time. Any elements not
- * lazily resolved by the TLDNamespace will not be resolved by this namespace.
- *
- */
-public class SerializableTLDNamespace extends Namespace
-{
- private final SerializedNamespaceData _data;
-
- /**
- * @param namespace
- */
- public SerializableTLDNamespace(final TLDNamespace namespace)
- {
- _data = new SerializedNamespaceData(namespace.getDisplayName(),
- namespace.getCurrentElements(), namespace.getNSUri());
- }
-
- /**
- *
- */
- private static final long serialVersionUID = 5364814479459691353L;
-
- @Override
- public String getDisplayName()
- {
- return _data.getDisplayName();
- }
-
- @Override
- public String getNSUri()
- {
- return _data.getUri();
- }
-
- @Override
- public ITagElement getViewElement(String name)
- {
- return _data.getViewElement(name);
- }
-
- @Override
- public Collection<? extends ITagElement> getViewElements()
- {
- return Collections.unmodifiableCollection(_data.getAllViewElements()
- .values());
- }
-
- @Override
- public boolean hasViewElements()
- {
- return _data.getNumTags() > 0;
- }
-
- @Override
- public boolean isInitialized()
- {
- return _data.isInitialized();
- }
-
- /* package */void put(final String name, final ITagElement tagElement)
- {
- _data._tags.put(name, tagElement);
- }
-
- private static class SerializedNamespaceData extends TLDNamespaceData
- {
- /**
- * serializable id
- */
- private static final long serialVersionUID = -6723194339788215607L;
- private final String _displayName;
- private final String _uri;
- private final Map<String, ITagElement> _tags;
-
- /**
- * @param displayName
- * @param tags
- * @param uri
- */
- private SerializedNamespaceData(String displayName,
- Map<String, ITagElement> tags, String uri)
- {
- super();
- _displayName = displayName;
- _tags = new HashMap<String, ITagElement>();
- for (final Map.Entry<String, ITagElement> tagEntry : tags.entrySet())
- {
- _tags.put(tagEntry.getKey(), tagEntry.getValue());
- }
- _uri = uri;
- }
-
- @Override
- public String getDisplayName()
- {
- return _displayName;
- }
-
- @Override
- public int getNumTags()
- {
- return _tags.size();
- }
-
- @Override
- public ITagElement getViewElement(String name)
- {
- return _tags.get(name);
- }
-
- @Override
- public String getUri()
- {
- return _uri;
- }
-
- @Override
- public Map<String, ITagElement> getAllViewElements()
- {
- return _tags;
- }
-
- @Override
- public boolean isInitialized()
- {
- return true;
- }
-
- @Override
- public Map<String, ITagElement> getCurrentElements()
- {
- return _tags;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/TagRepository.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/TagRepository.java
deleted file mode 100644
index 0d15744f8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/persistence/TagRepository.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence.MasterIndex.ProjectIndex;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence.MasterIndex.SerializableVersion;
-
-class TagRepository
-{
- private final static Object GLOBAL_MASTER_INDEX_LOCK = new Object();
- private static MasterIndex GLOBAL_MASTER_INDEX;
- private final static String PATH_TO_REPOSITORY = "/.jsptagregistry"; //$NON-NLS-1$
- private final static String MASTER_INDEX_FILE_NAME = "tagRegistryMasterIndex.idx"; //$NON-NLS-1$
-
- private final IProject _project;
- //private Map<String, SerializableTLDNamespace> _namespaces;
-
- public TagRepository(final IProject project)
- {
- _project = project;
- }
-
- public Map<String, SerializableTLDNamespace> load() throws IOException,
- ClassNotFoundException
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Loading tag repository for: " //$NON-NLS-1$
- + _project.toString());
- }
-
- final MasterIndex index = getOrCreateMasterIndex();
-
- final ProjectIndex projIndex = index.getProjectIndex(_project);
- final Map<String, SerializableTLDNamespace> namespaces = projIndex.getNamespaces();
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Contents of repo for: " //$NON-NLS-1$
- + _project.toString());
-
- for (final Map.Entry<String, SerializableTLDNamespace> nsEntry : namespaces.entrySet())
- {
- JSFCoreTraceOptions.log("\tNamespace: "+nsEntry.getKey()); //$NON-NLS-1$
-
- SerializableTLDNamespace ns = nsEntry.getValue();
- for (final ITagElement element : ns.getViewElements())
- {
- JSFCoreTraceOptions.log("\t\tTag: "+element.toString()); //$NON-NLS-1$
- }
- }
- }
-
- return namespaces;
- }
-
- public void save(Map<String, SerializableTLDNamespace> namespaces) throws IOException,
- ClassNotFoundException
- {
- final MasterIndex index = getOrCreateMasterIndex();
- final ProjectIndex projectIndex = index.getProjectIndex(_project);
- projectIndex.save(namespaces);
- }
-
- public void clearAll() throws IOException, ClassNotFoundException
- {
- final MasterIndex index = getOrCreateMasterIndex();
- index.removeProjectIndex(_project);
- }
-
- private MasterIndex getOrCreateMasterIndex() throws IOException,
- ClassNotFoundException
- {
- final IPath wkspacePath = JSFCorePlugin.getDefault().getStateLocation();
- final IPath repoPath = wkspacePath.append(PATH_TO_REPOSITORY);
- final File repoDir = new File(repoPath.toOSString());
-
- synchronized (GLOBAL_MASTER_INDEX_LOCK)
- {
- if (GLOBAL_MASTER_INDEX != null)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions
- .log("GLOBAL_MASTER_INDEX already exists for: " //$NON-NLS-1$
- + _project.toString());
- }
- return GLOBAL_MASTER_INDEX;
- }
-
- if (!repoDir.exists())
- {
- createNewRepo(repoDir);
- }
-
- final File masterIndexFile = new File(new Path(repoDir
- .getAbsolutePath()).append(MASTER_INDEX_FILE_NAME)
- .toOSString());
- final MasterIndex index = new MasterIndex(masterIndexFile, repoDir.getAbsolutePath());
-
- if (!masterIndexFile.exists())
- {
- if (!masterIndexFile.createNewFile())
- {
- throw new IOException(
- "Could not create new master index file: " //$NON-NLS-1$
- + masterIndexFile.toString());
- }
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Creating master index file for " //$NON-NLS-1$
- + _project.toString());
- }
- index.create(new SerializableVersion(1, 0, 0));
- }
- else
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Loading master index file for " //$NON-NLS-1$
- + _project.toString());
- }
- index.load(new SerializableVersion(1, 0, 0));
- }
-
- GLOBAL_MASTER_INDEX = index;
- return index;
- }
- }
-
- private static void createNewRepo(final File repoDir) throws IOException
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGPERSISTENCE)
- {
- JSFCoreTraceOptions.log("Creating repo directory: " //$NON-NLS-1$
- + repoDir.getAbsolutePath());
- }
-
- if (!repoDir.mkdir())
- {
- throw new IOException("Failed to create repo directory: " //$NON-NLS-1$
- + repoDir.getAbsolutePath());
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperation.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperation.java
deleted file mode 100644
index 403fea914..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-
-abstract class LibraryOperation implements Runnable
-{
- protected final ITaglibRecord _changeRecord;
- private IStatus _result;
-
- protected LibraryOperation(final ITaglibRecord changeRecord)
- {
- _changeRecord = changeRecord;
- }
-
- public final void run()
- {
- try
- {
- _result = doRun();
- }
- catch (final Exception e)
- {
- _result = new Status(IStatus.ERROR, JSFCorePlugin.PLUGIN_ID,
- "Problem during run", e); //$NON-NLS-1$
- }
- }
-
- public IStatus getResult()
- {
- return _result;
- }
-
- protected abstract IStatus doRun();
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperationFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperationFactory.java
deleted file mode 100644
index 70f5d3f51..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/LibraryOperationFactory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-
-class LibraryOperationFactory
-{
- private final TLDTagRegistry _tagRegistry;
-
- public LibraryOperationFactory(final TLDTagRegistry tagRegistry)
- {
- _tagRegistry = tagRegistry;
- }
-
- LibraryOperation createAddOperation(final ITaglibRecord changeRecord)
- {
- return new AddTagLibrary(_tagRegistry, changeRecord);
- }
-
- LibraryOperation createRemoveOperation(final ITaglibRecord changeRecord)
- {
- return new RemoveTagLibrary(_tagRegistry, changeRecord);
- }
-
- LibraryOperation createChangeOperation(final ITaglibRecord changeRecord)
- {
- if (changeRecord == null)
- {
- throw new IllegalArgumentException();
- }
- return new ChangeTagLibrary(_tagRegistry, changeRecord);
- }
-
- private static class AddTagLibrary extends LibraryOperation
- {
- private final TLDTagRegistry _tagRegistry;
-
- public AddTagLibrary(final TLDTagRegistry tagRegistry,
- final ITaglibRecord newRecord)
- {
- super(newRecord);
- _tagRegistry = tagRegistry;
- }
-
- @Override
- protected IStatus doRun()
- {
- synchronized (_tagRegistry)
- {
- // fire change event if applicable
- _tagRegistry.initialize(_changeRecord, true);
- return Status.OK_STATUS;
- }
- }
- }
-
- private static class RemoveTagLibrary extends LibraryOperation
- {
- private final TLDTagRegistry _tagRegistry;
-
- protected RemoveTagLibrary(final TLDTagRegistry tagRegistry,
- final ITaglibRecord changeRecord)
- {
- super(changeRecord);
- _tagRegistry = tagRegistry;
- }
-
- @Override
- protected IStatus doRun()
- {
- _tagRegistry.remove(_changeRecord);
- return Status.OK_STATUS;
-
- }
-
- }
-
- private static class ChangeTagLibrary extends LibraryOperation
- {
- private final TLDTagRegistry _tagRegistry;
-
- protected ChangeTagLibrary(final TLDTagRegistry tagRegistry,
- final ITaglibRecord changeRecord)
- {
- super(changeRecord);
- _tagRegistry = tagRegistry;
- }
-
- @Override
- protected IStatus doRun()
- {
- IStatus result = null;
-
- synchronized (_tagRegistry)
- {
- result = new RemoveTagLibrary(_tagRegistry, _changeRecord).doRun();
-
- if (result.getSeverity() != IStatus.ERROR
- && result.getSeverity() != IStatus.CANCEL)
- {
- result = new AddTagLibrary(_tagRegistry, _changeRecord)
- .doRun();
- }
- }
-
- return result;
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryManager.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryManager.java
deleted file mode 100644
index 8bec0653c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryManager.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.common.internal.resource.ResourceSingletonObjectManager;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.eclipse.jst.jsf.designtime.internal.view.model.TagRegistryFactory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * A per-resource singleton manager for TLDTagRegistry's.
- *
- * @author cbateman
- *
- */
-public final class TLDRegistryManager extends
- ResourceSingletonObjectManager<TLDTagRegistry, IProject>
-{
- // STATIC
- private final static String JST_WEB_MODULE = "jst.web"; //$NON-NLS-1$
- private static TLDRegistryManager INSTANCE;
-
- /**
- * @return the singleton instance
- */
- private static TLDRegistryManager getGlobalManager()
- {
- synchronized (TLDRegistryManager.class)
- {
- if (INSTANCE == null)
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions
- .log("TLDRegistryManager: Initializing TLDRegistryManager singleton"); //$NON-NLS-1$
- }
- INSTANCE = new TLDRegistryManager();
- }
-
- return INSTANCE;
- }
- }
-
- private TLDRegistryManager()
- {
- super(ResourcesPlugin.getWorkspace());
- final ISaveParticipant participant = new MyWorkspaceSaveParticipant();
-
- try
- {
- ResourcesPlugin.getWorkspace().addSaveParticipant(JSFCorePlugin.getDefault().getPluginID()
- , participant);
- }
- catch (CoreException e)
- {
- JSFCorePlugin.log(e, "TLDRegistryManager failed to install save participant"); //$NON-NLS-1$
- }
- }
-
- @Override
- protected TLDTagRegistry createNewInstance(final IProject project)
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions
- .log("TLDRegistryManager: creating new instance for " //$NON-NLS-1$
- + project.toString());
- }
-
- return new TLDTagRegistry(project);
- }
-
- @Override
- protected void runAfterGetInstance(final IProject resource)
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions
- .log("TLDRegistryManager: Acquired instance for " //$NON-NLS-1$
- + resource.toString());
- }
- }
-
- @Override
- protected void runBeforeGetInstance(final IProject resource)
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions.log("TLDRegistryManager: Getting registry for " //$NON-NLS-1$
- + resource.toString());
- }
- }
-
- /**
- * Adapter used to allow creation by extension point.
- *
- * @author cbateman
- *
- */
- public static class MyRegistryFactory extends TagRegistryFactory
- {
- @Override
- public ITagRegistry createTagRegistry(IProject project)
- throws TagRegistryFactoryException
- {
- try
- {
- return getGlobalManager().getInstance(project);
- }
- catch (ManagedObjectException e)
- {
- throw new TagRegistryFactoryException(e);
- }
- }
-
- @Override
- public boolean isInstance(IProject project)
- {
- return getGlobalManager().isInstance(project);
- }
-
- public String getDisplayName()
- {
- return Messages.TLDRegistryManager_DisplayName;
- }
-
- @Override
- public boolean projectIsValid(IProject project) {
- if (project == null)
- {
- return false;
- }
-
- // Check that this is a dynamic web project
- // (I.E. the JST Web facet is installed)
- try
- {
- if (ProjectFacetsManager.isProjectFacetDefined(JST_WEB_MODULE))
- {
- IFacetedProject faceted = ProjectFacetsManager.create(project);
- IProjectFacet webModuleFacet = ProjectFacetsManager.getProjectFacet(JST_WEB_MODULE);
- if (faceted != null && faceted.hasProjectFacet(webModuleFacet))
- {
- return true;
- }
- }
- }
- catch (CoreException ce)
- {
- JSFCorePlugin.log(ce, "TLDRegistryManager failed checking web project"); //$NON-NLS-1$
- }
-
- return false;
- }
- }
-
- private class MyWorkspaceSaveParticipant implements ISaveParticipant
- {
- public void saving(ISaveContext context) throws CoreException
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions.log("MyWorkspaceSaveParticipant.saving: Kind="+context.getKind()); //$NON-NLS-1$
- }
- try
- {
- if (context.getKind() == ISaveContext.FULL_SAVE)
- {
- final Collection<IProject> projects = TLDRegistryManager.this
- .getManagedResources();
-
- for (final IProject project : projects)
- {
- saveProject(project);
- }
- }
- else if (context.getKind() == ISaveContext.PROJECT_SAVE)
- {
- saveProject(context.getProject());
- }
-
- }
- catch (ManagedObjectException moe)
- {
- throw new CoreException(new Status(IStatus.ERROR,
- JSFCorePlugin.PLUGIN_ID, "Couldn't commit workspace", //$NON-NLS-1$
- moe));
- }
- }
-
- private void saveProject(final IProject project)
- throws ManagedObjectException
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions.log("MyWorkspaceSaveParticipant.saveProject: Project="+project.toString()); //$NON-NLS-1$
- }
-
- // check that there is already instance -- don't do anything if there
- // isn't already an instance for project.
- if (TLDRegistryManager.this.isInstance(project))
- {
- final TLDTagRegistry registry = TLDRegistryManager.this
- .getInstance(project);
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions.log("MyWorkspaceSaveParticipant.saveProject: calling checkpoint on registry: "+registry.toString()); //$NON-NLS-1$
- }
-
- registry.checkpoint();
- }
- }
-
- public void doneSaving(ISaveContext context)
- {
- // nothing to do
- }
-
- public void prepareToSave(ISaveContext context) throws CoreException
- {
- // nothing to do
- }
-
- public void rollback(ISaveContext context)
- {
- // nothing to do
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryPreferences.java
deleted file mode 100644
index 594db8b70..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDRegistryPreferences.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jst.jsf.common.internal.policy.OrderedListProvider;
-import org.eclipse.jst.jsf.common.internal.policy.OrderedListProvider.OrderableObject;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.DefaultJSPTagResolver;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TagIntrospectingStrategy;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.JSPTagResolvingStrategy.StrategyDescriptor;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence.PersistedDataTagStrategy;
-
-/**
- * Preferences model for the TLD registry. This class is not thread-safe and
- * a single instance should only be used by one owner.
- *
- * @author cbateman
- *
- */
-public class TLDRegistryPreferences
-{
- private final static Map<String, StrategyDescriptor> ALL_KNOWN_STRATEGIES;
-
- private final IPreferenceStore _prefStore;
- private final CopyOnWriteArrayList<PropertyListener> _listeners;
- private final AtomicBoolean _isDisposed = new AtomicBoolean(false);
-
- private final static String KEY_STRATEGY_ID_ORDER = "org.eclipse.jst.jsf.designtime.jsp.registry.StrategyIDOrder"; //$NON-NLS-1$
-
- private final static List<OrderableObject> DEFAULT_STRATEGY_ORDER;
-
- static
- {
- final List<OrderableObject> list = new ArrayList<OrderableObject>();
-
- // NOTE !!! this ordering is important and effects the default order
- // in which strategies will be consulted !!!
- list.add(new OrderableObject(new StrategyIdentifier(PersistedDataTagStrategy.createDescriptor()), true));
- list.add(new OrderableObject(new StrategyIdentifier(DefaultJSPTagResolver.createDescriptor()), true));
- // Bug 312954 - temporarily disable the default preference for the
- // TagIntrospectingStrategy. When bug 312936 and 240394 get resolved,
- // roll back this change and re-enable.
- list.add(new OrderableObject(new StrategyIdentifier(TagIntrospectingStrategy.createDescriptor()), false));
- DEFAULT_STRATEGY_ORDER = Collections.unmodifiableList(list);
-
-
- final Map<String, StrategyDescriptor> knownDescriptors = new HashMap<String, StrategyDescriptor>();
- for (final OrderableObject object : DEFAULT_STRATEGY_ORDER)
- {
- StrategyIdentifier strategyId = (StrategyIdentifier) object.getObject();
- knownDescriptors.put(strategyId.getId(), strategyId._descriptor);
- }
- ALL_KNOWN_STRATEGIES = Collections.unmodifiableMap(knownDescriptors);
- }
-
- private List<OrderableObject> _ids;
- private List<OrderableObject> _originalIds;
- private IPropertyChangeListener _propertyListener;
-
- /**
- * Constructor
- *
- * @param prefStore
- */
- public TLDRegistryPreferences(final IPreferenceStore prefStore)
- {
- _prefStore = prefStore;
- _ids = new ArrayList<OrderableObject>();
- _listeners = new CopyOnWriteArrayList<PropertyListener>();
- }
-
- /**
- * Dispose of this preferences object
- */
- public void dispose()
- {
- if (_isDisposed.compareAndSet(false, true))
- {
- if (_propertyListener != null)
- {
- _prefStore.removePropertyChangeListener(_propertyListener);
- }
- }
- }
-
- void addListener(final PropertyListener propListener)
- {
- if (!assertNotDisposed())
- {
- return;
- }
-
- if (_propertyListener == null)
- {
- _propertyListener = new IPropertyChangeListener()
- {
- public void propertyChange(PropertyChangeEvent event)
- {
- if (KEY_STRATEGY_ID_ORDER.equals(event.getProperty()))
- {
- fireStrategyOrderChanged();
- }
- }
- };
-
- _prefStore.addPropertyChangeListener(_propertyListener);
- }
- _listeners.addIfAbsent(propListener);
- }
-
- void removeListener(final PropertyListener propListener)
- {
- if (!assertNotDisposed())
- {
- return;
- }
- _listeners.remove(propListener);
-
- if (_listeners.isEmpty())
- {
- _prefStore.removePropertyChangeListener(_propertyListener);
- _propertyListener = null;
- }
- }
-
- private void fireStrategyOrderChanged()
- {
- if (!assertNotDisposed())
- {
- return;
- }
- for (final PropertyListener listener : _listeners)
- {
- listener.strategyOrderChanged();
- }
- }
-
- /**
- * @return false if the assertion fails
- */
- private boolean assertNotDisposed()
- {
- if (_isDisposed.get())
- {
- JSFCorePlugin.log(new Exception("Stack trace only"), "TLDRegistryPreferences is disposed"); //$NON-NLS-1$ //$NON-NLS-2$
- return false;
- }
- return true;
- }
-
- /**
- * IPreferenceStore The default preference loader
- */
- public void load()
- {
- load(_prefStore);
- }
-
- /**
- * @return the ordered list provider for the strategy id ordering
- */
- public OrderedListProvider getOrderedListProvider()
- {
- return new MyOrderedListProvider();
- }
-
- /**
- * @return the strategy id ordering
- */
- public List<OrderableObject> getStrategyIdOrdering()
- {
- return _ids;
- }
-
- /**
- * @param ids
- */
- public void setStrategyIdOrdering(final List<OrderableObject> ids)
- {
- _ids = ids;
- }
-
- /**
- * @return the list of strategy ids in the order they should be consulted
- */
- public List<String> getEnabledIds()
- {
- final List<String> strategies = new ArrayList<String>();
-
- for (final OrderableObject id : _ids)
- {
- if (id.isEnabled())
- {
- StrategyIdentifier strategyId = (StrategyIdentifier) id.getObject();
- strategies.add(strategyId.getId());
- }
- }
- return strategies;
- }
-
- /**
- * Loads preferences from prefStore
- *
- * @param prefStore
- */
- private void load(final IPreferenceStore prefStore)
- {
- if (!prefStore.contains(KEY_STRATEGY_ID_ORDER))
- {
- prefStore.setDefault(KEY_STRATEGY_ID_ORDER,
- serialize(DEFAULT_STRATEGY_ORDER));
- }
- List<OrderableObject> ids = deserialize(prefStore
- .getString(KEY_STRATEGY_ID_ORDER));
- if (ids == null)
- {
- ids = deserialize(serialize(DEFAULT_STRATEGY_ORDER));
- }
- _ids = ids;
- final List<OrderableObject> originalList = new ArrayList<OrderableObject>();
- for (final OrderableObject id : _ids)
- {
- final OrderableObject copy = id.clone();
- originalList.add(copy);
- }
- _originalIds = Collections.unmodifiableList(originalList);
- }
-
- private String serialize(final List<OrderableObject> ids)
- {
- final StringBuffer buffer = new StringBuffer();
-
- for (final OrderableObject id : ids)
- {
- StrategyIdentifier strategyId = (StrategyIdentifier) id.getObject();
- buffer.append("dummyValue"); //$NON-NLS-1$
- buffer.append(","); //$NON-NLS-1$
- buffer.append(strategyId.getId());
- buffer.append(","); //$NON-NLS-1$
- buffer.append(id.isEnabled());
- buffer.append(","); //$NON-NLS-1$
- }
- return buffer.toString();
- }
-
- private List<OrderableObject> deserialize(final String serializedList)
- {
- final List<OrderableObject> list = new ArrayList<OrderableObject>();
- final String[] ids = serializedList.split(","); //$NON-NLS-1$
- if ((ids.length % 3) != 0)
- {
- return null;
- }
-
- for (int i = 0; i < ids.length; i += 3)
- {
- /// ingore the dummy value: final String displayName = ids[i];
- String id = ids[i + 1];
- final String enabled = ids[i + 2];
-
- // fix old id for meta-data resolver
- if ("org.eclipse.jst.jsf.THISISTEMPORARY".equals(id)) //$NON-NLS-1$
- {
- id = DefaultJSPTagResolver.ID;
- }
-
- final StrategyDescriptor desc = ALL_KNOWN_STRATEGIES.get(id);
-
- if (desc == null)
- {
- JSFCorePlugin.log(new Exception("Stack trace only"), "Error: unknown strategy id: "+id); //$NON-NLS-1$ //$NON-NLS-2$
- }
- else
- {
- final StrategyIdentifier strategyIdentifier = new StrategyIdentifier(desc);
- list.add(new OrderableObject(strategyIdentifier
- , Boolean.valueOf(enabled).booleanValue()));
- }
- }
- return list;
- }
-
- /**
- * Commits but does not store the preferences
- *
- * @param prefStore
- */
- public void commit(final IPreferenceStore prefStore)
- {
- prefStore.setValue(KEY_STRATEGY_ID_ORDER,
- serialize(getStrategyIdOrdering()));
- // refresh local copy of preferences
- load();
- }
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults()
- {
- setStrategyIdOrdering(new ArrayList<OrderableObject>(
- DEFAULT_STRATEGY_ORDER));
- }
-
- /**
- * @return true if this preference object's properties have
- * changed since load() was last called.
- */
- public boolean isDirty()
- {
- // dirty if the current list is not equal to the original list
- // generated at load time.
- return !(_ids.equals(_originalIds));
- }
-
- /**
- * Used as the model for sorting and enabling strategy identifiers.
- *
- */
- public static class StrategyIdentifier
- {
- private final StrategyDescriptor _descriptor;
-
- StrategyIdentifier(final StrategyDescriptor descriptor)
- {
- _descriptor = descriptor;
- }
-
- /**
- * @return the id
- */
- public String getId()
- {
- return _descriptor.getId();
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if (obj instanceof StrategyIdentifier)
- {
- return getId().equals(((StrategyIdentifier)obj).getId());
- }
- return false;
- }
-
- @Override
- public int hashCode()
- {
- return getId().hashCode();
- }
-
- /**
- * @return the display name of the strategy
- */
- public String getDisplayName()
- {
- return _descriptor.getDisplayName();
- }
- }
-
- private class MyOrderedListProvider extends OrderedListProvider
- {
- @Override
- protected List<OrderableObject> createAndPopulateOrderedObjects()
- {
- return _ids;
- }
- }
-
- static abstract class PropertyListener
- {
- public abstract void strategyOrderChanged();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDTagRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDTagRegistry.java
deleted file mode 100644
index 0c9ea15b1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TLDTagRegistry.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jst.jsf.common.internal.managedobject.IManagedObject;
-import org.eclipse.jst.jsf.common.internal.policy.IdentifierOrderedIteratorPolicy;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsf.designtime.internal.Messages;
-import org.eclipse.jst.jsf.designtime.internal.view.model.AbstractTagRegistry;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.CompositeTagResolvingStrategy;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.DefaultJSPTagResolver;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDNamespace;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TagIntrospectingStrategy;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.UnresolvedJSPTagResolvingStrategy;
-import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.persistence.PersistedDataTagStrategy;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.taglib.ITLDRecord;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
-
-/**
- * Registry of all tld-defined tags for a particular project classpath
- *
- * @author cbateman
- *
- */
-public final class TLDTagRegistry extends AbstractTagRegistry implements
- IManagedObject
-{
- // INSTANCE
- private final IProject _project;
- private final Map<String, TLDNamespace> _nsResolved;
- private final CompositeTagResolvingStrategy<TLDElementDeclaration> _resolver;
- private boolean _hasBeenInitialized = false;
- private final ConcurrentLinkedQueue<LibraryOperation> _changeOperations = new ConcurrentLinkedQueue<LibraryOperation>();
- private final Job _changeJob;
- private final PersistedDataTagStrategy _persistedTagStrategy;
- private TagIndexListener _tagIndexListener;
- private final TLDRegistryPreferences _prefs;
- private final MyPropertyListener _myPropertyListener;
-
- TLDTagRegistry(final IProject project)
- {
- _project = project;
- _nsResolved = new HashMap<String, TLDNamespace>();
-
- _prefs = new TLDRegistryPreferences(JSFCorePlugin.getDefault().getPreferenceStore());
- _myPropertyListener = new MyPropertyListener();
- _prefs.addListener(_myPropertyListener);
- _prefs.load();
- final IdentifierOrderedIteratorPolicy<String> policy =
- getTagResolvingPolicy();
-
- _resolver = new CompositeTagResolvingStrategy<TLDElementDeclaration>(
- policy);
-
- // add the strategies
- _resolver.addStrategy(new TagIntrospectingStrategy(_project));
- _resolver.addStrategy(new DefaultJSPTagResolver(_project));
- // makes sure that a tag element will always be created for any
- // given tag definition even if other methods fail
- _resolver.addStrategy(new UnresolvedJSPTagResolvingStrategy());
- _persistedTagStrategy = new PersistedDataTagStrategy(_project);
- _persistedTagStrategy.init();
- _resolver.addStrategy(_persistedTagStrategy);
-
- _changeJob = new ChangeJob(project.getName());
- }
-
- private IdentifierOrderedIteratorPolicy<String> getTagResolvingPolicy()
- {
- // strategy ordering
- final List<String> prefOrdering = _prefs.getEnabledIds();
- final List<String> strategyOrdering = new ArrayList<String>(prefOrdering);
-
- // this strategy must always be here, always last
- strategyOrdering.add(UnresolvedJSPTagResolvingStrategy.ID);
-
- final IdentifierOrderedIteratorPolicy<String> policy = new IdentifierOrderedIteratorPolicy<String>(
- strategyOrdering);
- // exclude things that are not explicitly listed in the policy. That
- // way preference-based disablement will cause those strategies to
- // be excluded.
- policy.setExcludeNonExplicitValues(true);
- return policy;
- }
-
- protected final void doDispose()
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry: Disposing for project " //$NON-NLS-1$
- + _project.toString());
- }
-
- // call checkpoint to flush serializable data
- checkpoint();
- //_persistedTagStrategy.dispose();
-
- _prefs.removeListener(_myPropertyListener);
- _prefs.dispose();
-
- _nsResolved.clear();
- _changeOperations.clear();
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions
- .log("TLDTagRegistry: Done disposing registry for " //$NON-NLS-1$
- + _project.toString());
- }
- }
-
- @Override
- protected void cleanupPersistentState()
- {
- // TODO
- }
-
- public synchronized void checkpoint()
- {
- try
- {
- _persistedTagStrategy.save(_nsResolved);
- }
- catch (IOException e)
- {
- JSFCorePlugin.log(e, "Checkpointing JSP tags failed"); //$NON-NLS-1$
- }
- catch (ClassNotFoundException e)
- {
- JSFCorePlugin.log(e, "Checkpointing JSP tags failed"); //$NON-NLS-1$
- }
- }
-
- @Override
- protected Job getRefreshJob(final boolean flushCaches)
- {
- return new Job(Messages.TLDTagRegistry_RefreshJob + _project.getName())
- {
- @Override
- protected IStatus run(final IProgressMonitor monitor)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.refresh: start"); //$NON-NLS-1$
- }
-
- synchronized (TLDTagRegistry.this)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions
- .log("TLDTagRegistry.refresh: start"); //$NON-NLS-1$
- }
-
- final List<Namespace> namespaces = new ArrayList(
- _nsResolved.values());
-
- if (flushCaches)
- {
- _persistedTagStrategy.clear();
- }
- // if we aren't flushing caches, then check point the
- // current namespace data, so it isn't lost when we clear
- // the namespaces
- else
- {
- checkpoint();
- }
-
- _nsResolved.clear();
-
- fireEvent(new TagRegistryChangeEvent(TLDTagRegistry.this,
- TagRegistryChangeEvent.EventType.REMOVED_NAMESPACE,
- namespaces));
- initialize(true);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions
- .log("TLDTagRegistry.refresh: finished"); //$NON-NLS-1$
- }
- return Status.OK_STATUS;
- }
- }
- };
- }
-
- /**
- */
- private void initialize(boolean fireEvent)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.initialize: start"); //$NON-NLS-1$
- }
-
- final ITaglibRecord[] tldrecs = TaglibIndex
- .getAvailableTaglibRecords(_project.getFullPath());
- final List<Namespace> affectedObjects = new ArrayList<Namespace>();
- for (final ITaglibRecord tldrec : tldrecs)
- {
- // defer the event
- final Namespace ns = initialize(tldrec, fireEvent);
-
- if (ns != null)
- {
- affectedObjects.add(ns);
- }
- }
-
- _hasBeenInitialized = true;
-
- // if tag index listener does exist, add it
- if (_tagIndexListener == null)
- {
- if (JSFCoreTraceOptions.TRACE_TLDREGISTRYMANAGER)
- {
- JSFCoreTraceOptions
- .log("TLDRegistryManager: installing tag index listener due to create instance for " //$NON-NLS-1$
- + _project.toString());
- }
-
- _tagIndexListener = new TagIndexListener(this);
- TaglibIndex.addTaglibIndexListener(_tagIndexListener);
- }
-
- // if (affectedObjects.size() > 0)
- // {
- // fireEvent(new TagRegistryChangeEvent(this,
- // TagRegistryChangeEvent.EventType.ADDED_NAMESPACE,
- // affectedObjects));
- // }
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.initialize: finished"); //$NON-NLS-1$
- }
- }
-
- TLDNamespace initialize(final ITaglibRecord tagRecord,
- final boolean fireEvent)
- {
- if (tagRecord.getRecordType() == ITLDRecord.URL)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.initialize_TagRecord: Initializing new tld record: "+tagRecord.toString()); //$NON-NLS-1$
- }
- long startTime = 0;
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_PERF)
- {
- startTime = System.nanoTime();
- }
-
- final CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
- final TLDDocument doc = (TLDDocument) factory
- .createCMDocument(tagRecord);
- if (doc != null)
- {
- final TLDNamespace ns = new TLDNamespace(doc, _resolver);
- _nsResolved.put(doc.getUri(), ns);
-
- if (fireEvent)
- {
- fireEvent(new TagRegistryChangeEvent(this,
- TagRegistryChangeEvent.EventType.ADDED_NAMESPACE,
- Collections.singletonList(ns)));
- }
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_PERF)
- {
- System.out.printf("Time to update namespace %s was %d\n", //$NON-NLS-1$
- ns.getNSUri(), Long.valueOf(System.nanoTime()
- - startTime));
- }
- return ns;
- }
- }
- else
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.initialize_TagRecord: Skipping tag record for "+tagRecord.toString()); //$NON-NLS-1$
- }
-
- }
- // no new namespace
- return null;
- }
-
- void remove(final ITaglibRecord tagRecord)
- {
- // this is safer, since we likely fail to create a TLDDocument for
- // a tagRecord that has been removed.
- final String uri = tagRecord.getDescriptor().getURI();
- final TLDNamespace ns = _nsResolved.remove(uri);
-
- if (ns != null)
- {
- fireEvent(new TagRegistryChangeEvent(this,
- TagRegistryChangeEvent.EventType.REMOVED_NAMESPACE,
- Collections.singletonList(ns)));
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry.ITagRegistry#getAllTagLibraries()
- */
- public final synchronized Collection<? extends Namespace> getAllTagLibraries()
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.getAllTagLibraries: start"); //$NON-NLS-1$
- }
- long startTime = 0;
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_PERF)
- {
- startTime = System.nanoTime();
- }
-
- if (!_hasBeenInitialized)
- {
- initialize(false);
- }
-
- final Set<TLDNamespace> allTagLibraries = new HashSet<TLDNamespace>();
- allTagLibraries.addAll(_nsResolved.values());
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_PERF)
- {
- System.out.println("Time to getAllTagLibraries for JSP: "+(System.nanoTime()-startTime)); //$NON-NLS-1$
- }
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions
- .log("TLDTagRegistry.getAllTagLibraries: finished"); //$NON-NLS-1$
- }
- return allTagLibraries;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry.ITagRegistry#getTagLibrary(java.lang.String)
- */
- public final synchronized Namespace getTagLibrary(final String uri)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions.log("TLDTagRegistry.getTagLibrary: start uri=" //$NON-NLS-1$
- + uri);
- }
-
- if (!_hasBeenInitialized)
- {
- initialize(false);
- }
-
- final Namespace ns = _nsResolved.get(uri);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY)
- {
- JSFCoreTraceOptions
- .log("TLDTagRegistry.getTagLibrary: finished, result=" //$NON-NLS-1$
- + ns.toString());
- }
- return ns;
- }
-
- @Override
- public String toString()
- {
- return String
- .format(
- "TLDRegistry for project %s, isDisposed=%s, hasBeenInitialized=%s, numberOfNamespace=%d", //$NON-NLS-1$
- _project.toString(), Boolean.valueOf(isDisposed()),
- Boolean.valueOf(_hasBeenInitialized), Integer
- .valueOf(_nsResolved.size()));
- }
-
- void addLibraryOperation(final LibraryOperation operation)
- {
- _changeOperations.add(operation);
- _changeJob.schedule();
- }
-
-
- private class ChangeJob extends Job
- {
- private int _rescheduleTime = -1;
-
- public ChangeJob(final String projectName)
- {
- super(Messages.TLDTagRegistry_UpdateJob + projectName);
- }
-
- @Override
- protected IStatus run(final IProgressMonitor monitor)
- {
- synchronized (TLDTagRegistry.this)
- {
- _rescheduleTime = -1;
-
- LibraryOperation operation = null;
- final MultiStatus multiStatus = new MultiStatus(
- JSFCorePlugin.PLUGIN_ID, 0, "Result of change job", //$NON-NLS-1$
- new Throwable());
- while ((operation = _changeOperations.poll()) != null)
- {
- _rescheduleTime = 10000; // ms
-
- operation.run();
- multiStatus.add(operation.getResult());
- }
-
- if (_rescheduleTime >= 0 && !monitor.isCanceled())
- {
- // if any operations were found on this run, reschedule
- // to run again in 10seconds based on the assumption that
- // events may be coming in bursts
- schedule(_rescheduleTime);
- }
-
- return multiStatus;
- }
- }
- }
-
- private class MyPropertyListener extends TLDRegistryPreferences.PropertyListener
- {
- @Override
- public void strategyOrderChanged()
- {
- synchronized(TLDTagRegistry.this)
- {
- _prefs.load();
- final IdentifierOrderedIteratorPolicy<String> policy =
- getTagResolvingPolicy();
- _resolver.setPolicy(policy);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TagIndexListener.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TagIndexListener.java
deleted file mode 100644
index b360a276f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/model/jsp/registry/TagIndexListener.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.designtime.internal.view.model.jsp.registry;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.core.internal.JSFCoreTraceOptions;
-import org.eclipse.jst.jsp.core.taglib.ITaglibIndexDelta;
-import org.eclipse.jst.jsp.core.taglib.ITaglibIndexListener;
-
-class TagIndexListener implements ITaglibIndexListener
-{
- private final TLDTagRegistry _registry;
- private final LibraryOperationFactory _factory;
-
- TagIndexListener(final TLDTagRegistry registry)
- {
- _registry = registry;
- _factory = new LibraryOperationFactory(_registry);
- }
-
- public void indexChanged(final ITaglibIndexDelta delta)
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log("TagIndexListener.indexChanged: start"); //$NON-NLS-1$
- }
-
- visitDelta(delta);
-
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log("TagIndexListener.indexChanged: finish"); //$NON-NLS-1$
- }
- }
-
- private void visitDelta(final ITaglibIndexDelta delta)
- {
- final IProject project = delta.getProject();
-
- if (_registry != null && !_registry.isDisposed()
- && delta.getTaglibRecord() != null)
- {
- switch (delta.getKind())
- {
- case ITaglibIndexDelta.ADDED:
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log(String.format(
- "Processing add change: project=%s", project //$NON-NLS-1$
- .getName()));
- }
-
- _registry.addLibraryOperation(_factory
- .createAddOperation(delta.getTaglibRecord()));
- }
- break;
- case ITaglibIndexDelta.REMOVED:
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions
- .log(String
- .format(
- "Processing remove change: project=%s, tagrecord=%s", //$NON-NLS-1$
- project.getName()));
- }
- _registry.addLibraryOperation(_factory
- .createRemoveOperation(delta.getTaglibRecord()));
- }
- break;
- case ITaglibIndexDelta.CHANGED:
- {
- if (JSFCoreTraceOptions.TRACE_JSPTAGREGISTRY_CHANGES)
- {
- JSFCoreTraceOptions.log(String.format(
- "Processing change: project=%s, tagrecord=%s", //$NON-NLS-1$
- project.getName()));
- }
- _registry.addLibraryOperation(_factory
- .createChangeOperation(delta.getTaglibRecord()));
- }
- break;
- }
- }
-
- // visit children
- for (final ITaglibIndexDelta child : delta.getAffectedChildren())
- {
- visitDelta(child);
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/messages.properties
deleted file mode 100644
index 7110e26ab..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription=Row variable for dataTable
-JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription=Resource bundle map for bundle <i>
-JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable=Error creating loadBundle variable
-JSPModelProcessor.0=Refreshing JSF information about: {0}
-ResourceBundleSymbolSourceProvider.DetailedDescription=Resource bundle map for bundle <i>
-DefaultBeanSymbolSourceProvider.AdditionalInformation.Name=Name:
-DefaultBeanSymbolSourceProvider.AdditionalInformation.Type=Type:
-DefaultBeanSymbolSourceProvider.AdditionalInformation.Scope=Scope:
-DefaultBeanSymbolSourceProvider.AdditionalInformation.Description=Description:
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/package-info.java
deleted file mode 100644
index 9f687e3ef..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * JSF Design Time Application Manager Framework.
- */
-package org.eclipse.jst.jsf.designtime;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractStructuredDocumentSymbolResolverFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractStructuredDocumentSymbolResolverFactory.java
deleted file mode 100644
index 3fb922cff..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractStructuredDocumentSymbolResolverFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.jst.jsf.context.IModelContext;
-
-/**
- * A base class for symbol resolver factories.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractStructuredDocumentSymbolResolverFactory implements
- IStructuredDocumentSymbolResolverFactory
-{
- /**
- * @see org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory#getSymbolContextResolver(org.eclipse.jst.jsf.context.IModelContext)
- */
- public abstract ISymbolContextResolver getSymbolContextResolver(IModelContext context);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractSymbolContextResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractSymbolContextResolver.java
deleted file mode 100644
index aa766a770..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/AbstractSymbolContextResolver.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-
-/**
- * An abstract that should sub-classed by clients wishing to implement
- * the ISymbolContextResolver interface
- *
- * @author cbateman
- *
- */
-public abstract class AbstractSymbolContextResolver implements ISymbolContextResolver
-{
- public abstract ISymbol[] getAllVariables();
-
- public abstract IMethodSymbol getMethod(IObjectSymbol base, Object methodName);
-
- public abstract ISymbol[] getMethods(IObjectSymbol base);
-
- public abstract ISymbol[] getProperties(ISymbol symbol);
-
- public abstract ISymbol getProperty(ISymbol symbol, Object propertyName);
-
- public abstract ISymbol getVariable(String name);
-
- public abstract boolean canResolveContext(IModelContext modelContext);
-
- /**
- * Default implementation
- *
- * We should avoid returning true unless we are positive that changing
- * to this context won't change the way symbols are resolved.
- */
- public boolean hasSameResolution(IModelContext modelContext)
- {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/CachingSymbolContextResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/CachingSymbolContextResolver.java
deleted file mode 100644
index 158d3cb9f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/CachingSymbolContextResolver.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-
-/**
- * A symbol resolver that delegates to the default SymbolContextResolver, but
- * caches the results and returns those on subsequent calls.
- *
- * WARNING: this resolver is suitable *only* in situations where the state
- * of dependent symbol sources won't change between calls. This resolver makes
- * no attempt to ensure that cached data is in sync with changes to symbols
- * such addition, modification or removal of Java class underlying beans.
- *
- * NOTE: this resolver is experimental and should NOT be considered API
- *
- * Clients should not use this resolver directly. Access it through the factory instead
- * @author cbateman
- *
- */
-public final class CachingSymbolContextResolver extends AbstractSymbolContextResolver
-{
- private final static ISymbol SYMBOL_NOT_FOUND = SymbolFactory.eINSTANCE.createIComponentSymbol();
- private final static ISymbol PROPERTY_NOT_FOUND = SymbolFactory.eINSTANCE.createIPropertySymbol();
- private final static IMethodSymbol METHOD_SYMBOL_NOT_FOUND =
- SymbolFactory.eINSTANCE.createIMethodSymbol();
-
- private final ISymbolContextResolver _delegate;
-
- private final Map<String, ISymbol> _variablesByName = new HashMap<String, ISymbol>();
- private ISymbol[] _allVariables;
-
- private final Map<ISymbol, Map<Object, ISymbol>> _propertiesByOwner =
- new HashMap<ISymbol, Map<Object,ISymbol>>();
- private ISymbol[] _allProperties;
-
- private final Map<IObjectSymbol, Map<Object, IMethodSymbol>> _methodsByOwner =
- new HashMap<IObjectSymbol, Map<Object,IMethodSymbol>>();
- private ISymbol[] _allMethods;
-
- /**
- * @param context
- */
- public CachingSymbolContextResolver(final IStructuredDocumentContext context)
- {
- _delegate = new SymbolContextResolver(context);
- }
-
- /**
- * @param delegate
- */
- public CachingSymbolContextResolver(final ISymbolContextResolver delegate)
- {
- _delegate = delegate;
- }
-
- @Override
- public boolean canResolveContext(final IModelContext modelContext)
- {
- return _delegate.canResolveContext(modelContext);
- }
-
- @Override
- public ISymbol[] getAllVariables()
- {
- if (_allVariables == null)
- {
- _allVariables = _delegate.getAllVariables();
- }
- return _allVariables;
- }
-
- @Override
- public IMethodSymbol getMethod(final IObjectSymbol base, final Object methodName)
- {
- Map<Object, IMethodSymbol> methods = _methodsByOwner.get(base);
-
- if (methods == null)
- {
- methods = new HashMap<Object, IMethodSymbol>();
- _methodsByOwner.put(base, methods);
- }
-
- IMethodSymbol method = methods.get(methodName);
-
- if (method == METHOD_SYMBOL_NOT_FOUND)
- {
- method = null;
- }
- else
- {
- if (method == null)
- {
- method = _delegate.getMethod(base, methodName);
-
- if (method == null)
- {
- // if the delegate couldn't find the property,
- // then mark this in case it is requested again
- methods.put(methodName, METHOD_SYMBOL_NOT_FOUND);
- }
- else
- {
- methods.put(methodName, method);
- }
- }
- }
- return method;
- }
-
- @Override
- public ISymbol[] getMethods(final IObjectSymbol base)
- {
- if (_allMethods == null)
- {
- _allMethods = _delegate.getMethods(base);
- }
- return _allMethods;
- }
-
- @Override
- public ISymbol[] getProperties(final ISymbol symbol)
- {
- if (_allProperties == null)
- {
- _allProperties = _delegate.getProperties(symbol);
- }
- return _allProperties;
- }
-
- @Override
- public ISymbol getProperty(final ISymbol symbol, final Object propertyName)
- {
- Map<Object, ISymbol> properties = _propertiesByOwner.get(symbol);
-
- if (properties == null)
- {
- properties = new HashMap<Object, ISymbol>();
- _propertiesByOwner.put(symbol, properties);
- }
-
- ISymbol property = properties.get(propertyName);
-
- if (property == PROPERTY_NOT_FOUND)
- {
- property = null;
- }
- else
- {
- if (property == null)
- {
- property = _delegate.getProperty(symbol, propertyName);
-
- if (property == null)
- {
- // if the delegate couldn't find the property,
- // then mark this in case it is requested again
- properties.put(propertyName, PROPERTY_NOT_FOUND);
- }
- else
- {
- properties.put(propertyName, property);
- }
- }
- }
- return property;
- }
-
- @Override
- public ISymbol getVariable(final String name)
- {
- ISymbol variable = _variablesByName.get(name);
-
- // if the symbol was not found, return null but avoid calling the
- // delegate again
- if (variable == SYMBOL_NOT_FOUND)
- {
- variable = null;
- }
- else
- {
- if (variable == null)
- {
- variable = _delegate.getVariable(name);
-
- if (variable == null)
- {
- // if the delegate couldn't find the variable,
- // then mark this in case it is requested again
- _variablesByName.put(name, SYMBOL_NOT_FOUND);
- }
- else
- {
- _variablesByName.put(name, variable);
- }
- }
- }
- return variable;
- }
-
- @Override
- public boolean hasSameResolution(IModelContext modelContext)
- {
- return _delegate.hasSameResolution(modelContext);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/IStructuredDocumentSymbolResolverFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/IStructuredDocumentSymbolResolverFactory.java
deleted file mode 100644
index cdc8b145e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/IStructuredDocumentSymbolResolverFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.jst.jsf.context.IModelContext;
-
-/**
- * A factory for symbol context resolvers.
- *
- * Clients may use but implement this interface. To implement, sub-class
- * AbstractStructuredDocumentSymbolResolverFactory
- *
- * @author cbateman
- *
- */
-public interface IStructuredDocumentSymbolResolverFactory
-{
- /**
- * @param context
- * @return a new instance of symbol resolver for context
- */
- public ISymbolContextResolver getSymbolContextResolver(IModelContext context);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/ISymbolContextResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/ISymbolContextResolver.java
deleted file mode 100644
index 605104311..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/ISymbolContextResolver.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.IDocumentContextResolver;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * Resolves symbols and possible symbols in a given context
- *
- * May NOT be sub-classed or implemented by clients.
- * Sub-class AbstractSymbolContextResolver to implement.
- *
- * @author cbateman
- *
- */
-public interface ISymbolContextResolver extends IDocumentContextResolver
-{
- /**
- * Gets the most appropriate symbol in the current context
- * based on name. Most "appropriate" may take into account
- * scoping and other rules.
- *
- * @param name
- * @return a symbol
- */
- ISymbol getVariable(String name);
-
- /**
- * @return all valid symbols in the current context
- */
- ISymbol[] getAllVariables();
-
- /**
- * @param symbol
- * @param propertyName
- * @return the property symbol called propertyName or null if not found
- */
- ISymbol getProperty(ISymbol symbol, Object propertyName);
-
- /**
- * @param symbol
- * @return all properties of symbol
- */
- ISymbol[] getProperties(ISymbol symbol);
-
- /**
- * @param base
- * @param methodName
- * @return the method of base matching methodName or null if not found
- */
- IMethodSymbol getMethod(IObjectSymbol base, Object methodName);
-
- /**
- * @param base
- * @return all methods belonging to base
- */
- ISymbol[] getMethods(IObjectSymbol base);
-
- /**
- * This is meant to be used things like caching to determine if caches
- * need to be flushed for different contexts. If you are in doubt, always
- * return false.
- *
- * NOTE: this method should not be used to determine if symbols previously
- * returned by this resolver have changed to do changes in the underlying
- * application such as change to a managed bean. This method only needs
- * to check if what variable, properties and methods may have resolved
- * different, because of the context itself.
- *
- * @param modelContext
- * @since 3.0
- * @return true if the instance of this resolver would resolve everything
- * exactly the same with this modelContext. False otherwise.
- */
- boolean hasSameResolution(final IModelContext modelContext);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/StructuredDocumentSymbolResolverFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/StructuredDocumentSymbolResolverFactory.java
deleted file mode 100644
index 33664130c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/StructuredDocumentSymbolResolverFactory.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.AbstractDelegatingFactory;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-
-/**
- * Factory create resolver capable of resolving symbols in a structured document
- *
- * Clients may not sub-class.
- *
- * @author cbateman
- *
- */
-public final class StructuredDocumentSymbolResolverFactory extends
- AbstractDelegatingFactory implements
- IStructuredDocumentSymbolResolverFactory
-{
- private static StructuredDocumentSymbolResolverFactory INSTANCE;
-
- /**
- * @return the singleton factory instance
- */
- public final static synchronized StructuredDocumentSymbolResolverFactory getInstance()
- {
- if (INSTANCE == null)
- {
- // no delegates supported
- INSTANCE = new StructuredDocumentSymbolResolverFactory(new Class[]
- { IStructuredDocumentSymbolResolverFactory.class });
- }
-
- return INSTANCE;
- }
-
- private StructuredDocumentSymbolResolverFactory(
- Class[] supportedDelegateTypes)
- {
- super(supportedDelegateTypes);
- for (final IAdaptable delegate : SymbolContextResolverReader
- .getAllHandlers())
- {
- addFactoryDelegate(delegate);
- }
- }
-
- /**
- * @param context
- * @return a new instance of symbol resolver for context
- */
- public ISymbolContextResolver getSymbolContextResolver(IModelContext context)
- {
- ISymbolContextResolver resolver = delegateGetSymbolContextResolver(context);
-
- if (resolver == null)
- {
- resolver = internalGetSymbolContextResolver(context);
- }
-
- return resolver;
- }
-
- private ISymbolContextResolver internalGetSymbolContextResolver(
- IModelContext context)
- {
- if (context instanceof IStructuredDocumentContext
- && ((IStructuredDocumentContext) context)
- .getStructuredDocument() instanceof IStructuredDocument)
- {
- return new SymbolContextResolver(
- (IStructuredDocumentContext) context);
- }
-
- return null;
- }
-
- private ISymbolContextResolver delegateGetSymbolContextResolver(
- IModelContext context)
- {
- for (final IAdaptable adaptable : _delegates)
- {
- final IStructuredDocumentSymbolResolverFactory delegateFactory =
- (IStructuredDocumentSymbolResolverFactory) adaptable
- .getAdapter(IStructuredDocumentSymbolResolverFactory.class);
- ISymbolContextResolver symbolContextResolver = delegateFactory
- .getSymbolContextResolver(context);
-
- if (symbolContextResolver != null)
- {
- return symbolContextResolver;
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolver.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolver.java
deleted file mode 100644
index 3652db19e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolver.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.context.IModelContext;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
-import org.eclipse.jst.jsf.designtime.context.DTFacesContext;
-
-/**
- * A symbol context resolver
- * Clients may NOT sub-class.
- *
- * @author cbateman
- *
- */
-/*package*/ final class SymbolContextResolver extends AbstractSymbolContextResolver
-{
- private final IStructuredDocumentContext _context;
- private IWorkspaceContextResolver _wkspResolver; // = null; lazy created through getWorkspaceResolver
-
- /**
- * @param context
- */
- /* package */SymbolContextResolver(IStructuredDocumentContext context)
- {
- _context = context;
- }
-
- public ISymbol getVariable(String name)
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- final DTFacesContext facesContext = manager.getFacesContext(file);
-
- return manager.getVariableResolver().
- resolveVariable(facesContext, name, file);
- }
- }
-
- return null;
- }
-
- public ISymbol[] getAllVariables()
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- final DTFacesContext facesContext = manager.getFacesContext(file);
-
- if (facesContext != null)
- {
- return manager.getVariableResolver().
- getAllVariables(facesContext, file);
- }
- }
- }
-
- return ISymbol.EMPTY_SYMBOL_ARRAY;
- }
-
- public ISymbol getProperty(ISymbol symbol, Object propertyName)
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- return manager.getPropertyResolver().getProperty(symbol, propertyName);
- }
- }
-
- return null;
- }
-
- public ISymbol[] getProperties(ISymbol symbol)
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- return manager.getPropertyResolver().getAllProperties(symbol);
- }
- }
- return ISymbol.EMPTY_SYMBOL_ARRAY;
- }
-
- public IMethodSymbol getMethod(IObjectSymbol base, Object methodName)
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- return manager.getMethodResolver().getMethod(base, methodName);
- }
- }
-
- return null;
- }
-
- public ISymbol[] getMethods(IObjectSymbol base)
- {
- final IFile file = getFile();
-
- if (file != null)
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(file.getProject());
-
- if (manager != null)
- {
- return manager.getMethodResolver().getMethods(base);
- }
- }
-
- return new IMethodSymbol[0];
- }
-
-
- public boolean canResolveContext(IModelContext modelContext)
- {
- return modelContext.getAdapter(IStructuredDocumentContext.class) != null;
- }
-
- /**
- * @return a lazily loaded workspace resolver for this resolver's context
- */
- protected final IWorkspaceContextResolver getWorkspaceResolver()
- {
- if (_wkspResolver == null)
- {
- _wkspResolver = getWorkspaceResolver(_context);
- }
-
- return _wkspResolver;
- }
-
- private IWorkspaceContextResolver getWorkspaceResolver(final IStructuredDocumentContext context)
- {
- return IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
- }
-
- /**
- * @return the underlying IFile for my context or null if can't be determined
- */
- protected final IFile getFile()
- {
- return getFile(getWorkspaceResolver());
- }
-
- private IFile getFile(final IWorkspaceContextResolver resolver)
- {
-
- if (resolver != null)
- {
- IResource curRes = resolver.getResource();
-
- if (curRes instanceof IFile)
- {
- return (IFile) curRes;
- }
- }
-
- return null;
-
- }
-
- @Override
- public boolean hasSameResolution(IModelContext modelContext)
- {
- if (canResolveContext(modelContext))
- {
- return getFile().equals(getFile(getWorkspaceResolver((IStructuredDocumentContext) modelContext)));
- }
-
- // if we can't even resolve the context, then we certainly don't have
- // the same resolution
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolverReader.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolverReader.java
deleted file mode 100644
index a193feab3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/SymbolContextResolverReader.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jst.jsf.designtime.resolver;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/*package*/ class SymbolContextResolverReader
-{
- private static List<IAdaptable> _handlers = null;
-
- /**
- * @return all available handers for the ext-pt. List is not
- * modifiable
- */
- public static synchronized List<IAdaptable> getAllHandlers() {
- if (_handlers == null) {
- _handlers = readAllHandlers();
- }
- return Collections.unmodifiableList(_handlers);
- }
-
- private static List<IAdaptable> readAllHandlers()
- {
- final List<IAdaptable> result = new ArrayList<IAdaptable>();
- final IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(JSFCorePlugin.PLUGIN_ID,
- "symbolContextResolverFactory"); //$NON-NLS-1$
- final IExtension[] extensions = extensionPoint.getExtensions();
-
- for (final IExtension ext : extensions)
- {
- final IConfigurationElement[] elementEditElement = ext
- .getConfigurationElements();
-
- for (final IConfigurationElement configurationElement : elementEditElement)
- {
- final IConfigurationElement element = configurationElement;
- if (element.getName().equals(
- "symbolFactoryDelegate")) //$NON-NLS-1$
- {
- try
- {
- final IAdaptable factory = (IAdaptable) configurationElement
- .createExecutableExtension("class"); //$NON-NLS-1$
- if (factory != null)
- {
- result.add(factory);
- }
-
- } catch (final CoreException e)
- {
- JSFCorePlugin.log("Problem loading element edit extension for "+element.toString(), e); //$NON-NLS-1$
- }
- }
- }
- }
- return result;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/package-info.java
deleted file mode 100644
index 31457bbd9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/resolver/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Model Context Resolvers for EL symbols.
- */
-package org.eclipse.jst.jsf.designtime.resolver;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java
deleted file mode 100644
index af693a58f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidationUtil;
-import org.w3c.dom.Element;
-
-/**
- * A framework provided variable factory for EL model objects that are
- * constructed based on DataModel's dervied from an EL expression.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDataModelVariableFactory
-{
- private final JSFSymbolFactory _symbolFactory = new JSFSymbolFactory();
-
- /**
- * @param elText
- * The EL expression text. Must not be null
- * @param elContext
- * The document context pointing to elText in the source
- * document. Must not be null
- * @param file
- * The workspace resource that contains elText. Must not be null.
- * @return the value expression resolved from elText or null if it cannot be
- * resolved or elText doesn't resolve to value expression (i.e. is a
- * method expression)
- * @deprecated use JSFSymbolFactory.getValueTypeFromEL instead.
- */
- public final ValueType createValueExpression(final String elText,
- final IStructuredDocumentContext elContext, final IFile file)
- {
- return getSymbolFactory().getValueTypeFromEL(elText, elContext, file);
- }
-
- /**
- * @return the symbol factory used by this variable factory
- */
- public final JSFSymbolFactory getSymbolFactory()
- {
- return _symbolFactory;
- }
-
- /**
- * @param symbolName
- * The name of the symbol to be created. Must not be null
- * @param signature
- * The type signature of the array type. Must not be null
- * @param javaProject
- * must not be null
- * @return a symbol based approximating an implicit DataModel wrapper for an
- * array
- * @deprecated use JSFSymbolFactory.createArraySymbol instead
- */
- protected final ISymbol createArraySymbol(final String symbolName,
- final String signature, final IJavaProject javaProject)
- {
- return getSymbolFactory().createArraySymbol(symbolName, signature,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * Implements default rules for taking an non-array value expression and
- * resolving it to a ISymbol modelling a JSF DataModel
- *
- * @param symbolName
- * @param valueType
- * @param javaProject
- * @return a symbol where valueType is considered to be the base type upon
- * which a data model would be created. This combines the
- * possibility that the value expression is either an explicit
- * DataModel implementation or a non-DataModel type for which JSF be
- * default provides an implicit wrapper model.
- *
- * List is treated as a special case here, since their are two subcases: 1)
- * the list is a raw type, in which case it must be treated as implicit and
- * opaque (as to the type of the variable created) 2) the list has Java 5
- * type argument information that can be used to infer the type of the row
- * variable
- */
- public ISymbol createFromType(String symbolName, ValueType valueType,
- IJavaProject javaProject)
- {
- return internalCreateFromBaseType(symbolName, valueType, javaProject);
- }
-
- private ISymbol internalCreateFromBaseType(String symbolName,
- ValueType valueType, IJavaProject javaProject)
- {
- // based on JSF 1.1 spec section 4.2.1.4 the data model
- // value binding can be one of a number of object that will
- // get an implicit DataModel wrapper at runtime
-
- // could be an array
- if (Signature.getArrayCount(valueType.getSignature()) > 0)
- {
- return getSymbolFactory()
- .createArraySymbol(symbolName, valueType.getSignature(),
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL,
- javaProject);
- }
-
- // if is a list, then we have extra work to do if it
- // is generic and has info about its contents
- if (valueType.isInstanceOf(TypeConstants.TYPE_LIST))
- {
- return getSymbolFactory().createFromList(symbolName, valueType, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, null, javaProject);
- }
- // if is JSTL ResultSet, java ResultSet or DataModel
- // return the default symbol -- in the absence of definite
- // template info, these row containers are opaque to us
- else if (valueType
- .isInstanceOf(TypeConstants.TYPE_JAVAX_SERVLET_JSP_JSTL_SQL_RESULT)
- || valueType.isInstanceOf(TypeConstants.TYPE_RESULT_SET)
- || valueType.isInstanceOf(TypeConstants.TYPE_DATA_MODEL))
- {
- return getSymbolFactory().createDefaultSymbol(symbolName, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, Messages
- .getString("AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription")); //$NON-NLS-1$
- }
-
- // in other cases, we assume that the value is an explicit single row
- // scalar object
- return getSymbolFactory().createScalarSymbol(symbolName, valueType.getSignature(),
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null.
- * @param valueType
- * The value expression representing the implicit list. The
- * signature on the valueType must be a list. Must not be null.
- * @param javaProject
- * The JavaProject whose classpath will be used to resolve types.
- * Must not be null.
- *
- * @return a symbol that approximates as best as possible an implicit
- * DataModel for java.util.List value expressions. If the List has
- * resolvable Java 5 type arguments, then a scalar symbol will be
- * created using this type information. If it is a raw type, then
- * createDefaultSymbol() is called
- * @deprecated use JSFSymbolFactory.createFromList
- */
- protected final ISymbol createFromList(String symbolName,
- ValueType valueType, IJavaProject javaProject)
- {
- return getSymbolFactory().createFromList(symbolName, valueType,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, null,
- javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null.
- * @param signature
- * The fully resolved type signature of the scalar. Must not be
- * null.
- * @param javaProject
- * The JavaProject whose classpath is to be used to resolve type
- * information for signture. Must not be null.
- * @return a symbol approximating a scalar object DataModel wrapper. The row
- * variable for the data model becomes of type signature
- * @deprecated use JSFSymbolFactory.createScalarSymbol instead.
- */
- protected final ISymbol createScalarSymbol(final String symbolName,
- final String signature, final IJavaProject javaProject)
- {
- return getSymbolFactory().createScalarSymbol(symbolName, signature,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null
- * @return a default symbol that eliminates bogus warnings for this
- * dataTable's row variable in cases where something better is
- * resolvable. Note that this is not ideal, since will result in any
- * property being accepted on the variable with this name.
- * @deprecated use JSFSymbolFactory.createDefaultSymbol instead.
- */
- public final ISymbol createDefaultSymbol(final String symbolName)
- {
- return getSymbolFactory()
- .createDefaultSymbol(
- symbolName,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL,
- Messages
- .getString("AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription")); //$NON-NLS-1$
- }
-
- /**
- * @param dataTableElement
- * the DOM element that has a "value" attribute. Must not be
- * null.
- * @return the el text from the 'value attribute of a dataTable element or
- * null if not found
- */
- protected static String getELText(final Element dataTableElement)
- {
- assert dataTableElement != null;
- String attrVal = dataTableElement
- .getAttribute(IJSFConstants.ATTR_VALUE);
-
- if (attrVal != null)
- {
- return AppConfigValidationUtil.extractELExpression(attrVal)
- .getElText();
- }
- return null;
- }
-
- /**
- * @return the variable source name. Protects against null in the abstract
- * method
- */
- protected final String internalGetVariableSourceName()
- {
- String variableSourceName = getVariableSourceName();
-
- if (variableSourceName == null)
- {
- JSFCorePlugin.log("Missing variableSourceName", new Throwable()); //$NON-NLS-1$
- return "**missing variable source name**"; //$NON-NLS-1$
- }
-
- return variableSourceName;
- }
-
- /**
- * @return a user displayable name for the source of variables created by
- * this factory Must not return null.
- */
- protected abstract String getVariableSourceName();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBeanSymbolSourceProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBeanSymbolSourceProvider.java
deleted file mode 100644
index 5984adb04..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBeanSymbolSourceProvider.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IBeanInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IJavaTypeDescriptor2;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.facesconfig.emf.DescriptionType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanScopeType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
-
-/**
- * Self-factory provider of bean symbol information for a particular project.
- *
- * Context is determined by querying all known managed beans declared in a
- * web project.
- *
- * Client may sub-class
- *
- * @author cbateman
- *
- */
-public class DefaultBeanSymbolSourceProvider
-{
- private static DefaultBeanSymbolSourceProvider INSTANCE;
-
- /**
- * @return the singleton instance of the provider
- */
- public static DefaultBeanSymbolSourceProvider getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new DefaultBeanSymbolSourceProvider();
- }
-
- return INSTANCE;
- }
-
- /**
- * No external instantiation
- *
- * Left protected to allow sub-classing
- */
- protected DefaultBeanSymbolSourceProvider() {/* empty */}
-
- /**
- * @param context
- * @param symbolScopeMask
- * @return all bean symbols for the context at scopes matching symbolScopeMask
- */
- public ISymbol[] getSymbols(IAdaptable context, int symbolScopeMask)
- {
- final IFile file = FileContextUtil.deriveIFileFromContext(context);
- if (file != null)
- {
- final IProject myProject = file.getProject();
- List managedBeans = getManagedBeanSymbols(myProject, symbolScopeMask);
- return (ISymbol[]) managedBeans.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- return ISymbol.EMPTY_SYMBOL_ARRAY;
- }
-
- /**
- * @param name
- * @param context
- * @param symbolScopeMask
- * @return the symbol called name, in context/symbolScope
- */
- public ISymbol getSymbol(final String name, final IAdaptable context,
- final int symbolScopeMask)
- {
- return SymbolUtil.
- findSymbolByName(getSymbols(context, symbolScopeMask), name);
- }
-
- /**
- * @param prefix
- * @param context
- * @param symbolScopeMask
- * @return all symbols for context and symbolScopeMask that start with
- * prefix
- */
- public ISymbol[] getSymbols(String prefix, IAdaptable context,
- int symbolScopeMask) {
- return SymbolUtil.
- filterSymbolsByPrefix(getSymbols(context, symbolScopeMask), prefix);
- }
-
- private List getManagedBeanSymbols(IProject iProject, int symbolScopeMask)
- {
- List symbols = new ArrayList();
-
- final IJSFAppConfigManager configManager = JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(iProject);
-
-
- if (configManager != null)
- {
- for (final Iterator aIt = configManager.getManagedBeans().iterator(); aIt.hasNext();)
- {
- ManagedBeanType bean = (ManagedBeanType) aIt.next();
-
- // only bother with all this if we care about the scope of this bean
- if (isBeanScopeInMask(bean.getManagedBeanScope(), symbolScopeMask))
- {
- final String name = bean.getManagedBeanName().getTextContent();
- final String detailedDescription = createAdditionalProposalInfo(bean);
- final IBeanInstanceSymbol symbol = SymbolFactory.eINSTANCE.createIBeanInstanceSymbol();
- symbol.setName(name);
- if (detailedDescription.length() > 0)
- symbol.setDetailedDescription(detailedDescription);
- symbol.setRuntimeSource(ERuntimeSource.MANAGED_BEAN_SYMBOL_LITERAL);
- try
- {
- IJavaProject javaProject = JavaCore.create(iProject);
- final String typeName = bean.getManagedBeanClass() != null?
- bean.getManagedBeanClass().getTextContent() : ""; //$NON-NLS-1$
- final IType type = javaProject.findType(typeName);
-
- // don't bother setting a type descriptor if we
- // can't find a type
- if (type != null)
- {
- IJavaTypeDescriptor2 javaTypeDescriptor =
- SymbolFactory.eINSTANCE.createIJavaTypeDescriptor2();
- javaTypeDescriptor.setType(type);
- symbol.setJavaTypeDescriptor(javaTypeDescriptor);
- }
- }
- catch (JavaModelException t)
- {
- // do nothing; skip type info for this bean
- }
- symbols.add(symbol);
- }
- }
- }
-
- return symbols;
- }
-
- private String createAdditionalProposalInfo(ManagedBeanType beanType)
- {
- final String beanName = beanType.getManagedBeanName() != null ?
- beanType.getManagedBeanName().getTextContent() : null;
-
- StringBuffer additionalInfo = new StringBuffer();
- if (beanName != null)
- {
- additionalInfo.append("<p><b>"+Messages.getString("DefaultBeanSymbolSourceProvider.AdditionalInformation.Name")); //$NON-NLS-1$ //$NON-NLS-2$
- additionalInfo.append(" </b>"); //$NON-NLS-1$
- additionalInfo.append(beanName);
- additionalInfo.append("</p>"); //$NON-NLS-1$
- }
-
- final String beanClass = beanType.getManagedBeanClass() != null ?
- beanType.getManagedBeanClass().getTextContent() : null;
- if (beanClass != null)
- {
- additionalInfo.append("<p><b>"+Messages.getString("DefaultBeanSymbolSourceProvider.AdditionalInformation.Type")); //$NON-NLS-1$ //$NON-NLS-2$
- additionalInfo.append(" </b>"); //$NON-NLS-1$
- additionalInfo.append(beanClass);
- additionalInfo.append("</p>"); //$NON-NLS-1$
- }
-
- final String beanScope = beanType.getManagedBeanScope() != null ?
- beanType.getManagedBeanScope().getTextContent() : null;
- if (beanScope != null)
- {
- additionalInfo.append("<p><b>"+Messages.getString("DefaultBeanSymbolSourceProvider.AdditionalInformation.Scope")); //$NON-NLS-1$ //$NON-NLS-2$
- additionalInfo.append(" </b>"); //$NON-NLS-1$
- additionalInfo.append(beanScope);
- additionalInfo.append("</p>"); //$NON-NLS-1$
- }
- StringBuffer descBuffer = new StringBuffer();
-
- for (final Iterator it = beanType.getDescription().iterator(); it.hasNext();)
- {
- final DescriptionType descType = (DescriptionType) it.next();
- final String appendString = descType.getTextContent();
- if (appendString != null)
- {
- descBuffer.append(appendString);
- }
- }
-
- if (descBuffer.length() > 0)
- {
- additionalInfo.append("<p><b>"); //$NON-NLS-1$
- additionalInfo.append(Messages.getString("DefaultBeanSymbolSourceProvider.AdditionalInformation.Description")); //$NON-NLS-1$
- additionalInfo.append("</b>"); //$NON-NLS-1$
- additionalInfo.append(descBuffer);
- additionalInfo.append("</p>"); //$NON-NLS-1$
- }
-
- return additionalInfo.toString();
- }
-
-
- private boolean isBeanScopeInMask(final ManagedBeanScopeType scope, final int scopeMask)
- {
- final int testScope =
- scope != null ? ISymbolConstants.getMaskForString(scope.getTextContent()) : -1;
-
- if (testScope != -1)
- {
- return (scopeMask & testScope) != 0;
- }
-
- // no other cases supported
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBuiltInSymbolProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBuiltInSymbolProvider.java
deleted file mode 100644
index b3740fc44..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultBuiltInSymbolProvider.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import java.util.AbstractMap;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.source.ISymbolConstants;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
-import org.eclipse.jst.jsf.designtime.context.IDTExternalContext;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot;
-
-/**
- * Provides the default built-in JSF symbols
- *
- * Clients may sub-class
- *
- * @author cbateman
- *
- */
-public class DefaultBuiltInSymbolProvider
-{
- private static DefaultBuiltInSymbolProvider INSTANCE;
- private static final JSFSymbolFactory _symbolFactory;
-
- /**
- * @return the singleton instance
- */
- public synchronized static DefaultBuiltInSymbolProvider getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new DefaultBuiltInSymbolProvider();
- }
-
- return INSTANCE;
- }
-
- private static final String APPLICATION_SCOPE = "applicationScope"; //$NON-NLS-1$
- private static final String SESSION_SCOPE = "sessionScope"; //$NON-NLS-1$
- private static final String REQUEST_SCOPE = "requestScope"; //$NON-NLS-1$
- private static final String COOKIE_IMPLICIT_OBJ = "cookie"; //$NON-NLS-1$
- private static final String FACES_CONTEXT_IMPLICIT_OBJ = "facesContext"; //$NON-NLS-1$
- private static final String HEADER_IMPLICIT_OBJ = "header"; //$NON-NLS-1$
- private static final String HEADER_VALUES_IMPLICIT_OBJ = "headerValues"; //$NON-NLS-1$
- private static final String INIT_PARAM_IMPLICIT_OBJ = "initParam"; //$NON-NLS-1$
- private static final String PARAM_IMPLICIT_OBJ = "param"; //$NON-NLS-1$
- private static final String PARAM_VALUES_IMPLICIT_OBJ = "paramValues"; //$NON-NLS-1$
- private static final String VIEW_IMPLICIT_OBJ = "view"; //$NON-NLS-1$
-
- private static final String FACES_CONTEXT_FULLY_QUALIFIED_CLASS = "javax.faces.context.FacesContext"; //$NON-NLS-1$
- private static final String VIEW_FULLY_QUALIFIED_CLASS = "javax.faces.component.UIViewRoot"; //$NON-NLS-1$
-
- private static final ISymbol SYMBOL_COOKIE_IMPLICIT_OBJ;
- private static final ISymbol SYMBOL_HEADER_IMPLICIT_OBJ;
- private static final ISymbol SYMBOL_HEADER_VALUES_IMPLICIT_OBJ;
- private static final ISymbol SYMBOL_PARAM_IMPLICIT_OBJ;
- private static final ISymbol SYMBOL_PARAM_VALUES_IMPLICIT_OBJ;
- private static final ISymbol SYMBOL_INIT_PARAM_IMPLICIT_OBJ;
-
- //JSF2.0
- private static final String VIEW_SCOPE = "viewScope"; //$NON-NLS-1$
- private static final String FLASH_SCOPE = "flash"; //$NON-NLS-1$
- private static final String CC_IMPLICIT_OBJ = "cc"; //$NON-NLS-1$
- private static final String COMPONENT_IMPLICIT_OBJ = "component"; //$NON-NLS-1$
- private static final String RESOURCE_IMPLICIT_OBJ = "resource"; //$NON-NLS-1$
-
- private static final String UICOMPONENT_FULLY_QUALIFIED_CLASS = "javax.faces.component.UIComponent";//$NON-NLS-1$
-
- static
- {
- _symbolFactory = new JSFSymbolFactory();
- // invariant request scope variables
- SYMBOL_COOKIE_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(COOKIE_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- SYMBOL_HEADER_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(HEADER_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- SYMBOL_HEADER_VALUES_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(HEADER_VALUES_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- SYMBOL_PARAM_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(PARAM_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- SYMBOL_PARAM_VALUES_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(PARAM_VALUES_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
-
- // invariant application scope variables
- SYMBOL_INIT_PARAM_IMPLICIT_OBJ = _symbolFactory.createUnknownInstanceSymbol(INIT_PARAM_IMPLICIT_OBJ, ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- }
-
-
- /**
- * No direct instantiation -- use getInstance
- *
- * Made protected to allow sub-classing
- */
- protected DefaultBuiltInSymbolProvider()
- {
- // nothing to do.
- }
-
- /**
- * @param context
- * @param symbolScopeMask
- * @return all symbols for context in scopes matching symbolScopeMask
- */
- public ISymbol[] getSymbols(final IAdaptable context,
- final int symbolScopeMask)
- {
- final IFile fileContext = FileContextUtil
- .deriveIFileFromContext(context);
- return (ISymbol[]) getSymbolsForScope(fileContext, symbolScopeMask)
- .toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- /**
- * @param name
- * @param context
- * @param symbolScopeMask
- * @return the symbol in context matching name or null if not found
- */
- public ISymbol getSymbol(final String name, final IAdaptable context,
- final int symbolScopeMask)
- {
- final IFile file = FileContextUtil.deriveIFileFromContext(context);
-
- ISymbol symbol = null;
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_REQUEST) != 0)
- {
- symbol = getRequestScopeSymbols(file).get(name);
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_SESSION) != 0
- && symbol == null)
- {
- symbol = getSessionScopeSymbols(file).get(name);
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_APPLICATION) != 0
- && symbol == null)
- {
- symbol = getApplicationScopeSymbols(file).get(name);
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_VIEW) != 0
- && symbol == null)
- {
- symbol = getViewScopeSymbols(file).get(name);
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_FLASH) != 0
- && symbol == null)
- {
- symbol = getFlashScopeSymbols(file).get(name);
- }
-
-
- return symbol;
- }
-
- /**
- * @param prefix
- * @param context
- * @param symbolScopeMask
- * @return all implicit symbols for context starting with prefix in scopes
- * matching symbolScopeMask
- */
- public ISymbol[] getSymbols(final String prefix, final IAdaptable context,
- final int symbolScopeMask)
- {
- final IFile file = FileContextUtil.deriveIFileFromContext(context);
-
- final List<ISymbol> symbols = new ArrayList<ISymbol>();
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_REQUEST) != 0)
- {
- symbols.addAll(getRequestScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_SESSION) != 0)
- {
- symbols.addAll(getSessionScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_APPLICATION) != 0)
- {
- symbols.addAll(getApplicationScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_VIEW) != 0)
- {
- symbols.addAll(getViewScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_FLASH) != 0)
- {
- symbols.addAll(getFlashScopeSymbols(file).values());
- }
- return symbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- private List getSymbolsForScope(final IFile file, final int symbolScopeMask)
- {
- final List symbols = new ArrayList();
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_REQUEST) != 0)
- {
- symbols.addAll(getRequestScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_SESSION) != 0)
- {
- symbols.addAll(getSessionScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_APPLICATION) != 0)
- {
- symbols.addAll(getApplicationScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_VIEW) != 0)
- {
- symbols.addAll(getViewScopeSymbols(file).values());
- }
- if ((symbolScopeMask & ISymbolConstants.SYMBOL_SCOPE_FLASH) != 0)
- {
- symbols.addAll(getFlashScopeSymbols(file).values());
- }
-
- return symbols;
- }
-
- private Map<String, ISymbol> getRequestScopeSymbols(final IFile file)
- {
- final Map<String, ISymbol> requestSymbols = new HashMap<String, ISymbol>();
-
- ISymbol symbol = createScopeSymbol(file,
- ISymbolConstants.SYMBOL_SCOPE_REQUEST, REQUEST_SCOPE);
- requestSymbols.put(symbol.getName(), symbol);
-
- requestSymbols.put(SYMBOL_COOKIE_IMPLICIT_OBJ.getName(), SYMBOL_COOKIE_IMPLICIT_OBJ);
- requestSymbols.put(SYMBOL_HEADER_IMPLICIT_OBJ.getName(), SYMBOL_HEADER_IMPLICIT_OBJ);
- requestSymbols.put(SYMBOL_HEADER_VALUES_IMPLICIT_OBJ.getName(), SYMBOL_HEADER_VALUES_IMPLICIT_OBJ);
- requestSymbols.put(SYMBOL_PARAM_IMPLICIT_OBJ.getName(), SYMBOL_PARAM_IMPLICIT_OBJ);
- requestSymbols.put(SYMBOL_PARAM_VALUES_IMPLICIT_OBJ.getName(), SYMBOL_PARAM_VALUES_IMPLICIT_OBJ);
-
- // TODO: these aren't maps; need to find way to handle
- symbol = _symbolFactory.createBeanOrUnknownInstanceSymbol(file
- .getProject(), FACES_CONTEXT_FULLY_QUALIFIED_CLASS,
- FACES_CONTEXT_IMPLICIT_OBJ,
- ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- requestSymbols.put(symbol.getName(), symbol);
-
- symbol = _symbolFactory.createBeanOrUnknownInstanceSymbol(file
- .getProject(), VIEW_FULLY_QUALIFIED_CLASS, VIEW_IMPLICIT_OBJ,
- ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- requestSymbols.put(symbol.getName(), symbol);
-
- //add jsf2.0 implicits
- if (JSFVersion.valueOfProject(file.getProject()).compareTo(JSFVersion.V2_0) >=0) {
- symbol = _symbolFactory.createBeanOrUnknownInstanceSymbol(file
- .getProject(), UICOMPONENT_FULLY_QUALIFIED_CLASS,
- CC_IMPLICIT_OBJ,
- ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- requestSymbols.put(symbol.getName(), symbol);
-
-
-// _symbolFactory.createJavaComponentSymbol(CC_IMPLICIT_OBJ, typeDesc, ""); //$NON-NLS-1$
- symbol = _symbolFactory.createBeanOrUnknownInstanceSymbol(file
- .getProject(), UICOMPONENT_FULLY_QUALIFIED_CLASS,
- COMPONENT_IMPLICIT_OBJ,
- ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- requestSymbols.put(symbol.getName(), symbol);
-
- }
-
- return Collections.unmodifiableMap(requestSymbols);
- }
-
- private Map<String,ISymbol> getSessionScopeSymbols(final IFile file)
- {
- ISymbol symbol = createScopeSymbol(file,
- ISymbolConstants.SYMBOL_SCOPE_SESSION, SESSION_SCOPE);
-
- return Collections.unmodifiableMap
- (Collections.singletonMap(symbol.getName(), symbol));
- }
-
- private Map<String,ISymbol> getApplicationScopeSymbols(final IFile file)
- {
- final Map<String,ISymbol> symbols = new HashMap<String, ISymbol>();
-
- // TODO: may be able to resolve this one based on web.xml
- symbols.put(SYMBOL_INIT_PARAM_IMPLICIT_OBJ.getName(), SYMBOL_INIT_PARAM_IMPLICIT_OBJ);
-
- ISymbol symbol = createScopeSymbol(file,
- ISymbolConstants.SYMBOL_SCOPE_APPLICATION, APPLICATION_SCOPE);
- symbols.put(symbol.getName(), symbol);
-
- //add jsf2.0 implicits
- if (JSFVersion.valueOfProject(file.getProject()).compareTo(JSFVersion.V2_0) >=0) {
- symbol = _symbolFactory.createUnknownInstanceSymbol(
- RESOURCE_IMPLICIT_OBJ,
- ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- symbols.put(symbol.getName(), symbol);
- }
-
- return Collections.unmodifiableMap(symbols);
- }
-
- private Map<String,ISymbol> getViewScopeSymbols(final IFile file)
- {
- if(JSFVersion.valueOfProject(file.getProject()).compareTo(JSFVersion.V2_0) >= 0) {
-
- ISymbol symbol = createScopeSymbol(file,
- ISymbolConstants.SYMBOL_SCOPE_VIEW, VIEW_SCOPE);
-
- return Collections.unmodifiableMap
- (Collections.singletonMap(symbol.getName(), symbol));
- }
- return Collections.emptyMap();
- }
-
- private Map<String,ISymbol> getFlashScopeSymbols(final IFile file)
- {
- if(JSFVersion.valueOfProject(file.getProject()).compareTo(JSFVersion.V2_0) >= 0) {
-
- ISymbol symbol = createScopeSymbol(file,
- ISymbolConstants.SYMBOL_SCOPE_FLASH, FLASH_SCOPE);
-
- return Collections.unmodifiableMap
- (Collections.singletonMap(symbol.getName(), symbol));
- }
- return Collections.emptyMap();
- }
-
- private ISymbol createScopeSymbol(final IFile file, final int scopeMask,
- final String name)
- {
- final Map mapSource = new ScopeMap(file, scopeMask);
- final IMapTypeDescriptor typeDesc = SymbolFactory.eINSTANCE
- .createIBoundedMapTypeDescriptor();
- typeDesc.setMapSource(mapSource);
- typeDesc.setImmutable(false); // scope maps are mutable
- final IInstanceSymbol symbol = SymbolFactory.eINSTANCE
- .createIInstanceSymbol();
- symbol.setName(name);
- symbol.setRuntimeSource(ERuntimeSource.BUILT_IN_SYMBOL_LITERAL);
- symbol.setTypeDescriptor(typeDesc);
- // TODO:symbol.setDetailedDescription("A Map of the application scope
- // attribute values, keyed by attribute name");
-
- return symbol;
- }
-
- private static class ScopeMap extends AbstractMap
- {
- private final IFile _externalContextKey;
- private final int _scopeMask;
-
- ScopeMap(final IFile externalContextKey, final int scopeMask)
- {
- _externalContextKey = externalContextKey;
- _scopeMask = scopeMask;
- }
-
- @Override
- public Set entrySet()
- {
- final Map scopeMap = new HashMap();
- // do beans first so in case of name collision, beans are hidden
- final DefaultBeanSymbolSourceProvider beanProvider = DefaultBeanSymbolSourceProvider
- .getInstance();
-
- final ISymbol beanSymbols[] = beanProvider.getSymbols(
- _externalContextKey, _scopeMask);
-
- for (final ISymbol beanSymbol : beanSymbols)
- {
- scopeMap.put(beanSymbol.getName(), beanSymbol);
- }
-
- final DesignTimeApplicationManager manager = DesignTimeApplicationManager
- .getInstance(_externalContextKey.getProject());
-
- if (manager != null)
- {
-
- final IDTExternalContext externalContext = manager
- .getFacesContext(_externalContextKey)
- .getDTExternalContext(_externalContextKey);
-
- scopeMap.putAll(externalContext.getMapForScope(_scopeMask));
-
- DTUIViewRoot viewRoot = manager
- .getFacesContext(_externalContextKey)
- .getViewRootHandle().getCachedViewRoot();
-
- if (viewRoot == null) {
- viewRoot = manager
- .getFacesContext(_externalContextKey)
- .getViewRootHandle().updateViewRoot();
- }
- scopeMap.putAll(viewRoot.getViewMap());
- }
-
- return scopeMap.entrySet();
-
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultDataTableSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultDataTableSymbolFactory.java
deleted file mode 100644
index 54111fe1c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/DefaultDataTableSymbolFactory.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.w3c.dom.Element;
-
-/**
- * The default factory for creating DataModel symbols based on an value
- * expression in a dataTable.
- *
- * Clients may sub-class.
- *
- * @author cbateman
- *
- */
-public class DefaultDataTableSymbolFactory
-{
- private final AbstractDataModelVariableFactory _dataModelSymbolFactory;
-
- /**
- * @param dataModelSymbolFactory
- */
- public DefaultDataTableSymbolFactory(
- final AbstractDataModelVariableFactory dataModelSymbolFactory)
- {
- assert dataModelSymbolFactory != null;
- _dataModelSymbolFactory = dataModelSymbolFactory;
- }
-
- /**
- * @param symbolName
- * the name of the symbol to be created. Must not be null.
- * @param dataTableElement
- * the DOM element representing the dataTable tag.
- * @param context
- * the document context pointing to dataTableElement
- * @return a symbol named symbolName based on the variable declared by
- * dataTableElement
- */
- public ISymbol createSymbolForDataTableValue(final String symbolName,
- final Element dataTableElement,
- final IStructuredDocumentContext context)
- {
- final String elText = AbstractDataModelVariableFactory
- .getELText(dataTableElement);
- final IFile file = FileContextUtil.deriveIFileFromContext(context);
-
- if (elText != null && file != null)
- {
- final IStructuredDocumentContext elContext = IStructuredDocumentContextFactory.INSTANCE
- .getContext(context.getStructuredDocument(),
- dataTableElement.getAttributeNode("value")); //$NON-NLS-1$
-
- final IJavaProject javaProject = JavaCore.create(file.getProject());
-
- final ValueType valueExpr = new JSFSymbolFactory()
- .getValueTypeFromEL(elText, elContext, file);
-
- if (valueExpr != null)
- {
- // otherwise, we have to try to resolve the base type and see
- // if it's an instanceof any of the supported implicit or
- // explict types
- return _dataModelSymbolFactory.createFromType(symbolName,
- valueExpr, javaProject);
- }
- }
-
- // by default create a default
- return _dataModelSymbolFactory.getSymbolFactory().createDefaultSymbol(
- symbolName, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL,
- null);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/FileContextUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/FileContextUtil.java
deleted file mode 100644
index 30e9e7b1d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/FileContextUtil.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-
-/**
- * Utility for deriving an IFile from an IAdaptable
- *
- * @author cbateman
- *
- */
-public final class FileContextUtil
-{
- /**
- * @param context
- * @return an IFile derived from context or null if not derivable
- */
- public static IFile deriveIFileFromContext(IAdaptable context)
- {
- //
- if (context instanceof IFile)
- {
- return (IFile) context;
- }
- else if (context.getAdapter(IFile.class) != null)
- {
- return (IFile) context.getAdapter(IFile.class);
- }
- else if (context instanceof IStructuredDocumentContext)
- {
- return deriveIFileFromContext((IStructuredDocumentContext)context);
- }
- else
- {
- IStructuredDocumentContext sdContext =
- (IStructuredDocumentContext) context.getAdapter(IStructuredDocumentContext.class);
-
- if (sdContext != null)
- {
- return deriveIFileFromContext(sdContext);
- }
- }
-
- return null;
- }
-
- private static IFile deriveIFileFromContext(IStructuredDocumentContext context)
- {
- IWorkspaceContextResolver resolver =
- IStructuredDocumentContextResolverFactory.
- INSTANCE.
- getWorkspaceContextResolver(context);
-
- if (resolver != null)
- {
- IResource res = resolver.getResource();
-
- if (res instanceof IFile)
- {
- return (IFile) res;
- }
- }
-
- return null;
- }
-
- /**
- * Convenience method for getting the IProject for a document context.
- *
- * @param context
- * @return the project associated with context or null if can't be derived
- */
- public static IProject getProject(final IStructuredDocumentContext context)
- {
- final IWorkspaceContextResolver wkResolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
-
- if (wkResolver != null)
- {
- return wkResolver.getProject();
- }
- return null;
- }
-
- private FileContextUtil()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/JSFSymbolFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/JSFSymbolFactory.java
deleted file mode 100644
index 55c9309a7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/JSFSymbolFactory.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Matthias Fuessel -- extracted from https://bugs.eclipse.org/bugs/show_bug.cgi?id=215461
- * Cameron Bateman/Oracle - integrated and moved data table code here.
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import java.util.Arrays;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.common.util.TypeUtil;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.IBeanInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IComponentSymbol;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IJavaTypeDescriptor2;
-import org.eclipse.jst.jsf.context.symbol.IMapTypeDescriptor;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.InitializedSymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.SymbolFactory;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.IValidationReporter;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.ReporterAdapter;
-import org.eclipse.jst.jsf.validation.internal.el.ELExpressionValidator;
-import org.eclipse.jst.jsf.validation.internal.el.IExpressionSemanticValidator;
-
-/**
- * Factory for creating symbols for variables/message bundles that are
- * contributed by components/tags. This Factory can be used by descendants of
- * {@link org.eclipse.jst.jsf.context.symbol.source.AbstractContextSymbolFactory} in order to create the symbols they want
- * to contribute.
- *
- * It provides also methods for getting the resulting {@link ValueType} from an
- * EL expression and the "row" type signature from an DataModel/Array/List
- * {@link ValueType}.
- *
- * NOTE: C.B March 26, 2008 -- commented out portions are left for the future
- * because the rely on enhancements to the symbol model that could not be made
- * in the current release. Other portions of the original ComponentSymbolFactory
- * have been moved to {@link org.eclipse.jst.jsf.context.symbol.InitializedSymbolFactory}
- * This reflects the split between things deemed to be generic EL (put in common
- * plugin) and things deemed to be JSF-specific (put here).
- *
- */
-public final class JSFSymbolFactory extends InitializedSymbolFactory
-{
- /**
- * @param elText The EL expression text. Must not be null
- * @param elContext The document context pointing to elText in the source document. Must not be null
- * @param file The workspace resource that contains elText. Must not be null.
- * @param symbolResolverFactory
- * @return the value expression resolved from elText or null if it cannot
- * be resolved or elText doesn't resolve to value expression (i.e. is a method expression)
- */
- public ValueType getValueTypeFromEL(final String elText,
- final IStructuredDocumentContext elContext, final IFile file, IStructuredDocumentSymbolResolverFactory symbolResolverFactory)
- {
- assert elText != null;
- assert elContext != null;
- assert file != null;
-
- // TODO investigate if infinite recursion; use ASTResolver instead??
- final IValidationReporter reporter = new ReporterAdapter();
- final ELExpressionValidator validator =
- new ELExpressionValidator(
- elContext, elText, symbolResolverFactory, reporter);
- validator.validateXMLNode();
- final IExpressionSemanticValidator semValidator = validator
- .getSemanticValidator();
- if (semValidator != null
- && semValidator.getExpressionType() instanceof ValueType)
- {
- return (ValueType) semValidator.getExpressionType();
- }
- return null;
- }
-
- /**
- * Convenience for {@link JSFSymbolFactory#getValueTypeFromEL(String, IStructuredDocumentContext, IFile, IStructuredDocumentSymbolResolverFactory)}
- * using StructuredDocumentSymbolResolverFactory.getInstance().
- *
- * @param elText
- * @param elContext
- * @param file
- * @return a ValueType or null
- */
- public ValueType getValueTypeFromEL(final String elText,
- final IStructuredDocumentContext elContext, final IFile file)
- {
- return getValueTypeFromEL(elText, elContext, file, StructuredDocumentSymbolResolverFactory.getInstance());
- }
-
- /**
- * @param type
- * @return <code>true</code>, if the given {@link ValueType} represents
- * an instance of <code>javax.faces.model.DataModel</code>
- */
- private boolean isFacesDataModel(ValueType type)
- {
- return type.isInstanceOf(TypeConstants.TYPE_DATA_MODEL);
- }
-
- /**
- * Tries to guess the row type of a <code>javax.faces.DataModel</code>
- * instance. This will only work if <code>type</code> is a descendant that
- * narrows down the return type of "getRowData()".
- *
- * @param type
- * @return the row type of the given DataModel. Will return
- * <code>null</code> if <code>type</code> is no DataModel or if
- * nothing more specific than <code>Object</code> can be
- * determined
- */
- public String getRowSignatureFromDataModel(ValueType type)
- {
- if (type instanceof IObjectSymbolBasedValueType)
- {
- ISymbol resSymbol = ((IObjectSymbolBasedValueType) type)
- .getSymbol().call(
- "getRowData", ECollections.emptyEList(), "res"); //$NON-NLS-1$ //$NON-NLS-2$
- if (resSymbol != null && resSymbol instanceof IObjectSymbol)
- {
- // TODO full signature
- final String signature = ((IObjectSymbol) resSymbol)
- .getTypeDescriptor().getTypeSignature();
- if (!TypeConstants.TYPE_JAVAOBJECT.equals(signature))
- {
- return signature;
- }
- }
- }
- return null;
- }
-
- /**
- * @param type
- * @return <code>true</code>, if <code>type</code> is a collection or
- * array
- */
- public boolean isContainerType(ValueType type)
- {
- return type.isArray()
- || type.isInstanceOf(TypeConstants.TYPE_COLLECTION);
- }
-
- /**
- * @param type -
- * the type of the <code>value</code> property
- * @return the type signature of the row variable for every type that
- * <code>UIData</code> takes as <code>value</code> property.
- * Will return <code>null</code> if no type or nothing more
- * specific than <code>Object</code> can be determined
- */
- public String getRowSignatureFromValueType(ValueType type)
- {
- if (isContainerType(type))
- {
- return getElementSignatureFromContainerType(type);
- }
- if (isFacesDataModel(type))
- {
- return getRowSignatureFromDataModel(type);
- }
- // Otherwise, according to jsf spec, treat value as single row:
- // TODO full signature
- return type.getSignature();
- }
-
- /**
- * @param symbolName The name of the symbol to be created. Must not be null
- * @param signature The type signature of the array type. Must not be null
- * @param source the runtime source
- * @param javaProject must not be null
- * @return a symbol based approximating an implicit DataModel wrapper for an array
- */
- public final ISymbol createArraySymbol(final String symbolName, final String signature, final ERuntimeSource source, final IJavaProject javaProject)
- {
- assert symbolName != null;
- assert signature != null;
- assert javaProject != null;
-
- final String arrayElementType = Signature.getElementType(signature);
- final int arrayCount = Signature.getArrayCount(signature);
- String adjustedSignature = null;
-
- // if it is a single array nesting, then it will just be the element type,
- // but if it is a multi-dim array, then the scalar element will be an array
- // with one less nesting level. It's a strange corner case to have an implicit
- // array of something as a row type, but it is a valid case. I suppose
- // it may be happen if you want to have tables of tables in which the nested tables
- // in turn use nested variables as their type...
- if (arrayCount > 0)
- {
- adjustedSignature = Signature.createArraySignature(arrayElementType, arrayCount-1);
- }
- else
- {
- adjustedSignature = arrayElementType;
- }
-
- return createScalarSymbol(symbolName, adjustedSignature, source, javaProject);
- }
-
- /**
- * @param symbolName The name of the symbol to create. Must not be null.
- * @param signature The fully resolved type signature of the scalar. Must not be null.
- * @param source
- * @param javaProject The JavaProject whose classpath is to be used to resolve type information for signture. Must not be null.
- * @return a symbol approximating a scalar object DataModel wrapper. The row variable for the
- * data model becomes of type signature
- */
- public final ISymbol createScalarSymbol(final String symbolName, final String signature, final ERuntimeSource source, final IJavaProject javaProject)
- {
- assert symbolName != null;
- assert signature != null;
- assert javaProject != null;
-
- final String elementType = Signature.getElementType(signature);
-
- IJavaTypeDescriptor2 desc =
- SymbolFactory.eINSTANCE.createIJavaTypeDescriptor2();
- final int arrayCount = Signature.getArrayCount(signature);
- if (arrayCount > 0)
- {
- desc.setArrayCount(arrayCount);
- }
-
- IType type = TypeUtil.resolveType(javaProject, elementType);
- if (type != null)
- {
- desc.setType(type);
- }
- else
- {
- desc.setTypeSignatureDelegate(Signature.getTypeErasure(signature));
- }
- desc.getTypeParameterSignatures().addAll(Arrays.asList(Signature.getTypeArguments(signature)));
-
- IComponentSymbol symbol = SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(symbolName);
- symbol.setTypeDescriptor(desc);
- symbol.setRuntimeSource(ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL);
- return symbol;
- }
-
- /**
- * @param symbolName The name of the symbol to create. Must not be null.
- * @param valueType The value expression representing the implicit list. The signature
- * on the valueType must be a list. Must not be null.
- * @param source
- * @param description
- * @param javaProject The JavaProject whose classpath will be used to resolve types. Must not be null.
- *
- * @return a symbol that approximates as best as possible an implicit DataModel for java.util.List value expressions. If the List has
- * resolvable Java 5 type arguments, then a scalar symbol will be created
- * using this type information. If it is a raw type, then
- * createDefaultSymbol() is called
- */
- public final ISymbol createFromList(String symbolName, ValueType valueType, ERuntimeSource source, String description, IJavaProject javaProject)
- {
- assert symbolName != null;
- assert valueType != null;
- assert javaProject != null;
- assert TypeConstants.TYPE_LIST.equals(valueType.getSignature());
-
- final String[] typeArguments = valueType.getTypeArguments();
-
- if (typeArguments != null && typeArguments.length > 0)
- {
- // a list has a single type argument
- final String typeArg = typeArguments[0];
-
- if (Signature.getTypeSignatureKind(typeArg) == Signature.CLASS_TYPE_SIGNATURE)
- {
- return createScalarSymbol(symbolName, typeArg, source, javaProject);
- }
- }
-
- // if no resolvable type signatures, do the default thing
- return createDefaultSymbol(symbolName, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, description);
- }
-
- /**
- * @param symbolName The name of the symbol to create. Must not be null
- * @param source
- * @param description
- * @return a default symbol that eliminates bogus warnings for this dataTable's
- * row variable in cases where something better is resolvable. Note that this is
- * not ideal, since will result in any property being accepted on the variable with
- * this name.
- */
- public final ISymbol createDefaultSymbol(final String symbolName, final ERuntimeSource source, final String description)
- {
- assert symbolName != null;
-
- final IMapTypeDescriptor typeDesc =
- SymbolFactory.eINSTANCE.createIBoundedMapTypeDescriptor();
- // empty map source
- typeDesc.setMapSource(new HashMap());
- final IComponentSymbol symbol =
- SymbolFactory.eINSTANCE.createIComponentSymbol();
- symbol.setName(symbolName);
- symbol.setTypeDescriptor(typeDesc);
- symbol.setDetailedDescription(description);
- symbol.setRuntimeSource(source);
- return symbol;
- }
-
- /**
- * FUTURE use: added to support future API feature. Should not be used.
- * @param symbolName
- * @param bundleName
- * @param project
- * @return an instance symbol for the message bundle
- */
- public IInstanceSymbol createMessageBundleSymbol(final String symbolName, final String bundleName, IJavaProject project)
- {
- // FUTURE USE
- throw new UnsupportedOperationException("see https://bugs.eclipse.org/bugs/show_bug.cgi?id=215461"); //$NON-NLS-1$
- }
-
- /**
- * FUTURE use: added to support future API feature. Should not be used.
- * @param symbolName
- * @param fullyQualifiedName
- * @param source
- * @param description
- * @param javaProject
- * @return an instance symbol for the message bundle
- */
- public IBeanInstanceSymbol createManagedBeanSymbol(final String symbolName, final String fullyQualifiedName,
- ERuntimeSource source, final String description, final IJavaProject javaProject)
- {
- // FUTURE USE
- throw new UnsupportedOperationException("see https://bugs.eclipse.org/bugs/show_bug.cgi?id=215461"); //$NON-NLS-1$
- }
-
-// / /**
-// * @param symbolName
-// * @param signature
-// * @param javaProject
-// * @return a symbol for a bean
-// */
-// public IComponentBeanSymbol createBeanSymbolFromSignature(
-// final String symbolName, final String signature,
-// final IJavaProject javaProject)
-// {
-// IJavaTypeDescriptor2 desc = createTypeDescriptorFromSignature(
-// signature, javaProject);
-//
-// IComponentBeanSymbol symbol = SymbolFactory.eINSTANCE
-// .createIComponentBeanSymbol();
-// symbol.setName(symbolName);
-// symbol.setTypeDescriptor(desc);
-// symbol.setRuntimeSource(ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL);
-// return symbol;
-// }
-
-// /**
-// * @param symbolName
-// * @param bundleName
-// * @param project
-// * @return a symbol for a message bundle
-// */
-// public IMessageBundleSymbol createMessageBundleSymbolFromBundleName(final String symbolName, final String bundleName, IJavaProject project) {
-// final IMessageBundleTypeDescriptor typeDesc = SymbolFactory.eINSTANCE.createIMessageBundleTypeDescriptor();
-// try {
-// Map mapSource = ResourceBundleMapSourceFactory.getResourceBundleMapSource(project.getProject(), bundleName);
-// typeDesc.setMapSource(mapSource);
-// } catch (JavaModelException e) {
-// JSFCorePlugin.log(e, "Error creating resource map for bundle '"bundleName "'"); //$NON-NLS-1$ //$NON-NLS-2$
-// } catch (IOException e) {
-// JSFCorePlugin.log(e, "Error creating resource map for bundle '"bundleName "'"); //$NON-NLS-1$ //$NON-NLS-2$
-// } catch (CoreException e) {
-// JSFCorePlugin.log(e, "Error creating resource map for bundle '"bundleName "'"); //$NON-NLS-1$ //$NON-NLS-2$
-// }
-// final IMessageBundleSymbol symbol = SymbolFactory.eINSTANCE.createIMessageBundleSymbol();
-// symbol.setName(symbolName);
-// symbol.setTypeDescriptor(typeDesc);
-// symbol.setDetailedDescription(NLS.bind(Messages.getString("ComponentSymbolFactory.IMessageBundleSymbol.detailedDescription"), bundleName)); //$NON-NLS-1$
-// return symbol;
-// }
-// /**
-// * Sets the symbol to be defined only inside the given element
-// *
-// * @param symbol
-// * @param slement
-// */
-// public void setDefinitionRange(final IComponentVar symbol,
-// final Element slement)
-// {
-// if (slement instanceof IndexedRegion)
-// {
-// final IndexedRegion defRegion = (IndexedRegion) slement;
-// final int defOffset = defRegion.getStartOffset();
-// final int defLength = defRegion.getLength();
-// symbol.setDefinitionRange(defOffset, defLength);
-// }
-// }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/Messages.java
deleted file mode 100644
index e68910e60..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/*package*/ class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.designtime.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the resource or !key! if not found.
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/SymbolUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/SymbolUtil.java
deleted file mode 100644
index 18a8594c5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/SymbolUtil.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-
-/**
- * Utilities for symbol handling
- *
- * @author cbateman
- *
- */
-public final class SymbolUtil
-{
- /**
- * @param symbols
- * @param name
- * @return the symbol in symbols matching name or null if not there
- */
- public static ISymbol findSymbolByName(final ISymbol[] symbols, final String name)
- {
- for (int i = 0; i < symbols.length; i++)
- {
- if (name.equals(symbols[i].getName()))
- {
- return symbols[i];
- }
- }
-
- // if not found, return null
- return null;
- }
-
- /**
- * @param allSymbols
- * @param prefix
- * @return an array of symbols filtered based on name.startsWith(prefix)
- */
- public static ISymbol[] filterSymbolsByPrefix(final ISymbol[] allSymbols, final String prefix)
- {
- List filteredSymbols = new ArrayList(allSymbols.length);
- for (int i = 0; i < allSymbols.length; i++)
- {
- if (allSymbols[i].getName().startsWith(prefix))
- {
- filteredSymbols.add(allSymbols[i]);
- }
- }
-
- return (ISymbol[]) filteredSymbols.toArray(ISymbol.EMPTY_SYMBOL_ARRAY);
- }
-
- private SymbolUtil()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/package-info.java
deleted file mode 100644
index 6ccfac93d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/package-info.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Design Time EL Symbol Contribution framework.
- */
-package org.eclipse.jst.jsf.designtime.symbols;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractMetaDataEnabledFeature.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractMetaDataEnabledFeature.java
deleted file mode 100644
index b2f98485b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractMetaDataEnabledFeature.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IImageDescriptorProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.IMetaDataQuery;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-
-/**
- * Simple abstract class that implementers of {@link IMetaDataEnabledFeature} can subclass in the <b>TagLibDomain</b> of metadata
- * <p><b>Provisional API - subject to change</b></p>*
- */
-public abstract class AbstractMetaDataEnabledFeature implements IMetaDataEnabledFeature{
-
- private MetaDataContext mdContext;
- private IStructuredDocumentContext sdContext;
- private IProject _project;
- private IFile _file;
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature#setMetaDataContext(org.eclipse.jst.jsf.metadataprocessors.MetaDataContext)
- */
- public void setMetaDataContext(final MetaDataContext context) {
- this.mdContext = context;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature#getMetaDataContext()
- */
- public MetaDataContext getMetaDataContext() {
- return mdContext;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature#setStructuredDocumentContext(org.eclipse.wtp.jsf.context.structureddocument.IStructuredDocumentContext)
- */
- public void setStructuredDocumentContext(final IStructuredDocumentContext context) {
- this.sdContext = context;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature#getStructuredDocumentContext()
- */
- public IStructuredDocumentContext getStructuredDocumentContext() {
- return sdContext;
- }
-
- private IProject getProject(){
- if (_project == null){
- _project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(sdContext).getProject();
- }
- return _project;
- }
-
- private IFile getFile(){
- if (_file == null){
- IResource res = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(sdContext).getResource();
- if (res instanceof IFile)
- _file = (IFile)res;
- }
- return _file;
- }
- //common metadata accessors
- /**
- * Return the single expected String value for a given property.
- *
- * @param traitName property name
- * @return String value
- */
- protected String getTraitValueAsString(final String traitName){
- Trait t = getTraitForEntityUsingContext(traitName);
- if (t != null){
- return TraitValueHelper.getValueAsString(t);
- }
-
- return null;
-
- }
-
- /**
- * Return the List of values for a given property.
- *
- * @param traitName trait name
- * @return List of String values
- */
- protected List getTraitValueAsListOfStrings(final String traitName){
- Trait t = getTraitForEntityUsingContext(traitName);
- if (t != null){
- return TraitValueHelper.getValueAsListOfStrings(t);
- }
-
- return Collections.EMPTY_LIST;
- }
-
- /**
- * Return a boolean value for the given named trait .
- *
- * @param traitName property name
- * @return boolean value. Returns false if trait was not located.
- */
- protected boolean getTraitValueAsBoolean(final String traitName){
- Trait t = getTraitForEntityUsingContext(traitName);
- if (t != null){
- return TraitValueHelper.getValueAsBoolean(t);
- }
-
- return false;
-
- }
- private Trait getTraitForEntityUsingContext(final String traitName) {
- //look for trait on given entity
- final Entity entity = getMetaDataContext().getEntity();
- final IMetaDataDomainContext modelContext = getMetaDataDomainContext();
- final IMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext);
- return query.getQueryHelper().getTrait(entity, traitName);
- }
-
- private IMetaDataDomainContext getMetaDataDomainContext() {
- final IFile file = getFile();
- if (file != null)
- return MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
-
- return MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(getProject());
- }
-
- /**
- * @return small-icon name
- */
- protected String getSmallIcon() {
- return getTraitValueAsString(IPossibleValues.POSSIBLE_VALUES_SMALL_ICON_PROP_NAME);
- }
-
- /**
- * @return ImageDescriptor from the small-icon property for annotation from the same
- * source model provider as the trait
- */
- protected ImageDescriptor getImage() {
- final String smallIcon = getSmallIcon();
- if (smallIcon == null)
- return null;
-
- try {
- Trait t = getMetaDataContext().getTrait();
- IMetaDataSourceModelProvider provider = t.getSourceModelProvider();
- IImageDescriptorProvider ip = (IImageDescriptorProvider)provider.getAdapter(IImageDescriptorProvider.class);
- if (ip != null){
- return ip.getImageDescriptor(smallIcon);
- }
- } catch (RuntimeException e) {
- //TODO: log error?
-
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractRootTypeDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractRootTypeDescriptor.java
deleted file mode 100644
index 00b1ed842..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/AbstractRootTypeDescriptor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.jsf.metadataprocessors.internal.IMetaDataEnabledFeatureExtension;
-import org.eclipse.jst.jsf.metadataprocessors.internal.MetaDataEnabledFeatureAdapterFactory;
-import org.eclipse.jst.jsf.metadataprocessors.internal.MetaDataEnabledFeatureRegistry;
-
-
-/**
- * Default implementation that a metadata type should strongly consider for using as it's root.
- * This implementation allows for a class implementing {@link ITypeDescriptor} to also contain features so
- * that it is not necessary to declare the features using the MetaDataEnabledFeatures ext-pt
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class AbstractRootTypeDescriptor extends AbstractMetaDataEnabledFeature
- implements ITypeDescriptor {
-
- private IType type;
-
- /**
- * Default implementation that will return <code>this</code> if it supports the processing feature,
- * and all {@link IMetaDataEnabledFeature}s that also support this feature on this type. The caller can determine
- * which one or more of the returned processors to use.
- *
- * @param processingFeature class
- * @return List of <code>IMetaDataEnabledFeature</code>s that support the
- * specified featureType interface.
- *
- * @see org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor#getFeatureAdapters(java.lang.Class)
- */
- public List getFeatureAdapters(Class processingFeature) {
- Assert.isTrue(processingFeature.isInterface());
- List ret = new ArrayList(3);
- if (processingFeature.isInstance(this)) {
-// ((IMetaDataEnabledFeature)this).setBundleID(type.getBundleID());
- ret.add(this);
- }
-
- //add extensions here
- ret.addAll(findMetaDataEnabledFeaturesForThisType(processingFeature));
- return ret;
-
- }
-
- /**
- * This implementation relies on the the feature implementor using a subclass of AbstractRootTypeDescriptor
- * which implements {@link IMetaDataEnabledFeature}.
- *
- * @param processingFeature
- * @return list of <code>IMetaDataEnabledFeature</code>s
- */
- protected final List<IMetaDataEnabledFeature> findMetaDataEnabledFeaturesForThisType(Class processingFeature) {
- Map <String, IMetaDataEnabledFeature> mapOfFeatures = new HashMap<String, IMetaDataEnabledFeature>();
- List extensions = MetaDataEnabledFeatureRegistry.getInstance()
- .getFeatures(getTypeExtension().getTypeID());
-
- if (!extensions.isEmpty()){
- for (int i=0;i<extensions.size();i++){
- IMetaDataEnabledFeatureExtension aFeature = (IMetaDataEnabledFeatureExtension)extensions.get(i);
- IMetaDataEnabledFeature feature = MetaDataEnabledFeatureAdapterFactory.getInstance().getFeatureAdapter(aFeature, processingFeature);
- if (feature != null && processingFeature.isInstance(feature)
- && ! mapOfFeatures.containsKey(aFeature.getClassName())){
- mapOfFeatures.put(aFeature.getClassName(),feature);
- }
- }
- }
- List<IMetaDataEnabledFeature> ret = new ArrayList<IMetaDataEnabledFeature>(mapOfFeatures.size());
- for (IMetaDataEnabledFeature feature: mapOfFeatures.values()){
- ret.add(feature);
- }
- return ret;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor#getRuntimeType()
- */
- public IType getTypeExtension() {
- return type;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor#setRuntimeType(org.eclipse.jst.jsf.metadataprocessors.internal.AbstractMetaDataEnabledType)
- */
- public void setTypeExtension(IType type) {
- this.type = type;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/DefaultTypeDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/DefaultTypeDescriptor.java
deleted file mode 100644
index 49b5ad916..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/DefaultTypeDescriptor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-
-/**
- * Type descriptor that is created if no class if provided for the implementation
- * in the AttributeValueRuntimeTypes extension point.
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- *
- */
-public class DefaultTypeDescriptor extends AbstractRootTypeDescriptor {
- // abstract super contains no abstract methods, so do nothing: automatic default
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IMetaDataEnabledFeature.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IMetaDataEnabledFeature.java
deleted file mode 100644
index f25054ddf..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IMetaDataEnabledFeature.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-
-/**
- * Required interface used by the MetaData feature processing framework.
- * All features must extend this interface.
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- *
- */
-public abstract interface IMetaDataEnabledFeature {
-
- /**
- * Sets structured document context that this feature will operating on
- * @param context
- */
- public void setStructuredDocumentContext(IStructuredDocumentContext context);
-
- /**
- * Gets structured document context that this feature will operating on
- * @return IStructuredDocumentContext
- */
- public IStructuredDocumentContext getStructuredDocumentContext();
-
- /**
- * Sets metadata model context that this feature will operating on
- * @param context
- */
- public void setMetaDataContext(MetaDataContext context);
-
- /**
- * Gets metadata model context that this feature will be operating on.
- * @return MetaDataContext
- */
- public MetaDataContext getMetaDataContext();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IType.java
deleted file mode 100644
index 7466b576c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/IType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-
-/**
- * Interface representing the information contained by the type registries.
- * Encapsulates the IConfigurationElement information.
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- *
- */
-public interface IType {
- /**
- * @return type id
- */
- public String getTypeID();
- /**
- * @return bundle id where it is defined
- */
- public String getBundleID();
- /**
- * @return classname for the type that must be located within the bundle
- */
- public String getClassName();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/ITypeDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/ITypeDescriptor.java
deleted file mode 100644
index 0031ebb76..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/ITypeDescriptor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import java.util.List;
-
-/**
- * Interface describing the runtime type of a metadata enabled annotation.
- * The type descriptor will load the feature adapters for a certain kind of
- * feature that it supports. The type descriptor is registered by an extension point.
- * <p><b>Provisional API - subject to change</b></p>
- * @see IMetaDataEnabledFeature
- * @see AbstractRootTypeDescriptor
- * @see org.eclipse.jst.jsf.metadataprocessors.internal.AbstractMetaDataEnabledTypeFactory
- * @see IType
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public interface ITypeDescriptor {
- /**
- * @param type
- * The IType must be set after the ITypeDescriptor is constructed
- */
- public void setTypeExtension(IType type);
- /**
- * @return IType
- * Must not be null
- */
- public IType getTypeExtension();
-
- /**
- * @param processingFeature interface class
- * @return List of <code>IMetaDataEnabledFeature</code>s that support the
- * specified processingFeature interface.
- */
- public List<IMetaDataEnabledFeature> getFeatureAdapters(Class processingFeature);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataContext.java
deleted file mode 100644
index 5876340d2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataContext.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-
-
-/**
- * The current meta data model context being used for processing.
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public class MetaDataContext {
- private Trait trait;
- private Entity entity;
-
- /**
- * Constructor
- * @param entity
- * @param trait
- */
- public MetaDataContext(Entity entity, Trait trait) {
- this.entity = entity;
- this.trait = trait;
- }
-
- /**
- * @return Entity
- */
- public Entity getEntity(){
- return entity;
- }
- /**
- * @return Trait
- */
- public Trait getTrait(){
- return trait;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataEnabledProcessingFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataEnabledProcessingFactory.java
deleted file mode 100644
index 48e3a5ab3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/MetaDataEnabledProcessingFactory.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.common.dom.AttributeIdentifier;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.metadataprocessors.internal.AttributeValueRuntimeTypeFactory;
-
-/**
- * Singleton class that will produce <code>IMetaDataEnabledFeature</code>s
- * that the caller can use for processing.
- * <p>
- * <b>Provisional API - subject to change</b>
- * </p>
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public final class MetaDataEnabledProcessingFactory {
- private static MetaDataEnabledProcessingFactory INSTANCE;
-
- /**
- * Name of property in annotation file to use when applying a runtime type
- * to an attribute value
- */
- public static final String ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME = "attribute-value-runtime-type"; //$NON-NLS-1$
-
- /**
- * @return singleton instance
- */
- public static MetaDataEnabledProcessingFactory getInstance() {
- if (INSTANCE == null) {
- INSTANCE = new MetaDataEnabledProcessingFactory();
- }
- return INSTANCE;
- }
-
- private MetaDataEnabledProcessingFactory() {
- super();
- }
-
- /**
- * Returns list of <code>IMetaDataEnabledFeature</code> adapters for the
- * given Taglibrary attribute.
- *
- * Adapters will be scanned for first by uri, element, attribute and if not
- * found, uri, "*", attribute and if still not found by "*", "*", attribute.
- *
- * @param featureType
- * feature type. eg. <code>IPossibleValues</code>,
- * <code>IValidValues</code>, etc. Must be subclass of
- * IMetaDataEnabledFeature.
- * @param sdContext
- * @param uri
- * annotation file uri
- * @param tagName
- * @param attributeName
- * @return returns null - if the metadata was not found <br>
- * returns empty list - if not a
- * <code>IMetaDataEnabledFeature</code> processor or is not valid
- * or does not support the specified feature
- *
- * @see MetaDataEnabledProcessingFactory#ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME
- */
- public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors(
- final Class featureType, final IStructuredDocumentContext sdContext,
- final String uri, final String tagName, final String attributeName) {
-
- String attrKey = tagName + "/" + attributeName; //$NON-NLS-1$
-
- final IMetaDataDomainContext modelContext = getMetaDataDomainContext(sdContext);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext);
-
- Entity attrEntity = query.getQueryHelper().getEntity(uri, attrKey);
-
- if (attrEntity != null)
- return getAttributeValueRuntimeTypeFeatureProcessors(featureType, sdContext, attrEntity);
-
- return Collections.EMPTY_LIST;
-
- }
-
- private IProject getProject(final IStructuredDocumentContext sdContext) {
- IProject project = null;
- if (sdContext != null) {
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(sdContext);
- project = resolver != null ? resolver.getProject() : null;
- }
- return project;
- }
-
- private IFile getFile(final IStructuredDocumentContext sdContext) {
- IFile file = null;
- if (sdContext != null) {
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(sdContext);
- final IResource res = resolver != null ? resolver.getResource() : null;
- if (res instanceof IFile)
- file = (IFile)res;
- }
- return file;
- }
- /**
- * A convenience method fully equivalent to:
- *
- * getAttributeValueRuntimeTypeFeatureProcessors
- * (featureType, sdContext, attributeId.getTagIdentifier().getUri()
- * , attributeId.getTagIdentifier().getTagName(),
- * attributeId.getName())
- * @param featureType
- * @param sdContext
- * @param attributeId
- * @return the meta-data enabled feature
- */
- public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors(
- final Class featureType, final IStructuredDocumentContext sdContext,
- final AttributeIdentifier attributeId)
- {
- return getAttributeValueRuntimeTypeFeatureProcessors
- (featureType, sdContext, attributeId.getTagIdentifier().getUri()
- , attributeId.getTagIdentifier().getTagName(),
- attributeId.getName());
- }
-
- /**
- * @param featureType
- * @param sdContext
- * @param attrEntity
- * @return returns null - if the meta data was not found <br>
- * returns empty list - if not a
- * <code>IMetaDataEnabledFeature</code> processor or is not valid
- * or does not support the specified feature
- */
- public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors(
- final Class featureType, final IStructuredDocumentContext sdContext,
- final Entity attrEntity) {
-
- final IMetaDataDomainContext modelContext = getMetaDataDomainContext(sdContext);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext);
-
- Trait trait = query.findTrait(attrEntity,
- ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME);
-
- if (trait == null) {
- return Collections.EMPTY_LIST;
- }
-
- List<IMetaDataEnabledFeature> retList = new ArrayList<IMetaDataEnabledFeature>(2);
- String typeId = TraitValueHelper.getValueAsString(trait);
-
- // get the implementing class for the type
- ITypeDescriptor type = AttributeValueRuntimeTypeFactory.getInstance()
- .getType(typeId);
- if (type != null) {
- MetaDataContext context = new MetaDataContext(attrEntity, trait);
- // get all the feature adapters (IMetaDataEnabledFeature) for this
- // type
- List<IMetaDataEnabledFeature> featureAdapters = type.getFeatureAdapters(featureType);
- for (int j = 0; j < featureAdapters.size(); j++) {
- // set the context in the feature
- featureAdapters.get(j).setMetaDataContext(context);
- featureAdapters.get(j).setStructuredDocumentContext(sdContext);
- retList.add(featureAdapters.get(j));
- }
-
- }
- // return list of IMetaDataEnabledFeatures for this type
- return Collections.unmodifiableList(retList);
- }
-
- private IMetaDataDomainContext getMetaDataDomainContext(
- final IStructuredDocumentContext sdContext) {
- final IFile file = getFile(sdContext);
- if (file != null)
- return MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
-
- return MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(getProject(sdContext));
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/TaglibMetadataContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/TaglibMetadataContext.java
deleted file mode 100644
index 82eb4cc9e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/TaglibMetadataContext.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.metadataprocessors;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-
-/**
- * Binds tag library context to the metadata context
- * <p><b>Provisional API - subject to change</b></p>
- * @deprecated - should not have been public, and no reason anyone should be using this class
- */
-public class TaglibMetadataContext extends MetaDataContext {
-
- private String uri;
- private String tagName;
- private String attributeName;
-
- /**
- * Constructor
- *
- * @param uri - must not be null
- * @param tagName - must not be null
- * @param attributeName - may be null
- * @param entity - the metadata entity represented by the tag or attribute
- * @param trait - the metadata trait of interest
- */
- public TaglibMetadataContext(String uri, String tagName, String attributeName, Entity entity, Trait trait){
- super(entity, trait);
- this.uri = uri;
- this.tagName = tagName;
- this.attributeName = attributeName;
- }
-
- /**
- * Package-private Constructor
- *
- * @param tagAttrEntity - must be tag attribute entity and not null
- * @param trait
- */
- /*package*/ TaglibMetadataContext(Entity tagAttrEntity, Trait trait){
- super(tagAttrEntity, trait);
- Assert.isNotNull(tagAttrEntity);
- this.uri = tagAttrEntity.getModel().getCurrentModelContext().getUri().toString();
- if (!(tagAttrEntity.eContainer() instanceof Entity))
- {
- throw new IllegalArgumentException("tagAttrEntity must be contained in a tag Entity to use this constructor"); //$NON-NLS-1$
- }
- this.tagName = ((Entity)tagAttrEntity.eContainer()).getId();
- this.attributeName = tagAttrEntity.getId();
- }
-
- /**
- * @return URI
- */
- public String getUri() {
- return uri;
- }
-
- /**
- * @return Tag name - should not be null
- */
- public String getTagName() {
- return tagName;
- }
-
- /**
- * @return Attribute name - may be null
- */
- public String getAttributeName() {
- return attributeName;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ELIsNotValidException.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ELIsNotValidException.java
deleted file mode 100644
index f1b5b1698..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ELIsNotValidException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-/**
- * Exception
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class ELIsNotValidException extends Exception {
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructor
- * @param msg
- */
- public ELIsNotValidException(String msg){
- super(msg);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ICreateValues.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ICreateValues.java
deleted file mode 100644
index 6c25a65d8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ICreateValues.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * @author Gerry Kessler - Oracle
- *
- * Experimental - not currently used
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public interface ICreateValues extends IMetaDataEnabledFeature{
- /**
- * @return object created
- */
- public Object createValue();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IDefaultValue.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IDefaultValue.java
deleted file mode 100644
index 70b68aa3b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IDefaultValue.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * Interface providing a default value.
- *
- * @author Gerry Kessler - Oracle
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public interface IDefaultValue extends IMetaDataEnabledFeature {
- /**
- * Default name of property in annotation file to use when supplying default values from meta-data
- */
- String DEFAULT_VALUE_PROP_NAME = "default-value"; //$NON-NLS-1$
-
- /**
- * @return default value or null if one not defined
- */
- public String getDefaultValue();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValue.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValue.java
deleted file mode 100644
index d4cdbf955..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValue.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Interface for providing lists of possible values
- * Values can be different than displayed values.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public interface IPossibleValue {
- /**
- * @return value to set. should not return null.
- */
- public String getValue();
- /**
- * @return value to display in a proposal which can be different than what is set. Must not return null.
- */
- public String getDisplayValue();
- /**
- * @return ImageDescriptor for image to be displayed in a proposal. May be null.
- */
- public ImageDescriptor getIcon();
- /**
- * @return true if is known to be the default value.
- */
- public boolean isDefaultValue();
-
- /**
- * @return additional information that could be used for descriptive help
- * May be null
- */
- public String getAdditionalInformation();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValues.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValues.java
deleted file mode 100644
index 165b662f8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IPossibleValues.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * Interface for providing possible values.
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- *
- */
-public interface IPossibleValues extends IMetaDataEnabledFeature{
-
- /**
- * Default name of property in annotation file to use when supplying possible values from meta-data
- */
- public static final String POSSIBLE_VALUES_PROP_NAME = "valid-values"; //$NON-NLS-1$
- /**
- * Default name of property in annotation file to use when supplying possible displayed values from meta-data
- */
- public static final String POSSIBLE_VALUES_FOR_DISPLAY_PROP_NAME = "displayed-values"; //$NON-NLS-1$
- /**
- * Default name of property in annotation file to use when supplying icon displayed values from meta-data
- */
- public static final String POSSIBLE_VALUES_SMALL_ICON_PROP_NAME = "small-icon"; //$NON-NLS-1$
- /**
- * @return List of IPossibleValue instances representing possible values
- * Implementer must ensure that an empty rather than null list is returned if no values are posssible.
- */
- public List getPossibleValues();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidELValues.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidELValues.java
deleted file mode 100644
index ca0b8f697..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidELValues.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * An {@link IMetaDataEnabledFeature} for semantic validation of EL Values
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public interface IValidELValues extends IMetaDataEnabledFeature {
- /**
- * Expected runtime type for EL value
- * @return CompositeType
- * @throws ELIsNotValidException
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidValues.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidValues.java
deleted file mode 100644
index e989031e5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidValues.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * An {@link IMetaDataEnabledFeature} for validating values using metadata
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public interface IValidValues extends IMetaDataEnabledFeature{
- /**
- * Trait name for valid-values
- */
- public static final String VALID_VALUES_PROP_NAME = "valid-values"; //$NON-NLS-1$
-
- /**
- * Trait name for valid-values-code
- */
- public static final String VALID_VALUES_CODE_PROP_NAME = VALID_VALUES_PROP_NAME + "-code"; //$NON-NLS-1$
- /**
- * Trait name for valid-values-severity
- */
- public static final String VALID_VALUES_SEVERITY_PROP_NAME = VALID_VALUES_PROP_NAME + "-severity"; //$NON-NLS-1$
- /**
- * Trait name for valid-values-message
- */
- public static final String VALID_VALUES_MESSAGE_PROP_NAME = VALID_VALUES_PROP_NAME + "-message"; //$NON-NLS-1$
- /**
- * Trait name for valid-maximum
- */
- public static final String VALID_VALUES_MAX_PROP_NAME = "valid-maximum"; //$NON-NLS-1$
- /**
- * Trait name for valid-minimum
- */
- public static final String VALID_VALUES_MIN_PROP_NAME = "valid-minimum"; //$NON-NLS-1$
- /**
- * @param value fully resolved value as String
- * @return true if is valid
- */
- public boolean isValidValue(String value);
- /**
- * @return List of IValidationMessage objects if invalid
- * Must return empty list rather than null
- * Call to isValidValue(String value) required before this should be called.
- */
- public List getValidationMessages();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidationMessage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidationMessage.java
deleted file mode 100644
index 4f29c782d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/IValidationMessage.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-/**
- * Interface for validation messages for metadata features
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public interface IValidationMessage {
- /**
- * @return localized string desribing validation issue
- * Should not be null;
- */
- public String getMessage();
-
- /**
- * @return String representing a validation code associated with validation issue
- * Can return null
- */
- public String getCode();
-
- /**
- * @return integer value representing severity.
- * Valid values are 0 (IStatus.INFO), 1 (IStatus.WARNING) and 4 (IStatus.ERROR)
- */
- public int getSeverity();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/PossibleValue.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/PossibleValue.java
deleted file mode 100644
index dbbde0636..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/PossibleValue.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-
-/**
- * Implements {@link IPossibleValues}
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public class PossibleValue implements IPossibleValue {
- private String value;
- private String displayValue;
- private ImageDescriptor smallIcon;
- private boolean isDefault = false;
- private String additionalInfo;
-
- /**
- * Constructor when display value is same as stored value
- * @param value
- */
- public PossibleValue(String value){
- this.value = value;
- }
-
- /**
- * Constructor when display-value may be different than stored value
- * @param value
- * @param displayValue
- */
- public PossibleValue(String value, String displayValue){
- this.value = value;
- this.displayValue = displayValue;
- }
-
- /**
- * Constructor when display-value may be different than stored value
- * and a default value is known
- * @param value
- * @param displayValue
- * @param isDefaultValue
- */
- public PossibleValue(String value, String displayValue, boolean isDefaultValue) {
- this.value = value;
- this.displayValue = displayValue;
- this.isDefault = isDefaultValue;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue#getValue()
- */
- public String getValue() {
- return value;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue#getDisplayValue()
- */
- public String getDisplayValue() {
- if (displayValue == null)
- return value;
- return displayValue;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue#getIcon()
- */
- public ImageDescriptor getIcon() {
- return smallIcon;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue#isDefaultValue()
- */
- public boolean isDefaultValue() {
- return isDefault;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue#getAdditionalInformation()
- */
- public String getAdditionalInformation() {
- return additionalInfo;
- }
-
- /**
- * @param value
- */
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * @param displayValue
- */
- public void setDisplayValue(String displayValue) {
- this.displayValue = displayValue;
- }
-
- /**
- * @param smallIcon
- */
- public void setIcon(ImageDescriptor smallIcon) {
- this.smallIcon = smallIcon;
- }
-
- /**
- * @param isDefault
- */
- public void setIsDefault(boolean isDefault) {
- this.isDefault = isDefault;
- }
-
- /**
- * @param additionalInfo
- */
- public void setAdditionalInformation(String additionalInfo){
- this.additionalInfo = additionalInfo;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ValidationMessage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ValidationMessage.java
deleted file mode 100644
index 5aaf29e1a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/ValidationMessage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.features;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Metadata Validation Message implementation
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class ValidationMessage implements IValidationMessage {
-
- private String code;
- private String msg;
- private int severity = IStatus.WARNING;
-
- /**
- * Constructor
- * @param msg
- */
- public ValidationMessage(String msg){
- this.msg = msg;
- }
-
- /**
- * Constructor
- * @param msg
- * @param code
- * @param severity
- */
- public ValidationMessage(String msg, String code, int severity){
- this.msg = msg;
- this.code = code;
- this.severity = severity;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage#getMessage()
- */
- public String getMessage() {
- return msg;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage#getCode()
- */
- public String getCode() {
- return code;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage#getSeverity()
- */
- public int getSeverity() {
- return severity;
- }
-
- /**
- * @param msg
- */
- public void setMessage(String msg) {
- this.msg = msg;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/package-info.java
deleted file mode 100644
index 552ffe61c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/features/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Provides tooling services for tag attribute values
- * based on the org.eclipse.jst.jsf.core.AttributeValueRuntimeTypes.
- * <p>
- * New features can added to the system using the org.eclipse.jst.jsf.core.MetaDataEnabledFeatures
- * extension-point. This extension point provides the binding of a AttributeValueRuntimeTypes to a feature
- * so that new behaviors can be added to existing types.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.metadataprocessors.features;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledType.java
deleted file mode 100644
index 04c6ebd36..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledType.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import org.eclipse.jst.jsf.metadataprocessors.IType;
-
-
-/**
- * Class that encapuslates the information from the
- * <code>AttributeValueRuntimeTypes</code> and
- * <code>MetaDataEnabledFeatures</code>
- * extension points.
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public class AbstractMetaDataEnabledType implements IType{
- String typeId;
- String bundleId;
- String klass;
-
- AbstractMetaDataEnabledType(String bundleID, String id, String klass){
- this.bundleId = bundleID;
- this.typeId = bundleId + "." + id; //$NON-NLS-1$
- this.klass = klass;
- }
-
- public String getTypeID(){
- return typeId;
- }
-
- public String getBundleID(){
- return bundleId;
- }
-
- public String getClassName(){
- return klass;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java
deleted file mode 100644
index 8cc0fbd8f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.metadataprocessors.IType;
-import org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor;
-import org.osgi.framework.Bundle;
-
-/**
- * Abstract factory producing <code>ITypeDescriptor</code>s
- * from instances of <code>AbstractMetaDataEnabledType</code>s
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public abstract class AbstractMetaDataEnabledTypeFactory {
- /**
- * The factory instance
- * TODO: why is this defined here it is only used in sub-classes??
- */
- protected static AbstractMetaDataEnabledTypeFactory INSTANCE;
-
- /**
- * No arg constructor
- */
- protected AbstractMetaDataEnabledTypeFactory(){
- super();
- }
-
- /**
- * Concrete factory must pass instances of the it's types.
- *
- * @param typeId
- * @return list of instances identified by the type id
- */
- public abstract ITypeDescriptor getType(String typeId);
-
- /**
- * @param type
- * @return instance of ITypeDescriptor identified by the type id
- */
- public ITypeDescriptor getType(AbstractMetaDataEnabledType type){
-
- return createType(type);
-
- }
-
- /**
- * @param type
- * @return class identified by the type id
- */
- public Class getClassForType(IType type){
- return createTypeClass(type);
-
- }
-
- /**
- * Creates instances of <code>ITypeDescriptor</code>s from
- * <code>AbstractMetaDataEnabledType</code>s
- *
- * @param atype
- * @return the meta-data type descriptor
- */
- protected ITypeDescriptor createType(IType atype){
- if (atype != null){
- ITypeDescriptor desc = createDescriptorInstance(atype);
- if (desc != null){
- desc.setTypeExtension(atype);
- return desc;
- }
- }
- return null;
- }
-
-
- private Class createTypeClass(IType type){
- String className = type.getClassName();
- try {
- Bundle bundle =Platform.getBundle(type.getBundleID());
- if (bundle == null){
- JSFCorePlugin.log(IStatus.ERROR, type.getBundleID() + " could not be created to load " + className); //$NON-NLS-1$
- return null;
- }
- Class klass = bundle.loadClass(className);
- if (klass != null){
- //make sure the class can support the feature/extended interface
- if (ITypeDescriptor.class.isAssignableFrom(klass))
- {
- return klass;
- }
- JSFCorePlugin.log(IStatus.INFO, className + " was not found in " + type.getBundleID() +" for " + type.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (ClassNotFoundException e) {
- JSFCorePlugin.log(IStatus.ERROR, className + " was not found in " + type.getBundleID() +" for " + type.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return null;
- }
-
- private ITypeDescriptor createDescriptorInstance(IType type){
- String className = type.getClassName();
- try {
- Class klass = createTypeClass(type);
- if (klass != null){
- return (ITypeDescriptor)klass.newInstance();
- }
- } catch (InstantiationException e) {
- JSFCorePlugin.log(IStatus.ERROR, "InstantiationException: " + className + " in " + type.getBundleID() +" for " + type.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (IllegalAccessException e) {
- JSFCorePlugin.log(IStatus.ERROR, "IllegalAccessException: " + className + " in " + type.getBundleID() +" for " + type.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeRegistry.java
deleted file mode 100644
index 767ad7d21..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeRegistry.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Abstract registry of <code>AbstractMetaDataEnabledType<code>
- * mapped by type id.
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public abstract class AbstractMetaDataEnabledTypeRegistry {
- private final HashMap typeMap; //map of types keyed by id
- private final String ext_pt_id; //type ext-pt id
-
- /**
- * @param extPtId
- */
- public AbstractMetaDataEnabledTypeRegistry(String extPtId){
- typeMap = new HashMap();
- ext_pt_id = extPtId;
-
- readRegistry();
- }
-
- /**
- * @param bundleID
- * @param id
- * @param klass
- * @param runtimeType
- */
- protected void registerType(String bundleID, String id, String klass, String runtimeType){
- AbstractMetaDataEnabledType atype = new AbstractMetaDataEnabledType(bundleID, id, klass);
- if (!typeMap.containsKey(atype.getTypeID())){
- typeMap.put(atype.getTypeID(), atype);
- }
- else {
- //is there any point in putting this more in the user's face? this is really an internal error.
- JSFCorePlugin.log(IStatus.ERROR, "Duplicate RuntimeTypeId being registered from " + ext_pt_id + ": " + atype.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * Return the metadata enabled type for the given id
- * @param id
- * @return type
- */
- public AbstractMetaDataEnabledType getType(String id){
- if (typeMap.containsKey(id))
- {
- return (AbstractMetaDataEnabledType)typeMap.get(id);
- }
- return null;
- }
-
- /**
- * Reads the extensions for a particular type id
- */
- protected void readRegistry() {
- try {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(JSFCorePlugin.PLUGIN_ID, ext_pt_id);
- IExtension[] extensions = point.getExtensions();
- for (int i=0;i < extensions.length;i++){
- IExtension ext = extensions[i];
- for (int j=0;j < ext.getConfigurationElements().length;j++){
- final String bundleId = ext.getConfigurationElements()[j].getContributor().getName();
- final String id = ext.getConfigurationElements()[j].getAttribute("id"); //$NON-NLS-1$
- String klass = ext.getConfigurationElements()[j].getAttribute("class"); //$NON-NLS-1$
- final String runtimeType = ext.getConfigurationElements()[j].getAttribute("runtime-type"); //$NON-NLS-1$
- if (klass == null || klass.trim().equals("")){ //$NON-NLS-1$
- klass = getDefaultClassName();
- }
- registerType(bundleId, id, klass, runtimeType);
- }
- }
- } catch (InvalidRegistryObjectException e) {
- JSFCorePlugin.log(e, "Unable to read " + JSFCorePlugin.PLUGIN_ID + ext_pt_id + " registry"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @return default classname to use for the type
- */
- protected abstract String getDefaultClassName();
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeFactory.java
deleted file mode 100644
index 78638e287..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor;
-
-
-/**
- * Factory producing <code>IMetaDataEnabledFeature</code>s from
- * <code>AttributeValueRuntimeType</code> objects
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public class AttributeValueRuntimeTypeFactory extends AbstractMetaDataEnabledTypeFactory{
-
- /**
- * @return the single instance... TODO: why is this allocated here if it is
- * declared in super?
- */
- public static AttributeValueRuntimeTypeFactory getInstance(){
- if (INSTANCE == null){
- INSTANCE = new AttributeValueRuntimeTypeFactory();
- }
- return (AttributeValueRuntimeTypeFactory)INSTANCE;
- }
-
- private AttributeValueRuntimeTypeFactory(){
- super();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.internal.AbstractMetaDataEnabledTypeFactory#getType(java.lang.String)
- */
- public ITypeDescriptor getType(String typeId){
-
- return createType(AttributeValueRuntimeTypeRegistry.getInstance().getType(typeId));
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeRegistry.java
deleted file mode 100644
index 93dd230fc..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AttributeValueRuntimeTypeRegistry.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-/**
- * Registry of <code>AbstractMetaDataEnabledType</code>s that are loaded from
- * the <code>AttributeValueRuntimeValueType</code> extension point
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public class AttributeValueRuntimeTypeRegistry extends AbstractMetaDataEnabledTypeRegistry {
-
- private static final String EXTPTID = "AttributeValueRuntimeTypes"; //$NON-NLS-1$
- private static final String DEFAULT_CLASS = "org.eclipse.jst.jsf.metadataprocessors.DefaultTypeDescriptor"; //$NON-NLS-1$
- private static AttributeValueRuntimeTypeRegistry INSTANCE;
-
- /**
- * @return singleton instance
- */
- public static AttributeValueRuntimeTypeRegistry getInstance(){
- if (INSTANCE == null){
- INSTANCE = new AttributeValueRuntimeTypeRegistry();
- }
- return INSTANCE;
- }
-
- private AttributeValueRuntimeTypeRegistry(){
- super(EXTPTID);
- }
-
- protected String getDefaultClassName() {
- return DEFAULT_CLASS;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/IMetaDataEnabledFeatureExtension.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/IMetaDataEnabledFeatureExtension.java
deleted file mode 100644
index bde9ca613..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/IMetaDataEnabledFeatureExtension.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-/**
- * Interface used to bind feature extensions to metadata enabled types
- *
- */
-public interface IMetaDataEnabledFeatureExtension {
- /**
- * @return bundle id
- */
- public String getBundleID();
- /**
- * @return type id
- */
- public String getTypeID();
- /**
- * @return class name to use for type. Must be located within the bundle.
- */
- public String getClassName();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureAdapterFactory.java
deleted file mode 100644
index acf39ca6d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureAdapterFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.IType;
-import org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor;
-import org.osgi.framework.Bundle;
-
-/**
- * Factory producing <code>IMetaDataEnabledFeature</code>s from
- * <code>IType</code> objects that implement a specified feature
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public final class MetaDataEnabledFeatureAdapterFactory {
- private static MetaDataEnabledFeatureAdapterFactory INSTANCE;
- private Map<String, Class> typesCache;
- /**
- * @return singleton instance
- */
- public static MetaDataEnabledFeatureAdapterFactory getInstance(){
- if (INSTANCE == null){
- INSTANCE = new MetaDataEnabledFeatureAdapterFactory();
- }
- return INSTANCE;
- }
-
- private MetaDataEnabledFeatureAdapterFactory(){
- super();
- typesCache = new HashMap<String, Class>();
- }
-
-
- /**
- * Given the feature extension, create and return the {@link IMetaDataEnabledFeature} for a given processing feature
- * @param feature
- * @param processingFeature class
- * @return IMetaDataEnabledFeature
- */
- public IMetaDataEnabledFeature getFeatureAdapter(IMetaDataEnabledFeatureExtension feature, Class processingFeature){
- if (feature != null){
- return createFeature(feature, processingFeature);
- }
- return null;
- }
-
- /**
- * Given the feature extension, create and return the {@link IMetaDataEnabledFeature} for a given processing feature if
- * that the type that the feature is bound to is a subclass of the the type
- * @param feature
- * @param processingFeature class
- * @param type
- * @return IMetaDataEnabledFeature. <br>Will return null if the type that the feature extension is bound to,
- * is not a subclass of the supplied type
- */
- public IMetaDataEnabledFeature getFeatureAdapterForSubclass(IMetaDataEnabledFeatureExtension feature, Class processingFeature, IType type){
- if (feature != null ){
- ITypeDescriptor aType = AttributeValueRuntimeTypeFactory.getInstance().getType(feature.getTypeID());
- Class klass = aType.getTypeExtension().getClass();
- if (klass.asSubclass(type.getClass()) != null)
- return createFeature(feature, processingFeature);
- }
- return null;
- }
-
-// private Class getOrCreateTypeClassFor(IMetaDataEnabledFeatureExtension featureExt){
-// Class klass = null;
-// String className;
-// ITypeDescriptor type = AttributeValueRuntimeTypeFactory.getInstance().getType(featureExt.getTypeID());
-// try {
-// if (! typesCache.containsKey(featureExt.getTypeID())){
-// Bundle bundle =Platform.getBundle(featureExt.getBundleID());
-// if (bundle == null){
-// JSFCorePlugin.log(IStatus.ERROR, featureExt.getBundleID() + " could not be created to load " + className);
-// return null;
-// }
-// klass = bundle.loadClass(className);
-// if (klass != null){
-// typesCache.put(featureExt.getTypeID(), klass);
-// }
-// }
-// else
-// klass = typesCache.get(featureExt.getTypeID());
-//
-// return klass;
-// if (!IMetaDataEnabledFeature.class.isAssignableFrom(klass)){
-// JSFCorePlugin.log(IStatus.INFO, className + " is not a IMetaDataEnabledFeature. " + featureExt.getBundleID() +" : " + featureExt.getTypeID());
-// }
-// else if (klass != null && processingFeature.isAssignableFrom(klass)){
-// IMetaDataEnabledFeature obj = (IMetaDataEnabledFeature)klass.newInstance();
-// return obj;
-// }
-//
-// } catch (ClassNotFoundException e) {
-// JSFCorePlugin.log(IStatus.ERROR, className + " was not found in " + featureExt.getBundleID() +" for " + featureExt.getTypeID());
-// } catch (InstantiationException e) {
-// JSFCorePlugin.log(IStatus.ERROR, "InstantiationException: " + className + " in " + featureExt.getBundleID() +" for " + featureExt.getTypeID());
-// } catch (IllegalAccessException e) {
-// JSFCorePlugin.log(IStatus.ERROR, "IllegalAccessException: " + className + " in " + featureExt.getBundleID() +" for " + featureExt.getTypeID());
-// }
-// return null;
-// }
-
- private IMetaDataEnabledFeature createFeature(IMetaDataEnabledFeatureExtension featureExt, Class processingFeature){
- String className = featureExt.getClassName();
- Class klass = null;
- try {
- if (! typesCache.containsKey(featureExt.getTypeID())){
- Bundle bundle =Platform.getBundle(featureExt.getBundleID());
- if (bundle == null){
- JSFCorePlugin.log(IStatus.ERROR, featureExt.getBundleID() + " could not be created to load " + className); //$NON-NLS-1$
- return null;
- }
- klass = bundle.loadClass(className);
- if (klass != null){
- typesCache.put(featureExt.getTypeID(), klass);
- }
- }
- else
- klass = typesCache.get(featureExt.getTypeID());
-
- if (!IMetaDataEnabledFeature.class.isAssignableFrom(klass)){
- JSFCorePlugin.log(IStatus.INFO, className + " is not a IMetaDataEnabledFeature. " + featureExt.getBundleID() +" : " + featureExt.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- else if (klass != null && processingFeature.isAssignableFrom(klass)){
- IMetaDataEnabledFeature obj = (IMetaDataEnabledFeature)klass.newInstance();
- return obj;
- }
-
- } catch (ClassNotFoundException e) {
- JSFCorePlugin.log(IStatus.ERROR, className + " was not found in " + featureExt.getBundleID() +" for " + featureExt.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (InstantiationException e) {
- JSFCorePlugin.log(IStatus.ERROR, "InstantiationException: " + className + " in " + featureExt.getBundleID() +" for " + featureExt.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (IllegalAccessException e) {
- JSFCorePlugin.log(IStatus.ERROR, "IllegalAccessException: " + className + " in " + featureExt.getBundleID() +" for " + featureExt.getTypeID()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureExtension.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureExtension.java
deleted file mode 100644
index ae90a9a5e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureExtension.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-
-/**
- *
- * @author Gerry Kessler - Oracle
- *
- */
-public class MetaDataEnabledFeatureExtension implements IMetaDataEnabledFeatureExtension{
-
- private String klass;
- private String typeId;
- private String bundleId;
-
- MetaDataEnabledFeatureExtension(String bundleID, String typeId, String klass) {
- this.bundleId = bundleID;
- this.typeId = typeId;
- this.klass = klass;
- }
-
- public String getBundleID() {
- return bundleId;
- }
-
- public String getClassName() {
- return klass;
- }
-
- public String getTypeID() {
- return typeId;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureRegistry.java
deleted file mode 100644
index d67b5375b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/MetaDataEnabledFeatureRegistry.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.metadataprocessors.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.metadataprocessors.IType;
-
-/**
- * Registry of <code>AbstractMetaDataEnabledType</code>s loaded from
- * the <code>MetaDataEnabledFeatures</code> extension point
- *
- * A map of features keyed by type id
- *
- */
-public class MetaDataEnabledFeatureRegistry{
- private static final String EXTPTID = "MetaDataEnabledFeatures"; //$NON-NLS-1$
- private Map<String, List<IMetaDataEnabledFeatureExtension>> featuresMap;
- private Map<String, Class> typeCacheMap;
- private static MetaDataEnabledFeatureRegistry INSTANCE;
-
- /**
- * @return the singleton instance of the MetaDataEnabledFeatureRegistry
- */
- public static synchronized MetaDataEnabledFeatureRegistry getInstance(){
- if (INSTANCE == null){
- INSTANCE = new MetaDataEnabledFeatureRegistry();
- }
- return INSTANCE;
- }
-
- private MetaDataEnabledFeatureRegistry(){
- featuresMap = new HashMap<String, List<IMetaDataEnabledFeatureExtension>>();
- typeCacheMap = new HashMap<String, Class>();
- readRegistry();
- }
-
- /**
- * Reads the MetaDataEnabledFeatures extensions into a registry
- */
- protected void readRegistry() {
- try {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(JSFCorePlugin.PLUGIN_ID, EXTPTID);
- IExtension[] extensions = point.getExtensions();
- for (int i=0;i < extensions.length;i++){
- IExtension ext = extensions[i];
- for (int j=0;j < ext.getConfigurationElements().length;j++){
- final String bundleId = ext.getConfigurationElements()[j].getContributor().getName();
- final String id = ext.getConfigurationElements()[j].getAttribute("typeid"); //$NON-NLS-1$
- final String klass = ext.getConfigurationElements()[j].getAttribute("class"); //$NON-NLS-1$
- registerFeature(bundleId, id, klass);
- }
- }
- } catch (InvalidRegistryObjectException e) {
- JSFCorePlugin.log(e, "Unable to read " + JSFCorePlugin.PLUGIN_ID + EXTPTID + " registry"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * Create {@link IMetaDataEnabledFeatureExtension}s and add to registry
- * @param bundleID
- * @param typeId
- * @param klass
- */
- protected void registerFeature(String bundleID, String typeId, String klass){
- IMetaDataEnabledFeatureExtension aFeature = new MetaDataEnabledFeatureExtension(bundleID, typeId, klass);
- if (canCreateTypeForFeatureExtension(aFeature)){
- if (!featuresMap.containsKey(typeId)){
- List list = new ArrayList();
- list.add(aFeature);
- featuresMap.put(typeId, list);
- }
- else {
- List list = featuresMap.get(typeId);
- list.add(aFeature);
- }
- }
- }
-
-
- private boolean canCreateTypeForFeatureExtension(IMetaDataEnabledFeatureExtension feature) {
- if (! typeCacheMap.containsKey(feature.getTypeID())){
- IType type = AttributeValueRuntimeTypeRegistry.getInstance().getType(feature.getTypeID());
- if (type != null){
- Class typeClass = AttributeValueRuntimeTypeFactory.getInstance().getClassForType(type);
- typeCacheMap.put(feature.getTypeID(), typeClass);
- }
- else
- return false;
- }
- return typeCacheMap.get(feature.getTypeID()) != null;
- }
-
- /**
- * @param typeId
- * @return List of <code>AbstractMetaDataEnabledRuntimeTypeExtensions</code>
- * for a given by type id
- *
- * TODO: make more efficient... no need to keep calculating features for subtypes.
- */
- public List<IMetaDataEnabledFeatureExtension> getFeatures(String typeId) {
-
- if (!featuresMap.containsKey(typeId))
- featuresMap.put(typeId,new ArrayList());
-
- //copy current featuresMapped to typeId into return list
- List<IMetaDataEnabledFeatureExtension> srcList = featuresMap.get(typeId);
- List<IMetaDataEnabledFeatureExtension> ret = new ArrayList<IMetaDataEnabledFeatureExtension>(srcList.size());
- copy(ret, srcList);
-
- List subs = getFeatureExtensionsForMatchingSubclass(typeId);
- for (Iterator<IMetaDataEnabledFeatureExtension> it=subs.iterator();it.hasNext();){
- IMetaDataEnabledFeatureExtension featureExt = it.next();
- if (!ret.contains(featureExt))
- ret.add(featureExt);
- }
- return ret;
-
- }
-
- private void copy(List<IMetaDataEnabledFeatureExtension> destList,
- List<IMetaDataEnabledFeatureExtension> srcList) {
- for (Iterator<IMetaDataEnabledFeatureExtension> it=srcList.iterator();it.hasNext();){
- destList.add(it.next());
- }
- }
-
- /**
- * If the feature adapter is mapped to a type which is a superclass of the type of interest, then the feature adapter is an extension of that type
- * @param typeId
- * @return list of IMetaDataEnabledFeatureExtension
- */
- private List<IMetaDataEnabledFeatureExtension> getFeatureExtensionsForMatchingSubclass(String typeId) {
- IType type = AttributeValueRuntimeTypeRegistry.getInstance().getType(typeId);
- Class typeClass = AttributeValueRuntimeTypeFactory.getInstance().getClassForType(type);
-
- List<IMetaDataEnabledFeatureExtension> ret = new ArrayList<IMetaDataEnabledFeatureExtension>();
- // loop thru all of the type classes mapped to feature adapters that are subclasses of the type
- for (Iterator it=typeCacheMap.keySet().iterator();it.hasNext();){
- String featureTypeId = (String)it.next();
- Class featureTypeClass = typeCacheMap.get(featureTypeId);
- try {
-// if (featureTypeClass.equals(typeClass)){
-// ret.add(featureTypeClass);
-// }
-// else
- if (typeClass.asSubclass(featureTypeClass) != null) {
- ret.addAll(featuresMap.get(featureTypeId));
- }
- } catch (ClassCastException e) {//
- }
-
- }
- return ret;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/package-info.java
deleted file mode 100644
index 44cf369d7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Provides tooling support for taglibraries using the Design-time Metadata
- * feature (org.eclipse.jst.jsf.common.metadata).
- * <p>
- * The MetaDataEnabledProcessingFactory singleton instance is the entry point. The tool requests
- * the IMetaDataEnabled feature for a particular tag attribute, and through metadata, will locate the
- * "metadata processing" feature using the attribute value runtime type system.
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.metadataprocessors;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfo.java
deleted file mode 100644
index d1a0597a6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfo.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfo.java,v 1.3 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Palette Info</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTag <em>Tag</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDisplayLabel <em>Display Label</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getExpert <em>Expert</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getHidden <em>Hidden</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getSmallIcon <em>Small Icon</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getLargeIcon <em>Large Icon</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTagCreation <em>Tag Creation</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo()
- * @model
- * @generated
- */
-public interface PaletteInfo extends EObject {
- /**
- * the trait id name
- */
- public static final String TRAIT_ID = "paletteInfo"; //$NON-NLS-1$
- /**
- * the display label name
- */
- public static final String TRAIT_DISPLAY_LABEL = "display-label"; //$NON-NLS-1$
- /**
- * the trait description name
- */
- public static final String TRAIT_DESCRIPTION = "description"; //$NON-NLS-1$
- /**
- * the expert trait
- */
- public static final String TRAIT_IS_EXPERT = "expert"; //$NON-NLS-1$
- /**
- * the hiddent trait
- */
- public static final String TRAIT_IS_HIDDEN = "hidden"; //$NON-NLS-1$
- /**
- * the small icon trait
- */
- public static final String TRAIT_SMALL_ICON = "small-icon"; //$NON-NLS-1$
- /**
- * the large icon trait
- */
- public static final String TRAIT_LARGE_ICON = "large-icon"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Tag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tag</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Tag</em>' attribute.
- * @see #setTag(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_Tag()
- * @model
- * @generated
- */
- String getTag();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTag <em>Tag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Tag</em>' attribute.
- * @see #getTag()
- * @generated
- */
- void setTag(String value);
-
- /**
- * Returns the value of the '<em><b>Display Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Display Label</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Display Label</em>' attribute.
- * @see #setDisplayLabel(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_DisplayLabel()
- * @model extendedMetaData="kind='element' name='display-label'"
- * @generated
- */
- String getDisplayLabel();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDisplayLabel <em>Display Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Display Label</em>' attribute.
- * @see #getDisplayLabel()
- * @generated
- */
- void setDisplayLabel(String value);
-
- /**
- * Returns the value of the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Description</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Description</em>' attribute.
- * @see #setDescription(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_Description()
- * @model extendedMetaData="kind='element'"
- * @generated
- */
- String getDescription();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDescription <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Description</em>' attribute.
- * @see #getDescription()
- * @generated
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Expert</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Expert</em>' attribute.
- * @see #setExpert(Boolean)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_Expert()
- * @model extendedMetaData="kind='element'"
- * @generated
- */
- Boolean getExpert();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getExpert <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Expert</em>' attribute.
- * @see #getExpert()
- * @generated
- */
- void setExpert(Boolean value);
-
- /**
- * Returns the value of the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Hidden</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Hidden</em>' attribute.
- * @see #setHidden(Boolean)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_Hidden()
- * @model extendedMetaData="kind='element'"
- * @generated
- */
- Boolean getHidden();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getHidden <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Hidden</em>' attribute.
- * @see #getHidden()
- * @generated
- */
- void setHidden(Boolean value);
-
- /**
- * Returns the value of the '<em><b>Small Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Small Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Small Icon</em>' attribute.
- * @see #setSmallIcon(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_SmallIcon()
- * @model extendedMetaData="kind='element' name='small-icon'"
- * @generated
- */
- String getSmallIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getSmallIcon <em>Small Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Small Icon</em>' attribute.
- * @see #getSmallIcon()
- * @generated
- */
- void setSmallIcon(String value);
-
- /**
- * Returns the value of the '<em><b>Large Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Large Icon</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Large Icon</em>' attribute.
- * @see #setLargeIcon(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_LargeIcon()
- * @model extendedMetaData="kind='element' name='large-icon'"
- * @generated
- */
- String getLargeIcon();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getLargeIcon <em>Large Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Large Icon</em>' attribute.
- * @see #getLargeIcon()
- * @generated
- */
- void setLargeIcon(String value);
-
- /**
- * Returns the value of the '<em><b>Tag Creation</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tag Creation</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Tag Creation</em>' reference.
- * @see #setTagCreation(TagCreationInfo)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfo_TagCreation()
- * @model extendedMetaData="kind='element' name='tag-create'"
- * @generated
- */
- TagCreationInfo getTagCreation();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTagCreation <em>Tag Creation</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Tag Creation</em>' reference.
- * @see #getTagCreation()
- * @generated
- */
- void setTagCreation(TagCreationInfo value);
-
- /**
- * <!-- begin-user-doc -->
- * @return true if is expert
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- boolean isExpert();
-
- /**
- * <!-- begin-user-doc -->
- * @return true if is hidden
- * <!-- end-user-doc -->
- * @model kind="operation"
- * @generated
- */
- boolean isHidden();
-
-} // PaletteInfo
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfos.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfos.java
deleted file mode 100644
index 8422bf36c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfos.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfos.java,v 1.3 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Palette Infos</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos#getInfos <em>Infos</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfos()
- * @model
- * @generated
- */
-public interface PaletteInfos extends EObject {
- /**
- * the palette infos trait id
- */
- public static final String TRAIT_ID = "paletteInfos"; //$NON-NLS-1$
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Infos</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Infos</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Infos</em>' containment reference list.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getPaletteInfos_Infos()
- * @model type="org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo" containment="true"
- * extendedMetaData="kind='element' name='item'"
- * @generated
- */
- EList getInfos();
-
- /**
- * <!-- begin-user-doc -->
- * @param id
- * @return the pallette info corresponding to id.
- * <!-- end-user-doc -->
- * @model idRequired="true"
- * @generated
- */
- PaletteInfo findPaletteInfoById(String id);
-
-} // PaletteInfos
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosFactory.java
deleted file mode 100644
index d1c9cc712..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosFactory.java,v 1.2 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage
- * @generated
- */
-public interface PaletteInfosFactory extends EFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- PaletteInfosFactory eINSTANCE = org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Palette Infos</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Palette Infos</em>'.
- * @generated
- */
- PaletteInfos createPaletteInfos();
-
- /**
- * Returns a new object of class '<em>Palette Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Palette Info</em>'.
- * @generated
- */
- PaletteInfo createPaletteInfo();
-
- /**
- * Returns a new object of class '<em>Tag Creation Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Creation Info</em>'.
- * @generated
- */
- TagCreationInfo createTagCreationInfo();
-
- /**
- * Returns a new object of class '<em>Tag Creation Template</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Creation Template</em>'.
- * @generated
- */
- TagCreationTemplate createTagCreationTemplate();
-
- /**
- * Returns a new object of class '<em>Tag Creation Attribute</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Creation Attribute</em>'.
- * @generated
- */
- TagCreationAttribute createTagCreationAttribute();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- PaletteInfosPackage getPaletteInfosPackage();
-
-} //PaletteInfosFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosPackage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosPackage.java
deleted file mode 100644
index 41cb41af2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/PaletteInfosPackage.java
+++ /dev/null
@@ -1,709 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosPackage.java,v 1.2 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosFactory
- * @model kind="package"
- * @generated
- */
-@SuppressWarnings("hiding")
-public interface PaletteInfosPackage extends EPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "paletteinfos"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://org.eclipse.jsf.pagedesigner/paletteInfos.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "pi"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- PaletteInfosPackage eINSTANCE = org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosImpl <em>Palette Infos</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getPaletteInfos()
- * @generated
- */
- int PALETTE_INFOS = 0;
-
- /**
- * The feature id for the '<em><b>Infos</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFOS__INFOS = 0;
-
- /**
- * The number of structural features of the '<em>Palette Infos</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFOS_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl <em>Palette Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getPaletteInfo()
- * @generated
- */
- int PALETTE_INFO = 1;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__ID = 0;
-
- /**
- * The feature id for the '<em><b>Tag</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__TAG = 1;
-
- /**
- * The feature id for the '<em><b>Display Label</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__DISPLAY_LABEL = 2;
-
- /**
- * The feature id for the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__DESCRIPTION = 3;
-
- /**
- * The feature id for the '<em><b>Expert</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__EXPERT = 4;
-
- /**
- * The feature id for the '<em><b>Hidden</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__HIDDEN = 5;
-
- /**
- * The feature id for the '<em><b>Small Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__SMALL_ICON = 6;
-
- /**
- * The feature id for the '<em><b>Large Icon</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__LARGE_ICON = 7;
-
- /**
- * The feature id for the '<em><b>Tag Creation</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO__TAG_CREATION = 8;
-
- /**
- * The number of structural features of the '<em>Palette Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PALETTE_INFO_FEATURE_COUNT = 9;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl <em>Tag Creation Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationInfo()
- * @generated
- */
- int TAG_CREATION_INFO = 2;
-
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_INFO__ATTRIBUTES = 0;
-
- /**
- * The feature id for the '<em><b>Template</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_INFO__TEMPLATE = 1;
-
- /**
- * The number of structural features of the '<em>Tag Creation Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_INFO_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationTemplateImpl <em>Tag Creation Template</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationTemplateImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationTemplate()
- * @generated
- */
- int TAG_CREATION_TEMPLATE = 3;
-
- /**
- * The feature id for the '<em><b>Template</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_TEMPLATE__TEMPLATE = 0;
-
- /**
- * The number of structural features of the '<em>Tag Creation Template</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_TEMPLATE_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl <em>Tag Creation Attribute</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationAttribute()
- * @generated
- */
- int TAG_CREATION_ATTRIBUTE = 4;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_ATTRIBUTE__ID = 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_ATTRIBUTE__VALUE = 1;
-
- /**
- * The number of structural features of the '<em>Tag Creation Attribute</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CREATION_ATTRIBUTE_FEATURE_COUNT = 2;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos <em>Palette Infos</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Palette Infos</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos
- * @generated
- */
- EClass getPaletteInfos();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos#getInfos <em>Infos</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Infos</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos#getInfos()
- * @see #getPaletteInfos()
- * @generated
- */
- EReference getPaletteInfos_Infos();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo <em>Palette Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Palette Info</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo
- * @generated
- */
- EClass getPaletteInfo();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getId()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_Id();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTag <em>Tag</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Tag</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTag()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_Tag();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDisplayLabel <em>Display Label</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Display Label</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDisplayLabel()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_DisplayLabel();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDescription <em>Description</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Description</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getDescription()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_Description();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getExpert <em>Expert</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Expert</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getExpert()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_Expert();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getHidden <em>Hidden</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Hidden</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getHidden()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_Hidden();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getSmallIcon <em>Small Icon</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Small Icon</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getSmallIcon()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_SmallIcon();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getLargeIcon <em>Large Icon</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Large Icon</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getLargeIcon()
- * @see #getPaletteInfo()
- * @generated
- */
- EAttribute getPaletteInfo_LargeIcon();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTagCreation <em>Tag Creation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Tag Creation</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo#getTagCreation()
- * @see #getPaletteInfo()
- * @generated
- */
- EReference getPaletteInfo_TagCreation();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo <em>Tag Creation Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Creation Info</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo
- * @generated
- */
- EClass getTagCreationInfo();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getAttributes <em>Attributes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Attributes</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getAttributes()
- * @see #getTagCreationInfo()
- * @generated
- */
- EReference getTagCreationInfo_Attributes();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getTemplate <em>Template</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Template</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getTemplate()
- * @see #getTagCreationInfo()
- * @generated
- */
- EAttribute getTagCreationInfo_Template();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate <em>Tag Creation Template</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Creation Template</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate
- * @generated
- */
- EClass getTagCreationTemplate();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate#getTemplate <em>Template</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Template</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate#getTemplate()
- * @see #getTagCreationTemplate()
- * @generated
- */
- EReference getTagCreationTemplate_Template();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute <em>Tag Creation Attribute</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Creation Attribute</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute
- * @generated
- */
- EClass getTagCreationAttribute();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getId()
- * @see #getTagCreationAttribute()
- * @generated
- */
- EAttribute getTagCreationAttribute_Id();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getValue <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getValue()
- * @see #getTagCreationAttribute()
- * @generated
- */
- EAttribute getTagCreationAttribute_Value();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- PaletteInfosFactory getPaletteInfosFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosImpl <em>Palette Infos</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getPaletteInfos()
- * @generated
- */
- EClass PALETTE_INFOS = eINSTANCE.getPaletteInfos();
-
- /**
- * The meta object literal for the '<em><b>Infos</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference PALETTE_INFOS__INFOS = eINSTANCE.getPaletteInfos_Infos();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl <em>Palette Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getPaletteInfo()
- * @generated
- */
- EClass PALETTE_INFO = eINSTANCE.getPaletteInfo();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__ID = eINSTANCE.getPaletteInfo_Id();
-
- /**
- * The meta object literal for the '<em><b>Tag</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__TAG = eINSTANCE.getPaletteInfo_Tag();
-
- /**
- * The meta object literal for the '<em><b>Display Label</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__DISPLAY_LABEL = eINSTANCE.getPaletteInfo_DisplayLabel();
-
- /**
- * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__DESCRIPTION = eINSTANCE.getPaletteInfo_Description();
-
- /**
- * The meta object literal for the '<em><b>Expert</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__EXPERT = eINSTANCE.getPaletteInfo_Expert();
-
- /**
- * The meta object literal for the '<em><b>Hidden</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__HIDDEN = eINSTANCE.getPaletteInfo_Hidden();
-
- /**
- * The meta object literal for the '<em><b>Small Icon</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__SMALL_ICON = eINSTANCE.getPaletteInfo_SmallIcon();
-
- /**
- * The meta object literal for the '<em><b>Large Icon</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PALETTE_INFO__LARGE_ICON = eINSTANCE.getPaletteInfo_LargeIcon();
-
- /**
- * The meta object literal for the '<em><b>Tag Creation</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference PALETTE_INFO__TAG_CREATION = eINSTANCE.getPaletteInfo_TagCreation();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl <em>Tag Creation Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationInfo()
- * @generated
- */
- EClass TAG_CREATION_INFO = eINSTANCE.getTagCreationInfo();
-
- /**
- * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_CREATION_INFO__ATTRIBUTES = eINSTANCE.getTagCreationInfo_Attributes();
-
- /**
- * The meta object literal for the '<em><b>Template</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_CREATION_INFO__TEMPLATE = eINSTANCE.getTagCreationInfo_Template();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationTemplateImpl <em>Tag Creation Template</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationTemplateImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationTemplate()
- * @generated
- */
- EClass TAG_CREATION_TEMPLATE = eINSTANCE.getTagCreationTemplate();
-
- /**
- * The meta object literal for the '<em><b>Template</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_CREATION_TEMPLATE__TEMPLATE = eINSTANCE.getTagCreationTemplate_Template();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl <em>Tag Creation Attribute</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosPackageImpl#getTagCreationAttribute()
- * @generated
- */
- EClass TAG_CREATION_ATTRIBUTE = eINSTANCE.getTagCreationAttribute();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_CREATION_ATTRIBUTE__ID = eINSTANCE.getTagCreationAttribute_Id();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_CREATION_ATTRIBUTE__VALUE = eINSTANCE.getTagCreationAttribute_Value();
-
- }
-
-} //PaletteInfosPackage
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationAttribute.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationAttribute.java
deleted file mode 100644
index 16e309285..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationAttribute.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationAttribute.java,v 1.2 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Creation Attribute</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationAttribute()
- * @model
- * @generated
- */
-public interface TagCreationAttribute extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationAttribute_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationAttribute_Value()
- * @model
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
-} // TagCreationAttribute
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationInfo.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationInfo.java
deleted file mode 100644
index 9c4635a77..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationInfo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationInfo.java,v 1.2 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Creation Info</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getAttributes <em>Attributes</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getTemplate <em>Template</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationInfo()
- * @model
- * @generated
- */
-public interface TagCreationInfo extends EObject {
- /**
- * the name of the trait id
- */
- public static final String TRAIT_ID = "tag-create"; //$NON-NLS-1$
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Attributes</em>' containment reference list.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationInfo_Attributes()
- * @model type="org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute" containment="true"
- * extendedMetaData="kind='element' name='attribute'"
- * @generated
- */
- EList getAttributes();
-
- /**
- * Returns the value of the '<em><b>Template</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Template</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Template</em>' attribute.
- * @see #setTemplate(Object)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationInfo_Template()
- * @model dataType="org.eclipse.emf.ecore.xml.type.AnySimpleType"
- * @generated
- */
- Object getTemplate();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo#getTemplate <em>Template</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Template</em>' attribute.
- * @see #getTemplate()
- * @generated
- */
- void setTemplate(Object value);
-
-} // TagCreationInfo
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationTemplate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationTemplate.java
deleted file mode 100644
index 0037bf190..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/TagCreationTemplate.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationTemplate.java,v 1.2 2008/11/18 22:23:54 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Creation Template</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate#getTemplate <em>Template</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationTemplate()
- * @model
- * @generated
- */
-public interface TagCreationTemplate extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Template</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Template</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Template</em>' containment reference.
- * @see #setTemplate(EObject)
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#getTagCreationTemplate_Template()
- * @model containment="true"
- * @generated
- */
- EObject getTemplate();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate#getTemplate <em>Template</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Template</em>' containment reference.
- * @see #getTemplate()
- * @generated
- */
- void setTemplate(EObject value);
-
-} // TagCreationTemplate
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfoImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfoImpl.java
deleted file mode 100644
index 7b13fe4af..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfoImpl.java
+++ /dev/null
@@ -1,727 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfoImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Palette Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getTag() <em>Tag</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getDisplayLabel <em>Display Label</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getExpert <em>Expert</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getHidden <em>Hidden</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getSmallIcon <em>Small Icon</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getLargeIcon <em>Large Icon</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfoImpl#getTagCreation <em>Tag Creation</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PaletteInfoImpl extends EObjectImpl implements PaletteInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getTag() <em>Tag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTag()
- * @generated
- * @ordered
- */
- protected static final String TAG_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTag() <em>Tag</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTag()
- * @generated
- * @ordered
- */
- protected String tag = TAG_EDEFAULT;
-
- /**
- * The default value of the '{@link #getDisplayLabel() <em>Display Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDisplayLabel()
- * @generated
- * @ordered
- */
- protected static final String DISPLAY_LABEL_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDisplayLabel() <em>Display Label</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDisplayLabel()
- * @generated
- * @ordered
- */
- protected String displayLabel = DISPLAY_LABEL_EDEFAULT;
-
- /**
- * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected static final String DESCRIPTION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected String description = DESCRIPTION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getExpert() <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpert()
- * @generated
- * @ordered
- */
- protected static final Boolean EXPERT_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getExpert() <em>Expert</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getExpert()
- * @generated
- * @ordered
- */
- protected Boolean expert = EXPERT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getHidden() <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHidden()
- * @generated
- * @ordered
- */
- protected static final Boolean HIDDEN_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getHidden() <em>Hidden</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getHidden()
- * @generated
- * @ordered
- */
- protected Boolean hidden = HIDDEN_EDEFAULT;
-
- /**
- * The default value of the '{@link #getSmallIcon() <em>Small Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSmallIcon()
- * @generated
- * @ordered
- */
- protected static final String SMALL_ICON_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getSmallIcon() <em>Small Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSmallIcon()
- * @generated
- * @ordered
- */
- protected String smallIcon = SMALL_ICON_EDEFAULT;
-
- /**
- * The default value of the '{@link #getLargeIcon() <em>Large Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLargeIcon()
- * @generated
- * @ordered
- */
- protected static final String LARGE_ICON_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLargeIcon() <em>Large Icon</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLargeIcon()
- * @generated
- * @ordered
- */
- protected String largeIcon = LARGE_ICON_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getTagCreation() <em>Tag Creation</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTagCreation()
- * @generated
- * @ordered
- */
- protected TagCreationInfo tagCreation = null;
-
- private Entity _tag;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PaletteInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return PaletteInfosPackage.Literals.PALETTE_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getTag() {
- return tag != null ? tag : getId();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTag(String newTag) {
- String oldTag = tag;
- tag = newTag;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__TAG, oldTag, tag));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getDisplayLabel() {
- if (displayLabel == null){
- return getTagTraitValueAsString(getTag(), TRAIT_DISPLAY_LABEL);
- }
- return getNLSedValue(displayLabel);
- }
-
- private String getNLSedValue(final String rawValue) {
- String value = TraitValueHelper.getNLSValue((Trait)this.eContainer.eContainer(), rawValue);
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- private String getTagTraitValueAsString(final String _id, final String traitKey) {
- EObject obj = getTagTraitValue(getTag(), traitKey);
- if (obj != null){
- return TraitValueHelper.getValueAsString((Trait)obj.eContainer());
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- private EObject getTagTraitValue(final String tagName, final String traitKey) {
- Entity tag_ = getTag(tagName);
- if (tag_ != null){
- for (Iterator it=tag_.getTraits().iterator();it.hasNext();){
- Trait trait = (Trait)it.next();
- if (traitKey.equals(trait.getId()))
- return trait.getValue();
- }
- }
- return null;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- private Entity getTag(String tagName) {
- if (_tag == null){
- //rely on PaletteInfos objects being inside a Model trait only
- try {
- Model model = (Model)this.eContainer().eContainer().eContainer();
- //we could probably do better than this... oh well
- //FIXME: C.B: this is really bad! We could probably do better than
- // write code that expects to throw ClassCastExceptions and then hides them? I hope so!
- _tag = findTag(model, tagName);
- } catch (ClassCastException e) {
-// PDPlugin.getLogger(getClass()).error(e);
- JSFCorePlugin.log(e, "ClassCastException in getTag() for " + tagName); //$NON-NLS-1$
- return null;
- }
- }
- return _tag;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- private Entity findTag(Model model, String tagid) {
- for (Iterator it=model.getChildEntities().iterator();it.hasNext();){
- Entity tag_ = (Entity)it.next();
- if (tagid.equals(tag_.getId()))
- return tag_;
- }
- return null;
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDisplayLabel(String newDisplayLabel) {
- String oldDisplayLabel = displayLabel;
- displayLabel = newDisplayLabel;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__DISPLAY_LABEL, oldDisplayLabel, displayLabel));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getDescription() {
- if (description == null){
- return getTagTraitValueAsString(getId(), TRAIT_DESCRIPTION);
- }
- return getNLSedValue(description);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setDescription(String newDescription) {
- String oldDescription = description;
- description = newDescription;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__DESCRIPTION, oldDescription, description));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Boolean getExpert() {
- return expert;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setExpert(Boolean newExpert) {
- Boolean oldExpert = expert;
- expert = newExpert;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__EXPERT, oldExpert, expert));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Boolean getHidden() {
- return hidden;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setHidden(Boolean newHidden) {
- Boolean oldHidden = hidden;
- hidden = newHidden;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__HIDDEN, oldHidden, hidden));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getSmallIcon() {
- if (smallIcon == null){
- return getTagTraitValueAsString(getId(), TRAIT_SMALL_ICON);
- }
- return smallIcon;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSmallIcon(String newSmallIcon) {
- String oldSmallIcon = smallIcon;
- smallIcon = newSmallIcon;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__SMALL_ICON, oldSmallIcon, smallIcon));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public String getLargeIcon() {
- if (largeIcon == null){
- return getTagTraitValueAsString(getId(), TRAIT_LARGE_ICON);
- }
- return largeIcon;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLargeIcon(String newLargeIcon) {
- String oldLargeIcon = largeIcon;
- largeIcon = newLargeIcon;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__LARGE_ICON, oldLargeIcon, largeIcon));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public TagCreationInfo getTagCreation() {
- if (tagCreation != null && tagCreation.eIsProxy()) {
- InternalEObject oldTagCreation = (InternalEObject)tagCreation;
- tagCreation = (TagCreationInfo)eResolveProxy(oldTagCreation);
- if (tagCreation != oldTagCreation) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, PaletteInfosPackage.PALETTE_INFO__TAG_CREATION, oldTagCreation, tagCreation));
- }
- }
- else if (tagCreation == null){
- //delegate to entity if it exists
- return (TagCreationInfo)getTagTraitValue(getTag(), "tag-create"); //$NON-NLS-1$
- }
- return tagCreation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the tag creation info
- * <!-- end-user-doc -->
- * @generated
- */
- public TagCreationInfo basicGetTagCreation() {
- return tagCreation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTagCreation(TagCreationInfo newTagCreation) {
- TagCreationInfo oldTagCreation = tagCreation;
- tagCreation = newTagCreation;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.PALETTE_INFO__TAG_CREATION, oldTagCreation, tagCreation));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isExpert() {
- if (expert == null){
- String val = getTagTraitValueAsString(getId(), "expert"); //$NON-NLS-1$
- return Boolean.valueOf(val).booleanValue();
- }
- return expert.booleanValue();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public boolean isHidden() {
- if (hidden == null){
- String val = getTagTraitValueAsString(getId(), "hidden"); //$NON-NLS-1$
- return Boolean.valueOf(val).booleanValue();
- }
- return hidden.booleanValue();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFO__ID:
- return getId();
- case PaletteInfosPackage.PALETTE_INFO__TAG:
- return getTag();
- case PaletteInfosPackage.PALETTE_INFO__DISPLAY_LABEL:
- return getDisplayLabel();
- case PaletteInfosPackage.PALETTE_INFO__DESCRIPTION:
- return getDescription();
- case PaletteInfosPackage.PALETTE_INFO__EXPERT:
- return getExpert();
- case PaletteInfosPackage.PALETTE_INFO__HIDDEN:
- return getHidden();
- case PaletteInfosPackage.PALETTE_INFO__SMALL_ICON:
- return getSmallIcon();
- case PaletteInfosPackage.PALETTE_INFO__LARGE_ICON:
- return getLargeIcon();
- case PaletteInfosPackage.PALETTE_INFO__TAG_CREATION:
- if (resolve) return getTagCreation();
- return basicGetTagCreation();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFO__ID:
- setId((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__TAG:
- setTag((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__DISPLAY_LABEL:
- setDisplayLabel((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__DESCRIPTION:
- setDescription((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__EXPERT:
- setExpert((Boolean)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__HIDDEN:
- setHidden((Boolean)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__SMALL_ICON:
- setSmallIcon((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__LARGE_ICON:
- setLargeIcon((String)newValue);
- return;
- case PaletteInfosPackage.PALETTE_INFO__TAG_CREATION:
- setTagCreation((TagCreationInfo)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFO__ID:
- setId(ID_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__TAG:
- setTag(TAG_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__DISPLAY_LABEL:
- setDisplayLabel(DISPLAY_LABEL_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__DESCRIPTION:
- setDescription(DESCRIPTION_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__EXPERT:
- setExpert(EXPERT_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__HIDDEN:
- setHidden(HIDDEN_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__SMALL_ICON:
- setSmallIcon(SMALL_ICON_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__LARGE_ICON:
- setLargeIcon(LARGE_ICON_EDEFAULT);
- return;
- case PaletteInfosPackage.PALETTE_INFO__TAG_CREATION:
- setTagCreation((TagCreationInfo)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFO__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case PaletteInfosPackage.PALETTE_INFO__TAG:
- return TAG_EDEFAULT == null ? tag != null : !TAG_EDEFAULT.equals(tag);
- case PaletteInfosPackage.PALETTE_INFO__DISPLAY_LABEL:
- return DISPLAY_LABEL_EDEFAULT == null ? displayLabel != null : !DISPLAY_LABEL_EDEFAULT.equals(displayLabel);
- case PaletteInfosPackage.PALETTE_INFO__DESCRIPTION:
- return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
- case PaletteInfosPackage.PALETTE_INFO__EXPERT:
- return EXPERT_EDEFAULT == null ? expert != null : !EXPERT_EDEFAULT.equals(expert);
- case PaletteInfosPackage.PALETTE_INFO__HIDDEN:
- return HIDDEN_EDEFAULT == null ? hidden != null : !HIDDEN_EDEFAULT.equals(hidden);
- case PaletteInfosPackage.PALETTE_INFO__SMALL_ICON:
- return SMALL_ICON_EDEFAULT == null ? smallIcon != null : !SMALL_ICON_EDEFAULT.equals(smallIcon);
- case PaletteInfosPackage.PALETTE_INFO__LARGE_ICON:
- return LARGE_ICON_EDEFAULT == null ? largeIcon != null : !LARGE_ICON_EDEFAULT.equals(largeIcon);
- case PaletteInfosPackage.PALETTE_INFO__TAG_CREATION:
- return tagCreation != null;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: "); //$NON-NLS-1$
- result.append(id);
- result.append(", tag: "); //$NON-NLS-1$
- result.append(tag);
- result.append(", displayLabel: "); //$NON-NLS-1$
- result.append(displayLabel);
- result.append(", description: "); //$NON-NLS-1$
- result.append(description);
- result.append(", expert: "); //$NON-NLS-1$
- result.append(expert);
- result.append(", hidden: "); //$NON-NLS-1$
- result.append(hidden);
- result.append(", smallIcon: "); //$NON-NLS-1$
- result.append(smallIcon);
- result.append(", largeIcon: "); //$NON-NLS-1$
- result.append(largeIcon);
- result.append(')');
- return result.toString();
- }
-
-} //PaletteInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosFactoryImpl.java
deleted file mode 100644
index 6bed2567a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosFactoryImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosFactoryImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosFactory;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class PaletteInfosFactoryImpl extends EFactoryImpl implements PaletteInfosFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * @return the palette info factory
- * <!-- end-user-doc -->
- * @generated
- */
- public static PaletteInfosFactory init() {
- try {
- PaletteInfosFactory thePaletteInfosFactory = (PaletteInfosFactory)EPackage.Registry.INSTANCE.getEFactory("http://org.eclipse.jsf.pagedesigner/paletteInfos.ecore"); //$NON-NLS-1$
- if (thePaletteInfosFactory != null) {
- return thePaletteInfosFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new PaletteInfosFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfosFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case PaletteInfosPackage.PALETTE_INFOS: return createPaletteInfos();
- case PaletteInfosPackage.PALETTE_INFO: return createPaletteInfo();
- case PaletteInfosPackage.TAG_CREATION_INFO: return createTagCreationInfo();
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE: return createTagCreationTemplate();
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE: return createTagCreationAttribute();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfo createPaletteInfo() {
- PaletteInfoImpl paletteInfo = new PaletteInfoImpl();
- return paletteInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagCreationInfo createTagCreationInfo() {
- TagCreationInfoImpl tagCreationInfo = new TagCreationInfoImpl();
- return tagCreationInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagCreationTemplate createTagCreationTemplate() {
- TagCreationTemplateImpl tagCreationTemplate = new TagCreationTemplateImpl();
- return tagCreationTemplate;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagCreationAttribute createTagCreationAttribute() {
- TagCreationAttributeImpl tagCreationAttribute = new TagCreationAttributeImpl();
- return tagCreationAttribute;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfos createPaletteInfos() {
- PaletteInfosImpl paletteInfos = new PaletteInfosImpl();
- return paletteInfos;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfosPackage getPaletteInfosPackage() {
- return (PaletteInfosPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the palette info package
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static PaletteInfosPackage getPackage() {
- return PaletteInfosPackage.eINSTANCE;
- }
-
-} //PaletteInfosFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosImpl.java
deleted file mode 100644
index 47f7dd822..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosImpl.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Palette Infos</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.PaletteInfosImpl#getInfos <em>Infos</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PaletteInfosImpl extends EObjectImpl implements PaletteInfos {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getInfos() <em>Infos</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInfos()
- * @generated
- * @ordered
- */
- protected EList infos;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PaletteInfosImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return PaletteInfosPackage.Literals.PALETTE_INFOS;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getInfos() {
- if (infos == null) {
- infos = new EObjectContainmentEList(PaletteInfo.class, this, PaletteInfosPackage.PALETTE_INFOS__INFOS);
- }
- return infos;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public PaletteInfo findPaletteInfoById(String id) {
- for (Iterator it=getInfos().iterator();it.hasNext();){
- PaletteInfo info = (PaletteInfo)it.next();
- if (id.equals(info.getId()))
- return info;
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFOS__INFOS:
- return ((InternalEList)getInfos()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFOS__INFOS:
- return getInfos();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFOS__INFOS:
- getInfos().clear();
- getInfos().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFOS__INFOS:
- getInfos().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.PALETTE_INFOS__INFOS:
- return infos != null && !infos.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //PaletteInfosImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosPackageImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosPackageImpl.java
deleted file mode 100644
index e4bf56197..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/PaletteInfosPackageImpl.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosPackageImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosFactory;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class PaletteInfosPackageImpl extends EPackageImpl implements PaletteInfosPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass paletteInfosEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass paletteInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagCreationInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagCreationTemplateEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagCreationAttributeEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private PaletteInfosPackageImpl() {
- super(eNS_URI, PaletteInfosFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the palette info package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static PaletteInfosPackage init() {
- if (isInited) return (PaletteInfosPackage)EPackage.Registry.INSTANCE.getEPackage(PaletteInfosPackage.eNS_URI);
-
- // Obtain or create and register package
- PaletteInfosPackageImpl thePaletteInfosPackage = (PaletteInfosPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof PaletteInfosPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new PaletteInfosPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- XMLTypePackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- thePaletteInfosPackage.createPackageContents();
-
- // Initialize created meta-data
- thePaletteInfosPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- thePaletteInfosPackage.freeze();
-
- return thePaletteInfosPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPaletteInfos() {
- return paletteInfosEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPaletteInfos_Infos() {
- return (EReference)paletteInfosEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getPaletteInfo() {
- return paletteInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_Id() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_Tag() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_DisplayLabel() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_Description() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_Expert() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_Hidden() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_SmallIcon() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getPaletteInfo_LargeIcon() {
- return (EAttribute)paletteInfoEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPaletteInfo_TagCreation() {
- return (EReference)paletteInfoEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagCreationInfo() {
- return tagCreationInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagCreationInfo_Attributes() {
- return (EReference)tagCreationInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagCreationInfo_Template() {
- return (EAttribute)tagCreationInfoEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagCreationTemplate() {
- return tagCreationTemplateEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagCreationTemplate_Template() {
- return (EReference)tagCreationTemplateEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagCreationAttribute() {
- return tagCreationAttributeEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagCreationAttribute_Id() {
- return (EAttribute)tagCreationAttributeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagCreationAttribute_Value() {
- return (EAttribute)tagCreationAttributeEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfosFactory getPaletteInfosFactory() {
- return (PaletteInfosFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- paletteInfosEClass = createEClass(PALETTE_INFOS);
- createEReference(paletteInfosEClass, PALETTE_INFOS__INFOS);
-
- paletteInfoEClass = createEClass(PALETTE_INFO);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__ID);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__TAG);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__DISPLAY_LABEL);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__DESCRIPTION);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__EXPERT);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__HIDDEN);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__SMALL_ICON);
- createEAttribute(paletteInfoEClass, PALETTE_INFO__LARGE_ICON);
- createEReference(paletteInfoEClass, PALETTE_INFO__TAG_CREATION);
-
- tagCreationInfoEClass = createEClass(TAG_CREATION_INFO);
- createEReference(tagCreationInfoEClass, TAG_CREATION_INFO__ATTRIBUTES);
- createEAttribute(tagCreationInfoEClass, TAG_CREATION_INFO__TEMPLATE);
-
- tagCreationTemplateEClass = createEClass(TAG_CREATION_TEMPLATE);
- createEReference(tagCreationTemplateEClass, TAG_CREATION_TEMPLATE__TEMPLATE);
-
- tagCreationAttributeEClass = createEClass(TAG_CREATION_ATTRIBUTE);
- createEAttribute(tagCreationAttributeEClass, TAG_CREATION_ATTRIBUTE__ID);
- createEAttribute(tagCreationAttributeEClass, TAG_CREATION_ATTRIBUTE__VALUE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
-
- // Add supertypes to classes
-
- // Initialize classes and features; add operations and parameters
- initEClass(paletteInfosEClass, PaletteInfos.class, "PaletteInfos", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getPaletteInfos_Infos(), this.getPaletteInfo(), null, "infos", null, 0, -1, PaletteInfos.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- EOperation op = addEOperation(paletteInfosEClass, this.getPaletteInfo(), "findPaletteInfoById", 0, 1); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEString(), "id", 1, 1); //$NON-NLS-1$
-
- initEClass(paletteInfoEClass, PaletteInfo.class, "PaletteInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_Id(), ecorePackage.getEString(), "id", null, 1, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_Tag(), ecorePackage.getEString(), "tag", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_DisplayLabel(), ecorePackage.getEString(), "displayLabel", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_Description(), ecorePackage.getEString(), "description", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_Expert(), ecorePackage.getEBooleanObject(), "expert", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_Hidden(), ecorePackage.getEBooleanObject(), "hidden", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_SmallIcon(), ecorePackage.getEString(), "smallIcon", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getPaletteInfo_LargeIcon(), ecorePackage.getEString(), "largeIcon", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getPaletteInfo_TagCreation(), this.getTagCreationInfo(), null, "tagCreation", null, 0, 1, PaletteInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(paletteInfoEClass, ecorePackage.getEBoolean(), "isExpert", 0, 1); //$NON-NLS-1$
-
- addEOperation(paletteInfoEClass, ecorePackage.getEBoolean(), "isHidden", 0, 1); //$NON-NLS-1$
-
- initEClass(tagCreationInfoEClass, TagCreationInfo.class, "TagCreationInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagCreationInfo_Attributes(), this.getTagCreationAttribute(), null, "attributes", null, 0, -1, TagCreationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagCreationInfo_Template(), theXMLTypePackage.getAnySimpleType(), "template", null, 0, 1, TagCreationInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagCreationTemplateEClass, TagCreationTemplate.class, "TagCreationTemplate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagCreationTemplate_Template(), ecorePackage.getEObject(), null, "template", null, 0, 1, TagCreationTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagCreationAttributeEClass, TagCreationAttribute.class, "TagCreationAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getTagCreationAttribute_Id(), ecorePackage.getEString(), "id", null, 1, 1, TagCreationAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagCreationAttribute_Value(), ecorePackage.getEString(), "value", null, 0, 1, TagCreationAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations() {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation
- (getPaletteInfos_Infos(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "item" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_DisplayLabel(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "display-label" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_Description(),
- source,
- new String[] {
- "kind", "element" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_Expert(),
- source,
- new String[] {
- "kind", "element" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_Hidden(),
- source,
- new String[] {
- "kind", "element" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_SmallIcon(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "small-icon" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_LargeIcon(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "large-icon" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getPaletteInfo_TagCreation(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "tag-create" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagCreationInfo_Attributes(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "attribute" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} //PaletteInfosPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationAttributeImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationAttributeImpl.java
deleted file mode 100644
index 936f0f0b0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationAttributeImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationAttributeImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Creation Attribute</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationAttributeImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagCreationAttributeImpl extends EObjectImpl implements TagCreationAttribute {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected static final String VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected String value = VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagCreationAttributeImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return PaletteInfosPackage.Literals.TAG_CREATION_ATTRIBUTE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValue(String newValue) {
- String oldValue = value;
- value = newValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__VALUE, oldValue, value));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__ID:
- return getId();
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__VALUE:
- return getValue();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__ID:
- setId((String)newValue);
- return;
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__VALUE:
- setValue((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__ID:
- setId(ID_EDEFAULT);
- return;
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__VALUE:
- setValue(VALUE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE__VALUE:
- return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: "); //$NON-NLS-1$
- result.append(id);
- result.append(", value: "); //$NON-NLS-1$
- result.append(value);
- result.append(')');
- return result.toString();
- }
-
-} //TagCreationAttributeImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationInfoImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationInfoImpl.java
deleted file mode 100644
index 365ba8e61..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationInfoImpl.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationInfoImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Creation Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl#getAttributes <em>Attributes</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationInfoImpl#getTemplate <em>Template</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagCreationInfoImpl extends EObjectImpl implements TagCreationInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAttributes()
- * @generated
- * @ordered
- */
- protected EList attributes;
-
- /**
- * The default value of the '{@link #getTemplate() <em>Template</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTemplate()
- * @generated
- * @ordered
- */
- protected static final Object TEMPLATE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTemplate() <em>Template</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTemplate()
- * @generated
- * @ordered
- */
- protected Object template = TEMPLATE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagCreationInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return PaletteInfosPackage.Literals.TAG_CREATION_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getAttributes() {
- if (attributes == null) {
- attributes = new EObjectContainmentEList(TagCreationAttribute.class, this, PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES);
- }
- return attributes;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object getTemplate() {
- return template;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTemplate(Object newTemplate) {
- Object oldTemplate = template;
- template = newTemplate;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.TAG_CREATION_INFO__TEMPLATE, oldTemplate, template));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES:
- return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES:
- return getAttributes();
- case PaletteInfosPackage.TAG_CREATION_INFO__TEMPLATE:
- return getTemplate();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case PaletteInfosPackage.TAG_CREATION_INFO__TEMPLATE:
- setTemplate(newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES:
- getAttributes().clear();
- return;
- case PaletteInfosPackage.TAG_CREATION_INFO__TEMPLATE:
- setTemplate(TEMPLATE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_INFO__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case PaletteInfosPackage.TAG_CREATION_INFO__TEMPLATE:
- return TEMPLATE_EDEFAULT == null ? template != null : !TEMPLATE_EDEFAULT.equals(template);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (template: "); //$NON-NLS-1$
- result.append(template);
- result.append(')');
- return result.toString();
- }
-
-} //TagCreationInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationTemplateImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationTemplateImpl.java
deleted file mode 100644
index ec66a7910..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/impl/TagCreationTemplateImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: TagCreationTemplateImpl.java,v 1.2 2008/11/18 22:24:03 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Creation Template</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.impl.TagCreationTemplateImpl#getTemplate <em>Template</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagCreationTemplateImpl extends EObjectImpl implements TagCreationTemplate {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getTemplate() <em>Template</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTemplate()
- * @generated
- * @ordered
- */
- protected EObject template;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagCreationTemplateImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return PaletteInfosPackage.Literals.TAG_CREATION_TEMPLATE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject getTemplate() {
- return template;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newTemplate
- * @param msgs
- * @return the notification chain
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetTemplate(EObject newTemplate, NotificationChain msgs) {
- EObject oldTemplate = template;
- template = newTemplate;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE, oldTemplate, newTemplate);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTemplate(EObject newTemplate) {
- if (newTemplate != template) {
- NotificationChain msgs = null;
- if (template != null)
- msgs = ((InternalEObject)template).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE, null, msgs);
- if (newTemplate != null)
- msgs = ((InternalEObject)newTemplate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE, null, msgs);
- msgs = basicSetTemplate(newTemplate, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE, newTemplate, newTemplate));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE:
- return basicSetTemplate(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE:
- return getTemplate();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE:
- setTemplate((EObject)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE:
- setTemplate((EObject)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE__TEMPLATE:
- return template != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //TagCreationTemplateImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosAdapterFactory.java
deleted file mode 100644
index 8e08befb9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosAdapterFactory.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosAdapterFactory.java,v 1.2 2008/11/18 22:23:51 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage
- * @generated
- */
-public class PaletteInfosAdapterFactory extends AdapterFactoryImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static PaletteInfosPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfosAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = PaletteInfosPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected PaletteInfosSwitch modelSwitch =
- new PaletteInfosSwitch() {
- public Object casePaletteInfos(PaletteInfos object) {
- return createPaletteInfosAdapter();
- }
- public Object casePaletteInfo(PaletteInfo object) {
- return createPaletteInfoAdapter();
- }
- public Object caseTagCreationInfo(TagCreationInfo object) {
- return createTagCreationInfoAdapter();
- }
- public Object caseTagCreationTemplate(TagCreationTemplate object) {
- return createTagCreationTemplateAdapter();
- }
- public Object caseTagCreationAttribute(TagCreationAttribute object) {
- return createTagCreationAttributeAdapter();
- }
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter)modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos <em>Palette Infos</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos
- * @generated
- */
- public Adapter createPaletteInfosAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo <em>Palette Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo
- * @generated
- */
- public Adapter createPaletteInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo <em>Tag Creation Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo
- * @generated
- */
- public Adapter createTagCreationInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate <em>Tag Creation Template</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationTemplate
- * @generated
- */
- public Adapter createTagCreationTemplateAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute <em>Tag Creation Attribute</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute
- * @generated
- */
- public Adapter createTagCreationAttributeAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //PaletteInfosAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosSwitch.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosSwitch.java
deleted file mode 100644
index 7ce17c528..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/tagdisplay/internal/paletteinfos/util/PaletteInfosSwitch.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: PaletteInfosSwitch.java,v 1.2 2008/11/18 22:23:51 gkessler Exp $
- */
-package org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfosPackage
- * @generated
- */
-public class PaletteInfosSwitch {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static PaletteInfosPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public PaletteInfosSwitch() {
- if (modelPackage == null) {
- modelPackage = PaletteInfosPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public Object doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch((EClass)eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case PaletteInfosPackage.PALETTE_INFOS: {
- PaletteInfos paletteInfos = (PaletteInfos)theEObject;
- Object result = casePaletteInfos(paletteInfos);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case PaletteInfosPackage.PALETTE_INFO: {
- PaletteInfo paletteInfo = (PaletteInfo)theEObject;
- Object result = casePaletteInfo(paletteInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case PaletteInfosPackage.TAG_CREATION_INFO: {
- TagCreationInfo tagCreationInfo = (TagCreationInfo)theEObject;
- Object result = caseTagCreationInfo(tagCreationInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case PaletteInfosPackage.TAG_CREATION_TEMPLATE: {
- TagCreationTemplate tagCreationTemplate = (TagCreationTemplate)theEObject;
- Object result = caseTagCreationTemplate(tagCreationTemplate);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case PaletteInfosPackage.TAG_CREATION_ATTRIBUTE: {
- TagCreationAttribute tagCreationAttribute = (TagCreationAttribute)theEObject;
- Object result = caseTagCreationAttribute(tagCreationAttribute);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Palette Infos</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Palette Infos</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object casePaletteInfos(PaletteInfos object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Palette Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Palette Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object casePaletteInfo(PaletteInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tag Creation Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tag Creation Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagCreationInfo(TagCreationInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tag Creation Template</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tag Creation Template</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagCreationTemplate(TagCreationTemplate object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tag Creation Attribute</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tag Creation Attribute</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagCreationAttribute(TagCreationAttribute object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //PaletteInfosSwitch
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/AbstractEnumerationType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/AbstractEnumerationType.java
deleted file mode 100644
index fda6dd5a0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/AbstractEnumerationType.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- * Vadim Dmitriev
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Abstract meta-data processing type representing an enumeration attribute value runtime type
- * <p><b>Provisional API - subject to change</b></p>
- */
-public abstract class AbstractEnumerationType extends AbstractRootTypeDescriptor implements IValidValues, IDefaultValue, IValidELValues{
- private List validationMessages;
-
- /**
- * An empty list
- */
- protected static List EMPTY_LIST = new ArrayList(0);
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#getValidationMessages()
- */
- public List getValidationMessages() {
- if (validationMessages == null){
- validationMessages = new ArrayList();
- }
- return validationMessages;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue#getDefaultValue()
- */
- public String getDefaultValue() {
- return getTraitValueAsString(IDefaultValue.DEFAULT_VALUE_PROP_NAME);
- }
-
- /**
- * @return possible values of type as list of Strings using
- * {@link IPossibleValues}.POSSIBLE_VALUES_PROP_NAME trait name
- */
- protected List getMDPossibleValues() {
- return getTraitValueAsListOfStrings(IPossibleValues.POSSIBLE_VALUES_PROP_NAME);
- }
-
- /**
- * @return possible values of type to dislay as list of Strings using
- * {@link IPossibleValues}.POSSIBLE_VALUES_FOR_DISPLAY_PROP_NAME trait name
- */
- protected List getMDPossibleValuesForDisplay() {
- return getTraitValueAsListOfStrings(IPossibleValues.POSSIBLE_VALUES_FOR_DISPLAY_PROP_NAME);
- }
-
- /**
- * @return list of valid values as list of Strings using
- * {@link IValidValues}.VALID_VALUES_PROP_NAME trait name
- */
- protected List getMDValidValues() {
- return getTraitValueAsListOfStrings(IValidValues.VALID_VALUES_PROP_NAME);
- }
-
- /**
- * @return Validation message for type using
- * {@link IValidValues}.VALID_VALUES_MESSAGE_PROP_NAME trait name
- */
- protected String getMDValidationMessage() {
- return getTraitValueAsString(IValidValues.VALID_VALUES_MESSAGE_PROP_NAME);
- }
-
- /**
- * @return Validation severity int value for type using
- * {@link IValidValues}.VALID_VALUES_SEVERITY_PROP_NAME trait name
- */
- protected int getMDValidationSeverity() {
- String val = getTraitValueAsString(IValidValues.VALID_VALUES_SEVERITY_PROP_NAME);
- if (val == null)
- return IStatus.WARNING;
-
- int severity = Integer.valueOf(val).intValue();
- return severity;
- }
-
- /**
- * @return Validation code as String value for type using
- * {@link IValidValues}.VALID_VALUES_CODE_PROP_NAME trait name
- */
- protected String getMDValidationCode() {
- return getTraitValueAsString(IValidValues.VALID_VALUES_CODE_PROP_NAME);
- }
-
- /**
- * Create a {@link ValidationMessage} from metadata or use default message
- * and add it to the collection of validation messages
- * @param defaultMsg
- */
- protected void addNewValidationMessage(String defaultMsg) {
- String msg = getMDValidationMessage();
- if (msg == null || msg.equals("")) //$NON-NLS-1$
- msg = defaultMsg;
-
- String code = getMDValidationCode();
- int severity = getMDValidationSeverity();
- ValidationMessage val = new ValidationMessage(msg, code, severity);
- getValidationMessages().add(val);
- }
-
- /**
- * @return the value of {@link org.eclipse.jst.jsf.common.internal.types.IAssignable}.ASSIGNMENT_TYPE_NONE. Subclasses to override.
- */
- protected int getAssignmentType(){
- return 0;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues#getExpectedRuntimeType()
- */
- public abstract CompositeType getExpectedRuntimeType() throws ELIsNotValidException;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ActionType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ActionType.java
deleted file mode 100644
index 85a8c630f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ActionType.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- * Xiaonan Jiang/IBM - https://bugs.eclipse.org/bugs/show_bug.cgi?id=308337
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.facesconfig.FacesConfigPlugin;
-import org.eclipse.jst.jsf.facesconfig.emf.DisplayNameType;
-import org.eclipse.jst.jsf.facesconfig.emf.NavigationCaseType;
-import org.eclipse.jst.jsf.facesconfig.emf.NavigationRuleType;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.osgi.framework.Bundle;
-
-/**
- * Meta-data processing type representing an "action" attribute
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class ActionType extends MethodBindingType implements IPossibleValues{
- /**
- * Image to use if metadata defined image cannot be created
- */
- protected static final ImageDescriptor MISSING_IMAGE = ImageDescriptor.getMissingImageDescriptor();
-
- private static final String IMAGE_NAME = "/icons/full/obj16/NavigationCaseType.gif"; //$NON-NLS-1$
- private ImageDescriptor imageDescriptor;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.MethodBindingType#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value){
- if (value == null || (value != null && value.length() == 0)) {
- IValidationMessage msg = new ValidationMessage(Messages.ActionType_invalid_empty_value);
- getValidationMessages().add(msg);
- return false;
- }
- //any other value should be one of the possible values
- //optimize
- IWorkspaceContextResolver wr = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(getStructuredDocumentContext());
- if (wr == null)
- return true;//shouldn't get here
-
- //in case that this is not JSF faceted or missing configs, need to pass
- if (JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(wr.getProject()) == null)
- return true;
-
- IFile jsp = (IFile)wr.getResource();
- List<NavigationRuleType> rules = JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(wr.getProject()).getNavigationRulesForPage(jsp);
- for (final NavigationRuleType rule : rules) {
- for (Iterator cases=rule.getNavigationCase().iterator();cases.hasNext();) {
- NavigationCaseType navCase = (NavigationCaseType)cases.next();
- if (navCase.getFromOutcome() != null && navCase.getFromOutcome().getTextContent() != null &&
- value.equals(navCase.getFromOutcome().getTextContent().trim()))
- return true;
- }
- }
- if (JSFVersion.valueOfProject(jsp.getProject()).compareTo(JSFVersion.V2_0) >= 0) {
- int index = value.indexOf('?');
- if (index != -1) {
- value = value.substring(0, index);
- }
- if (value != null && value.length() > 1) {
- IVirtualFolder webRoot = ComponentCore.createComponent(jsp.getProject()).getRootFolder();
- if (value.charAt(0) == '/') {
- IVirtualFile file = webRoot.getFile(new Path(value));
- if (file.exists()) {
- return true;
- }
- } else {
- IPath webContentPath = webRoot.getUnderlyingFolder().getFullPath();
- IPath filePath = jsp.getFullPath();
- if (filePath.matchingFirstSegments(webContentPath) == webContentPath.segmentCount()) {
- String extension = filePath.getFileExtension();
- filePath = filePath.removeFirstSegments(webContentPath.segmentCount());
- filePath = filePath.removeLastSegments(1);
- filePath = filePath.append(value);
- if (filePath.getFileExtension() == null && extension != null) {
- filePath = filePath.addFileExtension(extension);
- }
- IVirtualFile file = webRoot.getFile(filePath);
- if (file.exists()) {
- return true;
- }
- }
- }
- }
- }
-
- IValidationMessage msg = new ValidationMessage(Messages.ActionType_invalid_value);
- getValidationMessages().add(msg);
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- final List<NavigationRuleType> ret = new ArrayList<NavigationRuleType>();
- if (getStructuredDocumentContext() == null)
- return ret;
-
- final IWorkspaceContextResolver wr = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(getStructuredDocumentContext());
- if (wr != null && JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(wr.getProject()) != null) {//may not be JSF faceted project or know faces-config){
- IFile jsp = (IFile)wr.getResource();
- List<NavigationRuleType> rules = JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(wr.getProject()).getNavigationRulesForPage(jsp);
- for (final NavigationRuleType rule : rules) {
- if (rule != null)
- ret.addAll(createProposals(rule));
- }
- }
- return ret;
- }
-
- private List createProposals(NavigationRuleType rule) {
- List ret = new ArrayList();
- List cases = rule.getNavigationCase();
- for (Iterator it=cases.iterator();it.hasNext();) {
- NavigationCaseType navCase = (NavigationCaseType)it.next();
- PossibleValue pv = createProposal(rule, navCase);
- if (pv != null)
- ret.add(pv);
- }
- return ret;
- }
-
- private PossibleValue createProposal(NavigationRuleType rule, NavigationCaseType navCase) {
- PossibleValue pv = null;
- String value = null;
- String ruleDisp = null;
- String navDisplay = null;
- String navAction = null;
- String toViewId = null;
-
- if (navCase.getFromOutcome() != null)
- value = navCase.getFromOutcome().getTextContent();
- if (navCase.getToViewId()!= null)
- toViewId = navCase.getToViewId().getTextContent();
- if (rule.getFromViewId() != null)
- ruleDisp = rule.getFromViewId().getTextContent();
- if (navCase.getDisplayName() != null
- && navCase.getDisplayName().size() > 0) {
- navDisplay = ((DisplayNameType) navCase
- .getDisplayName().get(0)).getTextContent();
- }
- if (navCase.getFromAction() != null) {
- navAction= navCase.getFromAction().getTextContent();
- }
- if (navDisplay == null || navDisplay.trim().equals("")) //$NON-NLS-1$
- navDisplay = NLS.bind(Messages.ActionType_navcase_display, new String[]{value, toViewId});
-
- if (value != null){
- pv = new PossibleValue(value, navDisplay);
- pv.setIcon(getNavCaseImageDescriptor());
- pv.setAdditionalInformation("from-outcome: "+value //$NON-NLS-1$
- + "<br>to-view-id: " + toViewId //$NON-NLS-1$
- + "<br>from-view-id: " + ruleDisp //$NON-NLS-1$
- + "<br>from-action: " + (navAction == null ? "null" : navAction)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return pv;
- }
-
-
- private ImageDescriptor getNavCaseImageDescriptor() {
- ImageDescriptor ret = super.getImage();
- if (ret != null && ret != MISSING_IMAGE)
- return ret;
-
- if (imageDescriptor == null){
- imageDescriptor = getImageDesc(IMAGE_NAME);
- }
- return imageDescriptor;
-
- }
-
- private ImageDescriptor getImageDesc(String img)
- {
- Bundle bundle = FacesConfigPlugin.getPlugin().getBundle();
- URL url = FileLocator.find(bundle, new Path(img), null);
- ImageDescriptor desc = ImageDescriptor.createFromURL(url);
- if (desc == MISSING_IMAGE) {
- return null;
- }
- return desc;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BindingType.java
deleted file mode 100644
index 6932796c6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BindingType.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-
-/**
- * Abstract meta-data processing type representing a binding
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class BindingType extends AbstractRootTypeDescriptor{
- // TODO: what's the point of this?
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BooleanType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BooleanType.java
deleted file mode 100644
index cd90e74be..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/BooleanType.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a boolean attribute value runtime type
- * that implements IPossibleValues, IValidValues, IDefaultValue, IValidELValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class BooleanType extends EnumerationType implements IValidValues, IPossibleValues, IDefaultValue{
- private static final String TRUE_VAL = "true"; //$NON-NLS-1$
- private static final String FALSE_VAL = "false"; //$NON-NLS-1$
-
- private static final String BOOLTYPE_VALIDATION_MSG = Messages.BooleanType_invalid_values;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "boolean";} //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- String def = getDefaultValue();
- List vals = new ArrayList();
- vals.add(new PossibleValue(TRUE_VAL, TRUE_VAL, def != null && def.equals(TRUE_VAL) ));
- vals.add(new PossibleValue(FALSE_VAL, FALSE_VAL, def != null && def.equals(FALSE_VAL) ));
- return vals;
- }
-
- /**
- * Type coercion according to JSP 2.0 spec: JSP.1.14.2.1 Conversions from String values
- * Although not completely faithful to spec, we will validate values as either 'true' or 'false'
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- **/
- public boolean isValidValue(String value) {
- if(TRUE_VAL.equalsIgnoreCase(value) || FALSE_VAL.equalsIgnoreCase(value)) {
- return true;
- }
- addNewValidationMessage(BOOLTYPE_VALIDATION_MSG);
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSClassType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSClassType.java
deleted file mode 100644
index 90c2dd483..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSClassType.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.impl.StructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.util.CSSClassTraverser;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Document;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * Represents a style class attribute type
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class CSSClassType extends AbstractRootTypeDescriptor implements
- IMetaDataEnabledFeature, IPossibleValues {
-
- private List<IPossibleValue> _pvs;
-
- public List<IPossibleValue> getPossibleValues() {
- if (_pvs == null){
- IDOMContextResolver resolver = StructuredDocumentContextResolverFactory.getInstance().getDOMContextResolver(getStructuredDocumentContext());
- _pvs = getCSSClasses(resolver.getDOMDocument());
- }
- return _pvs;
- }
-
- private List<IPossibleValue> getCSSClasses(Document doc) {
- List result = new ArrayList();
- String [] names = internalGetCSSClasses(doc);
- for (int i=0;i<names.length;i++){
- IPossibleValue pv = new PossibleValue(names[i]);
- result.add(pv);
- }
- return result;
- }
-
- //code duplicated from pagedesigner CSSUtils. Uses internal CSSClassTraverser
- private static String[] internalGetCSSClasses(Document doc) {
- Collection c = Collections.EMPTY_SET;
- if (doc instanceof INodeNotifier) {
- IStyleSheetListAdapter adapter = (IStyleSheetListAdapter) ((INodeNotifier) doc)
- .getAdapterFor(IStyleSheetListAdapter.class);
- StyleSheetList ssl = (adapter == null ? null : adapter
- .getStyleSheets());
-
- CSSClassTraverser traverser = new CSSClassTraverser();
- if (ssl != null) {
- for (int i = 0, numStyles = ssl.getLength(); i < numStyles; i++) {
- // loop for styles (<style> and <link>)
- org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
-
- try {
- traverser.apply((ICSSNode) ss);
- } catch (ClassCastException ex) {
- JSFCorePlugin.log(ex, "Unable to cast to CSS style"); //$NON-NLS-1$
- }
- }
- c = traverser.getClassNames();
- }
- }
- String[] result = new String[c.size()];
- c.toArray(result);
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSIdType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSIdType.java
deleted file mode 100644
index 4fa8ee1cc..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSIdType.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * Represents CSS id attribute type
- * EXPERIMENTAL - may change or disappear
- *
- */
-public class CSSIdType extends AbstractRootTypeDescriptor implements
- IMetaDataEnabledFeature {
-
- /**
- * Constructor
- */
- public CSSIdType() {
- // TODO Auto-generated constructor stub
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSStyleType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSStyleType.java
deleted file mode 100644
index 1c7f35bf6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CSSStyleType.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * Represents CSS style attribute.
- * No features currently supported.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public class CSSStyleType extends AbstractRootTypeDescriptor implements
- IMetaDataEnabledFeature {
-
- /**
- * Constructor
- */
- public CSSStyleType() {
- //
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CharacterType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CharacterType.java
deleted file mode 100644
index 5ec13d825..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CharacterType.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Represents a single unicode character
- */
-public class CharacterType extends AbstractRootTypeDescriptor implements
- IMetaDataEnabledFeature, IValidValues{
-
- private List _msgs;
-
- /**
- * Constructor
- */
- public CharacterType() {
- super();
- }
-
- public List<IValidationMessage> getValidationMessages() {
- if (_msgs == null){
- _msgs = new ArrayList<IValidationMessage>(1);
- }
- return _msgs;
- }
-
- public boolean isValidValue(String value) {
- if (value.length() != 1)
- getValidationMessages().add(new ValidationMessage(Messages.CharacterType_0));
-
- return getValidationMessages().size() == 0;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ColorType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ColorType.java
deleted file mode 100644
index 897a399ea..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ColorType.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Yury Kats/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Meta-data processing type representing a color.
- * A color is defined as in html spec http://www.w3.org/TR/html4/types.html#type-color
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author ykats
- */
-
-public class ColorType extends EnumerationType implements IPossibleValues {
-
- /**
- * List of standard colors
- * See http://www.w3.org/TR/html4/types.html#type-color
- */
- private final static String[] COLORS = {"Black", "Silver", "Gray", "White", "Maroon", "Red", "Purple", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- "Fuchsia", "Green", "Lime", "Olive", "Yellow", "Navy", "Blue", "Teal","Aqua"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- //if ordering changes, must change RGB[] ordering
-
- private RGB[] _rgb;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "java.lang.String";} //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- boolean bValid = true;
- String trimmedVal = value.trim();
- if (trimmedVal.length() == 0)
- bValid = false;
- else if (trimmedVal.charAt(0) == '#' && trimmedVal.length() == 7) {
- for (int i=1; i<7; i++) {
- if (trimmedVal.charAt(i) < '0' ||
- (trimmedVal.charAt(i) > '9' && trimmedVal.charAt(i) < 'A') ||
- (trimmedVal.charAt(i) > 'F' && trimmedVal.charAt(i) < 'a') ||
- trimmedVal.charAt(i) > 'f') {
- bValid = false;
- break;
- }
- }
- }
- else {
- bValid = false;
- for (int i = 0; i < COLORS.length; i++) {
- if(trimmedVal.equalsIgnoreCase(COLORS[i])) {
- bValid = true;
- break;
- }
- }
- }
-
- if(!bValid) {
- addNewValidationMessage(Messages.ColorType_invalid_color);
- }
-
- return getValidationMessages().isEmpty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- List ret = new ArrayList(COLORS.length);
- for (int i=0;i < COLORS.length;i++){
- PossibleValue pv = new PossibleValue(COLORS[i]);
- pv.setIcon(createImage(i));
- ret.add(pv);
- }
- return ret;
- }
-
- private ImageDescriptor createImage(int color) {
- PaletteData pd = getPaletteData(color);
- return ImageDescriptor.createFromImageData(new ImageData(16, 16, 1, pd));
- }
-
- private PaletteData getPaletteData(int color){
- if (_rgb == null){
- _rgb = new RGB[16];
- _rgb[0] = new RGB(0,0,0);//black
- _rgb[1] = new RGB(192,192,192);//silver
- _rgb[2] = new RGB(128,128,128);//gray
- _rgb[3] = new RGB(255,255,255);//white
- _rgb[4] = new RGB(128,0,0);//Maroon
- _rgb[5] = new RGB(255,0,0);//Red
- _rgb[6] = new RGB(128,0,128);//Purple
- _rgb[7] = new RGB(255,0,255);//Fuchsia
- _rgb[8] = new RGB(0,128,0);//Green
- _rgb[9] = new RGB(0,255,0);//Lime
- _rgb[10] = new RGB(128,128,0);//Olive
- _rgb[11] = new RGB(255,255,0);//Yellow
- _rgb[12] = new RGB(0,0,128);//Navy
- _rgb[13] = new RGB(0,0,255);//Blue
- _rgb[14] = new RGB(0,128,128);//Teal
- _rgb[15] = new RGB(0,255,255);//Aqua
- }
- RGB[] rgbColor = new RGB[1];
- System.arraycopy(_rgb, color, rgbColor, 0, 1);
- return new PaletteData(rgbColor);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentBindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentBindingType.java
deleted file mode 100644
index 4e394ede7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentBindingType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Meta-data processing type representing a "binding" attribute
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class ComponentBindingType extends ValueBindingType implements
- IValidValues, IValidELValues {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- //Strings are invalid. Requires a EL value binding.
- IValidationMessage msg = new ValidationMessage(Messages.ComponentBindingType_invalid_value);
- getValidationMessages().add(msg);
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentIDType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentIDType.java
deleted file mode 100644
index 82c995761..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ComponentIDType.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Meta-data processing type representing an "id" attribute
- * Represents an ID or NAME HTML attribute type.
- * <br>
- * Attribute values of type ID and NAME must begin with a letter in the range A-Z or a-z or underscore ("_") and
- * may be followed by letters (A-Z, a-z), digits (0-9), hyphens ("-"), underscores ("_"), colons (":"),
- * and periods (".").
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- * TODO: finish regex validation
- */
-public class ComponentIDType extends ValueBindingType implements
- IValidValues, IValidELValues {
-
-// private static Pattern idPattern1 = Pattern.compile("[A-Za-z_]");;
-// private static Pattern idPattern2 = Pattern.compile("^[:\\w\\.\\-]*");
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.ValueBindingType#getExpectedRuntimeType()
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException {
- throw new ELIsNotValidException(Messages.ComponentIDType_invalid_as_el);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- IValidationMessage msg = null;
- if (value != null && value.trim().length() == 0)
- msg = new ValidationMessage(Messages.ComponentIDType_invalid_value);
- else {
- //we could validate uniqueness, but will not for the time being. This would require a DT FacesContext.
- //any other coercion rules apply here?
- return true;
- }
- getValidationMessages().add(msg);
- return false;
-
-// if (value != null && value.trim().length() == 0)
-// msg = new ValidationMessage(Messages.ComponentIDType_invalid_value);
-//
-//// else if (!idPattern.matcher(value.trim()).find())
-//// fail = true;
-// else if (!idPattern1.matcher(value.trim().substring(0, 1)).find())
-// msg = new ValidationMessage("id must begin with alpha character");
-// else if ((value.trim().length() > 1) && (!( idPattern2.matcher(value.trim().substring(1)).find())))
-// msg = new ValidationMessage("illegal characters in id: must be alphanum, period, colon, and hyphen only");
-// else {
-// //we could validate uniqueness, but will not for the time being. This would require a DT FacesContext.
-// //any other coercion rules apply here?
-// }
-// if (msg != null)
-// getValidationMessages().add(msg);
-//
-// return getValidationMessages().size() == 0;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ContentType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ContentType.java
deleted file mode 100644
index 4fb9ec442..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ContentType.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Yury Kats/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a content (MIME) type.
- * A ContentType is defined as in 4.0 html spec http://www.w3.org/TR/html401/types.html#h-6.7
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-
-public class ContentType extends EnumerationType implements IPossibleValues {
-
- /**
- * List of some of the more common content (MIME) types
- * See http://www.w3.org/TR/html4/types.html#type-color
- */
- private final static String[] commontypes = {
- "text/html", //$NON-NLS-1$
- "text/css", //$NON-NLS-1$
- "image/jpeg", //$NON-NLS-1$
- "image/gif", //$NON-NLS-1$
- "audio/mpeg", //$NON-NLS-1$
- "video/mpeg", //$NON-NLS-1$
- "video/quicktime", //$NON-NLS-1$
- "text/javascript" //$NON-NLS-1$
- };
-
- protected String getReturnType(){ return "java.lang.String";} //$NON-NLS-1$
-
- public boolean isValidValue(String value) {
- boolean bValid = true;
- if (value == null || value.trim().length() == 0)
- bValid = false;
-
- if(!bValid) {
- addNewValidationMessage(Messages.ContentType_MIME_not_empty);
- }
-
- return getValidationMessages().isEmpty();
- }
-
- public List getPossibleValues() {
- List ret = new ArrayList(commontypes.length);
- for (int i=0;i < commontypes.length;i++){
- PossibleValue pv = new PossibleValue(commontypes[i]);
- ret.add(pv);
- }
- return ret;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CurrencyCodeType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CurrencyCodeType.java
deleted file mode 100644
index 4dc6db80d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/CurrencyCodeType.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * ISO-4217 Currency codes
- */
-public class CurrencyCodeType extends EnumerationType implements IPossibleValues {
- private static final CurrencyCodeMap _map = new CurrencyCodeMap();
-
- @Override
- protected String getReturnType() {
- return "java.lang.String"; //$NON-NLS-1$
- }
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- for(Iterator it = _map.keySet().iterator();it.hasNext();){
- String key = (String)it.next();
- String value = _map.get(key);
- PossibleValue pv = new PossibleValue(key, value);
- ret.add(pv);
- }
- return ret;
- }
-
- public boolean isValidValue(String value) {
- if(!_map.containsKey(value.toUpperCase())) {
- addNewValidationMessage(Messages.CurrencyCodeType_invalid);
- }
-
- return getValidationMessages().isEmpty();
- }
-
- private static class CurrencyCodeMap extends HashMap<String, String> {
-
- private static final long serialVersionUID = 1L;
-
- CurrencyCodeMap(){
- put("AED",Messages.CurrencyCodeType_2); //$NON-NLS-1$
- put("AFA",Messages.CurrencyCodeType_3); //$NON-NLS-1$
- put("ALL",Messages.CurrencyCodeType_4); //$NON-NLS-1$
- put("AMD",Messages.CurrencyCodeType_5); //$NON-NLS-1$
- put("ANG",Messages.CurrencyCodeType_6); //$NON-NLS-1$
- put("AOA",Messages.CurrencyCodeType_7); //$NON-NLS-1$
- put("ARS",Messages.CurrencyCodeType_8); //$NON-NLS-1$
- put("AUD",Messages.CurrencyCodeType_9); //$NON-NLS-1$
- put("AWG",Messages.CurrencyCodeType_10); //$NON-NLS-1$
- put("AZM",Messages.CurrencyCodeType_11); //$NON-NLS-1$
- put("BAM",Messages.CurrencyCodeType_12); //$NON-NLS-1$
- put("BBD",Messages.CurrencyCodeType_13); //$NON-NLS-1$
- put("BDT",Messages.CurrencyCodeType_14); //$NON-NLS-1$
- put("BGN",Messages.CurrencyCodeType_15); //$NON-NLS-1$
- put("BHD",Messages.CurrencyCodeType_16); //$NON-NLS-1$
- put("BIF",Messages.CurrencyCodeType_17); //$NON-NLS-1$
- put("BMD",Messages.CurrencyCodeType_18); //$NON-NLS-1$
- put("BND",Messages.CurrencyCodeType_19); //$NON-NLS-1$
- put("BOB",Messages.CurrencyCodeType_20); //$NON-NLS-1$
- put("BRL",Messages.CurrencyCodeType_21); //$NON-NLS-1$
- put("BSD",Messages.CurrencyCodeType_22); //$NON-NLS-1$
- put("BTN",Messages.CurrencyCodeType_23); //$NON-NLS-1$
- put("BWP",Messages.CurrencyCodeType_24); //$NON-NLS-1$
- put("BYR",Messages.CurrencyCodeType_25); //$NON-NLS-1$
- put("BZD",Messages.CurrencyCodeType_26); //$NON-NLS-1$
- put("CAD",Messages.CurrencyCodeType_27); //$NON-NLS-1$
- put("CDF",Messages.CurrencyCodeType_28); //$NON-NLS-1$
- put("CHF",Messages.CurrencyCodeType_29); //$NON-NLS-1$
- put("CLP",Messages.CurrencyCodeType_30); //$NON-NLS-1$
- put("CNY",Messages.CurrencyCodeType_31); //$NON-NLS-1$
- put("COP",Messages.CurrencyCodeType_32); //$NON-NLS-1$
- put("CRC",Messages.CurrencyCodeType_33); //$NON-NLS-1$
- put("CSD",Messages.CurrencyCodeType_34); //$NON-NLS-1$
- put("CUP",Messages.CurrencyCodeType_35); //$NON-NLS-1$
- put("CVE",Messages.CurrencyCodeType_36); //$NON-NLS-1$
- put("CYP",Messages.CurrencyCodeType_37); //$NON-NLS-1$
- put("CZK",Messages.CurrencyCodeType_38); //$NON-NLS-1$
- put("DJF",Messages.CurrencyCodeType_39); //$NON-NLS-1$
- put("DKK",Messages.CurrencyCodeType_40); //$NON-NLS-1$
- put("DOP",Messages.CurrencyCodeType_41); //$NON-NLS-1$
- put("DZD",Messages.CurrencyCodeType_42); //$NON-NLS-1$
- put("EEK",Messages.CurrencyCodeType_43); //$NON-NLS-1$
- put("EGP",Messages.CurrencyCodeType_44); //$NON-NLS-1$
- put("ERN",Messages.CurrencyCodeType_45); //$NON-NLS-1$
- put("ETB",Messages.CurrencyCodeType_46); //$NON-NLS-1$
- put("EUR",Messages.CurrencyCodeType_47); //$NON-NLS-1$
- put("FJD",Messages.CurrencyCodeType_48); //$NON-NLS-1$
- put("FKP",Messages.CurrencyCodeType_49); //$NON-NLS-1$
- put("GBP",Messages.CurrencyCodeType_50); //$NON-NLS-1$
- put("GEL",Messages.CurrencyCodeType_51); //$NON-NLS-1$
- put("GGP",Messages.CurrencyCodeType_52); //$NON-NLS-1$
- put("GHC",Messages.CurrencyCodeType_53); //$NON-NLS-1$
- put("GIP",Messages.CurrencyCodeType_54); //$NON-NLS-1$
- put("GMD",Messages.CurrencyCodeType_55); //$NON-NLS-1$
- put("GNF",Messages.CurrencyCodeType_56); //$NON-NLS-1$
- put("GTQ",Messages.CurrencyCodeType_57); //$NON-NLS-1$
- put("GYD",Messages.CurrencyCodeType_58); //$NON-NLS-1$
- put("HKD",Messages.CurrencyCodeType_59); //$NON-NLS-1$
- put("HNL",Messages.CurrencyCodeType_60); //$NON-NLS-1$
- put("HRK",Messages.CurrencyCodeType_61); //$NON-NLS-1$
- put("HTG",Messages.CurrencyCodeType_62); //$NON-NLS-1$
- put("HUF",Messages.CurrencyCodeType_63); //$NON-NLS-1$
- put("IDR",Messages.CurrencyCodeType_64); //$NON-NLS-1$
- put("ILS",Messages.CurrencyCodeType_65); //$NON-NLS-1$
- put("IMP",Messages.CurrencyCodeType_66); //$NON-NLS-1$
- put("INR",Messages.CurrencyCodeType_67); //$NON-NLS-1$
- put("IQD",Messages.CurrencyCodeType_68); //$NON-NLS-1$
- put("IRR",Messages.CurrencyCodeType_69); //$NON-NLS-1$
- put("ISK",Messages.CurrencyCodeType_70); //$NON-NLS-1$
- put("JEP",Messages.CurrencyCodeType_71); //$NON-NLS-1$
- put("JMD",Messages.CurrencyCodeType_72); //$NON-NLS-1$
- put("JOD",Messages.CurrencyCodeType_73); //$NON-NLS-1$
- put("JPY",Messages.CurrencyCodeType_74); //$NON-NLS-1$
- put("KES",Messages.CurrencyCodeType_75); //$NON-NLS-1$
- put("KGS",Messages.CurrencyCodeType_76); //$NON-NLS-1$
- put("KHR",Messages.CurrencyCodeType_77); //$NON-NLS-1$
- put("KMF",Messages.CurrencyCodeType_78); //$NON-NLS-1$
- put("KPW",Messages.CurrencyCodeType_79); //$NON-NLS-1$
- put("KRW",Messages.CurrencyCodeType_80); //$NON-NLS-1$
- put("KWD",Messages.CurrencyCodeType_81); //$NON-NLS-1$
- put("KYD",Messages.CurrencyCodeType_82); //$NON-NLS-1$
- put("KZT",Messages.CurrencyCodeType_83); //$NON-NLS-1$
- put("LAK",Messages.CurrencyCodeType_84); //$NON-NLS-1$
- put("LBP",Messages.CurrencyCodeType_85); //$NON-NLS-1$
- put("LKR",Messages.CurrencyCodeType_86); //$NON-NLS-1$
- put("LRD",Messages.CurrencyCodeType_87); //$NON-NLS-1$
- put("LSL",Messages.CurrencyCodeType_88); //$NON-NLS-1$
- put("LTL",Messages.CurrencyCodeType_89); //$NON-NLS-1$
- put("LVL",Messages.CurrencyCodeType_90); //$NON-NLS-1$
- put("LYD",Messages.CurrencyCodeType_91); //$NON-NLS-1$
- put("MAD",Messages.CurrencyCodeType_92); //$NON-NLS-1$
- put("MDL",Messages.CurrencyCodeType_93); //$NON-NLS-1$
- put("MGA",Messages.CurrencyCodeType_94); //$NON-NLS-1$
- put("MKD",Messages.CurrencyCodeType_95); //$NON-NLS-1$
- put("MMK",Messages.CurrencyCodeType_96); //$NON-NLS-1$
- put("MNT",Messages.CurrencyCodeType_97); //$NON-NLS-1$
- put("MOP",Messages.CurrencyCodeType_98); //$NON-NLS-1$
- put("MRO",Messages.CurrencyCodeType_99); //$NON-NLS-1$
- put("MTL",Messages.CurrencyCodeType_100); //$NON-NLS-1$
- put("MUR",Messages.CurrencyCodeType_101); //$NON-NLS-1$
- put("MVR",Messages.CurrencyCodeType_102); //$NON-NLS-1$
- put("MWK",Messages.CurrencyCodeType_103); //$NON-NLS-1$
- put("MXN",Messages.CurrencyCodeType_104); //$NON-NLS-1$
- put("MYR",Messages.CurrencyCodeType_105); //$NON-NLS-1$
- put("MZM",Messages.CurrencyCodeType_106); //$NON-NLS-1$
- put("NAD",Messages.CurrencyCodeType_107); //$NON-NLS-1$
- put("NGN",Messages.CurrencyCodeType_108); //$NON-NLS-1$
- put("NIO",Messages.CurrencyCodeType_109); //$NON-NLS-1$
- put("NOK",Messages.CurrencyCodeType_110); //$NON-NLS-1$
- put("NPR",Messages.CurrencyCodeType_111); //$NON-NLS-1$
- put("NZD",Messages.CurrencyCodeType_112); //$NON-NLS-1$
- put("OMR",Messages.CurrencyCodeType_113); //$NON-NLS-1$
- put("PAB",Messages.CurrencyCodeType_114); //$NON-NLS-1$
- put("PEN",Messages.CurrencyCodeType_115); //$NON-NLS-1$
- put("PGK",Messages.CurrencyCodeType_116); //$NON-NLS-1$
- put("PHP",Messages.CurrencyCodeType_117); //$NON-NLS-1$
- put("PKR",Messages.CurrencyCodeType_118); //$NON-NLS-1$
- put("PLN",Messages.CurrencyCodeType_119); //$NON-NLS-1$
- put("PYG",Messages.CurrencyCodeType_120); //$NON-NLS-1$
- put("QAR",Messages.CurrencyCodeType_121); //$NON-NLS-1$
- put("ROL",Messages.CurrencyCodeType_122); //$NON-NLS-1$
- put("RUB",Messages.CurrencyCodeType_123); //$NON-NLS-1$
- put("RWF",Messages.CurrencyCodeType_124); //$NON-NLS-1$
- put("SAR",Messages.CurrencyCodeType_125); //$NON-NLS-1$
- put("SBD",Messages.CurrencyCodeType_126); //$NON-NLS-1$
- put("SCR",Messages.CurrencyCodeType_127); //$NON-NLS-1$
- put("SDD",Messages.CurrencyCodeType_128); //$NON-NLS-1$
- put("SEK",Messages.CurrencyCodeType_129); //$NON-NLS-1$
- put("SGD",Messages.CurrencyCodeType_130); //$NON-NLS-1$
- put("SHP",Messages.CurrencyCodeType_131); //$NON-NLS-1$
- put("SIT",Messages.CurrencyCodeType_132); //$NON-NLS-1$
- put("SKK",Messages.CurrencyCodeType_133); //$NON-NLS-1$
- put("SLL",Messages.CurrencyCodeType_134); //$NON-NLS-1$
- put("SOS",Messages.CurrencyCodeType_135); //$NON-NLS-1$
- put("SPL",Messages.CurrencyCodeType_136); //$NON-NLS-1$
- put("SRD",Messages.CurrencyCodeType_137); //$NON-NLS-1$
- put("STD",Messages.CurrencyCodeType_138); //$NON-NLS-1$
- put("SVC",Messages.CurrencyCodeType_139); //$NON-NLS-1$
- put("SYP",Messages.CurrencyCodeType_140); //$NON-NLS-1$
- put("SZL",Messages.CurrencyCodeType_141); //$NON-NLS-1$
- put("THB",Messages.CurrencyCodeType_142); //$NON-NLS-1$
- put("TJS",Messages.CurrencyCodeType_143); //$NON-NLS-1$
- put("TMM",Messages.CurrencyCodeType_144); //$NON-NLS-1$
- put("TND",Messages.CurrencyCodeType_145); //$NON-NLS-1$
- put("TOP",Messages.CurrencyCodeType_146); //$NON-NLS-1$
- put("TRL",Messages.CurrencyCodeType_147); //$NON-NLS-1$
- put("TRY",Messages.CurrencyCodeType_148); //$NON-NLS-1$
- put("TTD",Messages.CurrencyCodeType_149); //$NON-NLS-1$
- put("TVD",Messages.CurrencyCodeType_150); //$NON-NLS-1$
- put("TWD",Messages.CurrencyCodeType_151); //$NON-NLS-1$
- put("TZS",Messages.CurrencyCodeType_152); //$NON-NLS-1$
- put("UAH",Messages.CurrencyCodeType_153); //$NON-NLS-1$
- put("UGX",Messages.CurrencyCodeType_154); //$NON-NLS-1$
- put("USD",Messages.CurrencyCodeType_155); //$NON-NLS-1$
- put("UYU",Messages.CurrencyCodeType_156); //$NON-NLS-1$
- put("UZS",Messages.CurrencyCodeType_157); //$NON-NLS-1$
- put("VEB",Messages.CurrencyCodeType_158); //$NON-NLS-1$
- put("VND",Messages.CurrencyCodeType_159); //$NON-NLS-1$
- put("VUV",Messages.CurrencyCodeType_160); //$NON-NLS-1$
- put("WST",Messages.CurrencyCodeType_161); //$NON-NLS-1$
- put("XAF",Messages.CurrencyCodeType_162); //$NON-NLS-1$
- put("XAG",Messages.CurrencyCodeType_163); //$NON-NLS-1$
- put("XAU",Messages.CurrencyCodeType_164); //$NON-NLS-1$
- put("XCD",Messages.CurrencyCodeType_165); //$NON-NLS-1$
- put("XDR",Messages.CurrencyCodeType_166); //$NON-NLS-1$
- put("XOF",Messages.CurrencyCodeType_167); //$NON-NLS-1$
- put("XPD",Messages.CurrencyCodeType_168); //$NON-NLS-1$
- put("XPF",Messages.CurrencyCodeType_169); //$NON-NLS-1$
- put("XPT",Messages.CurrencyCodeType_170); //$NON-NLS-1$
- put("YER",Messages.CurrencyCodeType_171); //$NON-NLS-1$
- put("ZAR",Messages.CurrencyCodeType_172); //$NON-NLS-1$
- put("ZMK",Messages.CurrencyCodeType_173); //$NON-NLS-1$
- put("ZWD",Messages.CurrencyCodeType_174); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DateTimePatternType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DateTimePatternType.java
deleted file mode 100644
index d48f28d0a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DateTimePatternType.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.w3c.dom.Node;
-
-/**
- * Meta-data processing type representing a Date, Time and DateTime Pattern types.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class DateTimePatternType extends AbstractRootTypeDescriptor implements IPossibleValues{
- //should we ever validate the patterns, extend EnumerationType
- final private static String[] DATEPATTERNS = {"M/d/yy", "EEE, M/d/yy", "MM/dd/yyyy", "EEE, MM/dd/yyyy", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "MMM d, yyyy", "EEE, MMM d, yyyy", "MMMM d, yyyy", "EEEE, MMMM d, yyyy", "MMMM yyyy" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ };
- };
-
- final private static String[] TIMEPATTERNS = {"hh:mm", "hh:mm z", "HH:mm z", "HH:mm:ss z" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- };
-
- final private static String[] DATETIMEPATTERNS = {"M/d/yy hh:mm", "EEE, M/d/yy hh:mm", "MM/dd/yyyy HH:mm:ss z", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "EEE, MM/dd/yyyy HH:mm:ss z", "MMM d, yyyy HH:mm z", "EEE, MMM d, yyyy HH:mm z", "MMMM d, yyyy HH:mm z", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "EEEE, MMMM d, yyyy HH:mm z" //$NON-NLS-1$
- };
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- String typeVal = getTypeValue();
- if ("date".equalsIgnoreCase(typeVal)){ //$NON-NLS-1$
- for (int i=0;i<DATEPATTERNS.length;i++){
- ret.add(new PossibleValue(DATEPATTERNS[i]));
- }
- }
- else if ("time".equalsIgnoreCase(typeVal)){ //$NON-NLS-1$
- for (int i=0;i<TIMEPATTERNS.length;i++){
- ret.add(new PossibleValue(TIMEPATTERNS[i]));
- }
- }
- else {
- for (int i=0;i<DATETIMEPATTERNS.length;i++){
- ret.add(new PossibleValue(DATETIMEPATTERNS[i]));
- }
- }
- return ret;
- }
-
- private String getTypeValue() {
- if (getStructuredDocumentContext() != null){
- IDOMContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(getStructuredDocumentContext());
- if (resolver != null){
- Node aNode = resolver.getNode();
- if (aNode instanceof IDOMAttr) {
- Node tagNode = ((IDOMAttr)aNode).getOwnerElement();
- IDOMAttr typeNode = (IDOMAttr) tagNode.getAttributes().getNamedItem("type"); //$NON-NLS-1$
- if (typeNode != null)
- return typeNode.getValue();
- }
- }
- }
- return ""; //$NON-NLS-1$
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DirectBindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DirectBindingType.java
deleted file mode 100644
index 2c5f7c0b1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DirectBindingType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-/**
- * Abstract meta-data processing type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class DirectBindingType extends BindingType {
- // TODO: what is the point of this?
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DoubleType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DoubleType.java
deleted file mode 100644
index 0e73d4a9a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/DoubleType.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Meta-data processing type representing a "double" attribute value runtime type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class DoubleType extends NumberType {
- private static final String INVALID_DOUBLE = Messages.DoubleType_invalid_double;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "double";} //$NON-NLS-1$
-
- /**
- * Type coercion according to JSP 2.0 spec: JSP.1.14.2.1 Conversions from String values
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- **/
- public boolean isValidValue(String value) {
- try {
- Double dbl = Double.valueOf(value);
- exceedsMaxValue(dbl.doubleValue());
- lessThanMinValue(dbl.doubleValue());
- if (!(minFound || maxFound)){
- List validVals = getMDValidValues();
- if (!validVals.isEmpty()){
- if (!validVals.contains(value)){
- addNewValidationMessage(Messages.DoubleType_invalid_member);//fix me
- }
- }
- }
- return getValidationMessages().isEmpty();
- } catch (NumberFormatException e) {
- addNewValidationMessage(INVALID_DOUBLE);
- return false;
- }
-
- }
-
- private void exceedsMaxValue(double dbl) {
- String strMax = getValidMaximumValue();
- if (strMax != null){
- try {
- double max = Double.valueOf(strMax).doubleValue();
- maxFound = true;
- if (dbl > max){
- addNewValidationMessage(NLS.bind(EXCEEDS_MAX, strMax));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
- private void lessThanMinValue(double dbl) {
- String strMin = getValidMinimumValue();
- if (strMin != null){
- try {
- double max = Double.valueOf(strMin).doubleValue();
- minFound = true;
- if (dbl < max){
- addNewValidationMessage(NLS.bind(LESS_THAN_MIN, strMin));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/EnumerationType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/EnumerationType.java
deleted file mode 100644
index f92684fe8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/EnumerationType.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- * Vadim Dmitriev
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-
-/**
- * Abstract meta-data processing type representing an enumeration attribute value runtime type
- * with a single signature
- *
- * @author Gerry Kessler - Oracle
- */
-public abstract class EnumerationType extends AbstractEnumerationType
-{
-
- /**
- * @return return Java type as string (i.e. boolean, java.lang.String, etc.)
- * Must not be null.
- */
- protected abstract String getReturnType();
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues#getExpectedRuntimeType()
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException
- {
- String type = Signature.createTypeSignature(getReturnType(), true);
- return new CompositeType(type, getAssignmentType());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ExpressionBindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ExpressionBindingType.java
deleted file mode 100644
index 1ae1d98de..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ExpressionBindingType.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Abstract meta-data processing type representing an expression binding attribute value runtime type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class ExpressionBindingType extends BindingType {
- /**
- * Valid values is any fully qualified Java type or primitive.
- * Assign a value for each parameter in order
- */
- public static final String RUNTIME_PARAMS_TYPES = "runtime-param-types"; //$NON-NLS-1$
- /**
- * Valid values is any fully qualified Java type or primitive.
- */
- public static final String RUNTIME_RETURN_TYPE = "runtime-return-type"; //$NON-NLS-1$
- /**
- * Value should be set true or false. If not specified, the default inmplementation assumes false.
- */
- public static final String RUNTIME_SETTER_REQUIRED = "runtime-type-setter-required"; //$NON-NLS-1$
- private List validationMessages;
-
-
- /**
- * @return String value of the "runtime-return-type" trait
- */
- protected String getReturnType() {
- return getTraitValueAsString(RUNTIME_RETURN_TYPE);
- }
-
- /**
- * @return String[] value of the "runtime-param-types" trait
- */
- protected String[] getParams() {
- List params = getTraitValueAsListOfStrings(RUNTIME_PARAMS_TYPES);
-
- return (String[])params.toArray(new String[0]);
- }
-
- /**
- * @return lits of validation messages
- */
- public List getValidationMessages() {
- if (validationMessages == null){
- validationMessages = new ArrayList();
- }
- return validationMessages;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDFeatures.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDFeatures.java
deleted file mode 100644
index 79b1c5b38..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDFeatures.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Meta-data processing feature representing an attribute value requiring a "converterid"
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class FacesConfigConverterIDFeatures extends FacesConfigIdentifierFeatures {
-
- /**
- * Faces converter classname
- */
- protected static final String CONVERTER = "javax.faces.convert.Converter"; //$NON-NLS-1$
- /**
- * Imagename to use when displaying converter
- */
- protected static final String IMAGE_NAME = "/icons/full/obj16/FacesConfig_Converter.gif"; //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getElements(org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager)
- */
- protected List getElements(JSFAppConfigManager mgr) {
- if (mgr != null)
- return mgr.getConverters();
- return new ArrayList(0);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getReturnType()
- */
- protected String getReturnType(){ return CONVERTER;}
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getPossibleValueProposals(java.util.List)
- */
- protected List getPossibleValueProposals(List elements) {
- List ret = new ArrayList();
- Collections.sort(elements, new ConverterSorter());
- for (Iterator it = elements.iterator();it.hasNext();){
- ConverterType obj = (ConverterType)it.next();
- if (obj.getConverterId() != null && obj.getConverterId().getTextContent() != null){
- PossibleValue pv = createProposal(obj.getConverterId().getTextContent(), obj.getDisplayName(), obj.getDescription());
- if (pv != null){
- pv.setIcon(getImage());
- ret.add(pv);
- }
- }
- }
- return ret;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getImageName()
- */
- protected String getImageName() {
- return IMAGE_NAME;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getMyValidationMessage(java.lang.String)
- */
- protected String getMyValidationMessage(String value) {
- if (value == null || value.trim().equals("")) //$NON-NLS-1$
- return Messages.FacesConfigConverterIDFeatures_converterid_empty;
-
- return NLS.bind(Messages.FacesConfigIdentifierType_invalid_converter_id, new String[]{singleQuote(value)});
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getElementIDs(org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager)
- */
- protected List getElementIDs(JSFAppConfigManager mgr) {
- List elements = getElements(mgr);
- List ret = new ArrayList(elements.size());
- for (Iterator it = elements.iterator();it.hasNext();){
- ConverterType aType = (ConverterType)it.next();
- if (aType.getConverterId() != null && aType.getConverterId().getTextContent() != null){
- String id = aType.getConverterId().getTextContent();
- if (id != null)
- ret.add(id.trim());
- }
- }
- return ret;
- }
-
- /**
- *
- * Converter ID Sorter - incomplete
- */
- private static class ConverterSorter implements Comparator, Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 5255291244511783735L;
-
- public int compare(Object o1, Object o2) {
- //TODO
- return 0;
-
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDType.java
deleted file mode 100644
index 3e81d0484..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigConverterIDType.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Type representing a FacesConfig Converter attribute
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class FacesConfigConverterIDType extends FacesConfigIdentifierType {
- // FIXME: why do we have an empty class?
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierFeatures.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierFeatures.java
deleted file mode 100644
index b22f4d1ec..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierFeatures.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager;
-import org.eclipse.jst.jsf.facesconfig.FacesConfigPlugin;
-import org.eclipse.jst.jsf.facesconfig.emf.DescriptionType;
-import org.eclipse.jst.jsf.facesconfig.emf.DisplayNameType;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-import org.osgi.framework.Bundle;
-
-/**
- * Abstract meta-data processing feature representing a faces-config type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class FacesConfigIdentifierFeatures extends AbstractMetaDataEnabledFeature
- implements IPossibleValues, IValidValues, IValidELValues{
-
- /**
- * Meta-data property name to use for identifying the faces-config type
- *
- * see jsf_core.xml converterID and validatorID attributes
- */
- public static final String ID_TYPE_PROP_NAME = "config-type"; //$NON-NLS-1$
-
- /**
- * Missing image descriptor
- */
- protected static final ImageDescriptor MISSING_IMAGE = ImageDescriptor.getMissingImageDescriptor();
-
- /**
- * Name of image file to use with content assist proposals
- */
- protected String imageName;
- private ImageDescriptor imageDescriptor;
- /**
- * Validation messages to return
- */
- protected List validationMessages;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- List ret = new ArrayList();
- List idTypes = getConfigTypes();
-
- if (idTypes != null){
- for (int i=0;i<idTypes.size();i++){
- //verify this feature can deal with this type
- if (getReturnType().equals(idTypes.get(i))){
- ret.addAll(createPossibleValues());
- }
- }
- }
-
- return ret;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- List idTypes = getConfigTypes();
- if (idTypes != null){
- for (int i=0;i<idTypes.size();i++){
- if (getReturnType().equals(idTypes.get(i))){
- if (hasValue(getElementIDs(getJSFAppConfigMgr()), value)){
- getValidationMessages().clear();
- return true;
- }
- getValidationMessages().add(getValidationMessage(value));
- }
- }
- }
- return false;
- }
-
- private boolean hasValue(List elements, String value) {
- for (Iterator it=elements.iterator();it.hasNext();){
- if (value.equals(it.next()))
- return true;
- }
- return false;
- }
-
- /**
- * @param value of the attribute
- * @return the validation message String
- */
- protected abstract String getMyValidationMessage(String value);
-
- /**
- * Creates an IValidationMessage
- * @param value
- * @return IValidationMessage
- */
- protected IValidationMessage getValidationMessage(String value) {
- String msg;
- msg = getCMValidationMessage();
- if (msg == null){
- msg = getMyValidationMessage(value);
- }
- String code = getCMValidationCode();
- int severity = getCMValidationSeverity();
-
- IValidationMessage valMsg = new ValidationMessage(msg, code, severity);
- return valMsg;
- }
-
- /**
- *
- * @param value
- * @return single-quoted value
- */
- protected String singleQuote(String value){
- return "'" + value+"'"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#getValidationMessages()
- */
- public List getValidationMessages(){
- if (validationMessages == null){
- validationMessages = new ArrayList();
- }
- return validationMessages;
- }
-
- /**
- * @param jsfAppConfigManager
- * @return list of faces-config element for the specified config-type
- */
- protected abstract List getElements(JSFAppConfigManager jsfAppConfigManager);
- /**
- * @param elements
- * @return list of IPossibleValue objects for the specified list of config elements
- */
- protected abstract List getPossibleValueProposals(List elements);
- /**
- * @return image name relative to the FacesConfigEditPlugin where the images are stored
- */
- protected abstract String getImageName();
-
- private List createPossibleValues() {
- return getPossibleValueProposals(getElements(getJSFAppConfigMgr()));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.AbstractMetaDataEnabledFeature#getImage()
- */
- protected ImageDescriptor getImage() {
- ImageDescriptor ret = super.getImage();
- if (ret != null && ret != MISSING_IMAGE)
- return ret;
-
- if (imageDescriptor == null){
- imageDescriptor = getImageDesc(getImageName());
- }
- return imageDescriptor;
-
- }
-
- //return FacesConfigPlugin relative image descriptor
- private ImageDescriptor getImageDesc(String img) {
- Bundle bundle = FacesConfigPlugin.getPlugin().getBundle();
- URL url = FileLocator.find(bundle, new Path(img), null);
- ImageDescriptor desc = ImageDescriptor.createFromURL(url);
- if (desc == MISSING_IMAGE){
- return null;
- }
- return desc;
- }
-
- /**
- * @param value
- * @param displayName
- * @param description
- * @return PossibleValue object
- */
- protected PossibleValue createProposal(String value, EList displayName, EList description) {
- String display = value;
- if (displayName.size() > 0) {
- DisplayNameType displayNameType= (DisplayNameType) displayName.get(0);
- display = displayNameType.getTextContent();
- }
- String desc = null;
- if (description.size() > 0) {
- DescriptionType descType= (DescriptionType) description.get(0);
- desc = descType.getTextContent();
- }
- PossibleValue pv = new PossibleValue(value, display);
- if (desc != null)
- pv.setAdditionalInformation(desc);
-
- return pv;
-
- }
-
- private List getConfigTypes() {
- return getTraitValueAsListOfStrings(ID_TYPE_PROP_NAME);
-
-// return CMAnnotationHelper.getCMAttributePropertyValues(getMetaDataContext().getBundleId(),
-// getMetaDataContext().getUri(), getMetaDataContext().getElementName(),
-// getMetaDataContext().getAttributeName(), ID_TYPE_PROP_NAME);
- }
-
- private JSFAppConfigManager getJSFAppConfigMgr(){
- return JSFAppConfigManager.getInstance(getProject());
- }
-
- private IProject getProject() {
- IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(getStructuredDocumentContext());
- if (resolver != null)
- return resolver.getProject();
-
- return null;
- }
-
- /**
- * @param jsfAppConfigManager
- * @return list of identifier Strings for config-type
- */
- protected abstract List getElementIDs(JSFAppConfigManager jsfAppConfigManager);
-
- /**
- * @return the config-type
- */
- protected abstract String getReturnType();
- /**
- * @return int value of {@link IAssignable}.ASSIGNMENT_TYPE_RHS & {@link IAssignable}.ASSIGNMENT_TYPE_LHS
- */
- protected int getAssignmentType(){
- //TODO: fix me to get from meta-data(?)
- return IAssignable.ASSIGNMENT_TYPE_RHS & IAssignable.ASSIGNMENT_TYPE_LHS;
- }
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException {
- String type = Signature.createTypeSignature(getReturnType(), true);
- return new CompositeType(type, getAssignmentType());
- }
-
- /**
- * @return String value of {@link IValidValues}.VALID_VALUES_MESSAGE_PROP_NAME trait
- */
- protected String getCMValidationMessage() {
- //TODO: Standard Validation stuff - should be moved somewhere else
- return getTraitValueAsString(IValidValues.VALID_VALUES_MESSAGE_PROP_NAME);
- }
-
- /**
- * @return int value of {@link IValidValues}.VALID_VALUES_SEVERITY_PROP_NAME trait
- */
- protected int getCMValidationSeverity() {
- String val = getTraitValueAsString(IValidValues.VALID_VALUES_SEVERITY_PROP_NAME);
- if (val == null)
- return IStatus.WARNING;
-
- int severity = Integer.valueOf(val).intValue();
- return severity;
- }
-
- /**
- * @return String value of {@link IValidValues}.VALID_VALUES_CODE_PROP_NAME trait
- */
- protected String getCMValidationCode() {
- return getTraitValueAsString(IValidValues.VALID_VALUES_CODE_PROP_NAME);
- }
-
-}
-
-
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierType.java
deleted file mode 100644
index 5ac934d7c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigIdentifierType.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Meta-data processing type representing a faces-config type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class FacesConfigIdentifierType extends IdentifierType {
- // FIXME: why do we have an empty class?
-}
-
-
-
-
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDFeatures.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDFeatures.java
deleted file mode 100644
index 2a2711ab0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDFeatures.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorType;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * ValidatorID attribute feature
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-public class FacesConfigValidatorIDFeatures extends FacesConfigIdentifierFeatures {
-
- /**
- * Faces validator classname
- */
- protected static final String VALIDATOR = "javax.faces.validator.Validator"; //$NON-NLS-1$
- /**
- * Imagename to use when displaying validator
- */
- protected static final String IMAGE_NAME = "/icons/full/obj16/FacesConfig_Validator.gif"; //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getReturnType()
- */
- protected String getReturnType(){ return VALIDATOR;}
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getElements(org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager)
- */
- protected List getElements(JSFAppConfigManager mgr) {
- if (mgr != null)
- return mgr.getValidators();
- return new ArrayList(0);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getPossibleValueProposals(java.util.List)
- */
- protected List getPossibleValueProposals(List elements) {
- List ret = new ArrayList();
- Collections.sort(elements, new ValidatorSorter());
- for (Iterator it = elements.iterator();it.hasNext();){
- ValidatorType obj = (ValidatorType)it.next();
- if (obj.getValidatorId() != null && obj.getValidatorId().getTextContent() != null){
- PossibleValue pv = createProposal(obj.getValidatorId().getTextContent(), obj.getDisplayName(), obj.getDescription());
- if (pv != null){
- pv.setIcon(getImage());
- ret.add(pv);
- }
- }
- }
- return ret;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getImageName()
- */
- protected String getImageName() {
- return IMAGE_NAME;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getMyValidationMessage(java.lang.String)
- */
- protected String getMyValidationMessage(String value) {
- if (value == null || value.trim().equals("")) //$NON-NLS-1$
- return Messages.FacesConfigValidatorIDFeatures_validatorid_empty;
-
- return NLS.bind(Messages.FacesConfigIdentifierType_invalid_validator_id, new String[]{singleQuote(value)});
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.FacesConfigIdentifierFeatures#getElementIDs(org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigManager)
- */
- protected List getElementIDs(JSFAppConfigManager mgr) {
- List elements = getElements(mgr);
- List ret = new ArrayList(elements.size());
- for (Iterator it = elements.iterator();it.hasNext();){
- ValidatorType aType = (ValidatorType)it.next();
- if (aType.getValidatorId() != null && aType.getValidatorId().getTextContent() != null){
- String id = aType.getValidatorId().getTextContent();
- if (id != null)
- ret.add(id.trim());
- }
- }
- return ret;
- }
-
- /**
- * Validator id sorter - incomplete
- */
- private static class ValidatorSorter implements Comparator, Serializable {
- /**
- *
- */
- private static final long serialVersionUID = -398026037193914126L;
-
- public int compare(Object o1, Object o2) {
- //TODO
- return 0;
-
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDType.java
deleted file mode 100644
index 65f0504e8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/FacesConfigValidatorIDType.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Type representing a FacesConfig Validator attribute
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class FacesConfigValidatorIDType extends FacesConfigIdentifierType {
- // FIXME: why do we have an empty class?
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IdentifierType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IdentifierType.java
deleted file mode 100644
index 134e23d9a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IdentifierType.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Abstract meta-data processing type representing an identifier binding type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class IdentifierType extends DirectBindingType {
- // TODO: parent is already abstract; what's the point?
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IntegerType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IntegerType.java
deleted file mode 100644
index 6fcbdb747..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/IntegerType.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Meta-data processing type representing an integer attribute value runtime type
- * that implements IValidValues, IDefaultValue, IValidELValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class IntegerType extends NumberType {
- private static final String INVALID_INTEGER = Messages.IntegerType_invalid_integer;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "int";} //$NON-NLS-1$
-
- /**
- * Type coercion according to JSP 2.0 spec: JSP.1.14.2.1 Conversions from String values
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- **/
- public boolean isValidValue(String value) {
- try {
- Integer anInt = Integer.valueOf(value);
- exceedsMaxValue(anInt.intValue());
- lessThanMinValue(anInt.intValue());
- if (!(minFound || maxFound)){
- List validVals = getMDValidValues();
- if (!validVals.isEmpty()){
- if (!validVals.contains(value)){
- addNewValidationMessage(Messages.IntegerType_invalid_member);//fix me
- }
- }
- }
- return getValidationMessages().isEmpty();
- } catch (NumberFormatException e) {
- addNewValidationMessage(INVALID_INTEGER);
- return false;
- }
-
- }
-
- private void exceedsMaxValue(int anInt) {
- String strMax = getValidMaximumValue();
- if (strMax != null){
- try {
- int max = Integer.valueOf(strMax).intValue();
- maxFound = true;
- if (anInt > max){
- addNewValidationMessage(NLS.bind(EXCEEDS_MAX, strMax));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
- private void lessThanMinValue(int anInt) {
- String strMin = getValidMinimumValue();
- if (strMin != null){
- try {
- int max = Integer.valueOf(strMin).intValue();
- minFound = true;
- if (anInt < max){
- addNewValidationMessage(NLS.bind(LESS_THAN_MIN, strMin));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/JavaClassType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/JavaClassType.java
deleted file mode 100644
index 912c81808..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/JavaClassType.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchMatch;
-import org.eclipse.jdt.core.search.SearchParticipant;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.SearchRequestor;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Provides possible values and validates attribute values that should be fully qualified Java types.
- * A type can be verified against multiple "valid-interfaces" and/or a "valid-superclass" from meta-data.
- * Code checks to ensure the class can be instantiated (i.e. not abstract, anonymous or inner class)
- * Search is scoped to within the current project only.
- *
- * (Until https://bugs.eclipse.org/bugs/show_bug.cgi?id=142044 is fixed, only the first found will be used)
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- *
- */
-public class JavaClassType extends ObjectType implements IPossibleValues, IValidValues{
- /**
- * Trait name for valid interfaces
- */
- public static final String POSSIBLE_VALUES_INTERFACES_PROP_NAME = "valid-interfaces"; //$NON-NLS-1$
- /**
- * Trait name for valid superclass
- */
- public static final String POSSIBLE_VALUES_SUPERCLASS_PROP_NAME = "valid-superclass"; //$NON-NLS-1$
-
- private List validationMsgs;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- List results = getTypes();
- if (results != null && !results.isEmpty()){
-
- Set vals = new HashSet(results.size());
- Set checkedTypes = new HashSet();
- for (Iterator it = results.iterator();it.hasNext();){
- SearchMatch match = (SearchMatch)it.next();
- IType res = (IType)match.getElement();
- addValidSubClasses(res, vals, checkedTypes);
- }
- return createPossibleValues(vals);
- }
- return new ArrayList(0);
- }
-
- private List createPossibleValues(Set vals) {
- List list = new ArrayList(vals.size());
- Iterator it = vals.iterator();
- while(it.hasNext()){
- IJavaElement elem = (IJavaElement)it.next();
- list.add(createPossibleValue(elem));
- }
- return list;
- }
-
- private void addValidSubClasses(IType res, Set vals, Set checkedTypes) {
-
- try {
- //check to see if we have already checked the hiearchy
- if (checkedTypes.contains(res))
- return;
-
- //should we add itself?
- if (isInnerOrAnonymousClass(res))
- return;
- if (!isAbstractClass(res))
- vals.add(res); //since it is a set, dupes will not be added
-
-
- ITypeHierarchy hierarchy = res.newTypeHierarchy(getJavaProject(), null);
- IType[] subclasses = hierarchy.getSubclasses(res);
- checkedTypes.add(res);
- for (int i=0;i<subclasses.length;i++){
- addValidSubClasses(subclasses[i], vals, checkedTypes);
- }
- } catch (JavaModelException e) {
- //ignore
- }
- }
-
- private IWorkspaceContextResolver getWorkspaceContextResolver(){
- if (getStructuredDocumentContext() == null)
- return null;
-
- return IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(getStructuredDocumentContext());
- }
-
- private List getTypes(){
- IJavaProject jp = getJavaProject();
- if (jp == null)
- return null;
-
- List elems = new ArrayList();
- elems.addAll(getInterfaces(jp));
- IType sc = getSuperClass(jp);
- if (sc != null)
- elems.add(sc);
-
- if (elems.size() > 0){
- SearchRequestor requestor = new Searcher();
- SearchEngine engine = new SearchEngine();
-
- IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[]{jp});//, IJavaSearchScope.SOURCES | IJavaSearchScope.APPLICATION_LIBRARIES | IJavaSearchScope.);
- SearchPattern combined = SearchPattern.createPattern((IJavaElement)elems.get(0), IJavaSearchConstants.IMPLEMENTORS, 0);
-
-// Until this bug is fixed, stub it out... only the first interface/superclass will be used.
-// https://bugs.eclipse.org/bugs/show_bug.cgi?id=142044
-// for(int i=1;i<elems.size();i++){
-// final SearchPattern other = SearchPattern.createPattern((IJavaElement)elems.get(i), IJavaSearchConstants.IMPLEMENTORS, 0);
-// combined = SearchPattern.createAndPattern(combined, other);
-// }
-
- try {
- engine.search(combined, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, scope, requestor, null);
-
- } catch (CoreException e) {
- //ignore
- }
-
- return ((Searcher)requestor).getResults();
- }
-
- return Collections.EMPTY_LIST;
- }
-
- private IJavaProject getJavaProject() {
- IWorkspaceContextResolver resolver = getWorkspaceContextResolver();
- if (resolver != null){
- IProject proj = resolver.getProject();
- if (proj != null)
- return JavaCore.create(proj);
- }
- return null;
- }
-
- private List getInterfaces(IJavaProject jp) {
- List ret = new ArrayList();
- List propVals = getInterfaceNames();
-
- for (Iterator it = propVals.iterator();it.hasNext();){
- String propVal = (String)it.next();
- IType interfase = null;
- try {
- interfase = findType(jp, propVal);
- if (interfase != null){
- ret.add(interfase);
- }
- } catch (JavaModelException e) {
- // suppress and fall-through to return empty list
- }
-
- }
- return ret;
- }
-
- private IType getSuperClass(IJavaProject jp){
- IType superclass = null;
- try {
- String sc = getSuperClassName();
- if (sc != null && !sc.trim().equals("")){ //$NON-NLS-1$
- superclass = findType(jp, sc );
- if (superclass != null){
- return superclass;
- }
- }
- } catch (JavaModelException e) {
- //ignore
- }
- return null;
- }
-
- private PossibleValue createPossibleValue(IJavaElement val) {
- return new PossibleValue(((IType)val).getFullyQualifiedName());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#getValidationMessages()
- */
- public List getValidationMessages() {
- if (validationMsgs == null){
- validationMsgs = new ArrayList();
- }
- return validationMsgs;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- if (value == null || value.trim().equals("")){ //$NON-NLS-1$
- getValidationMessages().add(new ValidationMessage(Messages.JavaClassType_invalid_type));
- return false;
- }
- IJavaProject jp = getJavaProject();
- if (jp == null)
- return false;
-
- //first verify that the value specified is a resolvable type
- IType type = getTypeForValue(jp, value);
- if (type != null){
- //ensure that it is not abstract or anonymous
- if (!isInnerOrAnonymousClass(type) && !isAbstractClass(type)){
- //now verify that it meets the criteria
- ITypeHierarchy hierarchy;
- try {
- hierarchy = type.newTypeHierarchy(jp, null);
- } catch (JavaModelException e) {
- return false;
- }
-
- //check that all interfaces
- List<String> interfaceNames = getInterfaceNames();
- for (Iterator<String> it=interfaceNames.iterator();it.hasNext();){
- //check that all interfaces are satisfied by type
- IType interfase = getTypeForValue(jp, it.next());
- if (interfase == null){
- addNewValidationMessage(Messages.JavaClassType_not_found);
- return false;
- }
- else if (! containsType(hierarchy.getAllSupertypes(type), interfase)){
- addNewValidationMessage(Messages.JavaClassType_not_found);
- return false;
- }
- }
- //interfaces have been satisfied now check the superclass if specified
- IType superClass = getSuperClass(jp);
- if (superClass != null && superClass.equals(type))
- return true;
- else if (superClass != null && !containsType(hierarchy.getAllSuperclasses(type), superClass )){
- addNewValidationMessage(Messages.JavaClassType_not_found);
- return false;
- }
- return true;
-// List results = getTypes();
-// if (!results.isEmpty()){
-// for (Iterator it = results.iterator();it.hasNext();){
-// SearchMatch match = (SearchMatch)it.next();
-// IType res = (IType)match.getElement();
-// if (!isInnerOrAnonymousClass(res) ){
-// //if this is the class, then optimize to reduce expense of creating hierarchy
-// if (!isAbstractClass(type) && (res.getFullyQualifiedName().equals(value)) )
-// return true;
-// //check to see if value is a subtype in the hierarchy
-// try {
-// ITypeHierarchy hierarchy = res.newTypeHierarchy(jp, null);
-// if (containsType(hierarchy.getAllSubtypes(res), type))
-// return true;
-//
-// } catch (JavaModelException e) {
-// //ignore
-// }
-// }
-// }
-// }
- }
- }
- addNewValidationMessage(Messages.JavaClassType_not_found);
- return false;
- }
-
- private boolean containsType(IType[] types, IType type) {
- for (int i=0;i < types.length;i++) {
- if (type.equals(types[i]))
- return true;
- }
- return false;
- }
-
- private IType getTypeForValue(IJavaProject jp, String value) {
- try {
- return findType(jp, value);
- } catch (JavaModelException e) {
- // suppress and fall through to return null
- }
- return null;
- }
-
- /**
- * @return String value of {@link #POSSIBLE_VALUES_SUPERCLASS_PROP_NAME}
- */
- protected String getSuperClassName(){
- return getTraitValueAsString(POSSIBLE_VALUES_SUPERCLASS_PROP_NAME);
-// return CMAnnotationHelper.getCMAttributePropertyValue(getMetaDataContext().getBundleId(), getMetaDataContext().getUri(),
-// getMetaDataContext().getElementName(), getMetaDataContext().getAttributeName(),
-// POSSIBLE_VALUES_SUPERCLASS_PROP_NAME);
-
- }
-
- /**
- * @return List of values from {@link #POSSIBLE_VALUES_INTERFACES_PROP_NAME}
- */
- protected List getInterfaceNames(){
- return getTraitValueAsListOfStrings(POSSIBLE_VALUES_INTERFACES_PROP_NAME);
-
-// return CMAnnotationHelper.getCMAttributePropertyValues(getMetaDataContext().getBundleId(), getMetaDataContext().getUri(),
-// getMetaDataContext().getElementName(), getMetaDataContext().getAttributeName(),
-// POSSIBLE_VALUES_INTERFACES_PROP_NAME);
-
- }
-
- /**
- * Create a {@link ValidationMessage} from metadata or use default message
- * and add it to the collection of validation messages
- * @param defaultMsg
- */
- protected void addNewValidationMessage(String defaultMsg) {
- //TODO: need to refactor below as this as also in Enumeration
- String msg = getCMValidationMessage();
- if (msg == null || msg.equals("")) //$NON-NLS-1$
- msg = defaultMsg;
-
- String code = getValidationCode();
- int severity = getValidationSeverity();
- ValidationMessage val = new ValidationMessage(msg, code, severity);
- getValidationMessages().add(val);
- }
-
-
- /**
- * @return validation message from meta-data using {@link IValidValues}.VALID_VALUES_MESSAGE_PROP_NAME trait. Can be null.
- */
- protected String getCMValidationMessage() {
- return getTraitValueAsString(IValidValues.VALID_VALUES_MESSAGE_PROP_NAME);
- }
-
- /**
- * @return validation severity as int from meta-data using {@link IValidValues}.VALID_VALUES_SEVERITY_PROP_NAME trait. IStatus.WARNING is default.
- */
- protected int getValidationSeverity() {
- String val = getTraitValueAsString(IValidValues.VALID_VALUES_SEVERITY_PROP_NAME);
- if (val == null)
- return IStatus.WARNING;
-
- int severity = Integer.valueOf(val).intValue();
- return severity;
- }
-
- /**
- * @return validation code as String from meta-data. Can be null.
- */
- protected String getValidationCode() {
- return getTraitValueAsString(IValidValues.VALID_VALUES_CODE_PROP_NAME);
- }
-
- private boolean isInnerOrAnonymousClass(IType res) {
- try {
- if (res.isClass() && (res.isAnonymous() ||
- (Flags.isPrivate(res.getFlags())) ||
- res.getFullyQualifiedName().indexOf("$") > 0)) //must be better way to discover if it is an inner class //$NON-NLS-1$
- return true;
- } catch (JavaModelException e) {
- //ignore
- }
- return false;
- }
-
-
- private boolean isAbstractClass(IType res) {
- try {
- if (res.isClass() && Flags.isAbstract(res.getFlags()))
- return true;
- } catch (JavaModelException e) {
- //ignore
- }
- return false;
- }
-
- private static class Searcher extends SearchRequestor{
- private List results = new ArrayList();
- public void acceptSearchMatch(SearchMatch match) throws CoreException {
- results.add(match);
- }
-
- /**
- * @return list of serach results
- */
- public List getResults(){
- return results;
- }
- }
-
-///////////////// ///////////////////////////////////////////////////////////////////////
-//remainder of this class copied from org.eclipse.jdt.internal.corext.util.JavaCoreUtil //
-//TODO: find public version of this functionality //
-//////////////////////////////////////////////////////////////////////////////////////////
- private IType findType(IJavaProject jproject, String fullyQualifiedName) throws JavaModelException {
- //workaround for bug 22883
- IType type= jproject.findType(fullyQualifiedName);
- if (type != null)
- return type;
-
- IPackageFragmentRoot[] roots= jproject.getPackageFragmentRoots();
- for (int i= 0; i < roots.length; i++) {
- IPackageFragmentRoot root= roots[i];
- type= findType(root, fullyQualifiedName);
- if (type != null && type.exists())
- return type;
- }
- return null;
- }
-
- private IType findType(IPackageFragmentRoot root, String fullyQualifiedName) throws JavaModelException{
- IJavaElement[] children= root.getChildren();
- for (int i= 0; i < children.length; i++) {
- IJavaElement element= children[i];
- if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT){
- IPackageFragment pack= (IPackageFragment)element;
- if (! fullyQualifiedName.startsWith(pack.getElementName()))
- continue;
- IType type= findType(pack, fullyQualifiedName);
- if (type != null && type.exists())
- return type;
- }
- }
- return null;
- }
-
- private IType findType(IPackageFragment pack, String fullyQualifiedName) throws JavaModelException{
- ICompilationUnit[] cus= pack.getCompilationUnits();
- for (int i= 0; i < cus.length; i++) {
- ICompilationUnit unit= cus[i];
- IType type= findType(unit, fullyQualifiedName);
- if (type != null && type.exists())
- return type;
- }
- return null;
- }
-
- private IType findType(ICompilationUnit cu, String fullyQualifiedName) throws JavaModelException{
- IType[] types= cu.getAllTypes();
- for (int i= 0; i < types.length; i++) {
- IType type= types[i];
- if (getFullyQualifiedName(type).equals(fullyQualifiedName))
- return type;
- }
- return null;
- }
-
- private String getFullyQualifiedName(IType type) {
- try {
- if (type.isBinary() && !type.isAnonymous()) {
- IType declaringType= type.getDeclaringType();
- if (declaringType != null) {
- return getFullyQualifiedName(declaringType) + '.' + type.getElementName();
- }
- }
- } catch (JavaModelException e) {
- // ignore
- }
- return type.getFullyQualifiedName('.');
- }
-////////////////////////////////////////////////////////////////////////
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LanguageCodeType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LanguageCodeType.java
deleted file mode 100644
index 102df5abb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LanguageCodeType.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a Language Code type.
- * A Language code is defined as in html spec http://www.w3.org/TR/html4/types.html#h-6.8
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class LanguageCodeType extends EnumerationType implements IPossibleValues {
- private static final LanguageCodeMap _map = new LanguageCodeMap();
-
- @Override
- protected String getReturnType() {
- return "java.lang.String"; //$NON-NLS-1$
- }
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- for(Iterator it = _map.keySet().iterator();it.hasNext();){
- String key = (String)it.next();
- String value = _map.get(key);
- PossibleValue pv = new PossibleValue(key, value);
- ret.add(pv);
- }
- return ret;
- }
-
- public boolean isValidValue(String value) {
- if(!_map.containsKey(value)) {
- addNewValidationMessage(Messages.LanguageCodeType_1);
- }
-
- return getValidationMessages().isEmpty();
- }
-
- /**
- * Defines language code map
- *
- */
- private static class LanguageCodeMap extends HashMap<String, String> {
- private static final long serialVersionUID = 1L;
-
- LanguageCodeMap() {
- put("af", Messages.LanguageCodeType_118); //$NON-NLS-1$
- put("ar", Messages.LanguageCodeType_0); //$NON-NLS-1$
- put("be", Messages.LanguageCodeType_7); //$NON-NLS-1$
- put("bg", Messages.LanguageCodeType_9); //$NON-NLS-1$
- put("br", Messages.LanguageCodeType_11); //$NON-NLS-1$
- put("ca", Messages.LanguageCodeType_13); //$NON-NLS-1$
- put("cs", Messages.LanguageCodeType_15); //$NON-NLS-1$
- put("da", Messages.LanguageCodeType_17); //$NON-NLS-1$
- put("de", Messages.LanguageCodeType_19); //$NON-NLS-1$
- put("el", Messages.LanguageCodeType_21); //$NON-NLS-1$
- put("en", Messages.LanguageCodeType_23); //$NON-NLS-1$
- put("es", Messages.LanguageCodeType_25); //$NON-NLS-1$
- put("et", Messages.LanguageCodeType_27); //$NON-NLS-1$
- put("eu", Messages.LanguageCodeType_29); //$NON-NLS-1$
- put("fa", Messages.LanguageCodeType_31); //$NON-NLS-1$
- put("fi", Messages.LanguageCodeType_33); //$NON-NLS-1$
- put("fo", Messages.LanguageCodeType_35); //$NON-NLS-1$
- put("fr", Messages.LanguageCodeType_37); //$NON-NLS-1$
- put("gd", Messages.LanguageCodeType_39); //$NON-NLS-1$
- put("he", Messages.LanguageCodeType_41); //$NON-NLS-1$
- put("hi", Messages.LanguageCodeType_43); //$NON-NLS-1$
- put("hr", Messages.LanguageCodeType_45); //$NON-NLS-1$
- put("hu", Messages.LanguageCodeType_47); //$NON-NLS-1$
- put("id", Messages.LanguageCodeType_49); //$NON-NLS-1$
- put("is", Messages.LanguageCodeType_51); //$NON-NLS-1$
- put("it", Messages.LanguageCodeType_53); //$NON-NLS-1$
- put("ja", Messages.LanguageCodeType_55); //$NON-NLS-1$
- put("ko", Messages.LanguageCodeType_57); //$NON-NLS-1$
- put("lt", Messages.LanguageCodeType_59); //$NON-NLS-1$
- put("lv", Messages.LanguageCodeType_61); //$NON-NLS-1$
- put("mk", Messages.LanguageCodeType_63); //$NON-NLS-1$
- put("ms", Messages.LanguageCodeType_65); //$NON-NLS-1$
- put("mt", Messages.LanguageCodeType_67); //$NON-NLS-1$
- put("nl", Messages.LanguageCodeType_69); //$NON-NLS-1$
- put("no", Messages.LanguageCodeType_71); //$NON-NLS-1$
- put("pl", Messages.LanguageCodeType_73); //$NON-NLS-1$
- put("pt", Messages.LanguageCodeType_75); //$NON-NLS-1$
- put("rm", Messages.LanguageCodeType_77); //$NON-NLS-1$
- put("ro", Messages.LanguageCodeType_79); //$NON-NLS-1$
- put("ru", Messages.LanguageCodeType_81); //$NON-NLS-1$
- put("sk", Messages.LanguageCodeType_83); //$NON-NLS-1$
- put("sl", Messages.LanguageCodeType_85); //$NON-NLS-1$
- put("sq", Messages.LanguageCodeType_87); //$NON-NLS-1$
- put("sr", Messages.LanguageCodeType_89); //$NON-NLS-1$
- put("sv", Messages.LanguageCodeType_91); //$NON-NLS-1$
- put("sx", Messages.LanguageCodeType_93); //$NON-NLS-1$
- put("sz", Messages.LanguageCodeType_95); //$NON-NLS-1$
- put("th", Messages.LanguageCodeType_97); //$NON-NLS-1$
- put("tn", Messages.LanguageCodeType_99); //$NON-NLS-1$
- put("tr", Messages.LanguageCodeType_101); //$NON-NLS-1$
- put("ts", Messages.LanguageCodeType_103); //$NON-NLS-1$
- put("uk", Messages.LanguageCodeType_105); //$NON-NLS-1$
- put("ur", Messages.LanguageCodeType_107); //$NON-NLS-1$
- put("vi", Messages.LanguageCodeType_109); //$NON-NLS-1$
- put("xh", Messages.LanguageCodeType_111); //$NON-NLS-1$
- put("yi", Messages.LanguageCodeType_113); //$NON-NLS-1$
- put("zh", Messages.LanguageCodeType_115); //$NON-NLS-1$
- put("zu", Messages.LanguageCodeType_117); //$NON-NLS-1$
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LengthType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LengthType.java
deleted file mode 100644
index 70c5069fd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LengthType.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Meta-data processing type representing an length attribute value runtime type.
- * Does not support min and max values from MD. Length must be positive.
- * that implements IValidValues, IDefaultValue, IValidELValues.
- */
-public class LengthType extends IntegerType {
- private static final String INVALID_LENGTH = Messages.LengthType_invalid_integer;
- /**
- * Type coercion according to JSP 2.0 spec: JSP.1.14.2.1 Conversions from String values
- * Allows a percentage.
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- **/
- public boolean isValidValue(String value) {
- //FIXME: this is not right... px, em, etc. are also valid... and spaces between # and units are not
- //see http://www.w3.org/TR/html401/types.html#h-6.6
- if (value == null) return true;
- String aValue = stripPercentIfPresent(value);
- try {
- int anInt = Integer.valueOf(aValue).intValue();
- if (anInt < 0)
- addNewValidationMessage(INVALID_LENGTH);
-
- return getValidationMessages().isEmpty();
- } catch (NumberFormatException e) {
- addNewValidationMessage(INVALID_LENGTH);
- return false;
- }
-
- }
- //will strip '%' if at end of string. If string is only '%', then will return empty which will be invalid.
- private String stripPercentIfPresent(String value) {
- //"%" is allowed at end
- if (value.length() > 0
- && value.lastIndexOf('%') == value.length() - 1)
- return value.replaceFirst("%",""); //$NON-NLS-1$ //$NON-NLS-2$
-
- return value;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LinkType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LinkType.java
deleted file mode 100644
index ead9b79ce..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LinkType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a Link type.
- *
- * Possible values are only common types; not all
- * Valid values just checks for a non-empty value, and not against known link types
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class LinkType extends EnumerationType implements IPossibleValues{
- //common link types
- private String[] _linkTypes = new String[]{
- "Alternate", //$NON-NLS-1$
- "Stylesheet", //$NON-NLS-1$
- "Start", //$NON-NLS-1$
- "Next", //$NON-NLS-1$
- "Prev", //$NON-NLS-1$
- "Contents", //$NON-NLS-1$
- "Index", //$NON-NLS-1$
- "Glossary", //$NON-NLS-1$
- "Copyright", //$NON-NLS-1$
- "Chapter", //$NON-NLS-1$
- "Section", //$NON-NLS-1$
- "Subsection", //$NON-NLS-1$
- "Appendix", //$NON-NLS-1$
- "Help", //$NON-NLS-1$
- "Bookmark" //$NON-NLS-1$
- };
-
-
- @Override
- protected String getReturnType() {
- return "java.lang.String"; //$NON-NLS-1$
- }
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- for(int i=0;i<_linkTypes.length;i++){
- PossibleValue pv = new PossibleValue(_linkTypes[i].toString(), _linkTypes[i].toString());
- ret.add(pv);
- }
- return ret;
- }
-
- public boolean isValidValue(String value) {
- if (value == null || value.trim().length() == 0){
- addNewValidationMessage(Messages.LinkType_16);
- return false;
- }
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LocaleType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LocaleType.java
deleted file mode 100644
index 29607ca36..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LocaleType.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- * Vadim Dmitriev
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Meta-data processing type representing a Locale Code type.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class LocaleType extends MultiSignatureEnumerationType implements IPossibleValues, IValidValues, IValidELValues{
- private List<IPossibleValue> _pvs;
- @Override
- protected String[] getReturnTypes() {
- return new String[]{"java.util.Locale", "java.lang.String"}; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public List getPossibleValues() {
- if (_pvs == null){
- _pvs = new ArrayList();
- Locale[]_locales = getLocales();
- for(int i=0;i<_locales.length;i++){
- PossibleValue pv = new PossibleValue(_locales[i].toString(), _locales[i].getDisplayName());
- _pvs.add(pv);
- }
- Collections.sort(_pvs, new Comparator(){
- public int compare(Object o1, Object o2) {
- PossibleValue pv1 = (PossibleValue)o1;
- PossibleValue pv2 = (PossibleValue)o2;
- return (pv1.getDisplayValue().compareTo(pv2.getDisplayValue()));
- }
-
- });
- }
- return _pvs;
- }
-
- private Locale[] getLocales() {
- return Locale.getAvailableLocales();
- }
-
- public boolean isValidValue(String value) {
- Locale[]_locales = getLocales();
- for(int i=0;i<_locales.length;i++){
- Locale local = getLocales()[i];
- if (local.toString().equals(value))
- return true;
- }
- getValidationMessages().add(new ValidationMessage(Messages.LocaleType_1));
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LongType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LongType.java
deleted file mode 100644
index a7791e974..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/LongType.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Meta-data processing type representing a long attribute value runtime type
- * that implements IValidValues, IDefaultValue, IValidELValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class LongType extends NumberType {
- private static final String INVALID_LONG = Messages.LongType_invalid_long;
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "long";} //$NON-NLS-1$
-
- /**
- * Type coercion according to JSP 2.0 spec: JSP.1.14.2.1 Conversions from String values
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- **/
- public boolean isValidValue(String value) {
- try {
- Long aLong = Long.valueOf(value);
- exceedsMaxValue(aLong.longValue());
- lessThanMinValue(aLong.longValue());
- if (!(minFound || maxFound)){
- List validVals = getMDValidValues();
- if (!validVals.isEmpty()){
- if (!validVals.contains(value)){
- addNewValidationMessage(Messages.LongType_invalid_member);
- }
- }
- }
- return getValidationMessages().isEmpty();
- } catch (NumberFormatException e) {
- addNewValidationMessage(INVALID_LONG);
- return false;
- }
-
- }
-
- private void exceedsMaxValue(long aLong) {
- String strMax = getValidMaximumValue();
- if (strMax != null){
- try {
- long max = Long.valueOf(strMax).longValue();
- maxFound = true;
- if (aLong > max){
- addNewValidationMessage(NLS.bind(EXCEEDS_MAX, strMax));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
- private void lessThanMinValue(long aLong) {
- String strMin = getValidMinimumValue();
- if (strMin != null){
- try {
- long min = Long.valueOf(strMin).longValue();
- minFound = true;
- if (aLong < min){
- addNewValidationMessage(NLS.bind(LESS_THAN_MIN, strMin));
- }
- } catch (NumberFormatException e) {
- //TODO: ignore error???? or log it????
- }
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/Messages.java
deleted file mode 100644
index 447ef788f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/Messages.java
+++ /dev/null
@@ -1,1101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message bundle for attributevalue types/features
- *
- * <p>
- * <b>Provisional API - subject to change</b>
- * </p>
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.taglibprocessing.attributevalues.messages"; //$NON-NLS-1$
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
- /**
- * see messages.properties
- */
- public static String ActionType_navcase_display;
- /**
- * see messages.properties
- */
- public static String ActionType_invalid_value;
- /**
- * see messages.properties
- */
- public static String ActionType_invalid_empty_value;
- /**
- * see messages.properties
- */
- public static String BooleanType_invalid_values;
- /**
- * see messages.properties
- */
- public static String ContentType_MIME_not_empty;
- /**
- * see messages.properties
- */
- public static String ComponentBindingType_invalid_value;
- /**
- * see messages.properties
- */
- public static String ComponentIDType_invalid_as_el;
- /**
- * see messages.properties
- */
- public static String ComponentIDType_invalid_value;
- /**
- * see messages.properties
- */
- public static String DoubleType_invalid_double;
- /**
- * see messages.properties
- */
- public static String DoubleType_invalid_member;
- /**
- * see messages.properties
- */
- public static String FacesConfigConverterIDFeatures_converterid_empty;
- /**
- * see messages.properties
- */
- public static String FacesConfigIdentifierType_invalid_converter_id;
- /**
- * see messages.properties
- */
- public static String FacesConfigIdentifierType_invalid_validator_id;
- /**
- * see messages.properties
- */
- public static String FacesConfigValidatorIDFeatures_validatorid_empty;
- /**
- * see messages.properties
- */
- public static String IntegerType_invalid_integer;
- /**
- * see messages.properties
- */
- public static String IntegerType_invalid_member;
- /**
- * see messages.properties
- */
- public static String JavaClassType_invalid_type;
- /**
- * see messages.properties
- */
- public static String JavaClassType_not_found;
- /**
- * see messages.properties
- */
- public static String LongType_invalid_long;
- /**
- * see messages.properties
- */
- public static String LongType_invalid_member;
- /**
- * see messages.properties
- */
- public static String MethodBindingType_invalid_value;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_invalid;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_10;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_100;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_101;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_102;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_103;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_104;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_105;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_106;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_107;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_108;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_109;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_11;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_110;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_111;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_112;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_113;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_114;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_115;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_116;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_117;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_118;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_119;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_12;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_120;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_121;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_122;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_123;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_124;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_125;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_126;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_127;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_128;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_129;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_13;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_130;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_131;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_132;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_133;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_134;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_135;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_136;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_137;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_138;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_139;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_14;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_140;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_141;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_142;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_143;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_144;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_145;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_146;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_147;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_148;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_149;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_15;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_150;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_151;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_152;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_153;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_154;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_155;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_156;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_157;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_158;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_159;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_16;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_160;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_161;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_162;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_163;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_164;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_165;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_166;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_167;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_168;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_169;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_17;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_170;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_171;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_172;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_173;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_174;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_18;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_19;
- /**
- * see messages.properties
- */
- public static String CharacterType_0;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_2;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_20;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_21;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_22;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_23;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_24;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_25;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_26;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_27;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_28;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_29;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_3;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_30;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_31;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_32;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_33;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_34;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_35;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_36;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_37;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_38;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_39;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_4;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_40;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_41;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_42;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_43;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_44;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_45;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_46;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_47;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_48;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_49;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_5;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_50;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_51;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_52;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_53;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_54;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_55;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_56;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_57;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_58;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_59;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_6;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_60;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_61;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_62;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_63;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_64;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_65;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_66;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_67;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_68;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_69;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_7;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_70;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_71;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_72;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_73;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_74;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_75;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_76;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_77;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_78;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_79;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_8;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_80;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_81;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_82;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_83;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_84;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_85;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_86;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_87;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_88;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_89;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_9;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_0;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_1;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_7;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_9;
- /**
- * see messages.properties
- */
- public static String LinkType_16;
- /**
- * see messages.properties
- */
- public static String LocaleType_1;
- /**
- * see messages.properties
- */
- public static String WebPathType_1;
- /**
- * see messages.properties
- */
- public static String WebPathType_2;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_11;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_13;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_15;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_17;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_19;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_21;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_23;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_25;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_27;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_29;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_31;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_33;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_35;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_37;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_39;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_41;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_43;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_45;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_47;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_49;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_51;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_53;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_55;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_57;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_59;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_61;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_63;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_65;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_67;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_69;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_71;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_73;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_75;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_77;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_79;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_81;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_83;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_85;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_87;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_89;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_91;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_93;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_95;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_97;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_99;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_101;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_103;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_105;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_107;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_109;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_111;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_113;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_115;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_117;
- /**
- * see messages.properties
- */
- public static String LanguageCodeType_118;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_90;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_91;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_92;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_93;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_94;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_95;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_96;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_97;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_98;
- /**
- * see messages.properties
- */
- public static String CurrencyCodeType_99;
- /**
- * see messages.properties
- */
- public static String NumberType_max_val;
- /**
- * see messages.properties
- */
- public static String NumberType_min_val;
- /**
- * see messages.properties
- */
- public static String RelativePathType_0;
- /**
- * see messages.properties
- */
- public static String StringType_invalid_value;
- /**
- * see messages.properties
- */
- public static String ValueType_invalid_value;
- /**
- * see messages.properties
- */
- public static String ValueType_invalid_value_without_setter;
- /**
- * see messages.properties
- */
- public static String LengthType_invalid_integer;
- /**
- * see messages.properties
- */
- public static String ColorType_invalid_color;
-
- /**
- * see messages.properties
- */
- public static String Bundle_not_found_rb;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MethodBindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MethodBindingType.java
deleted file mode 100644
index 3409958d5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MethodBindingType.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Meta-data processing type representing an method-binding attribute value runtime type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class MethodBindingType extends ExpressionBindingType implements IValidELValues, IValidValues{
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues#getExpectedRuntimeType()
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException {
- String[] params = getParams();
-
- // need to "signaturize" each parameter
- for (int param = 0; param < params.length; param++)
- {
- params[param] = Signature.createTypeSignature(params[param],true);
- }
- final String runtimeType = getReturnType();
-
- String returnTypeSignature = null;
-
- if (runtimeType != null)
- {
- returnTypeSignature = Signature.createTypeSignature(runtimeType, true);
- }
- else
- {
- JSFCorePlugin.log(IStatus.INFO, "Missing metadata for trait "+RUNTIME_RETURN_TYPE+" for entity "+getMetaDataContext().getEntity()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (returnTypeSignature == null)
- {
- return null;
- }
-
- String methodSig = Signature.createMethodSignature(params, returnTypeSignature);
- return new CompositeType(methodSig, IAssignable.ASSIGNMENT_TYPE_NONE);
- }
-
- /**
- * Non-EL values are invalid for method bound attribute values
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- //if this is being called, we are being called in an non-EL context which is invalid.
- IValidationMessage msg = new ValidationMessage(Messages.MethodBindingType_invalid_value);
- getValidationMessages().add(msg);
- return false;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MultiSignatureEnumerationType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MultiSignatureEnumerationType.java
deleted file mode 100644
index 5b84c4b03..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/MultiSignatureEnumerationType.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Vadim Dmitriev and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Vadim Dmitriev - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-
-/**
- * Abstract meta-data processing type representing an enumeration attribute value
- * of multiple runtime types
- *
- * @author Vadim Dmitriev
- */
-public abstract class MultiSignatureEnumerationType extends AbstractEnumerationType {
-
- /**
- * @return return Java types as array of strings (i.e.
- * new String[]{"boolean", "java.lang.String"}, etc.)
- * Must not be null.
- */
- protected abstract String[] getReturnTypes();
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues#getExpectedRuntimeType()
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException {
- String[] types = getReturnTypes();
- int len = types.length;
-
- String[] signaturedTypes = new String[ len ];
- for( int i = 0; i < len; i++ )
- {
- signaturedTypes[ i ] = Signature.createTypeSignature(types[ i ], true);
- }
- return new CompositeType( signaturedTypes, getAssignmentType());
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberPatternType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberPatternType.java
deleted file mode 100644
index b5add42cb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberPatternType.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a numeric pattern type.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class NumberPatternType extends AbstractRootTypeDescriptor implements IPossibleValues{
- //should we ever decide to validate the patterns, extend EnumerationType
- final private static String[] PATTERNS = {
- "0.00", //$NON-NLS-1$
- "#,##0", //$NON-NLS-1$
- "#,##0.00", //$NON-NLS-1$
- "#,##0;(#,##0)", //$NON-NLS-1$
- "#,##0.00;(#,##0.00)", //$NON-NLS-1$
- "0.##E0", //$NON-NLS-1$
- "0%", //$NON-NLS-1$
- "0.00%" //$NON-NLS-1$
- };
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- for (int i=0;i<PATTERNS.length;i++){
- ret.add(new PossibleValue(PATTERNS[i]));
- }
- return ret;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberType.java
deleted file mode 100644
index 4ee78b9c8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/NumberType.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-
-/**
- * Abstract meta-data processing type representing a numeric attribute value runtime type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class NumberType extends EnumerationType{
- /**
- * flag indicating max value metadata was found
- */
- protected boolean maxFound = false;
- /**
- * flag indicating min value metadata was found
- */
- protected boolean minFound = false;
-
- /**
- * Validation message when value has exceeded maximum
- */
- protected String EXCEEDS_MAX = Messages.NumberType_max_val;
- /**
- * Validation message when value is less than minimum
- */
- protected String LESS_THAN_MIN = Messages.NumberType_min_val;
-
- /**
- * @return maximum value from property named IValidValues.VALID_VALUES_MAX_PROP_NAME
- */
- protected String getValidMaximumValue(){
- return getTraitValueAsString(IValidValues.VALID_VALUES_MAX_PROP_NAME);
- }
-
- /**
- * @return minimum value from property named IValidValues.VALID_VALUES_MIN_PROP_NAME
- */
- protected String getValidMinimumValue(){
- return getTraitValueAsString(IValidValues.VALID_VALUES_MIN_PROP_NAME);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ObjectType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ObjectType.java
deleted file mode 100644
index 07120d4a6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ObjectType.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-/**
- * Abstract meta-data processing type representing an Object attribute value runtime type
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public abstract class ObjectType extends DirectBindingType {
- // TODO: ????
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/PathType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/PathType.java
deleted file mode 100644
index 5f4f31142..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/PathType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-
-/**
- * EXPERIMENTAL - may change or dissappear
- *
- */
-public abstract class PathType extends AbstractRootTypeDescriptor {
-
- private IProject _project = null;
- private final List<IValidationMessage> _validationMsgs = new ArrayList<IValidationMessage>(1);
-
- /**
- * Constructor
- */
- public PathType() {
- super();
- }
-
- /**
- * @return IProject
- */
- protected IProject getProject() {
- if( _project == null )
- {
- final IWorkspaceContextResolver wkspaceResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver( getStructuredDocumentContext() );
- _project = wkspaceResolver.getProject();
- }
-
- return _project;
- }
-
- /**
- * @return list of {@link IValidationMessage}
- */
- public List<IValidationMessage> getValidationMessages() {
- return _validationMsgs;
- }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/RelativePathType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/RelativePathType.java
deleted file mode 100644
index 82dd38068..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/RelativePathType.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Path is relative to project
- * <b>EXPERIMENTAL</b> - may change or dissappear
- *
- */
-public class RelativePathType extends PathType implements
- IMetaDataEnabledFeature, IValidValues{
-
- public boolean isValidValue(String value) {
- //is this a relative path, or absolute url?
- try {
- new URL(value);
- //not much else we what to do for now
- return true;
- } catch (MalformedURLException e) {
- //is this a valid path relative to the
- IProject project = getProject();
- IFile file= project.getFile(new Path(value));
- if (! file.exists())
- getValidationMessages().add(new ValidationMessage( value+Messages.RelativePathType_0));
-
- return getValidationMessages().size() == 0;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ResourceBundleType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ResourceBundleType.java
deleted file mode 100644
index 65f2fc973..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ResourceBundleType.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Vadim Dmitriev - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.core.internal.tld.LoadBundleUtil;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-
-/**
- * Meta-data processing type representing a path to resource bundle on classpath
- * Patch by Vadim Dmitriev. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=203307.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Vadim Dmitriev
- *
- *
- */
-public class ResourceBundleType extends PathType implements IValidValues
-{
- public boolean isValidValue( String value )
- {
- try
- {
- IProject project = getProject();
- IStorage bundle = LoadBundleUtil.getLoadBundleResource( project , value );
- if( bundle != null )
- {
- return true;
- }
- }
- catch (CoreException e)
- {
- //error message is generated later
- }
-
- final String message =
- MessageFormat.format(Messages.Bundle_not_found_rb, value);
- getValidationMessages().add(new ValidationMessage(message, "", IStatus.ERROR)); //$NON-NLS-1$
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ScriptType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ScriptType.java
deleted file mode 100644
index 9df83d411..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ScriptType.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor;
-
-/**
- * Represents script type
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class ScriptType extends AbstractRootTypeDescriptor {
-//
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/StringType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/StringType.java
deleted file mode 100644
index fa8f3af84..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/StringType.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a String attribute value runtime type
- * that implements IPossibleValues, IValidValues and IDefaultValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class StringType extends EnumerationType implements IValidValues,
- IPossibleValues, IDefaultValue {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.taglibprocessing.attributevalues.EnumerationType#getReturnType()
- */
- protected String getReturnType(){ return "java.lang.String";} //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value) {
- List vals = getMDValidValues();
- if (vals.isEmpty())
- return true;
-
- //if the value is empty but there is a default value, consider it valid
- if (getDefaultValue() != null && (value == null || value.trim().equals(""))) //$NON-NLS-1$
- return true;
-
- if(! vals.contains(value)){
- addNewValidationMessage(Messages.StringType_invalid_value);
- }
- return getValidationMessages().isEmpty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues#getPossibleValues()
- */
- public List getPossibleValues() {
- List pvs = getMDPossibleValues();
- if (pvs.isEmpty())
- return EMPTY_LIST;
-
- List pdvs = getMDPossibleValuesForDisplay();
-
- //if there are no display vals or the meta-data list sizes are different, use the values list for display also
- if (pdvs.isEmpty() || pvs.size() != pdvs.size())
- pdvs = pvs;
-
- ImageDescriptor icon = getImage();
-
- String defaultValue = getDefaultValue();
- List ret = new ArrayList(pvs.size());
- for(int i=0;i<pvs.size();i++){
- PossibleValue pv = new PossibleValue((String)pvs.get(i), (String)pdvs.get(i));
- pv.setIcon(icon);
- pv.setIsDefault(((String)pvs.get(i)).equals(defaultValue));
- ret.add(pv);
- }
- return ret;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/TimeZoneType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/TimeZoneType.java
deleted file mode 100644
index 56af13dc8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/TimeZoneType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation., and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.TimeZone;
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.PossibleValue;
-
-/**
- * Meta-data processing type representing a TimeZone Code type.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- */
-
-public class TimeZoneType extends EnumerationType implements IPossibleValues, IValidValues{
- private String[] _timezones;
-
- @Override
- protected String getReturnType() {
- return "java.lang.String"; //$NON-NLS-1$
- }
-
- public List getPossibleValues() {
- List ret = new ArrayList();
- for(int i=0;i<getTimeZones().length;i++){
- PossibleValue pv = new PossibleValue(_timezones[i], _timezones[i]);
- ret.add(pv);
- }
- return ret;
- }
-
- private String[] getTimeZones() {
- if (_timezones == null)
- _timezones = TimeZone.getAvailableIDs();
- return _timezones;
- }
-
- public boolean isValidValue(String value) {
- for(int i=0;i<getTimeZones().length;i++){
- if (getTimeZones()[i].equals(value))
- return true;
- }
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/URIType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/URIType.java
deleted file mode 100644
index 889959be5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/URIType.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-
-/**
- * URI Type: attribute values are Uniform Resource Identifiers (URIs), as defined in RFC 2396.
- * URI attribute values may include full URIs such as http://www.foobar.com/ as well as relative URIs such as foo.html and ../foo/.
- * EXPERIMENTAL - will change or dissappear
- */
-public class URIType extends PathType implements IMetaDataEnabledFeature{
- //TODO: add validation... refactor or WebPath, RelativePath, etc.
-
- /**
- * Constructor
- */
- public URIType() {
- //
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueBindingType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueBindingType.java
deleted file mode 100644
index ef9c45535..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueBindingType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-
-/**
- * Meta-data processing type representing a Value Bound attribute value runtime type
- * that implements IValidValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class ValueBindingType extends ExpressionBindingType implements IValidELValues{
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues#getExpectedRuntimeType()
- */
- public CompositeType getExpectedRuntimeType() throws ELIsNotValidException {
- String returnType = getReturnType();
- if (returnType == null)
- return null;
-
- String methodSig = Signature.createTypeSignature(returnType, true);
- return new CompositeType(methodSig, getAssignmentValue());
- }
-
- /**
- * @return {@link IAssignable}.LHS or {@link IAssignable}.RHS
- */
- protected int getAssignmentValue(){
- return (getIsSetValueRequired() ? IAssignable.ASSIGNMENT_TYPE_LHS : 0) | IAssignable.ASSIGNMENT_TYPE_RHS;
-
- }
-
- /**
- * @return is runtime setter required?
- */
- protected boolean getIsSetValueRequired(){
- String value = getTraitValueAsString(RUNTIME_SETTER_REQUIRED);
- if (value == null || value.trim().length() == 0)
- return false;
- else if (value.trim().equals("true")) //$NON-NLS-1$
- return true;
- else
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueType.java
deleted file mode 100644
index 7c03faef2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/ValueType.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-
-/**
- * Meta-data processing type representing a "value" attribute
- * that implements IValidValues and IValidELValues
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author Gerry Kessler - Oracle
- */
-public class ValueType extends ValueBindingType implements IValidValues, IValidELValues {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.metadataprocessors.features.IValidValues#isValidValue(java.lang.String)
- */
- public boolean isValidValue(String value){
- //value can be a string or a value binding expression
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/WebPathType.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/WebPathType.java
deleted file mode 100644
index d01be0cdd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/WebPathType.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.ValidationMessage;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-
-/**
- * Path relative to web root
- * <b>EXPERIMENTAL</b> - may change or dissappear
- *
- */
-public class WebPathType extends PathType implements
- IMetaDataEnabledFeature, IValidValues{
-
- public boolean isValidValue(String value) {
- //is this a relative path, or absolute url?
- try {
- URL url = new URL(value);
- //if file protocol, see if it is valid? Otherwise assume ok.
- if (url.getProtocol().equals("file")){ //$NON-NLS-1$
- validateFileRelativeToWebRoot(url.getPath());
- }
- } catch (MalformedURLException e) {
- //is this a valid path relative to the
- if (value != null && value.length() > 1 && value.charAt(0) == '/') {
- validateFileRelativeToWebRoot(value);
- } else {
- //Bug 325490 - [JSF2.0] False warning from facelet validator when working with facelet pages in a sub-folder
- validateFileRelativeToCurrentFile(value);
- }
- }
- return getValidationMessages().size() == 0;
-
- }
-
- private void validateFileRelativeToWebRoot(String value) {
- IVirtualContainer webRoot = getWebRoot();
- if (! webRoot.exists()){
- getValidationMessages().add(new ValidationMessage( Messages.WebPathType_1));
- }
- else {
- IVirtualFile file = webRoot.getFile(new Path(value));
- if (!file.exists()) {
- //was this a valid file path string, or bogus url?
- getValidationMessages().add(new ValidationMessage(Messages.WebPathType_2));
- }
- //we could also validate the expected file-extensions from meta data
- }
-
- }
-
- private IVirtualContainer getWebRoot()
- {
- IVirtualContainer webRoot =
- ComponentCore.createComponent(getProject()).getRootFolder();
-
- return webRoot;
- }
-
- //Bug 325490 - [JSF2.0] False warning from facelet validator when working with facelet pages in a sub-folder
- private void validateFileRelativeToCurrentFile(String value) {
- IPath webContentPath = ComponentCore.createComponent(getProject()).getRootFolder().getUnderlyingFolder().getFullPath();
- final IWorkspaceContextResolver wkspaceResolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver( getStructuredDocumentContext() );
- IResource resource = wkspaceResolver.getResource();
- IPath filePath = resource.getFullPath();
- if (filePath.matchingFirstSegments(webContentPath) == webContentPath.segmentCount()) {
- filePath = filePath.removeFirstSegments(webContentPath.segmentCount());
- filePath = filePath.removeLastSegments(1);
- filePath = filePath.append(value);
- IVirtualFile file = getWebRoot().getFile(filePath);
- if (!file.exists()){
- getValidationMessages().add(new ValidationMessage(Messages.WebPathType_2));
- }
- }
- }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/messages.properties
deleted file mode 100644
index 22ddc87e5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/messages.properties
+++ /dev/null
@@ -1,278 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-IntegerType_invalid_integer=Value is not a valid integer.
-IntegerType_invalid_member=Value is not a member of the provided valid values
-LengthType_invalid_integer=Value is not a valid positive integer or positive integer percentage.
-LongType_invalid_long=Value is not a valid Long.
-LongType_invalid_member=Value is not a member of the provided valid values
-BooleanType_invalid_values=Valid values are "true" or "false"
-CurrencyCodeType_invalid=Invalid currency code
-CurrencyCodeType_10=Aruba, Guilders (also called Florins)
-CurrencyCodeType_100=Malta, Liri
-CurrencyCodeType_101=Mauritius, Rupees
-CurrencyCodeType_102=Maldives (Maldive Islands), Rufiyaa
-CurrencyCodeType_103=Malawi, Kwachas
-CurrencyCodeType_104=Mexico, Pesos
-CurrencyCodeType_105=Malaysia, Ringgits
-CurrencyCodeType_106=Mozambique, Meticais
-CurrencyCodeType_107=Namibia, Dollars
-CurrencyCodeType_108=Nigeria, Nairas
-CurrencyCodeType_109=Nicaragua, Cordobas
-CurrencyCodeType_11=Azerbaijan, Manats
-CurrencyCodeType_110=Norway, Krone
-CurrencyCodeType_111=Nepal, Nepal Rupees
-CurrencyCodeType_112=New Zealand, Dollars
-CurrencyCodeType_113=Oman, Rials
-CurrencyCodeType_114=Panama, Balboa
-CurrencyCodeType_115=Peru, Nuevos Soles
-CurrencyCodeType_116=Papua New Guinea, Kina
-CurrencyCodeType_117=Philippines, Pesos
-CurrencyCodeType_118=Pakistan, Rupees
-CurrencyCodeType_119=Poland, Zlotych
-CurrencyCodeType_12=Bosnia and Herzegovina, Convertible Marka
-CurrencyCodeType_120=Paraguay, Guarani
-CurrencyCodeType_121=Qatar, Rials
-CurrencyCodeType_122=Romania, Lei
-CurrencyCodeType_123=Russia, Rubles
-CurrencyCodeType_124=Rwanda, Rwanda Francs
-CurrencyCodeType_125=Saudi Arabia, Riyals
-CurrencyCodeType_126=Solomon Islands, Dollars
-CurrencyCodeType_127=Seychelles, Rupees
-CurrencyCodeType_128=Sudan, Dinars
-CurrencyCodeType_129=Sweden, Kronor
-CurrencyCodeType_13=Barbados, Dollars
-CurrencyCodeType_130=Singapore, Dollars
-CurrencyCodeType_131=Saint Helena, Pounds
-CurrencyCodeType_132=Slovenia, Tolars
-CurrencyCodeType_133=Slovakia, Koruny
-CurrencyCodeType_134=Sierra Leone, Leones
-CurrencyCodeType_135=Somalia, Shillings
-CurrencyCodeType_136=Seborga, Luigini
-CurrencyCodeType_137=Suriname, Dollars
-CurrencyCodeType_138=Principe and S\u00E3o Tome, Dobras
-CurrencyCodeType_139=El Salvador, Colones
-CurrencyCodeType_14=Bangladesh, Taka
-CurrencyCodeType_140=Syria, Pounds
-CurrencyCodeType_141=Swaziland, Emalangeni
-CurrencyCodeType_142=Thailand, Baht
-CurrencyCodeType_143=Tajikistan, Somoni
-CurrencyCodeType_144=Turkmenistan, Manats
-CurrencyCodeType_145=Tunisia, Dinars
-CurrencyCodeType_146=Tonga, Pa'anga
-CurrencyCodeType_147=Turkey, Liras [being phased out]
-CurrencyCodeType_148=Turkey, New Lira
-CurrencyCodeType_149=Trinidad and Tobago, Dollars
-CurrencyCodeType_15=Bulgaria, Leva
-CurrencyCodeType_150=Tuvalu, Tuvalu Dollars
-CurrencyCodeType_151=Taiwan, New Dollars
-CurrencyCodeType_152=Tanzania, Shillings
-CurrencyCodeType_153=Ukraine, Hryvnia
-CurrencyCodeType_154=Uganda, Shillings
-CurrencyCodeType_155=United States of America, Dollars
-CurrencyCodeType_156=Uruguay, Pesos
-CurrencyCodeType_157=Uzbekistan, Sums
-CurrencyCodeType_158=Venezuela, Bolivares
-CurrencyCodeType_159=Viet Nam, Dong
-CurrencyCodeType_16=Bahrain, Dinars
-CurrencyCodeType_160=Vanuatu, Vatu
-CurrencyCodeType_161=Samoa, Tala
-CurrencyCodeType_162=Communaut\u00E9 Financi\u00E8re Africaine BEAC Franc , Francs
-CurrencyCodeType_163=Silver, Ounces
-CurrencyCodeType_164=Gold, Ounces
-CurrencyCodeType_165=East Caribbean Dollars
-CurrencyCodeType_166=International Monetary Fund (IMF) Special Drawing Rights
-CurrencyCodeType_167=Communaut\u00E9 Financi\u00E8re Africaine BCEAO, Francs
-CurrencyCodeType_168=Palladium Ounces
-CurrencyCodeType_169=Comptoirs Francais du Pacifique, Francs
-CurrencyCodeType_17=Burundi, Francs
-CurrencyCodeType_170=Platinum, Ounces
-CurrencyCodeType_171=Yemen, Rials
-CurrencyCodeType_172=South Africa, Rand
-CurrencyCodeType_173=Zambia, Kwacha
-CurrencyCodeType_174=Zimbabwe, Zimbabwe Dollars
-CurrencyCodeType_18=Bermuda, Dollars
-CurrencyCodeType_19=Brunei Darussalam, Dollars
-CharacterType_0=Single unicode character is required
-CurrencyCodeType_2=United Arab Emirates, Dirhams
-CurrencyCodeType_20=Bolivia, Bolivianos
-CurrencyCodeType_21=Brazil, Brazil Real
-CurrencyCodeType_22=Bahamas, Dollars
-CurrencyCodeType_23=Bhutan, Ngultrum
-CurrencyCodeType_24=Botswana, Pulas
-CurrencyCodeType_25=Belarus, Rubles
-CurrencyCodeType_26=Belize, Dollars
-CurrencyCodeType_27=Canada, Dollars
-CurrencyCodeType_28=Congo/Kinshasa, Congolese Francs
-CurrencyCodeType_29=Switzerland, Francs
-CurrencyCodeType_3=Afghanistan, Afghanis
-CurrencyCodeType_30=Chile, Pesos
-CurrencyCodeType_31=China, Yuan Renminbi
-CurrencyCodeType_32=Colombia, Pesos
-CurrencyCodeType_33=Costa Rica, Colones
-CurrencyCodeType_34=Serbia, Dinars
-CurrencyCodeType_35=Cuba, Pesos
-CurrencyCodeType_36=Cape Verde, Escudos
-CurrencyCodeType_37=Cyprus, Pounds
-CurrencyCodeType_38=Czech Republic, Koruny
-CurrencyCodeType_39=Djibouti, Francs
-CurrencyCodeType_4=Albania, Leke
-CurrencyCodeType_40=Denmark, Kroner
-CurrencyCodeType_41=Dominican Republic, Pesos
-CurrencyCodeType_42=Algeria, Algeria Dinars
-CurrencyCodeType_43=Estonia, Krooni
-CurrencyCodeType_44=Egypt, Pounds
-CurrencyCodeType_45=Eritrea, Nakfa
-CurrencyCodeType_46=Ethiopia, Birr
-CurrencyCodeType_47=Euro Member Countries, Euro
-CurrencyCodeType_48=Fiji, Dollars
-CurrencyCodeType_49=Falkland Islands (Malvinas), Pounds
-CurrencyCodeType_5=Armenia, Drams
-CurrencyCodeType_50=United Kingdom, Pounds
-CurrencyCodeType_51=Georgia, Lari
-CurrencyCodeType_52=Guernsey, Pounds
-CurrencyCodeType_53=Ghana, Cedis
-CurrencyCodeType_54=Gibraltar, Pounds
-CurrencyCodeType_55=Gambia, Dalasi
-CurrencyCodeType_56=Guinea, Francs
-CurrencyCodeType_57=Guatemala, Quetzales
-CurrencyCodeType_58=Guyana, Dollars
-CurrencyCodeType_59=Hong Kong, Dollars
-CurrencyCodeType_6=Netherlands Antilles, Guilders (also called Florins)
-CurrencyCodeType_60=Honduras, Lempiras
-CurrencyCodeType_61=Croatia, Kuna
-CurrencyCodeType_62=Haiti, Gourdes
-CurrencyCodeType_63=Hungary, Forint
-CurrencyCodeType_64=Indonesia, Rupiahs
-CurrencyCodeType_65=Israel, New Shekels
-CurrencyCodeType_66=Isle of Man, Pounds
-CurrencyCodeType_67=India, Rupees
-CurrencyCodeType_68=Iraq, Dinars
-CurrencyCodeType_69=Iran, Rials
-CurrencyCodeType_7=Angola, Kwanza
-CurrencyCodeType_70=Iceland, Kronur
-CurrencyCodeType_71=Jersey, Pounds
-CurrencyCodeType_72=Jamaica, Dollars
-CurrencyCodeType_73=Jordan, Dinars
-CurrencyCodeType_74=Japan, Yen
-CurrencyCodeType_75=Kenya, Shillings
-CurrencyCodeType_76=Kyrgyzstan, Soms
-CurrencyCodeType_77=Cambodia, Riels
-CurrencyCodeType_78=Comoros, Francs
-CurrencyCodeType_79=Korea (North), Won
-CurrencyCodeType_8=Argentina, Pesos
-CurrencyCodeType_80=Korea (South), Won
-CurrencyCodeType_81=Kuwait, Dinars
-CurrencyCodeType_82=Cayman Islands, Dollars
-CurrencyCodeType_83=Kazakhstan, Tenge
-CurrencyCodeType_84=Laos, Kips
-CurrencyCodeType_85=Lebanon, Pounds
-CurrencyCodeType_86=Sri Lanka, Rupees
-CurrencyCodeType_87=Liberia, Dollars
-CurrencyCodeType_88=Lesotho, Maloti
-CurrencyCodeType_89=Lithuania, Litai
-CurrencyCodeType_9=Australia, Dollars
-LanguageCodeType_0=ar Arabic (needs subtype)
-LanguageCodeType_1=Invalid language code
-LanguageCodeType_101=tr Turkish
-LanguageCodeType_103=ts Tsonga
-LanguageCodeType_105=uk Ukrainian
-LanguageCodeType_107=ur Urdu
-LanguageCodeType_109=vi Vietnamese
-LanguageCodeType_11=br Breton
-LanguageCodeType_111=xh Xhosa
-LanguageCodeType_113=yi Yiddish
-LanguageCodeType_115=zh Chinese (needs subtype)
-LanguageCodeType_117=zu Zulu
-LanguageCodeType_118=af Afrikaans
-LanguageCodeType_13=ca Catalan
-LanguageCodeType_15=cs Czech
-LanguageCodeType_17=da Danish
-LanguageCodeType_19=de German (Standard)
-LanguageCodeType_21=el Greek
-LanguageCodeType_23=en English
-LanguageCodeType_25=es Spanish (Spain)
-LanguageCodeType_27=et Estonian
-LanguageCodeType_29=eu Basque
-LanguageCodeType_31=fa Farsi
-LanguageCodeType_33=fi Finnish
-LanguageCodeType_35=fo Faeroese
-LanguageCodeType_37=fr French (Standard)
-LanguageCodeType_39=gd Gaelic (Scotland)
-LanguageCodeType_41=he Hebrew
-LanguageCodeType_43=hi Hindi
-LanguageCodeType_45=hr Croatian
-LanguageCodeType_47=hu Hungarian
-LanguageCodeType_49=id Indonesian
-LanguageCodeType_51=is Icelandic
-LanguageCodeType_53=it Italian (Standard)
-LanguageCodeType_55=ja Japanese
-LanguageCodeType_57=ko Korean
-LanguageCodeType_59=lt Lithuanian
-LanguageCodeType_61=lv Latvian
-LanguageCodeType_63=mk Macedonian
-LanguageCodeType_65=ms Malaysian
-LanguageCodeType_67=mt Maltese
-LanguageCodeType_69=nl Dutch (Standard)
-LanguageCodeType_7=be Belarusian
-LanguageCodeType_71=no Norwegian (Bokmal/Nynorsk)
-LanguageCodeType_73=pl Polish
-LanguageCodeType_75=pt Portuguese (Standard)
-LanguageCodeType_77=rm Rhaeto-Romanic
-LanguageCodeType_79=ro Romanian
-LanguageCodeType_81=ru Russian
-LanguageCodeType_83=sk Slovak
-LanguageCodeType_85=sl Slovenian
-LanguageCodeType_87=sq Albanian
-LanguageCodeType_89=sr Serbian (Cyrillic/Latin)
-LanguageCodeType_9=bg Bulgarian
-LinkType_16=Link type value must not be empty
-LocaleType_1=Invalid locale value
-WebPathType_1=Web root path not found
-WebPathType_2=Invalid value
-LanguageCodeType_91=sv Swedish
-LanguageCodeType_93=sx Sutu
-LanguageCodeType_95=sz Sami (Lappish)
-LanguageCodeType_97=th Thai
-LanguageCodeType_99=tn Setswana
-CurrencyCodeType_90=Latvia, Lati
-CurrencyCodeType_91=Libya, Dinars
-CurrencyCodeType_92=Morocco, Dirhams
-CurrencyCodeType_93=Moldova, Lei
-CurrencyCodeType_94=Madagascar, Ariary
-CurrencyCodeType_95=Macedonia, Denars
-CurrencyCodeType_96=Myanmar (Burma), Kyats
-CurrencyCodeType_97=Mongolia, Tugriks
-CurrencyCodeType_98=Macau, Patacas
-CurrencyCodeType_99=Mauritania, Ouguiyas
-NumberType_max_val=Value exceeds maximum of {0}
-NumberType_min_val=Value is less than minimum of {0}
-RelativePathType_0=: path not found
-DoubleType_invalid_double=Value is not a valid double.
-DoubleType_invalid_member=Value is not a member of the provided valid values
-StringType_invalid_value=Value is not valid.
-FacesConfigIdentifierType_invalid_validator_id= {0} validator id is is not registered.
-FacesConfigIdentifierType_invalid_converter_id= {0} converter id is not registered.
-FacesConfigConverterIDFeatures_converterid_empty=Converter ids must not be null or empty.
-FacesConfigValidatorIDFeatures_validatorid_empty=Validator ids must not be null or empty.
-ValueType_invalid_value_without_setter=This 'value' attribute value must be a value binding expression that can take a value assignment.
-ValueType_invalid_value=The 'value' attribute must be a non-zero length String or be a value binding expression.
-ComponentBindingType_invalid_value=The 'binding' attribute requires an EL value binding reference to a UIComponent.
-ComponentIDType_invalid_as_el='id' attributes must be Strings. Consider using 'binding' attribute instead.
-ComponentIDType_invalid_value=The 'id' attribute must be a non-zero length String and be uniquely defined on the page.
-ActionType_invalid_value=The action value does not match a navigation case outcome.
-ActionType_invalid_empty_value=The action attribute must be a non-zero length String or a method binding matching a navigation case outcome.
-ActionType_navcase_display={0}: goto {1}
-ContentType_MIME_not_empty=Content (MIME) type must not be empty
-MethodBindingType_invalid_value=MethodBinding attribute values must be EL expressions.
-JavaClassType_invalid_type=Value for type attribute must be valid Java class and not empty.
-JavaClassType_not_found=Java type not found, not instantiable, or does implement correct interfaces or extend correct superclass.
-ColorType_invalid_color=Value is not a valid color.
-Bundle_not_found_rb=Resource bundle {0} cannot be found on classpath
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/package-info.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/package-info.java
deleted file mode 100644
index 468104b7d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/taglibprocessing/attributevalues/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Gerry Kessler/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Provides type system for tag attribute values so that the
- * org.eclipse.jst.jsf.core.metadataprocessors.features can be applied.
- *
- * A type is added using the org.eclipse.jst.jsf.core.AttributeValueRuntimeTypes extension point.
- * These types are referenced using the design-time metadata framework in org.eclipse.jst.jsf.common
- * The org.eclipse.jst.jsf.metadataprocessors.features provides the interesting tooling services based upon the type.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.jsf.taglibprocessing.attributevalues;
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/AbstractXMLViewValidationStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/AbstractXMLViewValidationStrategy.java
deleted file mode 100644
index 5be7a8ad9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/AbstractXMLViewValidationStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.jst.jsf.common.dom.DOMAdapter;
-import org.eclipse.jst.jsf.common.internal.policy.IIdentifiable;
-
-/**
- * A strategy that validates JSF views that are defined in XML format.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractXMLViewValidationStrategy implements IIdentifiable<String>
-{
- private final String _id;
- private final String _displayName;
-
- /**
- * @param id
- * @param displayName
- */
- public AbstractXMLViewValidationStrategy(final String id, final String displayName)
- {
- _id = id;
- _displayName = displayName;
- }
-
- /**
- * @param domAdapter
- */
- public abstract void validate(final DOMAdapter domAdapter);
-
- /**
- * @param domAdapter
- * @return true if this validator is interested in validating this node
- */
- public abstract boolean isInteresting(final DOMAdapter domAdapter);
-
- public final String getId()
- {
- return _id;
- }
-
- public String getDisplayName()
- {
- return _displayName;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ELValidationPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ELValidationPreferences.java
deleted file mode 100644
index 522042e06..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ELValidationPreferences.java
+++ /dev/null
@@ -1,767 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Model object for EL validation preferences
- *
- * @author cbateman
- */
-public class ELValidationPreferences implements IJSFPreferenceModel
-{
- private final static String KEY_ENABLE_BUILD_VALIDATION =
- "org.eclipse.jst.jsf.ui.ValidateJSFELBuild"; //$NON-NLS-1$
- private final static boolean DEFAULT_ENABLE_BUILD_VALIDATION = true;
-
- private final static String KEY_ENABLE_INCREMENTAL_VALIDATION =
- "org.eclipse.jst.jsf.ui.ValidateJSFELIncremental"; //$NON-NLS-1$
- private final static boolean DEFAULT_ENABLE_INCREMENTAL_VALIDATION = false;
-
-
- private boolean _enableBuildValidation;
- private boolean _enableIncrementalValidation;
- private int[] _severities;
-
- /**
- * Loads the object from the preference store provided
- *
- * @param prefStore
- */
- public void load(IPreferenceStore prefStore)
- {
- if (!prefStore.contains(KEY_ENABLE_BUILD_VALIDATION))
- {
- prefStore.setDefault(KEY_ENABLE_BUILD_VALIDATION, DEFAULT_ENABLE_BUILD_VALIDATION);
- }
- _enableBuildValidation =
- prefStore.getBoolean(KEY_ENABLE_BUILD_VALIDATION);
-
- if (!prefStore.contains(KEY_ENABLE_INCREMENTAL_VALIDATION))
- {
- prefStore.setDefault(KEY_ENABLE_INCREMENTAL_VALIDATION, DEFAULT_ENABLE_INCREMENTAL_VALIDATION);
- }
- _enableIncrementalValidation =
- prefStore.getBoolean(KEY_ENABLE_INCREMENTAL_VALIDATION);
-
- loadSeverities(prefStore);
- }
-
- private void loadSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
-
- for (int i = 0; i < DiagnosticFactory.NUM_IDS; i++)
- {
- final String key = getKeyById(i);
-
- if (!prefStore.contains(key))
- {
- final int diagSeverity = getDefaultSeverity(i);
- final Severity severity = mapDiagToSeverity(diagSeverity);
-
- prefStore.setDefault(key, severity.toString());
- }
- final String storedSeverity = prefStore.getString(key);
- severities[i] = mapSeverityToDiag(storedSeverity);
- }
- }
- /**
- * Copies the object into the preference store but DOES NOT SAVE IT
- *
- * @param prefStore
- */
- public void commit(IPreferenceStore prefStore)
- {
- prefStore.setValue(KEY_ENABLE_BUILD_VALIDATION, _enableBuildValidation);
- prefStore.setValue(KEY_ENABLE_INCREMENTAL_VALIDATION,
- _enableIncrementalValidation);
- commitSeverities(prefStore);
- }
-
- private void commitSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
-
- for (int i = 0; i < severities.length; i++)
- {
- final String key = getKeyById(i);
- prefStore.setValue(key
- , mapDiagToSeverity(severities[i]).toString());
- }
- }
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults()
- {
- setEnableBuildValidation(DEFAULT_ENABLE_BUILD_VALIDATION);
- setEnableIncrementalValidation(DEFAULT_ENABLE_INCREMENTAL_VALIDATION);
- setProblemSeverityDefaults();
- }
-
- private void setProblemSeverityDefaults()
- {
- final int[] severities = getSeverities();
-
- for (int i = 0; i < DiagnosticFactory.NUM_IDS; i++)
- {
- severities[i] = getDefaultSeverity(i);
- }
- }
-
- public Object getValueByKey(IScopeContext context, String key) {
- // ignore context for now; will be used when we have project overrides
- if (KEY_ENABLE_BUILD_VALIDATION.equals(key))
- {
- return Boolean.valueOf(isEnableBuildValidation());
- }
- else if (KEY_ENABLE_INCREMENTAL_VALIDATION.equals(key))
- {
- return Boolean.valueOf(isEnableIncrementalValidation());
- }
- else
- {
- try
- {
- final Severity severity = getSeverity(key);
- return severity.toString();
- }
- catch (IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
- }
-
- return null; // not found
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#getStoredValueByKey(org.eclipse.core.runtime.preferences.IScopeContext, java.lang.String)
- */
- public Object getStoredValueByKey(IScopeContext context, String key) {
- // ignore context for now; will be used when we have project overrides
- if (KEY_ENABLE_BUILD_VALIDATION.equals(key))
- {
- return Boolean.valueOf(context.getNode("org.eclipse.jst.jsf.ui").getBoolean(key, true)); //$NON-NLS-1$
- }
- else if (KEY_ENABLE_INCREMENTAL_VALIDATION.equals(key))
- {
- return Boolean.valueOf(context.getNode("org.eclipse.jst.jsf.ui").getBoolean(key, false)); //$NON-NLS-1$
- }
- else
- {
- try
- {
- return context.getNode("org.eclipse.jst.jsf.core").get(key, mapDiagToSeverity(getDefaultSeverity(getIdByKey(key))).toString()); //$NON-NLS-1$
- }
- catch (IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
- }
-
- return null; // not found
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#setValueByKey(org.eclipse.core.runtime.preferences.IScopeContext, java.lang.String, java.lang.Object)
- */
- public Object setValueByKey(IScopeContext context, String key, Object value)
- {
- // ignore context for now; will be used when we have project overrides
- if (KEY_ENABLE_BUILD_VALIDATION.equals(key))
- {
- boolean oldValue = isEnableBuildValidation();
- boolean newValue = ((Boolean)value).booleanValue();
- setEnableBuildValidation(newValue);
- return Boolean.valueOf(oldValue);
- }
- else if (KEY_ENABLE_INCREMENTAL_VALIDATION.equals(key))
- {
- boolean oldValue = isEnableIncrementalValidation();
- boolean newValue = ((Boolean)value).booleanValue();
- setEnableIncrementalValidation(newValue);
- return Boolean.valueOf(oldValue);
- }
- else
- {
- final Severity oldValue = getSeverity(key);
- setSeverity(key, (Severity)value);
- return oldValue;
- }
- }
-
- /**
- * @return the build validation enablement
- */
- public boolean isEnableBuildValidation()
- {
- return _enableBuildValidation;
- }
-
- /**
- * @return the incremental validation enablement
- */
- public boolean isEnableIncrementalValidation()
- {
- return _enableIncrementalValidation;
- }
-
- /**
- * @param enableBuildValidation
- */
- public void setEnableBuildValidation(boolean enableBuildValidation) {
- _enableBuildValidation = enableBuildValidation;
- }
-
- /**
- * @param enableIncrementalValidation
- */
- public void setEnableIncrementalValidation(boolean enableIncrementalValidation) {
- _enableIncrementalValidation = enableIncrementalValidation;
- }
-
- /**
- * @param key
- * @return the severity
- */
- public Severity getSeverity(final String key)
- {
- final int severityDiag = _severities[getIdByKey(key)];
- final Severity severity = mapDiagToSeverity(severityDiag);
- return severity;
- }
-
- /**
- * @param key
- * @param severity
- */
- public void setSeverity(final String key, final Severity severity)
- {
- final int newSeverityDiag = mapSeverityToDiag(severity.toString());
- final int diagId = getIdByKey(key);
- _severities[diagId] = newSeverityDiag;
- }
-
- /**
- * @param diagnosticId
- * @return the severity as configured for diagnosticId. The value
- * is relative to the Diagnostic class severity scheme
- */
- public final int getDiagnosticSeverity(final int diagnosticId)
- {
- return getSeverities()[diagnosticId];
- }
-
- private int[] getSeverities()
- {
- if (_severities == null)
- {
- _severities = new int[DiagnosticFactory.NUM_IDS];
- }
-
- return _severities;
- }
-
- /**
- * @param diagSeverity
- * @return a Severity preference value for a diagnostic severity
- */
- public static Severity mapDiagToSeverity(int diagSeverity)
- {
- switch(diagSeverity)
- {
- case Diagnostic.ERROR:
- return Severity.ERROR;
- case Diagnostic.WARNING:
- return Severity.WARNING;
- default:
- return Severity.IGNORE;
- }
- }
-
- /**
- * @param severity
- * @return a Diagnostic severity level for a severity pref string
- */
- public static int mapSeverityToDiag(String severity)
- {
- if ("error".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.ERROR;
- }
- else if ("warning".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.WARNING;
- }
- else if ("ignore".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.OK;
- }
- else
- {
- throw new IllegalArgumentException("Invalid enum name: "+severity); //$NON-NLS-1$
- }
- }
-
- /**
- * @param diagnosticId
- * @return the default severity of a diagnostic
- */
- public static int getDefaultSeverity(final int diagnosticId)
- {
- switch(diagnosticId)
- {
- case DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.MEMBER_NOT_FOUND_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.VARIABLE_NOT_FOUND_ID:
- return Diagnostic.INFO;
- case DiagnosticFactory.MISSING_CLOSING_EXPR_BRACKET_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.EMPTY_EL_EXPRESSION_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_DOT_WITH_VALUEB_NULL_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID:
- return Diagnostic.WARNING;
- case DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID:
- return Diagnostic.ERROR;
- case DiagnosticFactory.MEMBER_IS_INTERMEDIATE_ID:
- return Diagnostic.WARNING;
- default:
- throw new IllegalArgumentException("Diagnostic Id: "+ diagnosticId +" is out of range"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @param diagnosticId
- * @return the preference key for the corresponding diagnosticId in the el DiagnosticFactory
- */
- public static String getKeyById(final int diagnosticId)
- {
- switch(diagnosticId)
- {
- case DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID:
- return BINARY_OP_BOTH_OPERANDS_NULL;
- case DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID:
- return BINARY_OP_POSSIBLE_DIVISION_BY_ZERO;
- case DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID:
- return BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION;
- case DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID:
- return BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME;
- case DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID:
- return BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME;
- case DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID:
- return BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN;
- case DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID:
- return BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS;
- case DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID:
- return BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME;
- case DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID:
- return BINARY_OP_NO_AVAILABLE_TYPE_COERCION;
- case DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID:
- return BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS;
- case DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID:
- return UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME;
- case DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID:
- return UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE;
- case DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID:
- return UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO;
- case DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID:
- return UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION;
- case DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID:
- return UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN;
- case DiagnosticFactory.TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID:
- return TERNARY_OP_CHOICE_IS_ALWAYS_SAME;
- case DiagnosticFactory.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID:
- return TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN;
- case DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID:
- return UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED;
- case DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID:
- return CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING;
- case DiagnosticFactory.MEMBER_NOT_FOUND_ID:
- return MEMBER_NOT_FOUND;
- case DiagnosticFactory.VARIABLE_NOT_FOUND_ID:
- return VARIABLE_NOT_FOUND;
- case DiagnosticFactory.MISSING_CLOSING_EXPR_BRACKET_ID:
- return MISSING_CLOSING_EXPR_BRACKET;
- case DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID:
- return GENERAL_SYNTAX_ERROR;
- case DiagnosticFactory.EMPTY_EL_EXPRESSION_ID:
- return EMPTY_EL_EXPRESSION;
- case DiagnosticFactory.BINARY_OP_DOT_WITH_VALUEB_NULL_ID:
- return BINARY_OP_DOT_WITH_VALUEB_NULL;
- case DiagnosticFactory.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID:
- return BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY;
- case DiagnosticFactory.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID:
- return POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS;
- case DiagnosticFactory.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID:
- return BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME;
- case DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID:
- return BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE;
- case DiagnosticFactory.MEMBER_IS_INTERMEDIATE_ID:
- return MEMBER_IS_INTERMEDIATE;
- default:
- throw new IllegalArgumentException("Diagnostic Id: "+ diagnosticId +" is out of range"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @param key
- * @return the preference key for the corresponding diagnosticId in the el DiagnosticFactory
- */
- public static int getIdByKey(final String key)
- {
- if (BINARY_OP_BOTH_OPERANDS_NULL.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID;
- }
- else if (BINARY_OP_POSSIBLE_DIVISION_BY_ZERO.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID;
- }
- else if (BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID;
- }
- else if (BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID;
- }
- else if (BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID;
- }
- else if (BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID;
- }
- else if (BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID;
- }
- else if (BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID;
- }
- else if (BINARY_OP_NO_AVAILABLE_TYPE_COERCION.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID;
- }
- else if (BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID;
- }
- else if (UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID;
- }
- else if (UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID;
- }
- else if (UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID;
- }
- else if (UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID;
- }
- else if (UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID;
- }
- else if (TERNARY_OP_CHOICE_IS_ALWAYS_SAME.equals(key))
- {
- return DiagnosticFactory.TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID;
- }
- else if (TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN.equals(key))
- {
- return DiagnosticFactory.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID;
- }
- else if (UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED.equals(key))
- {
- return DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID;
- }
- else if (CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING.equals(key))
- {
- return DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID;
- }
- else if (MEMBER_NOT_FOUND.equals(key))
- {
- return DiagnosticFactory.MEMBER_NOT_FOUND_ID;
- }
- else if (VARIABLE_NOT_FOUND.equals(key))
- {
- return DiagnosticFactory.VARIABLE_NOT_FOUND_ID;
- }
- else if (MISSING_CLOSING_EXPR_BRACKET.equals(key))
- {
- return DiagnosticFactory.MISSING_CLOSING_EXPR_BRACKET_ID;
- }
- else if (GENERAL_SYNTAX_ERROR.equals(key))
- {
- return DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID;
- }
- else if (EMPTY_EL_EXPRESSION.equals(key))
- {
- return DiagnosticFactory.EMPTY_EL_EXPRESSION_ID;
- }
- else if (BINARY_OP_DOT_WITH_VALUEB_NULL.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_DOT_WITH_VALUEB_NULL_ID;
- }
- else if (BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID;
- }
- else if (POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS.equals(key))
- {
- return DiagnosticFactory.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID;
- }
- else if (BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME.equals(key))
- {
- return DiagnosticFactory.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID;
- }
- else if (BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE.equals(key))
- {
- return DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID;
- }
- else if (MEMBER_IS_INTERMEDIATE.equals(key))
- {
- return DiagnosticFactory.MEMBER_IS_INTERMEDIATE_ID;
- }
- else
- {
- throw new IllegalArgumentException("Severity Key: "+ key); //$NON-NLS-1$
- }
- }
-
- /**
- * e.g. createQualifiedKeyName("foo") -> org.eclipse.jst.jsf.core.foo
- * @param baseName
- * @return a plugin qualified key given the baseName
- *
- */
- private static String createQualifiedKeyName(final String baseName)
- {
- return JSFCorePlugin.PLUGIN_ID + "." + baseName; //$NON-NLS-1$
- }
-
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_BOTH_OPERANDS_NULL =
- createQualifiedKeyName("BINARY_OP_BOTH_OPERANDS_NULL"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_POSSIBLE_DIVISION_BY_ZERO =
- createQualifiedKeyName("BINARY_OP_POSSIBLE_DIVISION_BY_ZERO"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION =
- createQualifiedKeyName("BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME =
- createQualifiedKeyName("BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME =
- createQualifiedKeyName("BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN =
- createQualifiedKeyName("BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS =
- createQualifiedKeyName("BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME =
- createQualifiedKeyName("BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_NO_AVAILABLE_TYPE_COERCION =
- createQualifiedKeyName("BINARY_OP_NO_AVAILABLE_TYPE_COERCION"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS =
- createQualifiedKeyName("BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME =
- createQualifiedKeyName("UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE =
- createQualifiedKeyName("UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO =
- createQualifiedKeyName("UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION =
- createQualifiedKeyName("UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN =
- createQualifiedKeyName("UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String TERNARY_OP_CHOICE_IS_ALWAYS_SAME =
- createQualifiedKeyName("TERNARY_OP_CHOICE_IS_ALWAYS_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN =
- createQualifiedKeyName("TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED =
- createQualifiedKeyName("UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING =
- createQualifiedKeyName("CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String MEMBER_NOT_FOUND =
- createQualifiedKeyName("MEMBER_NOT_FOUND"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String VARIABLE_NOT_FOUND =
- createQualifiedKeyName("VARIABLE_NOT_FOUND"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String MISSING_CLOSING_EXPR_BRACKET =
- createQualifiedKeyName("MISSING_CLOSING_EXPR_BRACKET"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String GENERAL_SYNTAX_ERROR =
- createQualifiedKeyName("GENERAL_SYNTAX_ERROR"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String EMPTY_EL_EXPRESSION =
- createQualifiedKeyName("EMPTY_EL_EXPRESSION"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_DOT_WITH_VALUEB_NULL =
- createQualifiedKeyName("BINARY_OP_DOT_WITH_VALUEB_NULL"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY =
- createQualifiedKeyName("BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS =
- createQualifiedKeyName("POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME =
- createQualifiedKeyName("BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE =
- createQualifiedKeyName("BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE"); //$NON-NLS-1$
-
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String MEMBER_IS_INTERMEDIATE =
- createQualifiedKeyName("MEMBER_IS_INTERMEDIATE"); //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSFViewValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSFViewValidator.java
deleted file mode 100644
index a51c91433..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSFViewValidator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * A validator for JSF views
- *
- * @author cbateman
- *
- */
-public interface IJSFViewValidator
-{
- /**
- * Validate the entire view file and report an problems using reporter.
- *
- * @param viewFile
- * @param reporter
- */
- void validateView(final IFile viewFile, final IValidationReporter reporter);
-
- /**
- * Validate only those regions specified in the viewFile and report problems
- * using reporter.
- *
- * @param viewFile
- * @param regions
- * @param reporter
- */
- void validateView(final IFile viewFile,
- final IStructuredDocumentRegion[] regions,
- final IValidationReporter reporter);
-
- /**
- * Implemented by callers of the view validator to receive notification
- * of problems discovered during validation.
- *
- */
- public interface IValidationReporter
- {
- /**
- * @param problem
- * @param start
- * @param length
- */
- void report(final Diagnostic problem, final int start, final int length);
-
- /**
- * @param message
- * @deprecated internally by design
- */
- void report(final IMessage message);
- }
-
- /**
- * An empty adapter implementation of IValidationReporter. All methods
- * are noops.
- *
- * @author cbateman
- *
- */
- public class ReporterAdapter implements IValidationReporter
- {
-
- public void report(Diagnostic problem, int start, int length)
- {
- // do nothing
- }
-
- public void report(IMessage message)
- {
- // do nothing
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSPSemanticValidatorTest.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSPSemanticValidatorTest.java
deleted file mode 100644
index 454d31d9f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/IJSPSemanticValidatorTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.IValidationReporter;
-
-/**
- * Exposes certain private members for use by testing.
- *
- * NOT intended for use by production code.
- *
- * @author cbateman
- *
- */
-public interface IJSPSemanticValidatorTest
-{
- /**
- * Proxies the internal call to validate the containment of a particular
- * tag.
- *
- * @param adapter
- * @param node
- * @param uri
- * @param tagName
- * @param reporter
- * @param file
- * @param context
- */
- void validateContainment(Region2ElementAdapter adapter, IValidationReporter reporter, IFile file, IStructuredDocumentContext context);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFTypeComparatorPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFTypeComparatorPreferences.java
deleted file mode 100644
index f00c7f11d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFTypeComparatorPreferences.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.common.internal.types.TypeComparatorDiagnosticFactory;
-import org.eclipse.jst.jsf.common.internal.types.TypeComparatorPreferences;
-import org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-
-/**
- * Type comparator preferences for JSF.
- *
- * @author cbateman
- *
- */
-public class JSFTypeComparatorPreferences extends TypeComparatorPreferences
- implements IJSFPreferenceModel
-{
-
- private int[] _severities;
-
- /**
- * Loads the object from the preference store provided
- *
- * @param prefStore
- */
- public void load(IPreferenceStore prefStore)
- {
- loadSeverities(prefStore);
- }
-
- private void loadSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
-
- for (int i = 0; i < TypeComparatorDiagnosticFactory.NUM_IDS; i++)
- {
- final String key = getKeyById(i);
-
- if (!prefStore.contains(key))
- {
- final int diagSeverity = getDefaultSeverity(i);
- final Severity severity = mapDiagToSeverity(diagSeverity);
-
- prefStore.setDefault(key, severity.toString());
- }
- final String storedSeverity = prefStore.getString(key);
- severities[i] = mapSeverityToDiag(storedSeverity);
- }
- }
-
- /**
- * Copies the object into the preference store but DOES NOT SAVE IT
- *
- * @param prefStore
- */
- public void commit(IPreferenceStore prefStore)
- {
- commitSeverities(prefStore);
- }
-
- private void commitSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
-
- for (int i = 0; i < severities.length; i++)
- {
- final String key = getKeyById(i);
- prefStore
- .setValue(key, mapDiagToSeverity(severities[i]).toString());
- }
- }
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults()
- {
- setProblemSeverityDefaults();
- }
-
- private void setProblemSeverityDefaults()
- {
- final int[] severities = getSeverities();
-
- for (int i = 0; i < TypeComparatorDiagnosticFactory.NUM_IDS; i++)
- {
- severities[i] = getDefaultSeverity(i);
- }
- }
-
- public Object getValueByKey(IScopeContext context, String key)
- {
- try
- {
- final Severity severity = getSeverity(key);
- return severity.toString();
- }
- catch (IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
-
- return null; // not found
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#getStoredValueByKey(org.eclipse.core.runtime.preferences.IScopeContext,
- * java.lang.String)
- */
- public Object getStoredValueByKey(IScopeContext context, String key)
- {
- try
- {
- return context.getNode("org.eclipse.jst.jsf.core").get( //$NON-NLS-1$
- key,
- mapDiagToSeverity(getDefaultSeverity(getIdByKey(key)))
- .toString());
- }
- catch (IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
-
- return null; // not found
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#setValueByKey(org.eclipse.core.runtime.preferences.IScopeContext,
- * java.lang.String, java.lang.Object)
- */
- public Object setValueByKey(IScopeContext context, String key, Object value)
- {
- final Severity oldValue = getSeverity(key);
- setSeverity(key, (Severity) value);
- return oldValue;
- }
-
- /**
- * @param key
- * @return the severity
- */
- public Severity getSeverity(final String key)
- {
- final int severityDiag = _severities[getIdByKey(key)];
- final Severity severity = mapDiagToSeverity(severityDiag);
- return severity;
- }
-
- /**
- * @param key
- * @param severity
- */
- public void setSeverity(final String key, final Severity severity)
- {
- final int newSeverityDiag = mapSeverityToDiag(severity.toString());
- final int diagId = getIdByKey(key);
- _severities[diagId] = newSeverityDiag;
- }
-
- /**
- * @param diagnosticId
- * @return the severity as configured for diagnosticId. The value is
- * relative to the Diagnostic class severity scheme
- */
- public final int getDiagnosticSeverity(final int diagnosticId)
- {
- return getSeverities()[diagnosticId];
- }
-
- private int[] getSeverities()
- {
- if (_severities == null)
- {
- _severities = new int[TypeComparatorDiagnosticFactory.NUM_IDS];
- }
-
- return _severities;
- }
-
- /**
- * @param diagSeverity
- * @return a Severity preference value for a diagnostic severity
- */
- public static Severity mapDiagToSeverity(int diagSeverity)
- {
- switch (diagSeverity)
- {
- case Diagnostic.ERROR:
- return Severity.ERROR;
- case Diagnostic.WARNING:
- return Severity.WARNING;
- default:
- return Severity.IGNORE;
- }
- }
-
- /**
- * @param severity
- * @return a Diagnostic severity level for a severity pref string
- */
- public static int mapSeverityToDiag(String severity)
- {
- if ("error".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.ERROR;
- }
- else if ("warning".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.WARNING;
- }
- else if ("ignore".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.OK;
- }
- else
- {
- throw new IllegalArgumentException("Invalid enum name: " + severity); //$NON-NLS-1$
- }
- }
-
- /**
- * @param diagnosticId
- * @return the preference key for the corresponding diagnosticId in the el
- * DiagnosticFactory
- */
- public static String getKeyById(final int diagnosticId)
- {
- switch (diagnosticId)
- {
- case TypeComparatorDiagnosticFactory.INCOMPATIBLE_METHOD_TYPES_ID:
- return INCOMPATIBLE_METHOD_TYPES;
- case TypeComparatorDiagnosticFactory.INCOMPATIBLE_TYPES_ID:
- return INCOMPATIBLE_TYPES;
- case TypeComparatorDiagnosticFactory.METHOD_EXPRESSION_EXPECTED_ID:
- return METHOD_EXPRESSION_EXPECTED;
- case TypeComparatorDiagnosticFactory.PROPERTY_NOT_READABLE_ID:
- return PROPERTY_NOT_READABLE;
- case TypeComparatorDiagnosticFactory.PROPERTY_NOT_WRITABLE_ID:
- return PROPERTY_NOT_WRITABLE;
- case TypeComparatorDiagnosticFactory.VALUE_EXPRESSION_EXPECTED_ID:
- return VALUE_EXPRESSION_EXPECTED;
- default:
- throw new IllegalArgumentException("Diagnostic Id: " //$NON-NLS-1$
- + diagnosticId + " is out of range"); //$NON-NLS-1$
- }
- }
-
- /**
- * @param key
- * @return the preference key for the corresponding diagnosticId in the el
- * DiagnosticFactory
- */
- public static int getIdByKey(final String key)
- {
- if (INCOMPATIBLE_METHOD_TYPES.equals(key))
- {
- return TypeComparatorDiagnosticFactory.INCOMPATIBLE_METHOD_TYPES_ID;
- }
- else if (INCOMPATIBLE_TYPES.equals(key))
- {
- return TypeComparatorDiagnosticFactory.INCOMPATIBLE_TYPES_ID;
- }
- else if (METHOD_EXPRESSION_EXPECTED.equals(key))
- {
- return TypeComparatorDiagnosticFactory.METHOD_EXPRESSION_EXPECTED_ID;
- }
- else if (PROPERTY_NOT_READABLE.equals(key))
- {
- return TypeComparatorDiagnosticFactory.PROPERTY_NOT_READABLE_ID;
- }
- else if (PROPERTY_NOT_WRITABLE.equals(key))
- {
- return TypeComparatorDiagnosticFactory.PROPERTY_NOT_WRITABLE_ID;
- }
- else if (VALUE_EXPRESSION_EXPECTED.equals(key))
- {
- return TypeComparatorDiagnosticFactory.VALUE_EXPRESSION_EXPECTED_ID;
- }
- else
- {
- throw new IllegalArgumentException("Severity Key: " + key); //$NON-NLS-1$
- }
- }
-
- /**
- * e.g. createQualifiedKeyName("foo") -> org.eclipse.jst.jsf.core.foo
- *
- * @param baseName
- * @return a plugin qualified key given the baseName
- *
- */
- private static String createQualifiedKeyName(final String baseName)
- {
- return JSFCorePlugin.PLUGIN_ID + "." + baseName; //$NON-NLS-1$
- }
-
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String INCOMPATIBLE_METHOD_TYPES = createQualifiedKeyName("INCOMPATIBLE_METHOD_TYPES"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String INCOMPATIBLE_TYPES = createQualifiedKeyName("INCOMPATIBLE_TYPES"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String METHOD_EXPRESSION_EXPECTED = createQualifiedKeyName("METHOD_EXPRESSION_EXPECTED"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String PROPERTY_NOT_READABLE = createQualifiedKeyName("PROPERTY_NOT_READABLE"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String PROPERTY_NOT_WRITABLE = createQualifiedKeyName("PROPERTY_NOT_WRITABLE"); //$NON-NLS-1$
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String VALUE_EXPRESSION_EXPECTED = createQualifiedKeyName("VALUE_EXPRESSION_EXPECTED"); //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidationContext.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidationContext.java
deleted file mode 100644
index baae123b1..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidationContext.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.jsf.designtime.DTAppManagerUtil;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.jst.jsf.designtime.internal.view.IViewRootHandle;
-import org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.IValidationReporter;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * A context object used pass JSF validation information around. Not related to
- * the model context framework.
- *
- * @author cbateman
- *
- */
-public final class JSFValidationContext
-{
- private final ValidationPreferences _prefs;
- private final boolean _isIncremental;
- private final IDTViewHandler _adapter;
- private final DiagnosticFactory _diagnosticFactory;
- private final IFile _file;
- private final IValidationReporter _reporter;
- private final IStructuredDocumentSymbolResolverFactory _symbolResolverFactory;
- // defer initializing this until is asked for because it is expensive
- private IViewRootHandle _viewRootHandle;
-
- /**
- * @param isIncremental --
- * true if this is "as-you-type" validation, false if this is
- * "Build" or "Run Validation" validation *
- * @param prefs
- * @param adapter
- * @param diagnosticFactory
- * @param file
- * @param reporter
- * @param symbolResolveFactory
- */
- public JSFValidationContext(final boolean isIncremental,
- final ValidationPreferences prefs,
- final IDTViewHandler adapter,
- final DiagnosticFactory diagnosticFactory, final IFile file,
- final IValidationReporter reporter, final IStructuredDocumentSymbolResolverFactory symbolResolveFactory)
- {
- super();
- _isIncremental = isIncremental;
- _prefs = prefs;
- _adapter = adapter;
- _diagnosticFactory = diagnosticFactory;
- _file = file;
- _reporter = reporter;
- _symbolResolverFactory = symbolResolveFactory;
- }
-
- /**
- *
- * @return true if user preferences say we should do EL validation, false
- * otherwise
- */
- public final boolean shouldValidateEL()
- {
- _prefs.load();
- if (_isIncremental)
- {
- return _prefs.getElPrefs().isEnableIncrementalValidation();
- }
-
- return _prefs.getElPrefs().isEnableBuildValidation();
- }
-
-
- /**
- * @return the view handler
- */
- public IDTViewHandler getAdapter()
- {
- return _adapter;
- }
-
- /**
- * @return the validator
- */
-// public IValidator getValidator()
-// {
-// return _validator;
-// }
-
- /**
- * @return validation preferences
- */
- public ValidationPreferences getPrefs()
- {
- return _prefs;
- }
-
- /**
- * @return diagnostic factory
- */
- public DiagnosticFactory getDiagnosticFactory()
- {
- return _diagnosticFactory;
- }
-
- /**
- * @return the file
- */
- public IFile getFile()
- {
- return _file;
- }
-
- /**
- * @return the reporter.
- */
- public IValidationReporter getReporter()
- {
- return _reporter;
- }
-
- /**
- * @return the symbol resolver factory for this context
- */
- public IStructuredDocumentSymbolResolverFactory getSymbolResolverFactory()
- {
- return _symbolResolverFactory;
- }
-
- /**
- * This method will be long running on first call, since it has to update
- * the view root if not initialized.
- *
- * @return the view root handle
- */
- public IViewRootHandle getViewRootHandle()
- {
- if (_viewRootHandle == null)
- {
- _viewRootHandle = DTAppManagerUtil.getViewRootHandle(_file);
- if (_viewRootHandle.getCachedViewRoot() == null)
- {
- _viewRootHandle.updateViewRoot();
- }
- }
- return _viewRootHandle;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidatorFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidatorFactory.java
deleted file mode 100644
index 06ee772e2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/JSFValidatorFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-/**
- * A factory that is to construct JSF validators
- *
- * @author cbateman
- *
- */
-public class JSFValidatorFactory
-{
- /**
- * @return a default validator for XML-defined views.
- */
- public static IJSFViewValidator createDefaultXMLValidator()
- {
- return new XMLViewDefnValidator();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/LocalizedMessage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/LocalizedMessage.java
deleted file mode 100644
index 11151c210..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/LocalizedMessage.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.jsf.validation.internal;
-
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.core.Message;
-
-/**
- * Localized version of the message.
- *
- * @author cbateman
- *
- */
-public class LocalizedMessage extends Message {
-
- private String _message = null;
-
- /**
- * @param severity
- * @param messageText
- */
- public LocalizedMessage(int severity, String messageText) {
- this(severity, messageText, null);
- }
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- */
- public LocalizedMessage(int severity, String messageText, IResource targetObject) {
- this(severity, messageText, (Object) targetObject);
- }
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- */
- public LocalizedMessage(int severity, String messageText, Object targetObject) {
- super(null, severity, null);
- setLocalizedMessage(messageText);
- setTargetObject(targetObject);
- }
-
- /**
- * @param message
- */
- public void setLocalizedMessage(String message) {
- _message = message;
- }
-
- /**
- * @return the message
- */
- public String getLocalizedMessage() {
- return _message;
- }
-
- public String getText() {
- return getLocalizedMessage();
- }
-
- public String getText(ClassLoader cl) {
- return getLocalizedMessage();
- }
-
- public String getText(Locale l) {
- return getLocalizedMessage();
- }
-
- public String getText(Locale l, ClassLoader cl) {
- return getLocalizedMessage();
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/Severity.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/Severity.java
deleted file mode 100644
index c97b8527e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/Severity.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-/**
- * Severity levels of problems
- */
-public enum Severity
-{
- /**
- * Indicates a problem severity of Error
- */
- ERROR
- {
- public java.lang.String toString() {
- return "error"; //$NON-NLS-1$
- }
- }
- ,
- /**
- * Indicates a problem severity of Warning
- */
- WARNING
- {
- public java.lang.String toString() {
- return "warning"; //$NON-NLS-1$
- }
- }
- ,
- /**
- * Indicates no problem should be shown
- */
- IGNORE
- {
- public java.lang.String toString() {
- return "ignore"; //$NON-NLS-1$
- }
- };
-
- /**
- * @param value
- * @return the enum based on the toString mappings
- */
- public static Severity valueOfString(String value)
- {
- if ("error".equals(value)) //$NON-NLS-1$
- {
- return ERROR;
- }
- else if ("warning".equals(value)) //$NON-NLS-1$
- {
- return WARNING;
- }
- else
- {
- return IGNORE;
- }
- }
- } \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ValidationPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ValidationPreferences.java
deleted file mode 100644
index 234096977..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/ValidationPreferences.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.validation.internal.facelet.FaceletValidationPreferences;
-
-/**
- * @author cbateman
- *
- */
-public class ValidationPreferences
-{
- private final IPreferenceStore _prefStore;
- private final ELValidationPreferences _elPrefs;
- private final JSFTypeComparatorPreferences _typeComparatorPrefs;
- private final FaceletValidationPreferences _faceletPrefs;
- /**
- * Constructor
- * @param prefStore
- */
- public ValidationPreferences(IPreferenceStore prefStore)
- {
- _prefStore = prefStore;
- _elPrefs = new ELValidationPreferences();
- _typeComparatorPrefs = new JSFTypeComparatorPreferences();
- _faceletPrefs = new FaceletValidationPreferences();
- }
-
- /**
- * @return the el preferences
- */
- public ELValidationPreferences getElPrefs()
- {
- return _elPrefs;
- }
-
- /**
- * @return the type comparator preferences.
- */
- public JSFTypeComparatorPreferences getTypeComparatorPrefs()
- {
- return _typeComparatorPrefs;
- }
-
- /**
- * @return the el preferences
- */
- public FaceletValidationPreferences getFaceletValidationPrefs()
- {
- return _faceletPrefs;
- }
-
- /**IPreferenceStore
- * The default preference loader
- */
- public void load()
- {
- load(_prefStore);
- }
-
- /**
- * Loads preferences from prefStore
- *
- * @param prefStore
- */
- private void load(IPreferenceStore prefStore)
- {
- _elPrefs.load(prefStore);
- _typeComparatorPrefs.load(prefStore);
- _faceletPrefs.load(prefStore);
- }
-
- /**
- * Commits but does not store the preferences
- *
- * @param prefStore
- */
- public void commit(IPreferenceStore prefStore)
- {
- _elPrefs.commit(prefStore);
- _typeComparatorPrefs.commit(prefStore);
- _faceletPrefs.commit(prefStore);
- }
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults()
- {
- _elPrefs.setDefaults();
- _typeComparatorPrefs.setDefaults();
- _faceletPrefs.setDefaults();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/XMLViewDefnValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/XMLViewDefnValidator.java
deleted file mode 100644
index 9de83d19e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/XMLViewDefnValidator.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.region.Region2AttrAdapter;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter.NoElementException;
-import org.eclipse.jst.jsf.designtime.DTAppManagerUtil;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler;
-import org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.designtime.resolver.StructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-import org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy;
-import org.eclipse.jst.jsf.validation.internal.strategy.ContainmentValidatingStrategy;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * Validator for JSF view definitions that are structured in XML format
- *
- * @author cbateman
- *
- */
-public class XMLViewDefnValidator implements IJSFViewValidator
-{
- // TODO: should the source validator be a separate class in jsp.ui?
- // problem with simple split off is that preference must also be split off
- static final boolean DEBUG;
- static
- {
- final String value = Platform
- .getDebugOption("org.eclipse.jst.jsf.core/validation"); //$NON-NLS-1$
- DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
- }
-
- // default. Overridable by calling setSymbolResolverFactory
- private IStructuredDocumentSymbolResolverFactory _symbolResolverFactory =
- StructuredDocumentSymbolResolverFactory.getInstance();
-
- /**
- * Validates a JSP tag.
- *
- * Currently only attribute values with supplied annotation meta-data is
- * being validated. Also, only JSF EL is being validated and not JSP EL.
- *
- * This method may be extended in the future to validate tag semantics an
- * other cross attribute validations.
- *
- * @param container
- * @param jsfValidationContext
- *
- */
- private void validateTag(final IStructuredDocumentRegion container,
- final JSFValidationContext jsfValidationContext,
- final ContainmentValidatingStrategy containmentStrategy)
- {
- // TODO: later when we move to composite strategy, run in SafeRunner
- // to protect against exceptions generated in external code.
- try
- {
- final Region2ElementAdapter regionAdapter = new Region2ElementAdapter(
- container);
-
-// final IStructuredDocumentContext elementContext =
-// IStructuredDocumentContextFactory.INSTANCE
-// .getContext(container.getParentDocument(), container
-// .getStartOffset());
-
- if (containmentStrategy.isInteresting(regionAdapter))
- {
- containmentStrategy.validate(regionAdapter);
- }
-
- final AttributeValidatingStrategy strategy =
- new AttributeValidatingStrategy(jsfValidationContext);
-
- for (final Region2AttrAdapter attrAdapter : regionAdapter
- .getAttributes().values())
- {
- if (strategy.isInteresting(attrAdapter))
- {
- strategy.validate(attrAdapter);
- }
- }
- }
- catch (NoElementException ne)
- {
- // XXX:
- }
- }
-
- public void validateView(final IFile viewFile, final IValidationReporter reporter)
- {
- IStructuredModel model = null;
- if (DEBUG)
- {
- System.out.println("executing JSPSemanticsValidator.validateFile"); //$NON-NLS-1$
- }
-
- try
- {
- final JSFValidationContext jsfValidationContext =
- createValidationContext(false, viewFile, reporter);
-
- if (jsfValidationContext == null)
- {
- return;
- }
-
- model = StructuredModelManager.getModelManager().getModelForRead(
- viewFile);
-
- final IStructuredDocument structuredDoc =
- model.getStructuredDocument();
- final IStructuredDocumentRegion[] regions =
- structuredDoc.getStructuredDocumentRegions();
- validateRegions(regions, jsfValidationContext,
- new ContainmentValidatingStrategy(jsfValidationContext));
- }
- catch (final CoreException e)
- {
- JSFCorePlugin.log("Error validating JSF", e); //$NON-NLS-1$
- }
- catch (final IOException e)
- {
- JSFCorePlugin.log("Error validating JSF", e); //$NON-NLS-1$
- }
- finally
- {
- if (null != model)
- {
- model.releaseFromRead();
- }
- }
- }
-
- public void validateView(IFile viewFile,
- IStructuredDocumentRegion[] regions, IValidationReporter reporter)
- {
- final JSFValidationContext jsfValidationContext =
- createValidationContext(true, viewFile, reporter);
-
- if (jsfValidationContext == null)
- {
- return;
- }
-
- validateRegions(regions, jsfValidationContext,
- new ContainmentValidatingStrategy(jsfValidationContext));
- }
-
- private void validateRegions(final IStructuredDocumentRegion[] regions,
- final JSFValidationContext context,
- final ContainmentValidatingStrategy containmentValidator)
- {
- for (final IStructuredDocumentRegion curNode : regions)
- {
- if (curNode.getFirstRegion().getType() == DOMRegionContext.XML_TAG_OPEN)
- {
- validateTag(curNode, context, containmentValidator);
- }
- }
- }
-
- private JSFValidationContext createValidationContext(
- final boolean isIncremental, final IFile file,
- final IValidationReporter reporter)
- {
- final ValidationPreferences prefs = new ValidationPreferences(
- JSFCorePlugin.getDefault().getPreferenceStore());
- prefs.load();
- final DiagnosticFactory diagnosticFactory = new DiagnosticFactory();
-
- final IDTViewHandler viewHandler = DTAppManagerUtil.getViewHandler(file
- .getProject());
-
- // only validate files that our designtime supports
- if (viewHandler == null || !viewHandler.supportsViewDefinition(file))
- {
- return null;
- }
-
- return new JSFValidationContext(isIncremental, prefs, viewHandler,
- diagnosticFactory, file, reporter, _symbolResolverFactory);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidationUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidationUtil.java
deleted file mode 100644
index a99dd2aee..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidationUtil.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.io.StringReader;
-import java.util.Iterator;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.util.TypeUtil;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.facesconfig.emf.ListEntriesType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanScopeType;
-import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.xml.core.internal.emf2xml.EMF2DOMSSEAdapter;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-
-/**
- * Common functions for app config validation
- *
- * @author cbateman
- *
- */
-public final class AppConfigValidationUtil
-{
- /**
- * Per the fully-qualified-classType in the Faces 1.2 schema and
- * the ClassName entity in the 1.1 DTD
- *
- * @param fullyQualifiedName
- * @param instanceOf
- * @param mustBeAClass
- * @param project
- * @return null if no problems or a Message if problem found
- */
- public static IMessage validateClassName(final String fullyQualifiedName,
- final String instanceOf,
- final boolean mustBeAClass,
- final IProject project)
- {
- try
- {
- IType type = getType(project, fullyQualifiedName);
- if (type == null || !type.exists())
- {
- return DiagnosticFactory
- .create_CANNOT_FIND_CLASS_NAME(fullyQualifiedName);
- }
-
- // must be a class, not an interface or enum
- if (mustBeAClass && !type.isClass())
- {
- return DiagnosticFactory
- .create_FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS
- (fullyQualifiedName);
- }
-
- // must not be abstract since it must instantiable
- if (Flags.isAbstract(type.getFlags()))
- {
- return DiagnosticFactory
- .create_CLASS_MUST_BE_CONCRETE(fullyQualifiedName);
- }
-
- if (instanceOf != null)
- {
- if (!isInstanceOf(type, instanceOf))
- {
- // if we get to here, we haven't found the expected
- // the super type so error
- return DiagnosticFactory.create_CLASS_MUST_BE_INSTANCE_OF
- (fullyQualifiedName, Messages.AppConfigValidationUtil_0, instanceOf);
- }
- }
- }
- catch(JavaModelException jme)
- {
- // fall-through, not found
- JSFCorePlugin.log(jme,
- "Error resolving fully qualified class name: "+fullyQualifiedName); //$NON-NLS-1$
- }
-
- // either found the class or had an exception so don't report error
- return null;
- }
-
- private static IType getType(final IProject project,
- final String fullyQualifiedName) throws JavaModelException
- {
- final IJavaProject javaProject = JavaCore.create(project);
- return javaProject.findType(fullyQualifiedName);
- }
-
- /**
- * Per the faces-config-el-expressionType in the Faces 1.2 schema and
- * the Action entity in the 1.1 DTD
- *
- * @param textContent
- * @return an validation diagnostic or null if the textContent
- * represent an expected EL expression
- */
- public static IMessage validateELExpression(final String textContent)
- {
- final ELResultWrapper result = extractELExpression(textContent);
-
- if (result.elText != null)
- {
- JSPELParser parser = new JSPELParser(new StringReader(result.elText));
-
- try {
- parser.Expression();
- } catch (ParseException e) {
- // syntax error
- return DiagnosticFactory.create_SYNTAX_ERROR_IN_EL();
- }
-
- return null;
- }
-
- return result.message;
- }
-
- /**
- * @param textContent
- * @return the result of trying to extract an EL expression from the
- * textContent string. The content is expected to be of the form
- * #{elText}. elText in the return value will be set to this value
- * from within the braces. If a syntax error occurs in this extraction
- * message property of the result object will contain a validation message
- * and elText will be set to null.
- * TODO: move this somewhere more generic and shared.
- */
- public static ELResultWrapper extractELExpression(final String textContent)
- {
- final String elRegex = "#\\{(.*)\\}"; //$NON-NLS-1$
- Pattern pattern = Pattern.compile(elRegex);
- Matcher matcher = pattern.matcher(textContent.trim());
- if (matcher.matches())
- {
- final String elText = matcher.group(1).trim();
-
- if ("".equals(elText) || elText == null) //$NON-NLS-1$
- {
- return new ELResultWrapper(DiagnosticFactory.create_SYNTAX_ERROR_IN_EL(), null);
- }
- return new ELResultWrapper(null, elText);
- }
- return new ELResultWrapper(DiagnosticFactory.create_EL_EXPR_MUST_BE_IN_HASH_BRACES(), null);
- }
-
- /**
- * Value object that wraps the result of trying
- * to extract an EL expression from an arbitrary String
- */
- public static class ELResultWrapper
- {
- private final IMessage message;
- private final String elText;
-
- ELResultWrapper(IMessage message, String elText) {
- super();
- this.message = message;
- this.elText = elText;
- }
-
- /**
- * @return a message indicating a problem encountered
- * trying to extract, or null if no problem was encountered
- */
- public IMessage getMessage() {
- return message;
- }
-
- /**
- * @return the el expression string raw, stripped of any
- * sorrounding #{} syntax or null if could not be extracted
- */
- public String getElText() {
- return elText;
- }
- }
-
- /**
- * @param eObj
- * @return the offset character offset in to the XML document of the
- * XML node that eObj was constructed from or -1 if not
- * computable
- */
- public static int getStartOffset(EObject eObj)
- {
- IDOMNode node = getDomNode(eObj);
-
- if (node != null)
- {
- return node.getStartStructuredDocumentRegion().getStartOffset();
- }
-
- return -1;
- }
-
- /**
- * @param eObj
- * @return the length in characters of the XML node that
- * eObj was constructed from or -1 if no computable
- */
- public static int getLength(EObject eObj)
- {
- IDOMNode node = getDomNode(eObj);
-
- if (node != null)
- {
- if(node.getEndStructuredDocumentRegion() != null) {
- return node.getEndStructuredDocumentRegion().getEndOffset()
- - node.getStartStructuredDocumentRegion().getStartOffset();
- }
- return node.getStartStructuredDocumentRegion().getLength();
- }
-
- return -1;
- }
-
- /**
- * @param eObj
- * @return the DOM node that eObj was constructed from or
- * null if not computable
- */
- public static IDOMNode getDomNode(EObject eObj)
- {
- for (Iterator it = eObj.eAdapters().iterator(); it.hasNext();)
- {
- Adapter adapter = (Adapter) it.next();
-
- if (adapter instanceof EMF2DOMSSEAdapter)
- {
- final EMF2DOMSSEAdapter sseAdapter = (EMF2DOMSSEAdapter) adapter;
- final Node node = sseAdapter.getNode();
- if (node instanceof IDOMNode)
- {
- return (IDOMNode) node;
- }
- }
- }
-
- return null;
- }
-
- /**
- * @param scope
- * @param file
- * @param version
- * @return an error message if scope does not match a valid
- * scope enum.
- */
- public static IMessage validateManagedBeanScope(ManagedBeanScopeType scope, IFile file, JSFVersion version)
- {
- // scope must be one of a few enums
- if (!"request".equals(scope.getTextContent()) //$NON-NLS-1$
- && !"session".equals(scope.getTextContent()) //$NON-NLS-1$
- && !"application".equals(scope.getTextContent()) //$NON-NLS-1$
- && !"none".equals(scope.getTextContent())//$NON-NLS-1$
- && ((version == null) || !((version.compareTo(JSFVersion.V2_0) >=0) && "view".equals(scope.getTextContent()) ))) //$NON-NLS-1$
- {
- return DiagnosticFactory.create_BEAN_SCOPE_NOT_VALID();
- }
-
- return null;
- }
-
- /**
- * @param targetName
- * @param targetType the type of the object that mapEntries will be assigned to
- * @param mapEntries
- * @param project
- * @return null if okay or an error message if the mapEntries type is
- * invalid in some way
- * Note: when Java 1.5 support is added we can validate against the template types
- */
- public static IMessage validateMapEntries(String targetName, String targetType, MapEntriesType mapEntries, IProject project)
- {
- if (mapEntries == null || targetType == null || project == null)
- {
- throw new AssertionError("Arguments to validateMapEntries can't be null"); //$NON-NLS-1$
- }
-
- try
- {
- // TODO: do a bean look-up for targetName to verify that it a) matches the type
- // and b) exists on the bean
- IType type = getType(project, targetType);
-
- if (type != null &&
- !(isInstanceOf(type, Signature.toString(TypeConstants.TYPE_MAP))))
- {
- return DiagnosticFactory
- .create_MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE(targetName);
- }
- // TODO: validate the the map entries
- // TODO: validate the types of the map entries against the values present
- // TODO: validate the map key and value types against the template
- }
- catch (JavaModelException jme)
- {
- JSFCorePlugin.log(new Exception(jme), "Exception while validating mapEntries"); //$NON-NLS-1$
- }
- // if we get to here, we have not found anything meaningful to report
- return null;
- }
-
- /**
- * @param targetName
- * @param targetType the type of the object that mapEntries will be assigned to
- * @param listEntries
- * @param project
- * @return null if okay or an error message if the listEntries type is
- * invalid in some way
- * Note: when Java 1.5 support is added we can validate against the template types
- */
- public static IMessage validateListEntries(String targetName, String targetType, ListEntriesType listEntries, IProject project)
- {
- if (listEntries == null || targetType == null || project == null)
- {
- throw new AssertionError("Arguments to validateMapEntries can't be null"); //$NON-NLS-1$
- }
-
- try
- {
- IType type = getType(project, targetType);
- // TODO: do a bean look-up for targetName to verify that it a) matches the type
- // and b) exists on the bean
- if (type != null &&
- !(isInstanceOf(type, Signature.toString(TypeConstants.TYPE_LIST))))
- {
- return DiagnosticFactory
- .create_LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE(targetName);
- }
- // TODO: validate the the list entries
- // TODO: validate the types of the list entries against the values present
- // TODO: validate the value types against the template
- }
- catch (JavaModelException jme)
- {
- JSFCorePlugin.log(new Exception(jme), "Exception while validating mapEntries"); //$NON-NLS-1$
- }
- // if we get to here, we have not found anything meaningful to report
- return null;
- }
-
- /**
- * @param localeType
- * @return a diagnostic if 'localeType' does not match the
- * expected format or null if all is clear
- */
- public static IMessage validateLocaleType(final String localeType)
- {
- // based on the localeType in the Faces 1.2 schema. This is safe
- // to apply to 1.1 since it expects the same pattern even though
- // the DTD cannot validate it
- final String localeTypePattern = "[a-z]{2}(_|-)?([\\p{L}\\-\\p{Nd}]{2})?"; //$NON-NLS-1$
- final Matcher matcher = Pattern.compile(localeTypePattern).matcher(localeType);
-
- if (!matcher.matches())
- {
- return DiagnosticFactory.create_LOCALE_FORMAT_NOT_VALID();
- }
-
- return null;
- }
-
- /**
- * @param type
- * @param instanceOf
- * @return true if type instanceof instanceOf is true
- *
- * @throws JavaModelException
- */
- public static boolean isInstanceOf(final IType type, final String instanceOf) throws JavaModelException
- {
- if (instanceOf != null)
- {
- // must have either a no-arg constructor or an adapter constructor
- // that is of the type of instanceOf
-// IType constructorParam = getType(project, instanceOf);
-// if (constructorParam != null)
-// {
-// final String constructorMethodName =
-// type.getElementName();
-// final IMethod defaultConstructor =
-// type.getMethod(constructorMethodName, new String[0]);
-// final IMethod adapterConstructor =
-// type.getMethod(constructorMethodName, new String[]{instanceOf});
-// final boolean isDefaultConstructor =
-// defaultConstructor != null && defaultConstructor.isConstructor();
-// final boolean isAdapterConstructor =
-// adapterConstructor != null && adapterConstructor.isConstructor();
-// if (!isDefaultConstructor && !isAdapterConstructor)
-// {
- // TODO: no constructor == default constructor...
-// }
-// }
-
- // if the type is an exact match
- if (instanceOf.equals(type.getFullyQualifiedName()))
- {
- return true;
- }
-
- final ITypeHierarchy typeHierarchy =
- type.newSupertypeHierarchy(new NullProgressMonitor());
-
- final IType[] supers = typeHierarchy.getAllSupertypes(type);
- for (int i = 0; i < supers.length; i++)
- {
- if (instanceOf.equals(supers[i].getFullyQualifiedName()))
- {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Takes the form expected by faces-config files for fully qualified class names
- * @param inputStr java.lang.String format.
- * @return the fully qualified type signature for the inputStr
- */
- public static String getBaseType(final String inputStr)
- {
- String checkValue = inputStr.trim();
- try
- {
- // arrays are a special case where the
- // [Ljava.lang.String; syntax is valid.
- if (Signature.getArrayCount(checkValue)>0)
- {
- checkValue = Signature.getElementType(checkValue);
- checkValue = TypeUtil.getFullyQualifiedName(checkValue);
- }
- }
- catch (final IllegalArgumentException e)
- {
- // ignore
- }
-
- return checkValue;
- }
-
- private AppConfigValidationUtil()
- {
- // no external construction
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidator.java
deleted file mode 100644
index ed025e344..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AppConfigValidator.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
-import org.eclipse.jst.jsp.core.internal.Logger;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.validation.AbstractValidator;
-import org.eclipse.wst.validation.ValidationResult;
-import org.eclipse.wst.validation.ValidationState;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * General build-time validator for the JSF application configuration file (faces-config.xml)b
- *
- * @author cbateman
- *
- */
-public class AppConfigValidator extends AbstractValidator implements IValidator {
-
- @Override
- public ValidationResult validate(final IResource resource, final int kind,
- final ValidationState state, final IProgressMonitor monitor) {
- final ValidationResult vr = new ValidationResult();
- if (resource == null || !(resource instanceof IFile)) {
- return vr;
- }
- final IReporter reporter = vr.getReporter(monitor);
- validateFile((IFile) resource, reporter);
- return vr;
- }
-
- /**
- * @param helper
- * @return the scheduling rull for this validator
- */
- public ISchedulingRule getSchedulingRule(final IValidationContext helper) {
- // no scheduling rule
- return null;
- }
-
- /**
- * @param helper
- * @param reporter
- * @return the result of running validation
- * @throws ValidationException
- */
- public IStatus validateInJob(final IValidationContext helper, final IReporter reporter)
- throws ValidationException {
- IStatus status = Status.OK_STATUS;
- try {
- validate(helper, reporter);
- }
- catch (final ValidationException e) {
- Logger.logException(e);
- status = new Status(IStatus.ERROR, JSFCorePlugin.getDefault().getPluginID(), IStatus.ERROR, e.getLocalizedMessage(), e);
- }
- return status;
- }
-
- public void cleanup(final IReporter reporter) {
- // no cleanup
-
- }
-
- public void validate(final IValidationContext helper, final IReporter reporter)
- throws ValidationException
- {
- final String[] uris = helper.getURIs();
- final IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
- if (uris.length > 0) {
- IFile currentFile = null;
-
- for (int i = 0; i < uris.length && !reporter.isCancelled(); i++) {
- currentFile = wsRoot.getFile(new Path(uris[i]));
- if (currentFile != null && currentFile.exists()) {
-// if (shouldValidate(currentFile) && fragmentCheck(currentFile)) {
-
-// int percent = (i * 100) / uris.length + 1;
-//Message message = new LocalizedMessage(IMessage.LOW_SEVERITY, percent + "% " + uris[i]);
- // reporter.displaySubtask(this, message);
-
- validateFile(currentFile, reporter);
- }
- }
- }
-
- // copied from JSPValidator TODO: perhaps just use app config locator?
-// else {
-//
-// // if uris[] length 0 -> validate() gets called for each project
-// if (helper instanceof IWorkbenchContext) {
-//
-// IProject project = ((IWorkbenchContext) helper).getProject();
-// JSPFileVisitor visitor = new JSPFileVisitor(reporter);
-// try {
-// // collect all jsp files for the project
-// project.accept(visitor, IResource.DEPTH_INFINITE);
-// }
-// catch (CoreException e) {
-// if (DEBUG)
-// e.printStackTrace();
-// }
-// IFile[] files = visitor.getFiles();
-// for (int i = 0; i < files.length && !reporter.isCancelled(); i++) {
-// if (shouldValidate(files[i]) && fragmentCheck(files[i])) {
-// int percent = (i * 100) / files.length + 1;
-// Message message = new LocalizedMessage(IMessage.LOW_SEVERITY, percent + "% " + files[i].getFullPath().toString());
-// reporter.displaySubtask(this, message);
-//
-// validateFile(files[i], reporter);
-// }
-// if (DEBUG)
-// System.out.println("validating: [" + files[i] + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-// }
-// }
-// }
- }
-
- private void validateFile(final IFile file, final IReporter reporter)
- {
- FacesConfigArtifactEdit facesConfigEdit = null;
- //Bug 290962 - NPE if faces-config.xml is in wrong folder
- final IPath path = JSFAppConfigUtils.getWebContentFolderRelativePath(file);
- if (path == null)
- {
- reporter.addMessage(this, new Message(JSFCorePlugin.getDefault().getBundle().getSymbolicName(), IMessage.NORMAL_SEVERITY, Messages.CONFIG_FILE_NOT_UNDER_WEBCONTENT_FOLDER));
- }
- else
- {
- try
- {
- facesConfigEdit = FacesConfigArtifactEdit.
- getFacesConfigArtifactEditForRead(file.getProject(), path.toString());
-
- if (facesConfigEdit != null
- && facesConfigEdit.getFacesConfig()!=null)
- {
- final String version = validateVersioning(file, facesConfigEdit, reporter);
- validateModel(file, facesConfigEdit,reporter, version);
- }
- }
- finally
- {
- if (facesConfigEdit != null)
- {
- facesConfigEdit.dispose();
- }
- }
- }
- }
-
- /**
- * Ensure that the expected project version (facet) jives with what is in
- * the faces-config. Generally this means:
- *
- * if (version == 1.1) then no 1.2 artifacts (error)
- * if (version == 1.2) then warn if using old artifacts (warning)
- */
- private String validateVersioning(final IFile file, final FacesConfigArtifactEdit facesConfigEdit, final IReporter reporter)
- {
- final String appConfigFileVersion = getAppConfigFileVersion(facesConfigEdit);
-
- if (appConfigFileVersion != null)
- {
- final String projectVersion = getJSFVersion(file.getProject());
-
- if (IJSFCoreConstants.FACET_VERSION_1_1.equals(projectVersion)
- || IJSFCoreConstants.FACET_VERSION_1_0.equals(projectVersion))
- {
- if (IJSFCoreConstants.FACET_VERSION_1_2.equals(appConfigFileVersion))
- {
- reporter.addMessage(this,
- DiagnosticFactory
- .create_APP_CONFIG_IS_NEWER_THAN_JSF_VERSION(file));
- }
- }
- else if (IJSFCoreConstants.FACET_VERSION_1_2.equals(projectVersion))
- {
- if (IJSFCoreConstants.FACET_VERSION_1_1.equals(appConfigFileVersion)
- || IJSFCoreConstants.FACET_VERSION_1_0.equals(appConfigFileVersion))
- {
- reporter.addMessage(this,
- DiagnosticFactory
- .create_APP_CONFIG_IS_OLDER_THAN_JSF_VERSION(file
- , appConfigFileVersion, projectVersion));
- }
- }
- // if no exact match, don't make any assumptions
- }
- return appConfigFileVersion;
- }
-
- /**
- * @param facesConfigEdit
- * @return the version of the app config file or null if not determinant
- */
- private String getAppConfigFileVersion(final FacesConfigArtifactEdit facesConfigEdit)
- {
- String appConfigVersion = null;
-
- final IDOMModel domModel = facesConfigEdit.getIDOMModel();
- final IDOMDocument document = domModel.getDocument();
- if (document == null) {return null;}
-
- final DocumentType docType = domModel.getDocument().getDoctype();
-
- // if we have DTD doctype then we're looking at 1.1 or before
- if (docType != null)
- {
- appConfigVersion = extractVersionFromPublicId(docType);
- // if not found in the public id, try the system id
- if (appConfigVersion == null)
- {
- appConfigVersion = extractVersionFromSystemId(docType);
- }
- }
- else
- {
- final NodeList rootNodes = domModel.getDocument().getChildNodes();
-
- for (int i = 0; i < rootNodes.getLength(); i++)
- {
- final Node node = rootNodes.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE
- && "faces-config".equals(node.getLocalName())) //$NON-NLS-1$
- {
- final NamedNodeMap map = node.getAttributes();
- // the most accurate thing is the version
- final Node versionAttrib = map.getNamedItem("version"); //$NON-NLS-1$
-
- if (versionAttrib != null)
- {
- appConfigVersion = versionAttrib.getNodeValue();
- break;
- }
-
- // TODO: add additional heuristic to parse out
- // the schema
- }
- }
- }
-
- return appConfigVersion;
- }
-
-
-
- private void validateModel(final IFile file,
- final FacesConfigArtifactEdit facesConfigEdit,
- final IReporter reporter,
- final String version)
- {
- final FacesConfigType facesConfigType = facesConfigEdit.getFacesConfig();
- final FacesConfigValidator validator = new FacesConfigValidator(version);
- final List messages = new ArrayList();
- validator.validate(facesConfigType, messages, file);
-
- if (messages.size() > 0) {
- IStructuredModel model = null;
- try
- {
- model = StructuredModelManager.getModelManager().getModelForRead(
- file);
- reportProblems(reporter, messages, model);
- } catch (IOException e) {
- JSFCorePlugin.log("Error reporting FacesConfig validation problems", e); //$NON-NLS-1$
- } catch (CoreException e) {
- JSFCorePlugin.log("Error reporting FacesConfig validation problems", e); //$NON-NLS-1$
- } finally {
- if (model != null) {
- model.releaseFromRead();
- }
- }
- }
- }
-
- //sets line number and reports message
- private void reportProblems(final IReporter reporter, final List messages, final IStructuredModel model) {
- for (final Iterator it = messages.iterator(); it.hasNext();)
- {
- final IMessage message = (IMessage) it.next();
- if (model != null) {
- final int line = model.getStructuredDocument().getLineOfOffset(message.getOffset());
- if (line >= 0)
- message.setLineNo(line + 1);
- }
- reporter.addMessage(this, message);
- }
- }
-
-
- /**
- * @param project
- * @return the version string for the JSF facet on project
- * or null if not found
- */
- private String getJSFVersion(final IProject project)
- {
- try
- {
- final IFacetedProject facetedProject = ProjectFacetsManager.create(project);
- final Set facets = facetedProject.getProjectFacets();
-
- for (final Iterator it = facets.iterator(); it.hasNext();)
- {
- final IProjectFacetVersion facetVersion =
- (IProjectFacetVersion) it.next();
-
- if (IJSFCoreConstants.JSF_CORE_FACET_ID.equals(facetVersion.getProjectFacet().getId()))
- {
- return facetVersion.getVersionString();
- }
- }
- }
- catch (final CoreException ce)
- {
- JSFCorePlugin.log(ce, "Problem loading faceted project"); //$NON-NLS-1$
- // fall-through and return null
- }
- return null;
- }
-
- private String extractVersionFromPublicId(final DocumentType docType)
- {
- final String publicId = docType.getPublicId();
- final String publicIdRegex = "-\\/\\/(.*)\\/\\/(.*)\\/\\/.*"; //$NON-NLS-1$
-
- if (publicId != null)
- {
- final Pattern pattern = Pattern.compile(publicIdRegex);
- final Matcher matcher = pattern.matcher(publicId);
-
- if (matcher.matches())
- {
- final String classTypeString = matcher.group(2);
- final String[] classTypes = classTypeString.split("\\s+"); //$NON-NLS-1$
-
- // verify that the class type is a DTD
- if (classTypes.length > 0
- && "DTD".equals(classTypes[0])) //$NON-NLS-1$
- {
- // either 1.0 or 1.1; be most conservative
- String appConfigVersion = IJSFCoreConstants.JSF_VERSION_1_0;
-
- // see if the version is in the public id
- if (IJSFCoreConstants.JSF_VERSION_1_1.equals(classTypes[classTypes.length-1]))
- {
- appConfigVersion = IJSFCoreConstants.FACET_VERSION_1_1;
- }
-
- return appConfigVersion;
- }
- }
- }
-
- return null;
- }
-
- private String extractVersionFromSystemId(final DocumentType docType)
- {
- final String systemId = docType.getSystemId();
- final String systemIdRegEx = "http:\\/\\/java.sun.com\\/dtd\\/web-facesconfig_(.*)\\.dtd"; //$NON-NLS-1$
- if (systemId != null)
- {
- final Pattern pattern = Pattern.compile(systemIdRegEx);
- final Matcher matcher = pattern.matcher(systemId);
-
- if (matcher.matches())
- {
- final String version = matcher.group(1);
- if ("1_1".equals(version)||"1_0".equals(version)) //$NON-NLS-1$ //$NON-NLS-2$
- {
- return version.replaceAll("_", "."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ApplicationValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ApplicationValidationVisitor.java
deleted file mode 100644
index e38d92fdd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ApplicationValidationVisitor.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.facesconfig.emf.DefaultLocaleType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.LocaleConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.SupportedLocaleType;
-
-/**
- * Validator the <application> node of the app config model
- * @author cbateman
- *
- */
-public class ApplicationValidationVisitor extends EObjectValidationVisitor
-{
-
- /**
- * Default constructure
- * @param version
- */
- public ApplicationValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Application(), version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to validate
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- // TODO: validate message and resource bundles
- // TODO: validate default render kit id
- new ActionListenerValidationVisitor(getVersion()),
- new NavigationHandlerValidationVisitor(getVersion()),
- new ViewHandlerValidationVisitor(getVersion()),
- new StateManagerValidationVisitior(getVersion()),
- new PropertyResolverValidationVisitor(getVersion()),
- new VariableResolverValidationVisitor(getVersion()),
- new ELResolverValidationVisitor(getVersion()),
- new LocaleConfigValidationVisitor(getVersion()),
-// new PartialTraversalValidationVisitor(getVersion()),
- new ResourceHandlerValidationVisitor(getVersion()),
- new SystemEventListenerTypeValidationVisitor(getVersion()),
- new DefaultValidatorsValidationVisitor(getVersion())
- };
- }
-
- /**
- * @param facesConfig
- * @param messages
- * @param file
- */
- protected void validateManagedBeanNames(FacesConfigType facesConfig, List messages, IFile file)
- {
-// final Map foundBeans = new HashMap();
-// final List firstCollisionInstance = new ArrayList();
-//
-// for (final Iterator it = facesConfig.getManagedBean().iterator(); it.hasNext();)
-// {
-// final ManagedBeanType managedBean = (ManagedBeanType) it.next();
-//
-// if (managedBean.getManagedBeanName() == null
-// || managedBean.getManagedBeanName().getTextContent() == null
-// || "".equals(managedBean.getManagedBeanName().getTextContent()))
-// {
-//
-// }
-
-// if (!foundBeans.containsKey(managedBean.getManagedBeanName()))
-// }
- }
-
- private static class LocaleConfigValidationVisitor extends EObjectValidationVisitor
- {
- /**
- * @param version
- */
- public LocaleConfigValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_LocaleConfig()
- , version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- final LocaleConfigType localeConfig = (LocaleConfigType) object;
-
- DefaultLocaleType defaultLocale = localeConfig.getDefaultLocale();
-
- if (defaultLocale != null)
- {
- addMessageInfo(
- messages,
- AppConfigValidationUtil
- .validateLocaleType(defaultLocale.getTextContent())
- , defaultLocale, file);
- }
-
- for (final Iterator it = localeConfig.getSupportedLocale().iterator(); it.hasNext();)
- {
- final SupportedLocaleType supportedLocale =
- (SupportedLocaleType) it.next();
- addMessageInfo(
- messages,
- AppConfigValidationUtil
- .validateLocaleType(supportedLocale.getTextContent())
- , supportedLocale, file);
- }
-
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // there are children, but we're going to validate in doValidate
- return NO_CHILDREN;
- }
-
- }
-
- private static class ActionListenerValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- /**
- * @param version
- */
- public ActionListenerValidationVisitor(final String version) {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_ActionListener(),
- version,"javax.faces.event.ActionListener", true); //$NON-NLS-1$
- }
- }
-
- private static class NavigationHandlerValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- /**
- * @param version
- */
- public NavigationHandlerValidationVisitor(final String version) {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_NavigationHandler(),
- version,"javax.faces.application.NavigationHandler", true); //$NON-NLS-1$
- }
- }
-
- private static class ViewHandlerValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- ViewHandlerValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_ViewHandler(),
- version,"javax.faces.application.ViewHandler", true); //$NON-NLS-1$
- }
- }
-
- private static class StateManagerValidationVisitior extends ApplicationClassNameBasedValidationVisitor
- {
- StateManagerValidationVisitior(final String version)
- {
- // must a concrete class with a zero arg constructor:
- // JSF1.1_3.2.3.2 and JSF1.2_3.2.4.2
- super(FacesConfigPackage.eINSTANCE.getApplicationType_StateManager(),
- version,"javax.faces.application.StateManager", true); //$NON-NLS-1$
- }
- }
-
- private static class PropertyResolverValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- PropertyResolverValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_PropertyResolver(),
- version,"javax.faces.el.PropertyResolver", true); //$NON-NLS-1$
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- super.doValidate(object, messages, file);
-
- // if this version greater than 1.1 then property resolvers are
- // deprecated in favour of el-resolvers
- final String version = getVersion();
- if (!IJSFCoreConstants.FACET_VERSION_1_0.equals(version) && !IJSFCoreConstants.FACET_VERSION_1_1.equals(version))
- {
- addMessageInfo(messages,
- DiagnosticFactory.create_API_DEPRECATED_AFTER_VERSION_ID
- ("property-resolver", IJSFCoreConstants.FACET_VERSION_1_1, "el-resolver") //$NON-NLS-1$ //$NON-NLS-2$
- , object, file);
- }
- }
- }
-
- private static class VariableResolverValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- VariableResolverValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_VariableResolver(),
- version, "javax.faces.el.VariableResolver", true); //$NON-NLS-1$
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- super.doValidate(object, messages, file);
- // if this version greater than 1.1 then property resolvers are
- // deprecated in favour of el-resolvers
- final String version = getVersion();
- if (!IJSFCoreConstants.JSF_VERSION_1_0.equals(version) && !IJSFCoreConstants.JSF_VERSION_1_1.equals(version))
- {
- addMessageInfo(messages,
- DiagnosticFactory.create_API_DEPRECATED_AFTER_VERSION_ID
- ("variable-resolver", IJSFCoreConstants.JSF_VERSION_1_1, "el-resolver") //$NON-NLS-1$ //$NON-NLS-2$
- , object, file);
- }
-
- }
- }
-
- private static class ELResolverValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- ELResolverValidationVisitor(final String version)
- {
- // must be a class and have zero-arg constructor
- // JSF1.2_5.6.1.4
- super(FacesConfigPackage.eINSTANCE.getApplicationType_ELResolver(),
- version, "javax.el.ELResolver", true); //$NON-NLS-1$
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // if this version less than 1.2 then property resolvers are
- // deprecated in favour of el-resolvers
- final String version = getVersion();
- if (IJSFCoreConstants.JSF_VERSION_1_0.equals(version) || IJSFCoreConstants.JSF_VERSION_1_1.equals(version))
- {
- addMessageInfo(messages,
- DiagnosticFactory.create_API_NOT_AVAILABLE_BEFORE_VERSION
- ("el-resolver", IJSFCoreConstants.JSF_VERSION_1_2, "variable-resolver or property-resolver") //$NON-NLS-1$ //$NON-NLS-2$
- , object, file);
- }
- else
- {
- super.doValidate(object, messages, file);
- }
- }
- }
-
- private abstract static class ApplicationClassNameBasedValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- private final String _instanceOf;
- private final boolean _mustBeClass;
-
- /**
- * @param feature
- * @param version
- * @param instanceOf
- * @param mustBeClass
- */
- protected ApplicationClassNameBasedValidationVisitor(EStructuralFeature feature,
- final String version, final String instanceOf, final boolean mustBeClass)
- {
- super(feature, version);
- _instanceOf = instanceOf;
- _mustBeClass = mustBeClass;
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- EStructuralFeature feature = eobj.eClass().getEStructuralFeature("textContent"); //$NON-NLS-1$
-
- if (feature != null)
- {
- return (String)eobj.eGet(feature);
- }
-
- return null;
- }
-
- @Override
- protected boolean mustBeClass() {
- return _mustBeClass;
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // no children
- return NO_CHILDREN;
- }
-
- protected String getInstanceOf() {
- return _instanceOf;
- }
- }
-
-// private static class PartialTraversalValidationVisitor extends ApplicationClassNameBasedValidationVisitor
-// {
-// PartialTraversalValidationVisitor(final String version)
-// {
-// super(FacesConfigPackage.eINSTANCE.getApplicationType_PartialTraversal(),
-// version,"javax.faces.application.PartialTraversal", true); //$NON-NLS-1$
-// }
-// }
-
- private static class ResourceHandlerValidationVisitor extends ApplicationClassNameBasedValidationVisitor
- {
- ResourceHandlerValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_ResourceHandler(),
- version,"javax.faces.application.ResourceHandler", true); //$NON-NLS-1$
- }
- }
-
-// private static class PartialTraversalValidationVisitor extends ApplicationClassNameBasedValidationVisitor
-// {
-// PartialTraversalValidationVisitor(final String version)
-// {
-// super(FacesConfigPackage.eINSTANCE.getApplicationType_PartialTraversal(),
-// version,"javax.faces.application.PartialTraversal", true); //$NON-NLS-1$
-// }
-// }
-
- private static class SystemEventListenerTypeValidationVisitor extends EObjectValidationVisitor
- {
- SystemEventListenerTypeValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_SystemEventListener(),
- version);
- }
-
- @Override
- protected void doValidate(final EObject eObject, final List messages, final IFile file) {
- //validation takes place with childNodeValidators
- }
-
- @Override
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]{
- new SystemEventListenerValidationVisitor(getVersion()),
- new SystemEventListenerClassValidationVisitor(getVersion()),
- new SystemEventListenerSourceClassValidationVisitor(getVersion())
- };
- }
- }
- private static class DefaultValidatorsValidationVisitor extends EObjectValidationVisitor
- {
- DefaultValidatorsValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getApplicationType_DefaultValidators(),
- version);
- }
-
- @Override
- protected void doValidate(final EObject eObject, final List messages, final IFile file) {
- //do nothing here... we should validate the ValidateIDType below
- }
-
- @Override
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- //TODO - validate the ValidateIDTypes
- return NO_CHILDREN;
- }
- }
-
- private static class SystemEventListenerValidationVisitor extends ApplicationClassNameBasedValidationVisitor {
-
- SystemEventListenerValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getSystemEventListenerType_SystemEventListenerClass(),
- version,"javax.faces.event.SystemEventListener", true); //$NON-NLS-1$
- }
- }
-
- private static class SystemEventListenerClassValidationVisitor extends ApplicationClassNameBasedValidationVisitor {
-
- SystemEventListenerClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getSystemEventListenerType_SystemEventClass(),
- version,"javax.faces.event.SystemEvent", true); //$NON-NLS-1$
- }
- }
-
- private static class SystemEventListenerSourceClassValidationVisitor extends ApplicationClassNameBasedValidationVisitor {
-
- SystemEventListenerSourceClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getSystemEventListenerType_SourceClass(),
- version,"java.lang.Object", true); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AttributeValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AttributeValidationVisitor.java
deleted file mode 100644
index 2ddd7e824..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/AttributeValidationVisitor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.jsf.facesconfig.emf.AttributeClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * Validates the <attribute> element of components, converters etc.
- *
- * @author cbateman
- *
- */
-public class AttributeValidationVisitor extends EObjectValidationVisitor {
-
- /**
- * @param feature
- * @param version
- */
- public AttributeValidationVisitor(EStructuralFeature feature, String version) {
- // this validator can be attached to numerous parents so it
- // cannot hard-code its feature
- super(feature,version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new AttributeClassValidationVisitor(getVersion())
- };
- }
-
- private static class AttributeClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- /**
- * @param version
- */
- public AttributeClassValidationVisitor(
- String version) {
- super(FacesConfigPackage.eINSTANCE.getAttributeType_AttributeClass()
- , version);
- }
-
- protected String getFullyQualifiedName(EObject eobj) {
- return ((AttributeClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- // null since there is no instance of enforcement here
- return null;
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass()
- {
- // attribute could be a class or an enum
- return false;
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/BehaviorValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/BehaviorValidationVisitor.java
deleted file mode 100644
index c7f73c587..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/BehaviorValidationVisitor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.BehaviorClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * Validates the behavior
- */
-public class BehaviorValidationVisitor extends EObjectValidationVisitor
-{
-
- /**
- * @param version
- */
- public BehaviorValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Behavior()
- ,version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new BehaviorClassValidationVisitor(getVersion()),
- new AttributeValidationVisitor(FacesConfigPackage.eINSTANCE.getBehaviorType_Attribute(), getVersion()),
- new PropertyValidationVisitor
- (FacesConfigPackage.eINSTANCE.getBehaviorType_Property()
- ,FacesConfigPackage.eINSTANCE.getBehaviorType_BehaviorClass()
- ,getVersion())
- };
- }
-
- private static class BehaviorClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- /**
- * @param version
- */
- public BehaviorClassValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getBehaviorType_BehaviorClass()
- , version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((BehaviorClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.component.behavior.Behavior"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClassNameEObjectValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClassNameEObjectValidationVisitor.java
deleted file mode 100644
index badc11e38..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClassNameEObjectValidationVisitor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Abstract validation visitor for classname based eobjects
- *
- * @author cbateman
- *
- */
-public abstract class ClassNameEObjectValidationVisitor extends
- EObjectValidationVisitor
-{
- /**
- * @param structuralFeature
- * @param version
- */
- public ClassNameEObjectValidationVisitor(
- EStructuralFeature structuralFeature, String version) {
- super(structuralFeature, version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- String fullyQualifiedName = getFullyQualifiedName(object);
- // protect against null
- fullyQualifiedName = fullyQualifiedName == null ? "" : fullyQualifiedName; //$NON-NLS-1$
- addMessageInfo(messages,
- AppConfigValidationUtil
- .validateClassName(fullyQualifiedName, getInstanceOf()
- , false, file.getProject()),object, file);
- }
-
- /**
- * @param eobj
- * @return the fully qualified name from the eobject
- */
- protected abstract String getFullyQualifiedName(EObject eobj);
-
- /**
- * @return a fully-qualified
- */
- protected abstract String getInstanceOf();
-
- /**
- * @return true if the class being named must be a class
- * and may not be an enum or interface
- */
- protected abstract boolean mustBeClass();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClientBehaviorRendererValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClientBehaviorRendererValidationVisitor.java
deleted file mode 100644
index 7eb966db9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ClientBehaviorRendererValidationVisitor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.ClientBehaviorRendererClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * ClientBehaviorRenderer validation
- *
- */
-public class ClientBehaviorRendererValidationVisitor extends EObjectValidationVisitor {
-
- /**
- * @param version
- */
- public ClientBehaviorRendererValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getRenderKitType_ClientBehaviorRenderer(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new ClientBehaviorRendererClassValidationVisitor(getVersion())
- };
- }
-
- private static class ClientBehaviorRendererClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- /**
- * @param version
- */
- public ClientBehaviorRendererClassValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getClientBehaviorRendererType_ClientBehaviorRendererClass()
- , version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ClientBehaviorRendererClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.render.ClientBehaviorRenderer"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ComponentValidatorVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ComponentValidatorVisitor.java
deleted file mode 100644
index 26f8d5b98..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ComponentValidatorVisitor.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.ComponentClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.FacetNameType;
-
-/**
- * Validator for a <component>
- *
- * @author cbateman
- *
- */
-public class ComponentValidatorVisitor extends EObjectValidationVisitor
-{
- /**
- * @param version
- */
- public ComponentValidatorVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Component(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing in the tag to validate
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new ComponentClassValidationVisitor(getVersion()),
- new AttributeValidationVisitor(FacesConfigPackage.eINSTANCE.getComponentType_Attribute(), getVersion()),
- new PropertyValidationVisitor
- (FacesConfigPackage.eINSTANCE.getComponentType_Property()
- ,FacesConfigPackage.eINSTANCE.getComponentType_ComponentClass()
- ,getVersion()),
- new ComponentFacetValidationVisitor(getVersion())
- };
- }
-
- private static class ComponentClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ComponentClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getComponentType_ComponentClass(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ComponentClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.component.UIComponent"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must a class
- return true;
- }
- }
-
- private static class ComponentFacetValidationVisitor extends EObjectValidationVisitor
- {
- /**
- * @param version
- */
- public ComponentFacetValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getComponentType_Facet(), version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // do nothing
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new FacetNameValidationVisitor(getVersion())
- };
- }
-
- private static class FacetNameValidationVisitor extends EObjectValidationVisitor
- {
- /**
- * @param version
- */
- public FacetNameValidationVisitor(String version) {
- super(FacesConfigPackage.eINSTANCE.getFacetType_FacetName(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- FacetNameType name = (FacetNameType) object;
- boolean isValid = false;
-
- if (name.getTextContent() != null
- || "".equals(name.getTextContent().trim())) //$NON-NLS-1$
- {
- String nameValue = name.getTextContent().trim();
-
- // TODO: isJavaIdentifierStart seems broken...
- if (Character.isJavaIdentifierStart(nameValue.charAt(0)))
- {
- isValid = true;
- for (int i = 1; i < nameValue.length(); i++)
- {
- if (!Character.isJavaIdentifierPart(nameValue.charAt(i)))
- {
- isValid = false;
- }
- }
- }
- }
-
- if (!isValid)
- {
- addMessageInfo(messages,
- DiagnosticFactory.create_MUST_BE_A_VALID_JAVA_IDENT("Facet name") //$NON-NLS-1$
- , object, file);
- }
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ConverterValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ConverterValidationVisitor.java
deleted file mode 100644
index 2db6114ef..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ConverterValidationVisitor.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterForClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * Validates the converter
- */
-public class ConverterValidationVisitor extends EObjectValidationVisitor
-{
-
- /**
- * @param version
- */
- public ConverterValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Converter(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing in the tag to validate
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new ConverterClassValidationVisitor(getVersion())
- , new AttributeValidationVisitor(FacesConfigPackage.eINSTANCE.getConverterType_Attribute(), getVersion())
- , new PropertyValidationVisitor
- (FacesConfigPackage.eINSTANCE.getConverterType_Property()
- ,FacesConfigPackage.eINSTANCE.getConverterType_ConverterClass()
- ,getVersion())
- , new ConverterForClassValidationVisitor(getVersion())
- };
- }
-
- private static class ConverterClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ConverterClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getConverterType_ConverterClass(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ConverterClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.convert.Converter"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // can't be an enum
- return true;
- }
- }
-
- private static class ConverterForClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ConverterForClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getConverterType_ConverterForClass(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- String className = ((ConverterForClassType)eobj).getTextContent();
- String typeName = AppConfigValidationUtil.getBaseType(className);
- if (typeName == null)
- {
- return className;
- }
- return typeName;
- }
-
- protected String getInstanceOf() {
- // no instanceof enforcement
- return null;
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // could be a converter for all instances of an enum type
- return false;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/DiagnosticFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/DiagnosticFactory.java
deleted file mode 100644
index 219bd5976..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/DiagnosticFactory.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.text.MessageFormat;
-import java.util.Locale;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Factory for constructing diagnostic objects for AppConfig file validation
- *
- * @author cbateman
- *
- */
-public final class DiagnosticFactory
-{
- /**
- * Problem id
- */
- public final static int EL_EXPR_MUST_BE_IN_HASH_BRACES_ID = 0;
-
- /**
- * Problem id
- */
- public final static int SYNTAX_ERROR_IN_EL_ID = 1;
-
- /**
- * Problem id
- */
- public final static int CANNOT_FIND_CLASS_NAME_ID = 2;
-
- /**
- * Problem id
- */
- public final static int FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID = 3;
-
- /**
- * Problem id
- */
- public final static int CLASS_MUST_BE_INSTANCE_OF_ID = 4;
-
- /**
- * Problem id
- */
- public final static int CLASS_MUST_BE_CONCRETE_ID = 5;
-
- /**
- * TODO:
- */
- public final static int CLASS_MUST_HAVE_DEFAULT_OR_ADAPTER_CONSTRUCTOR_ID = 6;
-
- /**
- * Problem id
- */
- public final static int API_DEPRECATED_AFTER_VERSION_ID = 7;
-
- /**
- * Problem id
- */
- public final static int BEAN_PROPERTY_NOT_FOUND_ID = 8;
-
- /**
- * Problem id
- */
- public final static int MUST_BE_A_VALID_JAVA_IDENT_ID = 9;
-
- /**
- * Problem id
- */
- public final static int BEAN_SCOPE_NOT_VALID_ID = 10;
-
- /**
- * Problem id
- */
- public final static int MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID = 11;
-
- /**
- * Problem id
- */
- public final static int LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID = 12;
-
- /**
- * Problem id
- */
- public final static int API_NOT_AVAILABLE_BEFORE_VERSION_ID = 13;
-
- /**
- * Problem id
- */
- public final static int APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID = 14;
- /**
- * Problem id
- */
- public final static int APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID = 15;
-
- /**
- * Problem id
- */
- public final static int LOCALE_FORMAT_NOT_VALID_ID = 16;
-
- /**
- * @return message indicating text that should be EL was
- * not found sorrounded in #{} values
- */
- public static IMessage create_EL_EXPR_MUST_BE_IN_HASH_BRACES()
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- Messages.EL_EXPR_MUST_BE_IN_HASH_BRACES_ID,
- null, EL_EXPR_MUST_BE_IN_HASH_BRACES_ID);
- }
-
- /**
- * @return message indicating that EL was found that
- * was empty or did not parse
- */
- public static IMessage create_SYNTAX_ERROR_IN_EL()
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- Messages.SYNTAX_ERROR_IN_EL_ID,
- null, SYNTAX_ERROR_IN_EL_ID);
- }
-
- /**
- * @param className
- * @return message indicating that className can't be found as
- * a valid fully qualified class name
- */
- public static IMessage create_CANNOT_FIND_CLASS_NAME(final String className)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.CANNOT_FIND_CLASS_NAME_ID,new Object[]{className}),
- null, CANNOT_FIND_CLASS_NAME_ID);
- }
-
- /**
- * @param fullyQualifiedName
- * @return the error message for a fullyQualifiedName that resolves to a type
- * that is not a class (i.e. an interface or enum) but is expected to be
- */
- public static IMessage create_FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS(final String fullyQualifiedName)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID
- ,new Object[]{fullyQualifiedName})
- ,null, FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID);
- }
-
- /**
- * @param className
- * @param extensionType
- * @param expectedSuper
- * @return an error when a class name must be of type expectedSuper
- */
- public static IMessage create_CLASS_MUST_BE_INSTANCE_OF(final String className,
- final String extensionType,
- final String expectedSuper)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.CLASS_MUST_BE_INSTANCE_OF_ID
- ,new Object[]{className, extensionType, expectedSuper})
- ,null, CLASS_MUST_BE_INSTANCE_OF_ID);
- }
-
-
- /**
- * @param className
- * @return error indicating that className must specify a class
- * that is concrete
- */
- public static IMessage create_CLASS_MUST_BE_CONCRETE(final String className)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.CLASS_MUST_BE_CONCRETE_ID
- ,new Object[]{className})
- ,null, CLASS_MUST_BE_CONCRETE_ID);
- }
-
- /**
- * @param apiName -- name of deprecated API
- * @param afterVersion -- version after which deprecation is effective
- * @param useInstead -- name of API to use instead
- * @return an error indicating the use of a deprecated API
- */
- public static IMessage create_API_DEPRECATED_AFTER_VERSION_ID(final String apiName, final String afterVersion, final String useInstead)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.API_DEPRECATED_AFTER_VERSION_ID
- ,new Object[]{apiName, afterVersion, useInstead})
- ,null, API_DEPRECATED_AFTER_VERSION_ID);
- }
-
- /**
- * @param propertyName
- * @param beanClassName
- * @return an error indicating that the propertyName was not
- * found on beanClassName
- */
- public static IMessage create_BEAN_PROPERTY_NOT_FOUND(final String propertyName, final String beanClassName)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.BEAN_PROPERTY_NOT_FOUND_ID
- ,new Object[]{propertyName, beanClassName})
- ,null, BEAN_PROPERTY_NOT_FOUND_ID);
-
- }
-
-
- /**
- * @param nameOfId
- * @return an error indicating that some id must be a valid
- * Java identifier
- */
- public static IMessage create_MUST_BE_A_VALID_JAVA_IDENT(final String nameOfId)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.MUST_BE_A_VALID_JAVA_IDENT_ID
- ,new Object[]{nameOfId})
- ,null, MUST_BE_A_VALID_JAVA_IDENT_ID);
- }
-
- /**
- * @return an error indicating an invalid bean scope enum value
- */
- public static IMessage create_BEAN_SCOPE_NOT_VALID()
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- Messages.BEAN_SCOPE_NOT_VALID_ID
- , null, BEAN_SCOPE_NOT_VALID_ID);
- }
-
- /**
- * @param targetName
- * @return an error indicating that a map entry is being set on a target
- * object that is not a java.util.Map
- */
- public static IMessage create_MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE(String targetName)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID,
- new Object[]{targetName}),
- null, MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID);
- }
-
- /**
- * @param targetName
- * @return an error indicating that a list entry is being set on a target
- * object that is not a java.util.List
- */
- public static IMessage create_LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE(String targetName)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID,
- new Object[]{targetName}),
- null, LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID);
- }
-
- /**
- * @param apiName
- * @param beforeVersion
- * @param useInstead
- * @return a diagnostic indicating that an API is being used that is not yet
- * available in the current JSF version.
- */
- public static IMessage create_API_NOT_AVAILABLE_BEFORE_VERSION(final String apiName, final String beforeVersion, final String useInstead)
- {
- return new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(Messages.API_NOT_AVAILABLE_BEFORE_VERSION_ID
- ,new Object[]{apiName, beforeVersion, useInstead})
- ,null, API_NOT_AVAILABLE_BEFORE_VERSION_ID);
- }
-
- /**
- * @param file
- * @return a diagnostic indicating that the app config model in use is too
- * new for the selected JSF runtime version.
- */
- public static IMessage create_APP_CONFIG_IS_NEWER_THAN_JSF_VERSION(IFile file)
- {
- final IMessage message = new MyLocalizedMessage(IMessage.HIGH_SEVERITY,
- Messages.APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID
- ,null, APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID);
- message.setTargetObject(file);
- return message;
- }
-
- /**
- * @param file
- * @param appConfigVersion
- * @param projectVersion
- * @return a diagnostic indicating that the app config model in use is older
- * than the selected JSF runtime version.
- */
- public static IMessage create_APP_CONFIG_IS_OLDER_THAN_JSF_VERSION(IFile file, String appConfigVersion, String projectVersion)
- {
- final IMessage message = new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- MessageFormat.format(
- Messages.APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID,
- new Object[] {appConfigVersion, projectVersion})
- ,null, APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID);
- message.setTargetObject(file);
- return message;
- }
-
- /**
- * @return a diagnostic indicating that the locale format does
- * not match what is expected
- */
- public static IMessage create_LOCALE_FORMAT_NOT_VALID()
- {
- IMessage message = new MyLocalizedMessage(IMessage.NORMAL_SEVERITY,
- Messages.LOCALE_FORMAT_NOT_VALID_ID
- ,null, LOCALE_FORMAT_NOT_VALID_ID);
- return message;
- }
-
- /**
- * Customized localizable message for app config validation
- * @author cbateman
- *
- */
- static class MyLocalizedMessage extends Message implements ILocalizedMessage
- {
- private final String _message;
- private final int _errorCode;
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- * @param errorCode
- */
- public MyLocalizedMessage(int severity, String messageText, IResource targetObject, int errorCode) {
- this(severity, messageText, (Object) targetObject, errorCode);
- }
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- * @param errorCode
- */
- private MyLocalizedMessage(int severity, String messageText, Object targetObject, int errorCode) {
- super(JSFCorePlugin.getDefault().getBundle().getSymbolicName(), severity,
- messageText);
- _message = messageText;
- setTargetObject(targetObject);
- _errorCode = errorCode;
- }
-
- /**
- * @return the localized message
- */
- public String getLocalizedMessage() {
- return _message;
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText()
- */
- public String getText() {
- return getLocalizedMessage();
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText(java.lang.ClassLoader)
- */
- public String getText(ClassLoader cl) {
- return getLocalizedMessage();
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText(java.util.Locale)
- */
- public String getText(Locale l) {
- return getLocalizedMessage();
- }
-
- public String getText(Locale l, ClassLoader cl) {
- return getLocalizedMessage();
- }
-
- /**
- * @return the error code related to this message
- */
- public int getErrorCode() {
- return _errorCode;
- }
-
-
- /**
- * @param offset
- * @return true if this message applies to document offset
- */
- public boolean appliesTo(int offset)
- {
- return (offset >= getOffset() && offset < getOffset()+getLength());
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/EObjectValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/EObjectValidationVisitor.java
deleted file mode 100644
index 73c301edd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/EObjectValidationVisitor.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- *
- * @author cbateman
- */
-public abstract class EObjectValidationVisitor
-{
- private EStructuralFeature _structuralFeature;
- private Map _childFeatures; // == null; lazy initialized in validate
- private final String _version;
-
- /**
- * Used to indicate no child nodes
- */
- protected final static EObjectValidationVisitor[] NO_CHILDREN =
- new EObjectValidationVisitor[0];
-
- /**
- * @param version
- *
- */
- public EObjectValidationVisitor(String version)
- {
- _version = version;
- }
-
- private EObjectValidationVisitor getVisitorForFeature(EStructuralFeature feature)
- {
- if (_childFeatures == null)
- {
- _childFeatures = new HashMap();
-
- EObjectValidationVisitor[] children = getChildNodeValidators();
-
- for (int i = 0; i < children.length; i++)
- {
- final EObjectValidationVisitor child = children[i];
- _childFeatures.put(child.getStructuralFeature(), child);
- }
- }
-
- return (EObjectValidationVisitor) _childFeatures.get(feature);
- }
-
- /**
- * @param structuralFeature
- * @param version
- */
- public EObjectValidationVisitor(EStructuralFeature structuralFeature, String version)
- {
- this(version);
- _structuralFeature = structuralFeature;
- }
-
- /**
- * @param eObject
- * @param messages
- * @param file
- */
- public final void validate(EObject eObject, List messages, IFile file)
- {
- doValidate(eObject, messages, file);
-
- List features = eObject.eClass().getEAllStructuralFeatures();
-
- for (final Iterator it = features.iterator(); it.hasNext();)
- {
- final EStructuralFeature feature = (EStructuralFeature) it.next();
- final EObjectValidationVisitor visitor =
- getVisitorForFeature(feature);
-
- if (visitor != null)
- {
- final Object obj = eObject.eGet(feature);
-
- if (obj instanceof List
- && feature.isMany())
- {
- for (final Iterator childIt = ((List)obj).iterator();
- childIt.hasNext();)
- {
- Object child = childIt.next();
- if (child instanceof EObject)
- {
- visitor.validate((EObject)child, messages, file);
- }
- }
- }
- else if (obj instanceof EObject)
- {
- visitor.validate((EObject)obj , messages, file);
- }
- }
- }
- }
-
- /**
- * Do the validation for this visitor on this node. Add any Message's to
- * the messages list
- *
- * @param eObject
- * @param messages
- * @param file
- */
- protected abstract void doValidate(EObject eObject, List messages, IFile file);
-
- /**
- * @return an array of visitors that validate children of the current node
- */
- protected abstract EObjectValidationVisitor[] getChildNodeValidators();
-
- /**
- * @return the structural feature
- */
- protected final EStructuralFeature getStructuralFeature()
- {
- return _structuralFeature;
- }
-
- /**
- * @return the version of the runtime
- */
- protected final String getVersion()
- {
- return _version;
- }
-
-
- /**
- * @return {@link JSFVersion} of this file
- */
- protected JSFVersion getJSFVersion() {
- return JSFVersion.valueOfString(_version);
- }
- /**
- * @param messages
- * @param message
- * @param eObj
- * @param file
- */
- protected static void addMessageInfo(List messages, IMessage message, EObject eObj, IFile file)
- {
- if (message != null)
- {
- message.setOffset(AppConfigValidationUtil.getStartOffset(eObj));
- message.setLength(AppConfigValidationUtil.getLength(eObj));
- message.setTargetObject(file);
- messages.add(message);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FacesConfigValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FacesConfigValidator.java
deleted file mode 100644
index 5298ecac3..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FacesConfigValidator.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.PhaseListenerType;
-
-/**
- * Top-level validator for the faces-config model
- *
- * @author cbateman
- *
- */
-public class FacesConfigValidator extends EObjectValidationVisitor
-{
- /**
- * constructor
- * @param version
- */
- public FacesConfigValidator(String version)
- {
- super(version);
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new NavigationRuleValidator(getVersion())
- , new ApplicationValidationVisitor(getVersion())
- , new LifecycleValidationVisitor(getVersion())
- , new FactoryValidationVisitor(getVersion())
- , new ComponentValidatorVisitor(getVersion())
- , new ValidatorTypeValidationVisitor(getVersion())
- , new ConverterValidationVisitor(getVersion())
- , new ManagedBeanValidationVisitor(getVersion())
- , new RenderKitValidationVisitor(getVersion())
- , new BehaviorValidationVisitor(getVersion())
- };
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- // nothing to do
- }
-
- private static class LifecycleValidationVisitor extends EObjectValidationVisitor
- {
- LifecycleValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Lifecycle(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to validate except in children
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[] {
- new PhaseListenerValidation(getVersion())
- };
- }
-
- private static class PhaseListenerValidation extends ClassNameEObjectValidationVisitor
- {
- PhaseListenerValidation(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getLifecycleType_PhaseListener(),
- version);
- }
- protected String getFullyQualifiedName(EObject eobj) {
- return ((PhaseListenerType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.event.PhaseListener"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // no children
- return NO_CHILDREN;
- }
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FactoryValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FactoryValidationVisitor.java
deleted file mode 100644
index 7741f358e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/FactoryValidationVisitor.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.ApplicationFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.ExceptionHandlerFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.ExternalContextFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesContextFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.LifecycleFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.PartialViewContextFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.RenderKitFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.TagHandlerDelegateFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.ViewDeclarationLanguageFactoryType;
-import org.eclipse.jst.jsf.facesconfig.emf.VisitContextFactoryType;
-
-/**
- * @author cbateman
- *
- */
-public class FactoryValidationVisitor extends EObjectValidationVisitor
-{
- /**
- * @param version
- */
- public FactoryValidationVisitor(String version) {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Factory()
- ,version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to do except vaildate children
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new ApplicationFactoryValidationVisitor(getVersion())
- , new FacesContextFactoryValidationVisitor(getVersion())
- , new LifecycleFactoryValidationVisitor(getVersion())
- , new RenderkitFactoryValidationVisitor(getVersion())
- , new ExceptionHandlerFactoryValidationVisitor(getVersion())
- , new ExternalContextFactoryValidationVisitor(getVersion())
- , new PartialViewContextFactoryValidationVisitor(getVersion())
- , new ViewDeclarationLanguageFactoryValidationVisitor(getVersion())
- , new TagHandlerDelegateFactoryValidationVisitor(getVersion())
- , new VisitContextFactoryValidationVisitor(getVersion())
- };
- }
-
- private static class ApplicationFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ApplicationFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_ApplicationFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ApplicationFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.application.ApplicationFactory"; //$NON-NLS-1$
- }
-
- @Override
- protected boolean mustBeClass() {
- return true;
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- }
-
- private static class FacesContextFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- FacesContextFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_FacesContextFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((FacesContextFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.context.FacesContextFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass()
- {
- // must be a class
- return true;
- }
-
- }
-
- private static class LifecycleFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- LifecycleFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_LifecycleFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((LifecycleFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.lifecycle.LifecycleFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
-
- }
-
- private static class RenderkitFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- RenderkitFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_RenderKitFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((RenderKitFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.render.RenderKitFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- private static class ExceptionHandlerFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ExceptionHandlerFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_ExceptionHandlerFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ExceptionHandlerFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.context.ExceptionHandlerFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- private static class ExternalContextFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ExternalContextFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_ExternalContextFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ExternalContextFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.context.ExternalContextFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-
- private static class ViewDeclarationLanguageFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ViewDeclarationLanguageFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_ViewDeclarationLanguageFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ViewDeclarationLanguageFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.view.ViewDeclarationLanguageFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- private static class PartialViewContextFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- PartialViewContextFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_PartialViewContextFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((PartialViewContextFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.context.PartialViewContextFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- private static class TagHandlerDelegateFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- TagHandlerDelegateFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_TagHandlerDelegateFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((TagHandlerDelegateFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.view.facelets.TagHandlerDelegateFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
- private static class VisitContextFactoryValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- VisitContextFactoryValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFactoryType_VisitContextFactory(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((VisitContextFactoryType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.component.visit.VisitContextFactory"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- // none
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ILocalizedMessage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ILocalizedMessage.java
deleted file mode 100644
index 33240d7aa..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ILocalizedMessage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-/**
- * Used to expose internal message data to unit tests. Should not be used by clients
- * @author cbateman
- *
- */
-public interface ILocalizedMessage {
- /**
- * @return the error code
- */
- public int getErrorCode();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedBeanValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedBeanValidationVisitor.java
deleted file mode 100644
index 99b818128..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedBeanValidationVisitor.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.ListEntriesType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanScopeType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Managed bean validator
- *
- * @author cbateman
- *
- */
-public class ManagedBeanValidationVisitor extends EObjectValidationVisitor
-{
- /**
- * @param version
- */
- public ManagedBeanValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_ManagedBean()
- ,version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- final ManagedBeanType managedBean = (ManagedBeanType) object;
-
- // TODO: validate managedBeanName is a valid Java id
-// final String managedBeanName =
-// managedBean.getManagedBeanName().getTextContent();
- validateScope(managedBean.getManagedBeanScope(), messages, file);
- validateClass(managedBean.getManagedBeanClass(), messages, file);
- validateEntryTypes(managedBean, messages, file);
- }
-
- private void validateScope(ManagedBeanScopeType scope, List messages, IFile file)
- {
- if (scope != null && scope.getTextContent() != null)
- {
- addMessageInfo(messages
- , AppConfigValidationUtil.validateManagedBeanScope(scope, file, getJSFVersion())
- , scope, file);
- }
- }
-
- private void validateClass(ManagedBeanClassType classType, List messages, IFile file)
- {
- if (classType != null)
- {
- String classTypeValue = classType.getTextContent();
- addMessageInfo(messages
- , AppConfigValidationUtil.validateClassName
- (classTypeValue == null ? "" : classTypeValue //$NON-NLS-1$
- , null, true, // a managed bean must be a class
- file.getProject())
- , classType, file);
- }
- }
-
- private void validateEntryTypes(ManagedBeanType managedBeanType, List messages, IFile file)
- {
- // TODO: do a bean look-up for targetName to verify that it a) matches the type
- // and b) exists on the bean
- if (managedBeanType.getManagedBeanName()!= null
- && managedBeanType.getManagedBeanClass() != null)
- {
- final String propertyName =
- managedBeanType.getManagedBeanName().getTextContent();
- final String propertyClass =
- managedBeanType.getManagedBeanClass().getTextContent();
-
- if (propertyName == null || propertyClass == null
- || "".equals(propertyName.trim()) //$NON-NLS-1$
- || "".equals(propertyClass.trim())) //$NON-NLS-1$
- {
- return;
- }
-
- IMessage message = null;
- EObject eObj = null;
- if (managedBeanType.getMapEntries() != null)
- {
- eObj = managedBeanType.getMapEntries();
- message =
- AppConfigValidationUtil
- .validateMapEntries
- (propertyName
- , propertyClass
- , (MapEntriesType) eObj
- , file.getProject());
- }
- else if (managedBeanType.getListEntries() != null)
- {
- eObj = managedBeanType.getListEntries();
- message =
- AppConfigValidationUtil
- .validateListEntries(
- propertyName
- , propertyClass
- , (ListEntriesType) eObj
- , file.getProject());
- }
- addMessageInfo(messages, message, eObj, file);
- }
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new ManagedPropertyValidationVisitor(getVersion())
- };
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedPropertyValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedPropertyValidationVisitor.java
deleted file mode 100644
index 154ae2450..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ManagedPropertyValidationVisitor.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.ListEntriesType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedPropertyType;
-import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Validates managed bean properties
- *
- */
-public class ManagedPropertyValidationVisitor extends EObjectValidationVisitor
-{
- /**
- * @param version
- */
- public ManagedPropertyValidationVisitor(String version) {
- super(FacesConfigPackage.eINSTANCE.getManagedBeanType_ManagedProperty()
- ,version);
- }
-
- protected void doValidate(final EObject object, final List messages, final IFile file)
- {
- // TODO: do a bean look-up for propertyName to verify that it a) matches the type
- // and b) exists on the bean
- final ManagedPropertyType managedPropertyType =
- (ManagedPropertyType) object;
-
- if (managedPropertyType.getPropertyName() == null
- || managedPropertyType.getPropertyClass() == null)
- {
- // don't bother if the basics aren't correct
- return;
- }
-
- final String propertyName =
- managedPropertyType.getPropertyName().getTextContent();
- final String propertyClass =
- managedPropertyType.getPropertyClass().getTextContent();
-
- if (propertyName == null || propertyClass == null
- || "".equals(propertyName.trim()) //$NON-NLS-1$
- || "".equals(propertyClass.trim())) //$NON-NLS-1$
- {
- return;
- }
-
- IMessage message = null;
- EObject eObj = null;
- if (managedPropertyType.getMapEntries() != null)
- {
- eObj = managedPropertyType.getMapEntries();
- message =
- AppConfigValidationUtil
- .validateMapEntries
- (propertyName
- , propertyClass
- , (MapEntriesType) eObj
- , file.getProject());
- }
- else if (managedPropertyType.getListEntries() != null)
- {
- eObj = managedPropertyType.getListEntries();
- message =
- AppConfigValidationUtil
- .validateListEntries(
- propertyName
- , propertyClass
- , (ListEntriesType) eObj
- , file.getProject());
- }
-
- addMessageInfo(messages, message, eObj, file);
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new PropertyNameValidationVisitor(FacesConfigPackage.eINSTANCE.getManagedPropertyType_PropertyName(),
- FacesConfigPackage.eINSTANCE.getManagedBeanType_ManagedBeanClass(), getVersion())
- };
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/Messages.java
deleted file mode 100644
index b0535a9a5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/Messages.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.validation.internal.appconfig.messages"; //$NON-NLS-1$
-
-
-
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- /**
- * see messages.properties
- */
- public static String AppConfigValidationUtil_0;
-
- /**
- * see messages.properties
- */
- public static String EL_EXPR_MUST_BE_IN_HASH_BRACES_ID;
-
- /**
- * see messages.properties
- */
- public static String SYNTAX_ERROR_IN_EL_ID;
-
- /**
- * see messages.properties
- */
- public static String CANNOT_FIND_CLASS_NAME_ID;
-
- /**
- * see messages.properties
- */
- public static String FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID;
-
- /**
- * see messages.properties
- */
- public static String CLASS_MUST_BE_INSTANCE_OF_ID;
-
- /**
- * see messages.properties
- */
- public static String CLASS_MUST_BE_CONCRETE_ID;
-
- /**
- * see messages.properties
- */
- public static String API_DEPRECATED_AFTER_VERSION_ID;
-
- /**
- * see messages.properties
- */
- public static String BEAN_PROPERTY_NOT_FOUND_ID;
-
- /**
- * see messages.properties
- */
- public static String MUST_BE_A_VALID_JAVA_IDENT_ID;
-
- /**
- * see messages.properties
- */
- public static String BEAN_SCOPE_NOT_VALID_ID;
-
- /**
- * see messages.properties
- */
- public static String MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID;
-
- /**
- * see messages.properties
- */
- public static String LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID;
-
- /**
- * see messages.properties
- */
- public static String API_NOT_AVAILABLE_BEFORE_VERSION_ID;
-
- /**
- * see messages.properties
- */
- public static String APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID;
-
- /**
- * see messages.properties
- */
- public static String APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID;
-
- /**
- * see messages.properties
- */
- public static String LOCALE_FORMAT_NOT_VALID_ID;
-
- /**
- * see messages.properties
- */
- public static String CONFIG_FILE_NOT_UNDER_WEBCONTENT_FOLDER;
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationCaseValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationCaseValidationVisitor.java
deleted file mode 100644
index 9c2c51656..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationCaseValidationVisitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.FromActionType;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * NavigationCase validation visitor.
- *
- * @author cbateman
- *
- */
-public class NavigationCaseValidationVisitor extends EObjectValidationVisitor
-{
- /**
- * @param version
- *
- */
- public NavigationCaseValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getNavigationRuleType_NavigationCase()
- , version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new FromActionValidationVisitor(getVersion())
- };
- }
-
- private static class FromActionValidationVisitor extends EObjectValidationVisitor
- {
- /**
- * @param version
- *
- */
- public FromActionValidationVisitor(String version) {
- super(FacesConfigPackage.eINSTANCE.getNavigationCaseType_FromAction(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- if (object instanceof FromActionType)
- {
- final FromActionType actionType = (FromActionType) object;
- IMessage message = AppConfigValidationUtil.validateELExpression
- (actionType.getTextContent());
- addMessageInfo(messages, message, actionType, file);
- }
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return NO_CHILDREN;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationRuleValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationRuleValidator.java
deleted file mode 100644
index 97b9df029..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NavigationRuleValidator.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * Recursive validator for navigation-rule
- *
- * @author cbateman
- *
- */
-public class NavigationRuleValidator extends EObjectValidationVisitor
-{
- /**
- * Constructor
- * @param version
- */
- public NavigationRuleValidator(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_NavigationRule()
- , version);
- }
-
- protected void doValidate(EObject eobj, List messages, IFile file)
- {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new NavigationCaseValidationVisitor(getVersion())
- };
- }
-// private static class FromViewIdValidator extends ViewIdValidator
-// {
-// FromViewIdValidator()
-// {
-// super(Node.ELEMENT_NODE, "from-view-id");
-// }
-//
-// protected void doValidate(Node node, List messages, IFile file)
-// {
-// // only validate if a custom navigation handler is not set
-// // since we can only validate against what the default navigation
-// // handler will expect
-// if (!hasCustomNavigationHandler(file))
-// {
-// final String textContent = node.getTextContent();
-// final IProject project = file.getProject();
-//
-//
-// }
-// }
-//
-// private boolean hasCustomNavigationHandler(IFile file)
-// {
-// JSFAppConfigManager configManager =
-// JSFAppConfigManager.getInstance(file.getProject());
-//
-// for (final Iterator appIt = configManager.getApplications().iterator(); appIt.hasNext();)
-// {
-// ApplicationType appType = (ApplicationType) appIt.next();
-// if (appType.getNavigationHandler().size() > 0)
-// {
-// return true;
-// }
-// }
-//
-// return false;
-// }
-//
-// protected NodeValidationVisitor[] getChildNodeValidators() {
-// return EMPTY_CHILDREN;
-// }
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NodeValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NodeValidationVisitor.java
deleted file mode 100644
index aa2f78117..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/NodeValidationVisitor.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * Visits an app config DOM tree and calls validators based on the
- * configured validator tree
- *
- * @author cbateman
- *
- */
-public abstract class NodeValidationVisitor
-{
- private final short _nodeType;
- private final String _nodeName;
- private final Map _attributeVisitors;
- private final Map _elementVisitors;
-
- /**
- * Used to indicate no child nodes
- */
- protected final static NodeValidationVisitor[] EMPTY_CHILDREN = new NodeValidationVisitor[0];
-
- /**
- * @param nodeType
- * @param nodeName
- */
- public NodeValidationVisitor(short nodeType, String nodeName)
- {
- _nodeType = nodeType;
- _nodeName = nodeName;
- _attributeVisitors = new HashMap();
- _elementVisitors = new HashMap();
-
- NodeValidationVisitor[] childVisitors = getChildNodeValidators();
-
- for (int i = 0; i < childVisitors.length; i++)
- {
- final NodeValidationVisitor visitor = childVisitors[i];
-
- switch(visitor.getNodeType())
- {
- case Node.ATTRIBUTE_NODE:
- _attributeVisitors.put(visitor.getNodeName(), visitor);
- break;
-
- case Node.ELEMENT_NODE:
- _elementVisitors.put(visitor.getNodeName(), visitor);
- break;
- }
- }
- }
-
- /**
- * @param node
- * @param messages
- * @param file
- */
- public final void validate(Node node, List messages, IFile file)
- {
- doValidate(node, messages, file);
-
- final NamedNodeMap attributes = node.getAttributes();
-
- for (int i = 0; attributes != null && i < attributes.getLength(); i++)
- {
- final Node attr = attributes.item(i);
- final NodeValidationVisitor visitor =
- (NodeValidationVisitor) _attributeVisitors.get(attr.getNodeName());
- if (visitor != null)
- {
- visitor.validate(attr, messages, file);
- }
- }
-
- for (int i = 0; i < node.getChildNodes().getLength(); i++)
- {
- final Node child = node.getChildNodes().item(i);
- final NodeValidationVisitor visitor =
- (NodeValidationVisitor) _elementVisitors.get(child.getNodeName());
- if (visitor != null)
- {
- visitor.validate(child, messages, file);
- }
- }
- }
-
- /**
- * Do the validation for this visitor on this node. Add any Message's to
- * the messages list
- *
- * @param node
- * @param messages
- * @param file
- */
- protected abstract void doValidate(Node node, List messages, IFile file);
-
- /**
- * @return an array of visitors that validate children of the current node
- */
- protected abstract NodeValidationVisitor[] getChildNodeValidators();
-
- /**
- * @return the node type for this validator
- */
- protected short getNodeType()
- {
- return _nodeType;
- }
-
- /**
- * @return the node name for this validator
- */
- protected String getNodeName()
- {
- return _nodeName;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyNameValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyNameValidationVisitor.java
deleted file mode 100644
index c076c1b9e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyNameValidationVisitor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.common.util.JDTBeanIntrospector;
-import org.eclipse.jst.jsf.common.util.JDTBeanProperty;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.facesconfig.emf.PropertyNameType;
-
-/**
- * Validate the validation property name
- *
- * @author cbateman
- */
-class PropertyNameValidationVisitor extends EObjectValidationVisitor
-{
- private final EStructuralFeature _parentClassNameFeature;
- private final Map<IType, Map<String, JDTBeanProperty>> _propertyCache;
- private final Map<String, IType> _typeCache;
-
- /**
- * @param feature
- * @param parentClassNameFeature
- * @param version
- */
- public PropertyNameValidationVisitor(EStructuralFeature feature,
- EStructuralFeature parentClassNameFeature, String version)
- {
- super(feature, version);
- _parentClassNameFeature = parentClassNameFeature;
- _propertyCache = new HashMap<IType, Map<String, JDTBeanProperty>>();
- _typeCache = new HashMap<String, IType>();
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return PropertyValidationVisitor.NO_CHILDREN;
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- final String parentClassType = getParentClassType(object);
-
- if (parentClassType != null)
- {
- final boolean isBeanProperty =
- validateProperty((PropertyNameType)object
- , file.getProject(), parentClassType);
- final String propertyName =
- ((PropertyNameType)object).getTextContent();
-
- if (!isBeanProperty)
- {
- PropertyValidationVisitor.addMessageInfo(messages,
- DiagnosticFactory
- .create_BEAN_PROPERTY_NOT_FOUND
- (propertyName, parentClassType)
- , object, file);
- }
- }
- }
-
- private String getParentClassType(EObject object)
- {
- String parentClassType = null;
-
- // need to derive the parent's type
- final EObject property = object.eContainer();
- if (property != null)
- {
- EObject owningObject = property.eContainer();
-
- if (owningObject != null)
- {
- final EObject parentClassTypeObject =
- (EObject) owningObject.eGet(_parentClassNameFeature);
-
- if (parentClassTypeObject != null)
- {
- final EStructuralFeature feature =
- parentClassTypeObject.eClass()
- .getEStructuralFeature("textContent"); //$NON-NLS-1$
-
- if (feature != null)
- {
- parentClassType = (String)
- parentClassTypeObject.eGet(feature);
- }
- }
- }
- }
-
- return parentClassType;
- }
-
- private boolean validateProperty(PropertyNameType object, IProject project, String parentClassType)
- {
- boolean isBeanProperty = false;
-
- final IType type = getType(parentClassType, project);
-
- if (type != null)
- {
- final String propertyName = object.getTextContent();
-
- Map<String, JDTBeanProperty> cachedType = _propertyCache.get(type);
- if (cachedType == null)
- {
- cachedType = getProperties(type, project);
- _propertyCache.put(type, cachedType);
- }
-
- final JDTBeanProperty beanProperty = cachedType.get(propertyName);
-
- if (beanProperty != null)
- {
- isBeanProperty = true;
- }
- }
- return isBeanProperty;
- }
-
- private Map<String, JDTBeanProperty> getProperties(final IType type, final IProject project)
- {
- final JDTBeanIntrospector introspector = new JDTBeanIntrospector(type);
- return introspector.getProperties();
- }
-
- private IType getType(final String typeName, final IProject project)
- {
- IType type = _typeCache.get(typeName);
- if (type == null)
- {
- IJavaProject javaProject = JavaCore.create(project);
- try
- {
- type = javaProject.findType(typeName);
- _typeCache.put(typeName, type);
- }
- catch (JavaModelException e)
- {
- JSFCorePlugin
- .log(new Exception(e),
- "Problem validating on parent: "+typeName); //$NON-NLS-1$
- }
- }
- return type;
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyValidationVisitor.java
deleted file mode 100644
index 5ff1e81d8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/PropertyValidationVisitor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-
-/**
- * Validates property's
- *
- */
-public class PropertyValidationVisitor extends EObjectValidationVisitor
-{
- private final EStructuralFeature _parentClassName;
-
- /**
- * @param feature
- * @param parentClassName
- * @param version
- */
- public PropertyValidationVisitor(EStructuralFeature feature, EStructuralFeature parentClassName, String version) {
- // this validator can be attached to numerous parents so it
- // cannot hard-code its feature
- super(feature,version);
- _parentClassName = parentClassName;
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // validate the class type here because we need knowledge
- // of the property name to do it
- //TODO:
-// final PropertyType property = (PropertyType) object;
-// final String propertyClass =
-// property.getPropertyClass().getTextContent();
-// final String propertySignature =
-// validateProperty(property.getPropertyName()
-// , file.getProject(), _parentClassType);
-//
-// if (propertySignature != null
-// && Signature.)
-// {
-// Signature.create
-// }
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new PropertyNameValidationVisitor(FacesConfigPackage.eINSTANCE.getPropertyType_PropertyName(),
- _parentClassName, getVersion())
- };
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RenderKitValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RenderKitValidationVisitor.java
deleted file mode 100644
index 3252c5853..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RenderKitValidationVisitor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.RenderKitClassType;
-
-/**
- * Validates the renderkit
- */
-public class RenderKitValidationVisitor extends EObjectValidationVisitor
-{
-
- /**
- * @param version
- */
- public RenderKitValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_RenderKit()
- ,version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file)
- {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators()
- {
- return new EObjectValidationVisitor[]
- {
- new RenderKitClassValidationVisitor(getVersion()),
- new RendererValidationVisitor(getVersion()),
- new ClientBehaviorRendererValidationVisitor(getVersion())
- };
- }
-
- private static class RenderKitClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- /**
- * @param version
- */
- public RenderKitClassValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getRenderKitType_RenderKitClass()
- , version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((RenderKitClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.render.RenderKit"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RendererValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RendererValidationVisitor.java
deleted file mode 100644
index aa6a8244c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/RendererValidationVisitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.RendererClassType;
-
-/**
- * Renderer validation
- *
- */
-public class RendererValidationVisitor extends EObjectValidationVisitor {
-
- /**
- * @param version
- */
- public RendererValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getRenderKitType_Renderer(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing to do
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new RendererClassValidationVisitor(getVersion())
- , new AttributeValidationVisitor
- (FacesConfigPackage.eINSTANCE.getRendererType_Attribute()
- , getVersion())
- };
- }
-
- private static class RendererClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- /**
- * @param version
- */
- public RendererClassValidationVisitor(String version)
- {
- super(FacesConfigPackage.eINSTANCE.getRendererType_RendererClass()
- , version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((RendererClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.render.Renderer"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ValidatorTypeValidationVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ValidatorTypeValidationVisitor.java
deleted file mode 100644
index ff60fee54..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ValidatorTypeValidationVisitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.ValidatorClassType;
-
-/**
- * Validation visitor for the Validator faces config model sub-type
- * @author cbateman
- *
- */
-public class ValidatorTypeValidationVisitor extends EObjectValidationVisitor {
-
- /**
- * @param version
- */
- public ValidatorTypeValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getFacesConfigType_Validator(),
- version);
- }
-
- protected void doValidate(EObject object, List messages, IFile file) {
- // nothing in the tag to validate
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return new EObjectValidationVisitor[]
- {
- new ValidatorClassValidationVisitor(getVersion()),
- new AttributeValidationVisitor(FacesConfigPackage.eINSTANCE.getValidatorType_Attribute(), getVersion()),
- new PropertyValidationVisitor
- (FacesConfigPackage.eINSTANCE.getValidatorType_Property()
- ,FacesConfigPackage.eINSTANCE.getValidatorType_ValidatorClass()
- ,getVersion()),
- };
- }
-
- private static class ValidatorClassValidationVisitor extends ClassNameEObjectValidationVisitor
- {
- ValidatorClassValidationVisitor(final String version)
- {
- super(FacesConfigPackage.eINSTANCE.getValidatorType_ValidatorClass(),
- version);
- }
-
- protected String getFullyQualifiedName(EObject eobj)
- {
- return ((ValidatorClassType)eobj).getTextContent();
- }
-
- protected String getInstanceOf() {
- return "javax.faces.validator.Validator"; //$NON-NLS-1$
- }
-
- protected EObjectValidationVisitor[] getChildNodeValidators() {
- return NO_CHILDREN;
- }
-
- @Override
- protected boolean mustBeClass() {
- // must be a class
- return true;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ViewIdValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ViewIdValidator.java
deleted file mode 100644
index 6c2a06734..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/ViewIdValidator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.appconfig;
-
-
-/**
- * @author cbateman
- *
- */
-public abstract class ViewIdValidator extends NodeValidationVisitor
-{
- /**
- * @param nodeType
- * @param nodeName
- */
- protected ViewIdValidator(final short nodeType, final String nodeName)
- {
- super(nodeType, nodeName);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/messages.properties
deleted file mode 100644
index b910ba6e6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/appconfig/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-EL_EXPR_MUST_BE_IN_HASH_BRACES_ID=EL expression must be of the form #{expression}
-SYNTAX_ERROR_IN_EL_ID=Syntax error in EL
-CANNOT_FIND_CLASS_NAME_ID=Cannot find fully qualified class: {0}
-FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID=Fully qualified name must be a class: {0}
-CLASS_MUST_BE_INSTANCE_OF_ID=Class {0} must {1} the type {2}
-CLASS_MUST_BE_CONCRETE_ID=Class {0} must be concrete (not abstract)
-API_DEPRECATED_AFTER_VERSION_ID=API {0} is deprecated after JSF {1}. Use {2} instead.
-BEAN_PROPERTY_NOT_FOUND_ID=Bean property {0} not found on parent class {1}
-MUST_BE_A_VALID_JAVA_IDENT_ID={0} must be a valid Java identifier
-BEAN_SCOPE_NOT_VALID_ID=Managed bean scope must be one of: request, session, application, none
-MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID=Map entries can only be set on objects of type Map. {0} is not an instance of type java.util.Map
-LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID=List entries can only be set on objects of type List. {0} is not an instance of type java.util.List
-API_NOT_AVAILABLE_BEFORE_VERSION_ID=API {0} is not avaiable before JSF {1}. Use {2} instead.
-APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID=Faces 1.2 application configuration cannot be used in projects for Faces 1.1 or before
-APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID=Faces {0} application configuration being used in Faces {1} project. Not all Faces {1} features will be available"
-LOCALE_FORMAT_NOT_VALID_ID=Locale format must be of the form lang_[_country[_variant]] like en or en_US or ja_JP_SJIS
-AppConfigValidationUtil_0=extend
-CONFIG_FILE_NOT_UNDER_WEBCONTENT_FOLDER=JSF configuration file is not under this project's web content folder. Please check project setup. \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsFactory.java
deleted file mode 100644
index 0df2966b4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsFactory.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage
- * @generated
- */
-public interface ConstraintsFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ConstraintsFactory eINSTANCE = org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Tag Id</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Id</em>'.
- * @generated
- */
- TagId createTagId();
-
- /**
- * Returns a new object of class '<em>Tag Set</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Set</em>'.
- * @generated
- */
- TagSet createTagSet();
-
- /**
- * Returns a new object of class '<em>Contains Tag Constraint</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Contains Tag Constraint</em>'.
- * @generated
- */
- ContainsTagConstraint createContainsTagConstraint();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- ConstraintsPackage getConstraintsPackage();
-
-} //ConstraintsFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsPackage.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsPackage.java
deleted file mode 100644
index 2347907b0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ConstraintsPackage.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsPackage.java,v 1.5 2008/11/18 22:24:09 gkessler Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsFactory
- * @model kind="package"
- * @generated
- */
-@SuppressWarnings("hiding")
-public interface ConstraintsPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "constraints"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://org.eclipse.jst.jsf.core/constraints.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "cnst"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ConstraintsPackage eINSTANCE = org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl <em>Tag Id</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getTagId()
- * @generated
- */
- int TAG_ID = 0;
-
- /**
- * The feature id for the '<em><b>Uri</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_ID__URI = 0;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_ID__NAME = 1;
-
- /**
- * The number of structural features of the '<em>Tag Id</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_ID_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagSetImpl <em>Tag Set</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.TagSetImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getTagSet()
- * @generated
- */
- int TAG_SET = 1;
-
- /**
- * The feature id for the '<em><b>Tags</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_SET__TAGS = 0;
-
- /**
- * The number of structural features of the '<em>Tag Set</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_SET_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl <em>Contains Tag Constraint</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getContainsTagConstraint()
- * @generated
- */
- int CONTAINS_TAG_CONSTRAINT = 2;
-
- /**
- * The feature id for the '<em><b>Set Generator</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONTAINS_TAG_CONSTRAINT__SET_GENERATOR = 0;
-
- /**
- * The feature id for the '<em><b>Satisfies Set</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONTAINS_TAG_CONSTRAINT__SATISFIES_SET = 1;
-
- /**
- * The number of structural features of the '<em>Contains Tag Constraint</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONTAINS_TAG_CONSTRAINT_FEATURE_COUNT = 2;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId <em>Tag Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Id</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagId
- * @generated
- */
- EClass getTagId();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getUri <em>Uri</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Uri</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagId#getUri()
- * @see #getTagId()
- * @generated
- */
- EAttribute getTagId_Uri();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getName <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagId#getName()
- * @see #getTagId()
- * @generated
- */
- EAttribute getTagId_Name();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagSet <em>Tag Set</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Set</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagSet
- * @generated
- */
- EClass getTagSet();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagSet#getTags <em>Tags</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Tags</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagSet#getTags()
- * @see #getTagSet()
- * @generated
- */
- EReference getTagSet_Tags();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint <em>Contains Tag Constraint</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Contains Tag Constraint</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint
- * @generated
- */
- EClass getContainsTagConstraint();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSetGenerator <em>Set Generator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Set Generator</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSetGenerator()
- * @see #getContainsTagConstraint()
- * @generated
- */
- EReference getContainsTagConstraint_SetGenerator();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSatisfiesSet <em>Satisfies Set</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Satisfies Set</em>'.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSatisfiesSet()
- * @see #getContainsTagConstraint()
- * @generated
- */
- EReference getContainsTagConstraint_SatisfiesSet();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- ConstraintsFactory getConstraintsFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl <em>Tag Id</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getTagId()
- * @generated
- */
- // @SuppressWarnings("hiding")
- EClass TAG_ID = eINSTANCE.getTagId();
-
- /**
- * The meta object literal for the '<em><b>Uri</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- // @SuppressWarnings("hiding")
- EAttribute TAG_ID__URI = eINSTANCE.getTagId_Uri();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- // @SuppressWarnings("hiding")
- EAttribute TAG_ID__NAME = eINSTANCE.getTagId_Name();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagSetImpl <em>Tag Set</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.TagSetImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getTagSet()
- * @generated
- */
- // @SuppressWarnings("hiding")
- EClass TAG_SET = eINSTANCE.getTagSet();
-
- /**
- * The meta object literal for the '<em><b>Tags</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- // @SuppressWarnings("hiding")
- EReference TAG_SET__TAGS = eINSTANCE.getTagSet_Tags();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl <em>Contains Tag Constraint</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl
- * @see org.eclipse.jst.jsf.validation.internal.constraints.impl.ConstraintsPackageImpl#getContainsTagConstraint()
- * @generated
- */
- // @SuppressWarnings("hiding")
- EClass CONTAINS_TAG_CONSTRAINT = eINSTANCE.getContainsTagConstraint();
-
- /**
- * The meta object literal for the '<em><b>Set Generator</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- // @SuppressWarnings("hiding")
- EReference CONTAINS_TAG_CONSTRAINT__SET_GENERATOR = eINSTANCE.getContainsTagConstraint_SetGenerator();
-
- /**
- * The meta object literal for the '<em><b>Satisfies Set</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- // @SuppressWarnings("hiding")
- EReference CONTAINS_TAG_CONSTRAINT__SATISFIES_SET = eINSTANCE.getContainsTagConstraint_SatisfiesSet();
-
- }
-
-} //ConstraintsPackage
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ContainsTagConstraint.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ContainsTagConstraint.java
deleted file mode 100644
index d91e5c064..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/ContainsTagConstraint.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ContainsTagConstraint.java,v 1.2 2007/04/16 19:53:29 itrimble Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.SetGenerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Contains Tag Constraint</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSetGenerator <em>Set Generator</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSatisfiesSet <em>Satisfies Set</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getContainsTagConstraint()
- * @model
- * @generated
- */
-public interface ContainsTagConstraint extends EObject {
- /**
- * Returns the value of the '<em><b>Set Generator</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Set Generator</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Set Generator</em>' reference.
- * @see #setSetGenerator(SetGenerator)
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getContainsTagConstraint_SetGenerator()
- * @model extendedMetaData="kind='element' name='set-generator'"
- * @generated
- */
- SetGenerator getSetGenerator();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSetGenerator <em>Set Generator</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Set Generator</em>' reference.
- * @see #getSetGenerator()
- * @generated
- */
- void setSetGenerator(SetGenerator value);
-
- /**
- * Returns the value of the '<em><b>Satisfies Set</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Satisfies Set</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Satisfies Set</em>' reference.
- * @see #setSatisfiesSet(TagSet)
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getContainsTagConstraint_SatisfiesSet()
- * @model extendedMetaData="kind='element' name='satisfies-set'"
- * @generated
- */
- TagSet getSatisfiesSet();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint#getSatisfiesSet <em>Satisfies Set</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Satisfies Set</em>' reference.
- * @see #getSatisfiesSet()
- * @generated
- */
- void setSatisfiesSet(TagSet value);
-
-} // ContainsTagConstraint
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagId.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagId.java
deleted file mode 100644
index 5c5ebb12b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagId.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagId.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Id</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getUri <em>Uri</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getTagId()
- * @model
- * @generated
- */
-public interface TagId extends EObject {
- /**
- * Returns the value of the '<em><b>Uri</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Uri</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Uri</em>' attribute.
- * @see #setUri(String)
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getTagId_Uri()
- * @model extendedMetaData="kind='element'"
- * @generated
- */
- String getUri();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getUri <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Uri</em>' attribute.
- * @see #getUri()
- * @generated
- */
- void setUri(String value);
-
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getTagId_Name()
- * @model extendedMetaData="kind='element'"
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // TagId
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagSet.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagSet.java
deleted file mode 100644
index 5c60d5ddb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/TagSet.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagSet.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Set</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.TagSet#getTags <em>Tags</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getTagSet()
- * @model
- * @generated
- */
-public interface TagSet extends EObject {
- /**
- * Returns the value of the '<em><b>Tags</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.jst.jsf.validation.internal.constraints.TagId}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tags</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Tags</em>' reference list.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#getTagSet_Tags()
- * @model type="org.eclipse.jst.jsf.validation.internal.constraints.TagId"
- * @generated
- */
- EList getTags();
-
-} // TagSet
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsFactoryImpl.java
deleted file mode 100644
index e2b10e5d2..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsFactoryImpl.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsFactoryImpl.java,v 1.3 2008/11/18 22:23:52 gkessler Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConstraintsFactoryImpl extends EFactoryImpl implements ConstraintsFactory {
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the constraints factory
- * @generated
- */
- public static ConstraintsFactory init() {
- try {
- ConstraintsFactory theConstraintsFactory = (ConstraintsFactory)EPackage.Registry.INSTANCE.getEFactory("http://org.eclipse.jst.jsf.core/constraints.ecore"); //$NON-NLS-1$
- if (theConstraintsFactory != null) {
- return theConstraintsFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new ConstraintsFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param eClass
- * @return the eobject for the class
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case ConstraintsPackage.TAG_ID: return createTagId();
- case ConstraintsPackage.TAG_SET: return createTagSet();
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT: return createContainsTagConstraint();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new tag id
- * @generated
- */
- public TagId createTagId() {
- TagIdImpl tagId = new TagIdImpl();
- return tagId;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new tag set
- * @generated
- */
- public TagSet createTagSet() {
- TagSetImpl tagSet = new TagSetImpl();
- return tagSet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new Contains Tag Constraint
- * @generated
- */
- public ContainsTagConstraint createContainsTagConstraint() {
- ContainsTagConstraintImpl containsTagConstraint = new ContainsTagConstraintImpl();
- return containsTagConstraint;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the constraints package
- * @generated
- */
- public ConstraintsPackage getConstraintsPackage() {
- return (ConstraintsPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package
- * @deprecated
- * @generated
- */
- public static ConstraintsPackage getPackage() {
- return ConstraintsPackage.eINSTANCE;
- }
-
-} //ConstraintsFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsPackageImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsPackageImpl.java
deleted file mode 100644
index 7e1547e8f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ConstraintsPackageImpl.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsPackageImpl.java,v 1.4 2008/11/18 22:23:52 gkessler Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.TraitTypesPackage;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsFactory;
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage;
-import org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagId;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagSet;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConstraintsPackageImpl extends EPackageImpl implements ConstraintsPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagIdEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagSetEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass containsTagConstraintEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ConstraintsPackageImpl() {
- super(eNS_URI, ConstraintsFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the initialized package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ConstraintsPackage init() {
- if (isInited) return (ConstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
-
- // Obtain or create and register package
- ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ConstraintsPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- TraitTypesPackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- theConstraintsPackage.createPackageContents();
-
- // Initialize created meta-data
- theConstraintsPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theConstraintsPackage.freeze();
-
- return theConstraintsPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagId() {
- return tagIdEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagId_Uri() {
- return (EAttribute)tagIdEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagId_Name() {
- return (EAttribute)tagIdEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagSet() {
- return tagSetEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagSet_Tags() {
- return (EReference)tagSetEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getContainsTagConstraint() {
- return containsTagConstraintEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getContainsTagConstraint_SetGenerator() {
- return (EReference)containsTagConstraintEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getContainsTagConstraint_SatisfiesSet() {
- return (EReference)containsTagConstraintEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsFactory getConstraintsFactory() {
- return (ConstraintsFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- tagIdEClass = createEClass(TAG_ID);
- createEAttribute(tagIdEClass, TAG_ID__URI);
- createEAttribute(tagIdEClass, TAG_ID__NAME);
-
- tagSetEClass = createEClass(TAG_SET);
- createEReference(tagSetEClass, TAG_SET__TAGS);
-
- containsTagConstraintEClass = createEClass(CONTAINS_TAG_CONSTRAINT);
- createEReference(containsTagConstraintEClass, CONTAINS_TAG_CONSTRAINT__SET_GENERATOR);
- createEReference(containsTagConstraintEClass, CONTAINS_TAG_CONSTRAINT__SATISFIES_SET);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- TraitTypesPackage theTraitTypesPackage = (TraitTypesPackage)EPackage.Registry.INSTANCE.getEPackage(TraitTypesPackage.eNS_URI);
-
- // Add supertypes to classes
-
- // Initialize classes and features; add operations and parameters
- initEClass(tagIdEClass, TagId.class, "TagId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getTagId_Uri(), ecorePackage.getEString(), "uri", null, 0, 1, TagId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagId_Name(), ecorePackage.getEString(), "name", null, 0, 1, TagId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagSetEClass, TagSet.class, "TagSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagSet_Tags(), this.getTagId(), null, "tags", null, 0, -1, TagSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(containsTagConstraintEClass, ContainsTagConstraint.class, "ContainsTagConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getContainsTagConstraint_SetGenerator(), theTraitTypesPackage.getSetGenerator(), null, "setGenerator", null, 0, 1, ContainsTagConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getContainsTagConstraint_SatisfiesSet(), this.getTagSet(), null, "satisfiesSet", null, 0, 1, ContainsTagConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations() {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation
- (getTagId_Uri(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "uri" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagId_Name(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "name" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagSet_Tags(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "tagId" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getContainsTagConstraint_SetGenerator(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "set-generator" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getContainsTagConstraint_SatisfiesSet(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "satisfies-set" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} //ConstraintsPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ContainsTagConstraintImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ContainsTagConstraintImpl.java
deleted file mode 100644
index d3fad7129..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/ContainsTagConstraintImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ContainsTagConstraintImpl.java,v 1.3 2007/04/16 19:53:19 itrimble Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.SetGenerator;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage;
-import org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagSet;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Contains Tag Constraint</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl#getSetGenerator <em>Set Generator</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.ContainsTagConstraintImpl#getSatisfiesSet <em>Satisfies Set</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ContainsTagConstraintImpl extends EObjectImpl implements ContainsTagConstraint {
- /**
- * The cached value of the '{@link #getSetGenerator() <em>Set Generator</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSetGenerator()
- * @generated
- * @ordered
- */
- protected SetGenerator setGenerator = null;
-
- /**
- * The cached value of the '{@link #getSatisfiesSet() <em>Satisfies Set</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSatisfiesSet()
- * @generated
- * @ordered
- */
- protected TagSet satisfiesSet = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ContainsTagConstraintImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return ConstraintsPackage.Literals.CONTAINS_TAG_CONSTRAINT;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SetGenerator getSetGenerator() {
- if (setGenerator != null && setGenerator.eIsProxy()) {
- InternalEObject oldSetGenerator = (InternalEObject)setGenerator;
- setGenerator = (SetGenerator)eResolveProxy(oldSetGenerator);
- if (setGenerator != oldSetGenerator) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR, oldSetGenerator, setGenerator));
- }
- }
- return setGenerator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the set generator
- * <!-- end-user-doc -->
- * @generated
- */
- public SetGenerator basicGetSetGenerator() {
- return setGenerator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSetGenerator(SetGenerator newSetGenerator) {
- SetGenerator oldSetGenerator = setGenerator;
- setGenerator = newSetGenerator;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR, oldSetGenerator, setGenerator));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagSet getSatisfiesSet() {
- if (satisfiesSet != null && satisfiesSet.eIsProxy()) {
- InternalEObject oldSatisfiesSet = (InternalEObject)satisfiesSet;
- satisfiesSet = (TagSet)eResolveProxy(oldSatisfiesSet);
- if (satisfiesSet != oldSatisfiesSet) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET, oldSatisfiesSet, satisfiesSet));
- }
- }
- return satisfiesSet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the tag set that must be satisfied
- * <!-- end-user-doc -->
- * @generated
- */
- public TagSet basicGetSatisfiesSet() {
- return satisfiesSet;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSatisfiesSet(TagSet newSatisfiesSet) {
- TagSet oldSatisfiesSet = satisfiesSet;
- satisfiesSet = newSatisfiesSet;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET, oldSatisfiesSet, satisfiesSet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR:
- if (resolve) return getSetGenerator();
- return basicGetSetGenerator();
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET:
- if (resolve) return getSatisfiesSet();
- return basicGetSatisfiesSet();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR:
- setSetGenerator((SetGenerator)newValue);
- return;
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET:
- setSatisfiesSet((TagSet)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR:
- setSetGenerator((SetGenerator)null);
- return;
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET:
- setSatisfiesSet((TagSet)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SET_GENERATOR:
- return setGenerator != null;
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT__SATISFIES_SET:
- return satisfiesSet != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //ContainsTagConstraintImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagIdImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagIdImpl.java
deleted file mode 100644
index be7dbce24..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagIdImpl.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagIdImpl.java,v 1.2 2008/11/18 22:23:52 gkessler Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagId;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Id</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl#getUri <em>Uri</em>}</li>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagIdImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagIdImpl extends EObjectImpl implements TagId {
- /**
- * The default value of the '{@link #getUri() <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUri()
- * @generated
- * @ordered
- */
- protected static final String URI_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getUri() <em>Uri</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getUri()
- * @generated
- * @ordered
- */
- protected String uri = URI_EDEFAULT;
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagIdImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return ConstraintsPackage.Literals.TAG_ID;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getUri() {
- return uri;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setUri(String newUri) {
- String oldUri = uri;
- uri = newUri;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConstraintsPackage.TAG_ID__URI, oldUri, uri));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConstraintsPackage.TAG_ID__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConstraintsPackage.TAG_ID__URI:
- return getUri();
- case ConstraintsPackage.TAG_ID__NAME:
- return getName();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConstraintsPackage.TAG_ID__URI:
- setUri((String)newValue);
- return;
- case ConstraintsPackage.TAG_ID__NAME:
- setName((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.TAG_ID__URI:
- setUri(URI_EDEFAULT);
- return;
- case ConstraintsPackage.TAG_ID__NAME:
- setName(NAME_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.TAG_ID__URI:
- return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
- case ConstraintsPackage.TAG_ID__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (uri: "); //$NON-NLS-1$
- result.append(uri);
- result.append(", name: "); //$NON-NLS-1$
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
-} //TagIdImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagSetImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagSetImpl.java
deleted file mode 100644
index f3899144a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/impl/TagSetImpl.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: TagSetImpl.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagId;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagSet;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Set</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.jsf.validation.internal.constraints.impl.TagSetImpl#getTags <em>Tags</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagSetImpl extends EObjectImpl implements TagSet {
- /**
- * The cached value of the '{@link #getTags() <em>Tags</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTags()
- * @generated
- * @ordered
- */
- protected EList tags = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagSetImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return ConstraintsPackage.Literals.TAG_SET;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getTags() {
- if (tags == null) {
- tags = new EObjectResolvingEList(TagId.class, this, ConstraintsPackage.TAG_SET__TAGS);
- }
- return tags;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ConstraintsPackage.TAG_SET__TAGS:
- return getTags();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ConstraintsPackage.TAG_SET__TAGS:
- getTags().clear();
- getTags().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.TAG_SET__TAGS:
- getTags().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ConstraintsPackage.TAG_SET__TAGS:
- return tags != null && !tags.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //TagSetImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsAdapterFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsAdapterFactory.java
deleted file mode 100644
index ff1de0e99..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsAdapterFactory.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsAdapterFactory.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage
- * @generated
- */
-public class ConstraintsAdapterFactory extends AdapterFactoryImpl {
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ConstraintsPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = ConstraintsPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ConstraintsSwitch modelSwitch =
- new ConstraintsSwitch() {
- public Object caseTagId(TagId object) {
- return createTagIdAdapter();
- }
- public Object caseTagSet(TagSet object) {
- return createTagSetAdapter();
- }
- public Object caseContainsTagConstraint(ContainsTagConstraint object) {
- return createContainsTagConstraintAdapter();
- }
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter)modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagId <em>Tag Id</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagId
- * @generated
- */
- public Adapter createTagIdAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.validation.internal.constraints.TagSet <em>Tag Set</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.TagSet
- * @generated
- */
- public Adapter createTagSetAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint <em>Contains Tag Constraint</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint
- * @generated
- */
- public Adapter createContainsTagConstraintAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //ConstraintsAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceFactoryImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceFactoryImpl.java
deleted file mode 100644
index e0da2ca89..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceFactoryImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsResourceFactoryImpl.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.util.ConstraintsResourceImpl
- * @generated
- */
-public class ConstraintsResourceFactoryImpl extends ResourceFactoryImpl {
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsResourceFactoryImpl() {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Resource createResource(URI uri) {
- XMLResource result = new ConstraintsResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} //ConstraintsResourceFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceImpl.java
deleted file mode 100644
index c397df097..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsResourceImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsResourceImpl.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.util.ConstraintsResourceFactoryImpl
- * @generated
- */
-public class ConstraintsResourceImpl extends XMLResourceImpl {
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param uri the URI of the new resource.
- * @generated
- */
- public ConstraintsResourceImpl(URI uri) {
- super(uri);
- }
-
-} //ConstraintsResourceImpl
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsSwitch.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsSwitch.java
deleted file mode 100644
index 9628616c4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsSwitch.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsSwitch.java,v 1.2 2007/04/09 02:40:07 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage
- * @generated
- */
-public class ConstraintsSwitch {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static ConstraintsPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsSwitch() {
- if (modelPackage == null) {
- modelPackage = ConstraintsPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public Object doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch((EClass)eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected Object doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case ConstraintsPackage.TAG_ID: {
- TagId tagId = (TagId)theEObject;
- Object result = caseTagId(tagId);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConstraintsPackage.TAG_SET: {
- TagSet tagSet = (TagSet)theEObject;
- Object result = caseTagSet(tagSet);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case ConstraintsPackage.CONTAINS_TAG_CONSTRAINT: {
- ContainsTagConstraint containsTagConstraint = (ContainsTagConstraint)theEObject;
- Object result = caseContainsTagConstraint(containsTagConstraint);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Tag Id</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Tag Id</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagId(TagId object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Tag Set</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Tag Set</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagSet(TagSet object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Contains Tag Constraint</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Contains Tag Constraint</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseContainsTagConstraint(ContainsTagConstraint object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //ConstraintsSwitch
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsXMLProcessor.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsXMLProcessor.java
deleted file mode 100644
index 3d80420bb..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/constraints/util/ConstraintsXMLProcessor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ConstraintsXMLProcessor.java,v 1.1 2007/02/28 21:16:02 cbateman Exp $
- */
-package org.eclipse.jst.jsf.validation.internal.constraints.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-
-import org.eclipse.jst.jsf.validation.internal.constraints.ConstraintsPackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ConstraintsXMLProcessor extends XMLProcessor {
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ConstraintsXMLProcessor() {
- super((EPackage.Registry.INSTANCE));
- ConstraintsPackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the ConstraintsResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected Map getRegistrations() {
- if (registrations == null) {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new ConstraintsResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new ConstraintsResourceFactoryImpl());
- }
- return registrations;
- }
-
-} //ConstraintsXMLProcessor
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ASTSemanticValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ASTSemanticValidator.java
deleted file mode 100644
index 1ee65f51c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ASTSemanticValidator.java
+++ /dev/null
@@ -1,612 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.FloatLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IntegerLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.MethodType;
-import org.eclipse.jst.jsf.common.internal.types.NullLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.common.internal.types.StringLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
-import org.eclipse.jst.jsf.context.symbol.IPropertySymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.IValidationReporter;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-import org.eclipse.jst.jsf.validation.internal.el.operators.BinaryOperator;
-import org.eclipse.jst.jsf.validation.internal.el.operators.BracketOperator;
-import org.eclipse.jst.jsf.validation.internal.el.operators.DotOperator;
-import org.eclipse.jst.jsf.validation.internal.el.operators.TernaryChoiceOperator;
-import org.eclipse.jst.jsf.validation.internal.el.operators.UnaryOperator;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTAddExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTAndExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTChoiceExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTEqualityExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTFunctionInvocation;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTLiteral;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTMultiplyExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTOperatorExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTOrExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTRelationalExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTUnaryExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValue;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValuePrefix;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTValueSuffix;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserConstants;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserVisitor;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.SimpleNode;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-
-
-class ASTSemanticValidator implements JSPELParserVisitor, IExpressionSemanticValidator
-{
- private final IFile _targetFile;
- private final ASTExpression _expr;
- private final IStructuredDocumentContext _context;
- private final ISymbolContextResolver _symbolResolver;
-// private final List<IMessage> _messages;
- private final EvaluationTracker _tracker;
- private final DiagnosticFactory _diagnosticFactory;
- private final IValidationReporter _reporter;
-
- ASTSemanticValidator(final ASTExpression expr,
- final IStructuredDocumentContext context,
- final IStructuredDocumentSymbolResolverFactory symbolResolverFactory,
- final IValidationReporter reporter)
- {
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
-
- if (resolver != null)
- {
- _targetFile = (IFile) resolver.getResource();
- }
- else
- {
- _targetFile = null;
- }
-
- _expr = expr;
- _context = context;
- _symbolResolver = symbolResolverFactory.getSymbolContextResolver(context);
- _tracker = new EvaluationTracker();
- _diagnosticFactory = new DiagnosticFactory();
- _reporter = reporter;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.validation.internal.el.IExpressionSemanticValidator#validate()
- */
- public void validate()
- {
- _expr.jjtAccept(this, _tracker);
- }
-
- public Object visit(final ASTAddExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTAndExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTChoiceExpression node, final Object data)
- {
- if (node.jjtGetNumChildren() != 3)
- {
- throw new AssertionError("Binary operators should always have two sub-expressions"); //$NON-NLS-1$
- }
-
- // evaluate choice argument
- node.jjtGetChild(0).jjtAccept(this, data);
- final ValueType choiceArg = ((EvaluationTracker)data).getValueType();
- // evaluate when true argument
- node.jjtGetChild(1).jjtAccept(this, data);
- final ValueType whenTrueArg = ((EvaluationTracker)data).getValueType();
- //evaluate when false argument
- node.jjtGetChild(2).jjtAccept(this, data);
- final ValueType whenFalseArg = ((EvaluationTracker)data).getValueType();
-
-
- if (choiceArg != null && whenTrueArg != null && whenFalseArg != null)
- {
- final TernaryChoiceOperator operator =
- new TernaryChoiceOperator(_diagnosticFactory);
-
- final Diagnostic diagnostic =
- operator.validate(choiceArg/* whenTrueArg, whenFalseArg*/);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- final Token firstToken = node.getFirstToken();
- final int offset = _context.getDocumentPosition() + firstToken.beginColumn - 1;
- final int length = node.getLastToken().endColumn - firstToken.beginColumn+1;
- _reporter.report(diagnostic, offset, length);
- }
-
- ((EvaluationTracker)data).setType(operator.perform(choiceArg, whenTrueArg, whenFalseArg));
- }
- else
- {
- ((EvaluationTracker)data).setType(null);
- }
-
- return data;
- }
-
- public Object visit(final ASTEqualityExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTExpression node, final Object data) {
- return node.childrenAccept(this, data);
- }
-
- public Object visit(final ASTFunctionInvocation node, final Object data)
- {
- // when we see a function invocation, null the type
- // we do not validate function invocations currently
- final Object retVal = node.childrenAccept(this, data);
- ((EvaluationTracker)data).setType(null);
- return retVal;
- }
-
- public Object visit(final ASTLiteral node, final Object data)
- {
- // note, there is an implicit assumption here that literals
- // are all terminals (leafs in the tree)
- if (node.jjtGetNumChildren() > 0)
- {
- throw new AssertionError("Literals should be terminal"); //$NON-NLS-1$
- }
-
- LiteralType type = null;
-
- final Token literalToken = node.getFirstToken();
-
- switch (literalToken.kind)
- {
- case JSPELParserConstants.STRING_LITERAL:
- type = new StringLiteralType(stripQuotes(literalToken.image));
- break;
-
- case JSPELParserConstants.INTEGER_LITERAL:
- type = new IntegerLiteralType(Long.parseLong(literalToken.image));
- break;
-
- case JSPELParserConstants.FLOATING_POINT_LITERAL:
- type = new FloatLiteralType(Double.parseDouble(literalToken.image));
- break;
-
- case JSPELParserConstants.FALSE:
- type = BooleanLiteralType.FALSE;
- break;
-
- case JSPELParserConstants.TRUE:
- type = BooleanLiteralType.TRUE;
- break;
-
- case JSPELParserConstants.NULL:
- type = NullLiteralType.SINGLETON;
- break;
-
- default:
- JSFCorePlugin.log("Unknown EL literal: " +literalToken.toString(), new Throwable("This throwable simply used to mark a stack trace")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- ((EvaluationTracker)data).setType(type);
- return data;
- }
-
- private String stripQuotes(final String stringLiteral)
- {
- if (stringLiteral.startsWith("'") //$NON-NLS-1$
- || stringLiteral.startsWith("\"")) //$NON-NLS-1$
-
- {
- if (stringLiteral.length() > 2)
- {
- // take 'literal' -> literal
- return stringLiteral.substring(1, stringLiteral.length()-1);
- }
- // if only two characters, then the empty string
- return ""; //$NON-NLS-1$
- }
-
- return stringLiteral;
- }
-
- public Object visit(final ASTMultiplyExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTOrExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTRelationalExpression node, final Object data)
- {
- performBinaryEvaluation(node, (EvaluationTracker)data);
- return data;
- }
-
- public Object visit(final ASTUnaryExpression node, final Object data)
- {
- // assertion here is that this expression decomposes:
- // UnaryExpr -> Value
- // UnaryExpr -> UnaryOp UnaryExpression
- // since UnaryOp is a terminal (-,!,not,empty) node will
- // always have exactly one child
- node.childrenAccept(this, data);
- final SignatureBasedType type = ((EvaluationTracker)data).getType();
-
- if (type != null)
- {
- final Token firstToken = node.getFirstToken();
- if (UnaryOperator.isUnaryOperator(firstToken))
- {
- if (type instanceof ValueType)
- {
- final UnaryOperator unaryOp = UnaryOperator.createUnaryOperator(firstToken, _diagnosticFactory);
- final Diagnostic diagnostic = unaryOp.validate((ValueType)type);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- final int offset = _context.getDocumentPosition() + firstToken.beginColumn - 1;
- final int length = node.getLastToken().endColumn - firstToken.beginColumn+1;
- _reporter.report(diagnostic, offset, length);
- }
-
- ((EvaluationTracker)data).
- setType(unaryOp.performOperation ((ValueType)type));
- }
- // cannot apply operations to method bindings
- else
- {
- final int offset = _context.getDocumentPosition() +
- firstToken.beginColumn - 1;
- final int length = node.getLastToken().endColumn -
- firstToken.beginColumn+1;
-
- Diagnostic diagnostic =
- _diagnosticFactory.create_CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING();
-
- _reporter.report(diagnostic, offset, length);
- }
- }
- }
-
- return data;
- }
-
- public Object visit(final ASTValue node, final Object data) {
- final ValueExpressionTracker tracker = new ValueExpressionTracker();
-
- ((EvaluationTracker)data).setValueTracker(tracker);
-
- node.childrenAccept(this, data);
-
- final SignatureBasedType type = ((EvaluationTracker)data).getType();
-
- // now check the tracker. If the last property in the expression
- // is non-null (i.e. the value has one or more suffices) then we
- // to very the leaf node (i.e. 'z' in #{x.y.z}) is more than just
- // an intermediate value used to get to other properties
- if (type instanceof IObjectSymbolBasedValueType
- && ((IObjectSymbolBasedValueType)type).getSymbol() instanceof IPropertySymbol
- && ((IPropertySymbol)((IObjectSymbolBasedValueType)type).getSymbol()).isIntermediate())
- {
- final int offset = tracker.getCurPropertySymbolOffset();
- final int length = tracker.getCurPropertySymbolLength();
- final Diagnostic diagnostic =
- _diagnosticFactory.create_MEMBER_IS_INTERMEDIATE(
- ((IPropertySymbol)((IObjectSymbolBasedValueType)type).getSymbol()).getName());
- _reporter.report(diagnostic, offset, length);
- }
-
- return data;
- }
-
- public Object visit(final ASTValuePrefix node, final Object data)
- {
- if (node.jjtGetNumChildren() == 0)
- {
- final Token token = node.getFirstToken();
- final String image = token.image;
-
- final ISymbol symbol = _symbolResolver.getVariable(image);
-
- if (symbol == null)
- {
- final int offset =
- _context.getDocumentPosition() + token.beginColumn - 1;
- final int length = token.endColumn - token.beginColumn + 1;
-
- final Diagnostic diagnostic =
- _diagnosticFactory.create_VARIABLE_NOT_FOUND(image);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- _reporter.report(diagnostic, offset, length);
- }
- }
- else if (symbol instanceof IInstanceSymbol)
- {
- final IObjectSymbolBasedValueType symbolType =
- IObjectSymbolBasedValueType.getInstance(symbol);
- ((EvaluationTracker) data).setType(symbolType);
- }
- }
-
- return node.childrenAccept(this, data);
- }
-
- public Object visit(final ASTValueSuffix node, final Object data)
- {
- final ValueExpressionTracker tracker = ((EvaluationTracker) data).getValueTracker();
- final SignatureBasedType type = ((EvaluationTracker) data).getType();
-
- if (type instanceof IObjectSymbolBasedValueType)
- {
- final IObjectSymbolBasedValueType symbolType =
- (IObjectSymbolBasedValueType) type;
- final Token firstToken = node.getFirstToken();
-
- if (node.jjtGetNumChildren() == 0
- && firstToken.kind == JSPELParserConstants.DOT)
- {
- final Token dotId = node.getLastToken();
-
- final int offset =
- _context.getDocumentPosition() + dotId.beginColumn - 1;
- final int length = dotId.endColumn - dotId.beginColumn + 1;
-
- final DotOperator dotOp = new DotOperator(_diagnosticFactory, _targetFile, _symbolResolver);
-
- final StringLiteralType suffixLiteral = new StringLiteralType(dotId.image);
- final Diagnostic diagnostic =
- dotOp.validate(symbolType,
- suffixLiteral);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- _reporter.report(diagnostic, offset, length);
- ((EvaluationTracker) data).setType(null);
- }
- else
- {
- // // if the base (value-a) is a map, then using the bracket value-a['y'] type
- // // syntax is recommended. Note that we do this here instead of
- // // DotOperator so that we don't tie the default property resolver
- // // behaviour to that operator class. If someone changes the rules
- // // of how the prop resolver interprets the base, then they may want to
- // // write their own validator that doesn't do this
- // if (symbolType.getSymbol().supportsCoercion(TypeConstants.TYPE_MAP))
- // {
- // _messages.add(ValidationMessageFactory.createFromDiagnostic(
- // DiagnosticFactory.create_BINARY_OP_DOT_WITH_VALUEA_MAP_SHOULD_USE_ARRAY
- // (symbolType.getSymbol().getName(), dotId.image),
- // startOffset, length, _targetFile));
- // }
-
- ((EvaluationTracker) data).setType(dotOp.performOperation(symbolType,
- suffixLiteral));
- tracker.setCurMemberSymbol(offset, length);
- }
-
- // we finished with the single dot suffix here
- return data;
- }
- else if (firstToken.kind == JSPELParserConstants.LBRACKET)
- {
- final EvaluationTracker subExprTracker = new EvaluationTracker();
- node.childrenAccept(this, subExprTracker);
-
- final SignatureBasedType subExprType = subExprTracker.getType();
-
- if (subExprType instanceof ValueType)
- {
- final Token lastToken = node.getLastToken();
- final int offset =
- _context.getDocumentPosition() + firstToken.beginColumn - 1;
- final int length = lastToken.endColumn - firstToken.beginColumn + 1;
-
- final BracketOperator bracketOperator = new BracketOperator(_diagnosticFactory, _targetFile, _symbolResolver);
-
- final Diagnostic diagnostic =
- bracketOperator.validate(symbolType,
- (ValueType)subExprType);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- _reporter.report(diagnostic, offset, length);
- ((EvaluationTracker) data).setType(null);
- }
- else
- {
- ((EvaluationTracker) data).setType(bracketOperator.performOperation(symbolType,
- (ValueType)subExprType));
- tracker.setCurMemberSymbol(offset, length);
- }
- }
- // we are finished with the bracketed suffix at this point.
- return data;
- }
- }
-
- // don't bother to accept children, since if we haven't done
- // something above, there's not much sensible we can do with it
- // clear the type first though
- ((EvaluationTracker) data).setType(null);
- return data; //node.childrenAccept(this, data);
- }
-
- public Object visit(final SimpleNode node, final Object data) {
- return node.childrenAccept(this, data);
- }
-
- /**
- * Copies stored messages into the validation reporter
- * @param validator
- * @param reporter
- */
-// public void reportFindings(final IValidator validator, final IReporter reporter)
-// {
-// for (final IMessage message : _messages)
-// {
-// // don't report messages that have no severity.
-// if ((message.getSeverity() & IMessage.ALL_MESSAGES) != 0)
-// {
-// reporter.addMessage(validator, message);
-// }
-// }
-// }
-
- private void performBinaryEvaluation(final ASTOperatorExpression node, final EvaluationTracker tracker)
- {
- if (node.jjtGetNumChildren() < 2)
- {
- throw new AssertionError("Binary operators should always have at least two sub-expressions"); //$NON-NLS-1$
- }
- else if (node.getOperatorTokens().size() != node.jjtGetNumChildren()-1)
- {
- throw new AssertionError("Binary operators should always have one operator token less than number of sub-expressions"); //$NON-NLS-1$
- }
-
- // evaluate left-most argument
- node.jjtGetChild(0).jjtAccept(this, tracker);
-
- ValueType curType = getValueTypeForBinaryOperation(tracker.getType(), (SimpleNode) node.jjtGetChild(0));
-
- for (int child = 1; child < node.jjtGetNumChildren(); child++)
- {
- // evaluate next argument running left-to-right
- node.jjtGetChild(child).jjtAccept(this, tracker);
- final ValueType secondType =
- getValueTypeForBinaryOperation(tracker.getType(), (SimpleNode) node.jjtGetChild(child));
-
- if (curType != null && secondType != null)
- {
- final BinaryOperator operator =
- BinaryOperator.getBinaryOperator((Token)node.getOperatorTokens().get(child-1), _diagnosticFactory, _context);
-
- final Diagnostic diagnostic = operator.validate(curType, secondType);
-
- if (diagnostic.getSeverity() != Diagnostic.OK)
- {
- final Token firstToken = node.getFirstToken();
- final int offset = _context.getDocumentPosition() + firstToken.beginColumn - 1;
- final int length = node.getLastToken().endColumn - firstToken.beginColumn+1;
- _reporter.report(diagnostic, offset, length);
- }
-
- curType = operator.performOperation(curType, secondType);
- }
- }
-
- tracker.setType(curType);
- }
-
- private ValueType getValueTypeForBinaryOperation(final SignatureBasedType type, final SimpleNode node)
- {
- if (type instanceof ValueType)
- {
- return (ValueType) type;
- }
- else if (type instanceof MethodType)
- {
- final int offset = _context.getDocumentPosition() + node.getFirstToken().beginColumn - 1;
- final int length = node.getLastToken().endColumn - node.getFirstToken().beginColumn+1;
- final Diagnostic diagnostic = _diagnosticFactory.create_CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING();
- _reporter.report(diagnostic, offset, length);
- }
-
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.validation.internal.el.IExpressionSemanticValidator#getMessages()
- */
-// public List getMessages()
-// {
-// if (!_validatorHasBeenCalled)
-// {
-// throw new AssertionError("Should not call getMessages before validate has been called");
-// }
-// return _messages;
-// }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.validation.internal.el.IExpressionSemanticValidator#getExpressionType()
- */
- public SignatureBasedType getExpressionType()
- {
- return _tracker.getType();
- }
-
- /**
- * @param args
- * @throws IOException
- * @throws ParseException
- */
- public static void main(final String[] args) throws IOException, ParseException
- {
- String elText = ""; //$NON-NLS-1$
- int nextCharacter;
-
- while(((nextCharacter = System.in.read()) != -1))
- {
- final char nextChar = (char) nextCharacter;
-
- if (nextChar == '\n')
- {
- final JSPELParser parser = JSPELParser.createParser(elText);
- final ASTExpression expr = parser.Expression();
- expr.dump(""); //$NON-NLS-1$
-
- elText = ""; //$NON-NLS-1$
- }
- else
- {
- elText += nextChar;
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELExpressionValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELExpressionValidator.java
deleted file mode 100644
index 7eecb4cc9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELExpressionValidator.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.designtime.resolver.IStructuredDocumentSymbolResolverFactory;
-import org.eclipse.jst.jsf.validation.internal.IJSFViewValidator.IValidationReporter;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ASTExpression;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParser;
-import org.eclipse.jst.jsp.core.internal.java.jspel.ParseException;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.jst.jsp.core.internal.java.jspel.TokenMgrError;
-
-/**
- * Validates a single expression string
- *
- * @author cbateman
- *
- */
-public class ELExpressionValidator
-{
- private final IStructuredDocumentContext _context;
- private final String _elText;
- private final DiagnosticFactory _diagnosticFactory;
-
- private ASTSemanticValidator _semanticValidator;
- private final IStructuredDocumentSymbolResolverFactory _symbolResolverFactory;
- private final IValidationReporter _reporter;
-
- /**
- * @param context
- * @param elText
- * @param symbolResolverFactory
- * @param reporter
- */
- public ELExpressionValidator(final IStructuredDocumentContext context,
- final String elText,
- final IStructuredDocumentSymbolResolverFactory symbolResolverFactory,
- final IValidationReporter reporter)
- {
- _context = context;
- _elText = elText;
- _diagnosticFactory = new DiagnosticFactory();
- _symbolResolverFactory = symbolResolverFactory;
- _reporter = reporter;
- }
-
- /**
- * Validates a single EL expression in an XML attribute value
- * @return an ASTExpression for the node
- */
- public ASTExpression validateXMLNode()
- {
- JSPELParser elParser = JSPELParser.createParser(_elText);
- // =
- try {
- //final long startParsing = System.currentTimeMillis();
- final ASTExpression expr = elParser.Expression();
- //final long endParsing = System.currentTimeMillis();
- //final long startSemantics = System.currentTimeMillis();
- validateSemantics(expr, _context);
- //final long endSemantics = System.currentTimeMillis();
-
- //System.out.println("Time to parse '"+elText+"' = "+(endParsing-startParsing));
- //System.out.println("Time to semantic checking '"+elText+"' = "+(endSemantics-startSemantics));
-
- // if the parser bailed before parsing the whole
- // expression, raise a warning that there is probably
- // some syntatical issue
- if (expr.getLastToken().endColumn < _elText.trim().length()-1)
- {
- if (ELValidationUtil.isProjectEL22(_context) &&
- _elText.trim().charAt(expr.getLastToken().endColumn) == '(')
- {
- return expr;
- }
- final int offset = _context.getDocumentPosition() + expr.getLastToken().endColumn;
- final int length = _elText.trim().length() - expr.getLastToken().endColumn;
- final Diagnostic diagnostic =
- _diagnosticFactory.create_GENERAL_SYNTAX_ERROR();
-
- _reporter.report(diagnostic, offset, length);
- }
-
- return expr;
- }
- catch (ParseException e) {
- Token curTok = e.currentToken;
- int offset = _context.getDocumentPosition() + curTok.beginColumn;
- int length = curTok.endColumn - curTok.beginColumn + 1;
- final Diagnostic diagnostic = _diagnosticFactory.create_GENERAL_SYNTAX_ERROR();
- _reporter.report(diagnostic, offset, length);
- return null;
- }
- catch (TokenMgrError te) {
- final int offset = _context.getDocumentPosition();
- final int length = _elText.length();
- final Diagnostic diagnostic =
- _diagnosticFactory.create_GENERAL_SYNTAX_ERROR();
- _reporter.report(diagnostic, offset, length);
- return null;
- }
- }
-
- /**
- * @return the type of the expression or null if
- * the type could not be evaluated
- */
- public CompositeType getExpressionType()
- {
- if (_semanticValidator != null)
- {
- final SignatureBasedType type =
- _semanticValidator.getExpressionType();
-
- if (type != null)
- {
- return type.toCompositeType();
- }
- }
-
- return null;
- }
-
-
- /**
- * @return the EL semantic validator for this expression validitor or
- * null if one has not yet been constructor. One will only be construct
- * if validate is called and the expression does not have any syntax errors.
- */
- public IExpressionSemanticValidator getSemanticValidator()
- {
- return _semanticValidator;
- }
-
- /**
- * Validates the context-specific data for one EL expressino
- *
- * @param expr
- * @param file
- * @param reporter
- * @param context
- */
- private void validateSemantics(ASTExpression expr,IStructuredDocumentContext context)
- {
- _semanticValidator = new ASTSemanticValidator(expr, context, _symbolResolverFactory, _reporter);
- _semanticValidator.validate();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELValidationUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELValidationUtil.java
deleted file mode 100644
index dae7de38a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ELValidationUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-
-/**
- * Utility methods used during EL validation.
- *
- * @author ian.trimble@oracle.com
- */
-public class ELValidationUtil {
-
- /**
- * Tests if the passed IResource instance's project has (at least) EL 2.2 on its runtime
- * classpath.
- *
- * @param resource IResource instance to test.
- * @return <code>true</code> if the project has (at least) EL 2.2 on it's runtime classpath,
- * else <code>false</code>.
- */
- public static boolean isProjectEL22(final IResource resource) {
- boolean isEL22 = false;
- if (resource != null) {
- final IProject project = resource.getProject();
- if (project != null) {
- final IJavaProject javaProject = JavaCore.create(project);
- if (javaProject != null) {
- try {
- final IType type = javaProject.findType("javax.el.ValueReference"); //$NON-NLS-1$
- isEL22 = (type != null);
- } catch (JavaModelException ignored) {
- //ignore; isEL22 will remain false
- }
- }
- }
- }
- return isEL22;
- }
-
- /**
- * Tests if the project associated with the passed context has (at least) EL 2.2 on its runtime
- * classpath.
- *
- * @param context IStructuredDocumentContext instance to test.
- * @return <code>true</code> if the project has (at least) EL 2.2 on it's runtime classpath,
- * else <code>false</code>.
- */
- public static boolean isProjectEL22(final IStructuredDocumentContext context) {
- boolean isEL22 = false;
- if (context != null) {
- final IWorkspaceContextResolver resolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- if (resolver != null) {
- final IResource resource = resolver.getResource();
- if (resource != null) {
- isEL22 = isProjectEL22(resource);
- }
- }
- }
- return isEL22;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/EvaluationTracker.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/EvaluationTracker.java
deleted file mode 100644
index aec1b214d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/EvaluationTracker.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el;
-
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-
-/**
- * Used to track the evaulation of an EL expression AST
- *
- * @author cbateman
- *
- */
-class EvaluationTracker
-{
- private ValueExpressionTracker _valueTracker;
- private SignatureBasedType _type;
-
- /**
- * @return the current value expression tracker or null if not set
- */
- public ValueExpressionTracker getValueTracker() {
- return _valueTracker;
- }
-
- /**
- * @param valueTracker
- */
- public void setValueTracker(ValueExpressionTracker valueTracker) {
- _valueTracker = valueTracker;
- }
-
- /**
- * @return the currently resolved type or null if not yet resolved
- * or not able to resolve
- */
- public SignatureBasedType getType() {
- return _type;
- }
-
- /**
- * @param type
- */
- public void setType(SignatureBasedType type) {
- _type = type;
- }
-
- /**
- * @return if getType() is a ValueType, returns it otherwise null
- */
- public ValueType getValueType()
- {
- if (_type instanceof ValueType)
- {
- return (ValueType) _type;
- }
-
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/IExpressionSemanticValidator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/IExpressionSemanticValidator.java
deleted file mode 100644
index 636fffe33..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/IExpressionSemanticValidator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el;
-
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-
-/**
- * Exposes certain parts of the ASTSemanticValidator without exposing the whole class
- * Primarily this was done for JUnit testing
- *
- * @author cbateman
- *
- */
-public interface IExpressionSemanticValidator {
-
- /**
- * Performs the semantic validatino
- */
- public abstract void validate();
-
- /**
- * @return the value type of fully resolved expression
- * or null if not resolved (or could not be resolved)
- */
- public abstract SignatureBasedType getExpressionType();
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/QuickFixAssistant.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/QuickFixAssistant.java
deleted file mode 100644
index 89ff50f04..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/QuickFixAssistant.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el;
-
-
-/**
- * @author cbateman
- *
- */
-public class QuickFixAssistant //extends CorrectionAssistantProvider
-{
-/* public IContentAssistant getCorrectionAssistant(ISourceViewer sourceViewer) {
- IContentAssistant ca = null;
-
- if (sourceViewer != null) {
- ContentAssistant assistant = new ContentAssistant();
-
- if (sourceViewer != null) {
- IContentAssistProcessor correctionProcessor = new CorrectionProcessorXML(sourceViewer);
- assistant.setContentAssistProcessor(correctionProcessor, IJSPPartitions.JSP_DEFAULT_EL2);
- }
- ca = assistant;
- }
-
- return ca;
-
- }
-
- private class CorrectionProcessorXML extends StructuredCorrectionProcessor {
- /**
- * quick assist processor
- */
-/* protected IQuickAssistProcessor fQuickAssistProcessor;
- /**
- * quick fix processor
- */
-/* protected IQuickFixProcessor fQuickFixProcessor;
-
- /**
- * @param sourceViewer
- */
-/* public CorrectionProcessorXML(ISourceViewer sourceViewer) {
- super(sourceViewer);
- }
-
- protected IQuickAssistProcessor getQuickAssistProcessor() {
- if (fQuickAssistProcessor == null)
- fQuickAssistProcessor = new IQuickAssistProcessor()
- {
- public boolean canAssist(StructuredTextViewer viewer, int offset)
- {
- return true;
- }
-
- /**
- * Collects proposals for assistant at the given offset.
- */
-/* public ICompletionProposal[] getProposals(StructuredTextViewer viewer, int offset) throws CoreException
- {
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(viewer, offset);
- final ITextRegionContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getTextRegionResolver(context);
-
- if (resolver == null)
- {
- return new ICompletionProposal[0];
- }
-
- final String regionType = resolver.getRegionType();
- final List proposals = new ArrayList();
-
- if (DOMJSPRegionContexts.JSP_VBL_CONTENT.equals(regionType))
- {
- final String elText = resolver.getRegionText();
- final StringReader reader = new StringReader(elText);
- final JSPELParser parser = new JSPELParser(reader);
-
- try
- {
- final ASTExpression expr = parser.Expression();
- final IExpressionSemanticValidator validator = new ASTSemanticValidator(expr, context);
- validator.validate();
-
-// for (final Iterator it = validator.getMessages().iterator(); it.hasNext();)
-// {
-// // TODO:MyLocalizedMessage message = (MyLocalizedMessage) it.next();
-//
-// if (message.appliesTo(offset))
-// {
- throw new UnsupportedOperationException("TODO:");
-// switch(message.getErrorCode())
-// {
- //TODO:
-// case Messages.ERROR_CODE_BEANNAME_NOT_FOUND:
-// {
-// final String beanName =
-// (String) message.getAttribute("name");
-// proposals.add(new ELContentAssistProposal(beanName, ((IFile)message.getTargetObject()).getProject()));
-// }
-// break;
-// }
-// }
-// }
- }
- catch (ParseException pe)
- {
- // left empty on purpose
- }
- }
-
- return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[0]);
- }
- };
-
- return fQuickAssistProcessor;
- }
-
- protected IQuickFixProcessor getQuickFixProcessor() {
- if (fQuickFixProcessor == null)
- {
- // TODO: should use the approach where possible, but the Annotation doesn't pass
- // enough info
- fQuickFixProcessor = new QuickFixProcessorXML()
- {
- public boolean canFix(Annotation annnotation)
- {
- return true;
- }
-
- public ICompletionProposal[] getProposals(Annotation annnotation) throws CoreException
- {
- return new ICompletionProposal[0];
- }
- };
- }
-
- return fQuickFixProcessor;
- }
- }*/
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ValueExpressionTracker.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ValueExpressionTracker.java
deleted file mode 100644
index 702f997a6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/ValueExpressionTracker.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el;
-
-
-class ValueExpressionTracker
-{
- private int _curPropertySymbolOffset;
- private int _curPropertySymbolLength;
-
- /**
- * @param offset
- * @param length
- */
- public void setCurMemberSymbol(int offset, int length)
- {
- _curPropertySymbolOffset = offset;
- _curPropertySymbolLength = length;
- }
-
- /**
- * @return the offset of the current property symbol or 0 if no current property symbol
- */
- public int getCurPropertySymbolOffset()
- {
- return _curPropertySymbolOffset;
- }
-
- /**
- * @return the length of the current property symbol or 0 if no current property symbol
- */
- public int getCurPropertySymbolLength()
- {
- return _curPropertySymbolLength;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java
deleted file mode 100644
index 64e8381d4..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation7
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.diagnostics;
-
-import java.text.MessageFormat;
-
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.validation.internal.ELValidationPreferences;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Factory for all operator diagnostics. Class should
- * not be implemented, instantiated or sub-classed.
- *
- * @author cbateman
- *
- */
-public final class DiagnosticFactory
-{
- /**
- * The id used in the source field of all Diagnostic's created by this factory
- * to uniquely identify EL validation as their source type.
- */
- public final static String SOURCE_ID = "org.eclipse.jst.jsf.validation.el.Diagnostics";//$NON-NLS-1$
-
- /**
- * Problem id
- */
- public final static int BINARY_OP_BOTH_OPERANDS_NULL_ID = 0;
- /**
- * Problem id
- */
- public final static int BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID = 1;
- /**
- * Problem id
- */
- public final static int BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID = 2;
- /**
- * Problem id
- */
- public final static int BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID = 3;
- /**
- * Problem id
- */
- public final static int BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID = 4;
- /**
- * Problem id
- */
- public final static int BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID = 5;
- /**
- * Problem id
- */
- public final static int BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID = 6;
- /**
- * Problem id
- */
- public final static int BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID = 7;
- /**
- * Problem id
- */
- public final static int BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID = 8;
- /**
- * Problem id
- */
- public final static int BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID = 9;
- /**
- * Problem id
- */
- public final static int UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID = 10;
- /**
- * Problem id
- */
- public final static int UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID = 11;
- /**
- * Problem id
- */
- public final static int UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID = 12;
- /**
- * Problem id
- */
- public final static int UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID = 13;
- /**
- * Problem id
- */
- public final static int UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID = 14;
- /**
- * Problem id
- */
- public final static int TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID = 15;
- /**
- * Problem id
- */
- public final static int TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID = 16;
- /**
- * Problem id
- */
- public final static int UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID = 17;
- /**
- * Problem id
- */
- public final static int CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID = 18;
- /**
- * Problem id
- */
- public final static int MEMBER_NOT_FOUND_ID = 19;
- /**
- * Problem id
- */
- public final static int VARIABLE_NOT_FOUND_ID = 20;
- /**
- * Problem id
- */
- public final static int MISSING_CLOSING_EXPR_BRACKET_ID = 21;
- /**
- * Problem id
- */
- public final static int GENERAL_SYNTAX_ERROR_ID = 22;
- /**
- * Problem id
- */
- public final static int EMPTY_EL_EXPRESSION_ID = 23;
-
- /**
- *
- */
- public final static int BINARY_OP_DOT_WITH_VALUEB_NULL_ID = 24;
-
- /**
- * Identifies a problem where we have x.y and x is a map. In this case
- * the recommend syntax is x['y']
- */
- public final static int BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID = 25;
-
- /**
- * Indicates that a numeric array accessor is being used with a value
- * which is either < 0 or may be greater than the assumed size of the array
- */
- public final static int POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID = 26;
-
- /**
- * Identifies the problem where an expr like bean.enumProp == 'blah'
- * but 'blah' does not match any of the possible enum constants, meaning
- * that the operation will always resolve to a constant value (in this case false)
- */
- public final static int BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID = 27;
-
- /**
- * Identifies a problem where two enum variables are compared but the enums are
- * not compatible. i.e. bean.enum1 < bean.enum2. Enum.compareTo() may throw
- * an exception in this case (CCE).
- */
- public final static int BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID = 28;
-
- /**
- * Indicates a situation such as x.y where x is a bundle and
- * 'x.y.z' exists, but x.y while partially valid, does not have a value
- * associated.
- */
- public final static int MEMBER_IS_INTERMEDIATE_ID = 29;
-
- /**
- * Count of ids
- */
- public final static int NUM_IDS = 30;
-
- /**
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_BOTH_OPERANDS_NULL(final String operatorName)
- {
- final String message = NLS.bind(
- Messages.BINARY_OP_BOTH_OPERANDS_NULL, operatorName);
- return create(BINARY_OP_BOTH_OPERANDS_NULL_ID, message);
- }
-
- private static Diagnostic DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO;
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO()
- {
- if (DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO == null)
- {
- final String message = Messages.POSSIBLE_DIV_BY_ZERO;
- DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO =
- create(BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID, message);
- }
- return DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO;
- }
-
- /**
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(final String operatorName)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, operatorName);
- return create(BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, message);
- }
-
- /**
- * @param operatorName
- * @param value
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME(final String operatorName, final String value)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME,operatorName, value);
- return create(BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, message);
- }
-
- /**
- * @param value
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME(final String value)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME, value);
- return create(BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, message);
- }
-
- /**
- * @param whichArgument
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN(final String whichArgument)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, whichArgument);
- return create(BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, message);
- }
-
- /**
- * @param shortCircuitValue
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS(boolean shortCircuitValue, String operatorName)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS,
- Boolean.valueOf(shortCircuitValue), operatorName);
- return create(BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID, message);
- }
-
- /**
- * @param shortCircuitValue
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME(final boolean shortCircuitValue, final String operatorName)
- {
- final String message =
- NLS.bind(Messages.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME,
- Boolean.valueOf(shortCircuitValue), operatorName);
-
- return create(BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, message);
- }
-
- private static Diagnostic DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION;
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_NO_AVAILABLE_TYPE_COERCION()
- {
- if (DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION == null)
- {
- DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION =
- create(BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID,
- Messages.BINARY_OP_NO_AVAILABLE_TYPE_COERCION);
- }
-
- return DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION;
- }
-
- private static Diagnostic DIAGNOSTIC_COULD_NOT_COERCE_LITERALS;
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS()
- {
- if (DIAGNOSTIC_COULD_NOT_COERCE_LITERALS == null)
- {
- DIAGNOSTIC_COULD_NOT_COERCE_LITERALS =
- create(BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID,
- Messages.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS);
- }
-
- return DIAGNOSTIC_COULD_NOT_COERCE_LITERALS;
- }
-
- /**
- * @param operatorName
- * @param value
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID(final String operatorName, final String value)
- {
- final String message =
- NLS.bind(Messages.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME,
- operatorName, value);
- return create(UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID, message);
- }
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE()
- {
- return create(UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID,
- Messages.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE);
- }
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO()
- {
- return create(UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID,
- Messages.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO);
- }
-
- /**
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(final String operatorName)
- {
- final String message =
- NLS.bind(Messages.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION,
- operatorName);
- return create(UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, message);
- }
-
- /**
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED(final String operatorName)
- {
- final String message =
- NLS.bind(Messages.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED,
- operatorName);
- return create(UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID, message);
- }
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN()
- {
- return create(UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID,
- Messages.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN);
- }
-
- /**
- * @param result
- * @param whichSelected
- * @return a configured diagnostic
- */
- public Diagnostic create_TERNARY_OP_CHOICE_IS_ALWAYS_SAME(boolean result, String whichSelected)
- {
- final String message =
- NLS.bind(Messages.TERNARY_OP_CHOICE_IS_ALWAYS_SAME,
- Boolean.valueOf(result), whichSelected);
- return create(TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID, message);
- }
-
- /**
- * @return a configured diagnostic
- */
- public Diagnostic create_TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN()
- {
- return create(TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID,
- Messages.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID);
- }
-
- /**
- * Method bindings cannot participate in expressions involving operators
- * Per JSP 1.1 spec section 5.2.1
- *
- * @return a configured message
- */
- public Diagnostic create_CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING()
- {
- return create(CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID,
- Messages.CANNOT_APPLY_OPERATORS_TO_MB);
- }
-
- /**
- * @param curMemberSymbol
- * @param owningMember
- * @return a configured message
- */
- public Diagnostic create_MEMBER_NOT_FOUND(String curMemberSymbol, String owningMember)
- {
- return create(MEMBER_NOT_FOUND_ID,
- NLS.bind(Messages.VM_PROP_NAME_NOT_FOUND, curMemberSymbol, owningMember));
- }
-
- /**
- * @param variableName
- * @return a configured message
- */
- public Diagnostic create_VARIABLE_NOT_FOUND(String variableName)
- {
- return create(VARIABLE_NOT_FOUND_ID
- , NLS.bind(Messages.VM_ROOT_NAME_NOT_FOUND, variableName));
- }
-
- /**
- * @return a configured message
- */
- public Diagnostic create_MISSING_CLOSING_EXPR_BRACKET()
- {
- return create(MISSING_CLOSING_EXPR_BRACKET_ID
- , Messages.MISSING_CLOSING_EXPR_BRACKET);
- }
-
- /**
- * @return a configured message
- */
- public Diagnostic create_GENERAL_SYNTAX_ERROR()
- {
- return create(GENERAL_SYNTAX_ERROR_ID, Messages.GENERAL_SYNTAX_ERROR);
- }
-
- /**
- * @return a configured message
- */
- public Diagnostic create_EMPTY_EL_EXPRESSION()
- {
- return create(EMPTY_EL_EXPRESSION_ID, Messages.EMPTY_EL_EXPRESSION);
- }
-
- /**
- * @param operatorName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_DOT_WITH_VALUEB_NULL(final String operatorName)
- {
- return create(BINARY_OP_DOT_WITH_VALUEB_NULL_ID
- , Messages.bind(Messages.BINARY_OP_DOT_WITH_VALUEB_NULL, operatorName));
- }
-
- /**
- * @param valAName
- * @param valueBName
- * @return a configured diagnostic
- */
- public Diagnostic create_BINARY_OP_DOT_WITH_VALUEA_MAP_SHOULD_USE_ARRAY(final String valAName, final String valueBName)
- {
- final Object[] formatArgs = new Object[] {valAName, valueBName};
- return create(BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID,
- MessageFormat.format(Messages.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY,formatArgs));
- }
-
- /**
- * @param value
- * @return an array index out of bounds diagnostic
- */
- public Diagnostic create_POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS(final Integer value)
- {
- final Object[] formatArgs = new Object[] {value};
-
- return create(POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID
- , MessageFormat.format(Messages.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS,formatArgs));
- }
-
- /**
- * @param operatorName
- * @param invariantResult
- * @param enumName
- * @param fieldName
- * @return a diagnostic
- */
- public Diagnostic create_BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName, final String fieldName)
- {
- return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID
- , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME
- , new Object[] {operatorName
- , Boolean.valueOf(invariantResult), enumName, fieldName}));
- }
-
- /**
- * @param operatorName
- * @param invariantResult
- * @param enumName1
- * @param enumName2
- * @return a diagnostic
- */
- public Diagnostic create_BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName1, final String enumName2)
- {
- return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID
- , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME
- , new Object[] {operatorName
- , Boolean.valueOf(invariantResult), enumName1, enumName2}));
- }
-
- /**
- * @param operatorName
- * @param invariantResult
- * @param enumName
- * @param nonEnum
- * @return a diagnostic
- */
- public Diagnostic create_BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName, final String nonEnum)
- {
- return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID
- , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME
- , new Object[] {operatorName
- , Boolean.valueOf(invariantResult), enumName, nonEnum}));
- }
-
- /**
- * @return a diagnostic
- */
- public Diagnostic create_BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE()
- {
- return create(BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID
- , Messages.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE);
- }
-
- /**
- * @param intermediateMemberName
- * @return a diagnostic
- */
- public Diagnostic create_MEMBER_IS_INTERMEDIATE(final String intermediateMemberName)
- {
- return create(MEMBER_IS_INTERMEDIATE_ID
- , NLS.bind(Messages.MEMBER_IS_INTERMEDIATE
- , intermediateMemberName));
- }
-
- private BasicDiagnostic create(int diagnosticId, String message)
- {
- final int severity = ELValidationPreferences.getDefaultSeverity(diagnosticId);
- return new BasicDiagnostic(severity, SOURCE_ID
- , diagnosticId
- , message
- , null);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/Messages.java
deleted file mode 100644
index c14a8513d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/Messages.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.diagnostics;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.validation.internal.el.diagnostics.messages"; //$NON-NLS-1$
-
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- /**
- * see messages.properties
- */
- public static String POSSIBLE_DIV_BY_ZERO;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN;
- /**
- * see messages.properties
- */
- public static String TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_BOTH_OPERANDS_NULL;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_NO_AVAILABLE_TYPE_COERCION;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION;
- /**
- * see messages.properties
- */
- public static String UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED;
- /**
- * see messages.properties
- */
- public static String TERNARY_OP_CHOICE_IS_ALWAYS_SAME;
- /**
- * see messages.properties
- */
- public static String VM_PROP_NAME_NOT_FOUND;
- /**
- * see messages.properties
- */
- public static String VM_ROOT_NAME_NOT_FOUND;
- /**
- * see messages.properties
- */
- public static String CANNOT_APPLY_OPERATORS_TO_MB;
- /**
- * see messages.properties
- */
- public static String MISSING_CLOSING_EXPR_BRACKET;
- /**
- * see messages.properties
- */
- public static String GENERAL_SYNTAX_ERROR;
- /**
- * see messages.properties
- */
- public static String EMPTY_EL_EXPRESSION;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_DOT_WITH_VALUEB_NULL;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY;
-
- /**
- * see messages.properties
- */
- public static String POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS;
- /**
- * see messages.properties
- */
- public static String BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME;
- /**
- * see messages.properties
- */
- public static String BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME;
- /**
- * see messages.properties
- */
- public static String BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE;
-
- /**
- * see messages.properties
- */
- public static String BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME;
- /**
- * see messages.properties
- */
- public static String MEMBER_IS_INTERMEDIATE;
-
- private Messages() {
- // do nothing; no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/messages.properties
deleted file mode 100644
index 8f78e7c78..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/messages.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2008 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-GENERAL_SYNTAX_ERROR=Syntax error in EL
-EMPTY_EL_EXPRESSION=Empty EL expression
-
-VM_ROOT_NAME_NOT_FOUND = {0} cannot be resolved
-VM_PROP_NAME_NOT_FOUND = {0} cannot be resolved as a member of {1}
-CANNOT_APPLY_OPERATORS_TO_MB=Cannot apply expression operators to method bindings
-MISSING_CLOSING_EXPR_BRACKET=Missing closing bracket on expression
-
-POSSIBLE_DIV_BY_ZERO=Possible division by zero
-UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE=This empty expression always evaluates to false. Only string, maps, arrays and collection have meaningful values for the empty operator
-UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN=Not operator does not support type coercion.
-TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID=Could not coerce choice argument to boolean
-BINARY_OP_BOTH_OPERANDS_NULL={0} with operand ''null'' is always zero
-BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION=Could not make numeric conversion for {0} operation
-BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME=This {0} will always result a value of {1}
-BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME=Comparisons with null always evaluates to {0}
-BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN=Cannot coerce {0} argument to boolean
-BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS=The first boolean argument is always {0}. The second argument will never be evaluated and the {1} will always evaluate to {0}.
-BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME=The second boolean argument is always {0}. The {1} will always evaluate to {0}
-BINARY_OP_NO_AVAILABLE_TYPE_COERCION=Cannot coerce arguments for this operator
-BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS=Could not coerce literals to numbers
-UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME=This {0} will always result a value of {1}
-UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO=Unary minus applied to null is always zero
-UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION=Could not make numeric conversion for {0} operation
-UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED=Type coercion for {0} operator not guaranteed for possible runtime types: {1}
-TERNARY_OP_CHOICE_IS_ALWAYS_SAME=Choice argument is always {0}. {1} argument is always returned
-BINARY_OP_DOT_WITH_VALUEB_NULL=Applying the {0} operator with null second argument always results in null
-BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY=Array syntax is preferred when accessing Map properties with keys containing dots (i.e. {0}[''{1}''])
-POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS=Possible array index out of bound on list/array access with value: {0}
-BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME=Comparison using {0} will always evaluate to {1}. Enumeration type {2} does not have a constant named {3}
-BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE=Comparison of incompatible enumeration vales may cause a ClassCastException.
-BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME=Comparison using {0} will always evaulate to {1}. Enumeration type {2} is not equality comparable with {3}
-BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME=Comparison using {0} will always evaulate to {1}. Enumeration type {2} is not equality comparable with non-enumeration type {3}
-MEMBER_IS_INTERMEDIATE={0} is an intermediate property which does not have its own value associated with it. \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AddArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AddArithmeticBinaryOperator.java
deleted file mode 100644
index 755a447c9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AddArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the arithmetic + operator in EL
- *
- * @author cbateman
- *
- */
-/*package*/ class AddArithmeticBinaryOperator extends NoDivArithmeticBinaryOperator {
-
- private static final String ADDITION = "addition"; //$NON-NLS-1$
-
- AddArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- protected Long doRealOperation(Long firstArg, Long secondArg)
- {
- return Long.valueOf(firstArg.longValue() + secondArg.longValue());
- }
-
- protected Double doRealOperation(Double firstArg, Double secondArg) {
- return Double.valueOf(firstArg.doubleValue() + secondArg.doubleValue());
- }
-
- protected BigDecimal doRealOperation(BigDecimal firstArg,
- BigDecimal secondArg)
- {
- return firstArg.add(secondArg);
- }
-
- protected String getOperatorName() {
- return ADDITION;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AndBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AndBinaryOperator.java
deleted file mode 100644
index 2ef4a2523..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/AndBinaryOperator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-
-/**
- * Encapsulates the 'and'/'&&' boolean-AND operator
- * Based on JSP.2.3.6.1
- *
- * @author cbateman
- *
- */
-/*package*/class AndBinaryOperator extends LogicalBinaryOperator
-{
-
- AndBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- protected boolean doRealOperation(Boolean firstArg, Boolean secondArg)
- {
- return (firstArg.booleanValue() && secondArg.booleanValue());
- }
-
- protected String readableOperatorName()
- {
- return "logical-AND"; //$NON-NLS-1$
- }
-
- protected boolean shortCircuitValue() {
- // AND short-circuits on false
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ArithmeticBinaryOperator.java
deleted file mode 100644
index 3f7000046..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Super for all arithmetic binary operators -- +, -, *,/,%
- *
- * @author cbateman
- *
- */
-/*package*/ abstract class ArithmeticBinaryOperator extends BinaryOperator
-{
- ArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- public abstract ValueType performOperation(ValueType firstArg, ValueType secondArg);
- public abstract Diagnostic validate(ValueType firstArg, ValueType secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of firstArg op secondArg
- */
- protected abstract Long doRealOperation(Long firstArg, Long secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of firstArg op secondArg
- */
- protected abstract Double doRealOperation(Double firstArg, Double secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of firstArg op secondArg
- */
- protected abstract BigDecimal doRealOperation(BigDecimal firstArg, BigDecimal secondArg);
-
- /**
- * @return human-readable name of the operator
- */
- protected abstract String getOperatorName();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BinaryOperator.java
deleted file mode 100644
index 58661da4e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BinaryOperator.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserConstants;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Represents an abstract EL binary operator that always
- * takes arguments and produces a single results
- *
- * @author cbateman
- *
- */
-public abstract class BinaryOperator
-{
- /**
- * the factory used to construct diagnostics
- */
- protected final DiagnosticFactory _diagnosticFactory;
-
- /**
- * @param operatorToken
- * @param diagnosticFactory
- * @param context -- the current EL document context; must not be null
- * @return a binary operator based on the provided token
- * @throws IllegalArgumentException if the token is not a recognized
- * EL binary operator token or if context is null
- */
- public static BinaryOperator getBinaryOperator(Token operatorToken, DiagnosticFactory diagnosticFactory, IStructuredDocumentContext context)
- {
- if (context == null)
- {
- throw new IllegalArgumentException("Context must not be null"); //$NON-NLS-1$
- }
- final String facetVersion = determineJSFVersion(context);
-
- switch (operatorToken.kind)
- {
- case JSPELParserConstants.AND1:
- case JSPELParserConstants.AND2:
- return new AndBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.OR1:
- case JSPELParserConstants.OR2:
- return new OrBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.EQ1:
- case JSPELParserConstants.EQ2:
- return new EqualsBinaryRelationalOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.NEQ1:
- case JSPELParserConstants.NEQ2:
- return new NotEqualsBinaryRelationalOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.GT1:
- case JSPELParserConstants.GT2:
- return new GreaterThanRelationalBinaryOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.GE1:
- case JSPELParserConstants.GE2:
- return new GreaterThanEqRelationalBinaryOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.LT1:
- case JSPELParserConstants.LT2:
- return new LessThanRelationalBinaryOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.LE1:
- case JSPELParserConstants.LE2:
- return new LessThanEqRelationalBinaryOperator(diagnosticFactory,facetVersion);
-
- case JSPELParserConstants.PLUS:
- return new AddArithmeticBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.MINUS:
- return new SubtractArithmeticBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.MULTIPLY:
- return new MultiplyArithmeticBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.DIVIDE1:
- case JSPELParserConstants.DIVIDE2:
- return new DivArithmeticBinaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.MODULUS1:
- case JSPELParserConstants.MODULUS2:
- return new ModArithmeticBinaryOperator(diagnosticFactory);
- }
-
- throw new IllegalArgumentException("Unknown binary operator: "+operatorToken.image); //$NON-NLS-1$
- }
-
- /**
- *
- * Constructor
- */
- BinaryOperator(DiagnosticFactory diagnosticFactory)
- {
- /* no construction or sub-classing outside package*/
- _diagnosticFactory = diagnosticFactory;
- }
-
- /**
- * If both arguments are literals and the operation can be performed, then
- * the return must be a new LiteralType transformed using this operator.
- *
- * If one or both of the arg is not a literal and the operaton can be performed, then
- * the return is a new ValueType transformed per the rules of the operator
- *
- * If the operation cannot be performed on ValueType, return null
- *
- * @param firstArg
- * @param secondArg
- * @return a new value type after the operation is performed
- */
- public abstract ValueType performOperation(ValueType firstArg, ValueType secondArg);
-
-
- /**
- * @param firstArg
- * @param secondArg
- * @return a Diagnostic interpreting whether it is valid to perform the
- * operation on the two arguments
- */
- public abstract Diagnostic validate(ValueType firstArg, ValueType secondArg);
-
- private static String determineJSFVersion(IStructuredDocumentContext context)
- {
- final IWorkspaceContextResolver wkResolver =
- IStructuredDocumentContextResolverFactory.
- INSTANCE.getWorkspaceContextResolver(context);
-
- IProject project = wkResolver.getProject();
-
- IProjectFacetVersion projectVersion = JSFAppConfigUtils.getProjectFacet(project);
-
- if (projectVersion != null)
- {
- return projectVersion.getVersionString();
- }
-
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BracketOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BracketOperator.java
deleted file mode 100644
index ac9308fb9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/BracketOperator.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager;
-import org.eclipse.jst.jsf.designtime.el.AbstractDTPropertyResolver;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Handles the operator 'bracket' where bracket(expr-a, id-b) == 'expr-a[id-b]' in EL syntax
- *
- * @author cbateman
- *
- */
-public class BracketOperator extends MemberAccessorOperator
-{
- private static final String OPERATOR_NAME_ARRAY_ACCESSOR = "array ('[]') accessor"; //$NON-NLS-1$
-
- /**
- * @param diagnosticFactory
- * @param file
- * @param resolver
- */
- public BracketOperator(final DiagnosticFactory diagnosticFactory, final IFile file, final ISymbolContextResolver resolver)
- {
- super(file, diagnosticFactory, resolver);
- }
-
- protected SignatureBasedType handlePerformObjectSymbolValue(
- IObjectSymbolBasedValueType firstArg, ValueType secondArg)
- {
- // per JSP.2.3.4 step 5.2, if value-a is a list or array access
- if (firstArg.isInstanceOf(TypeConstants.TYPE_LIST)
- || Signature.getArrayCount(firstArg.getSignature()) > 0)
- {
- return handlePerformNumericPropertyAccessorBase(firstArg, secondArg);
- }
-
- // per JSP.2.3.4 step 5, if value-a is a map or if it is not
- // a list or array (and therefore a bean), treat it as named property accessed object
- // if firstArg is a map then we must treat the access like a map.get(secondArg)
-
- // if we don't have a literal value with which to derive value-b, then
- // we can't get a property
- if (secondArg instanceof LiteralType)
- {
- return handlePerformNamedPropertyAccessorBase(firstArg, (LiteralType)secondArg);
- }
-
- return null;
- }
-
- protected Diagnostic validateObjectSymbolValue(IObjectSymbolBasedValueType firstArg,
- ValueType secondArg)
- {
- // per JSP.2.3.4 step 5.2, if value-a is a list or array access
- if (firstArg.isInstanceOf(TypeConstants.TYPE_LIST)
- || firstArg.getSymbol().getTypeDescriptor().isArray())
- {
- return validateNumericPropertyAccessorBase(firstArg, secondArg);
- }
-
- // per JSP.2.3.4 step 5, if value-a is a map or if it is not
- // a list or array (and therefore a bean), treat it as named property accessed object
- // if firstArg is a map then we must treat the access like a map.get(secondArg)
- if (secondArg instanceof LiteralType)
- {
- return validateNamedPropertyAccessorBase(firstArg, (LiteralType) secondArg);
- }
- // otherwise, there's nothing we can guarantee
- return Diagnostic.OK_INSTANCE;
- }
-
- private Diagnostic validateNumericPropertyAccessorBase(IObjectSymbolBasedValueType firstArg,
- ValueType secondArg)
- {
- try
- {
- // secondArg must successfully coerce to integer
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- if (secondArg instanceof LiteralType)
- {
- // this will throw a TypeCoercionExceptino if it won't
- // coerce
- Integer integerValue =
- (Integer) ((LiteralType)secondArg).coerceToNumber(Integer.class);
-
- if (integerValue.intValue() < 0)
- {
- return _diagnosticFactory.create_POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS(integerValue);
- }
- }
- else
- {
- // if the argument is a non-literal string, we can't verify
- // that the coercion to integer won't throw an exception
- // at runtime
- if (TypeCoercer.typeIsString(secondArg.getSignature()))
- {
- return _diagnosticFactory.create_UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED(OPERATOR_NAME_ARRAY_ACCESSOR);
- }
- }
-
- // TODO: attempt to detect ArrayIndexOutOfBoundsException
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException e)
- {
- return _diagnosticFactory.create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(OPERATOR_NAME_ARRAY_ACCESSOR);
- }
- }
-
- private SignatureBasedType handlePerformNumericPropertyAccessorBase(IObjectSymbolBasedValueType firstArg,
- ValueType secondArg)
- {
- AbstractDTPropertyResolver propResolver = getPropertyResolver();
- int index = 0;
- if (secondArg instanceof LiteralType)
- {
- try {
- index = ((LiteralType)secondArg).coerceToNumber(Integer.class).intValue();
- } catch (TypeCoercionException e) {
- // suppress, just use index = 0
- // this maybe should be an assertion...
- }
- }
-
- final ISymbol symbol =
- propResolver.getProperty(firstArg.getSymbol(), index);
-
- if (symbol instanceof IObjectSymbol)
- {
- return IObjectSymbolBasedValueType.getInstance(symbol);
- }
-
- // if can't be resolved, return null
- return null;
- }
-
- @Override
- protected String getOperatorName()
- {
- return Messages.getString("BracketOperator.Name"); //$NON-NLS-1$
- }
-
- /**
- * @return the property resolver for the current source file
- */
- private AbstractDTPropertyResolver getPropertyResolver()
- {
- final DesignTimeApplicationManager manager =
- DesignTimeApplicationManager.getInstance(_file.getProject());
-
- if (manager != null)
- {
- return manager.getPropertyResolver();
- }
-
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DivArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DivArithmeticBinaryOperator.java
deleted file mode 100644
index 67242ec60..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DivArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.FloatLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.IntegerLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents dividing EL binary operators: div and / (same operator)
- * Based on JSP.2.3.5.2
- *
- * @author cbateman
- *
- */
-/*package*/ class DivArithmeticBinaryOperator extends ArithmeticBinaryOperator
-{
-
- private static final String DIVISION = "division"; //$NON-NLS-1$
-
- DivArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- // TODO Auto-generated constructor stub
- }
-
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- // JSP.2.3.5.2, step one: if both null then always 0
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return new IntegerLiteralType(0);
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.2, step 2: if one arg is BigInteger or BigDecimal
- // then coerce to BigDecimal and do div
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return performBigDecimal(firstArg, secondArg);
- }
-
- return performDouble(firstArg, secondArg);
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg) {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.3.5.2, step one: if both null then always 0
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return _diagnosticFactory.create_BINARY_OP_BOTH_OPERANDS_NULL(DIVISION);
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.2, step 2: if one arg is BigInteger or BigDecimal
- // then coerce to BigDecimal and do div
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return validateBigDecimal(firstArg, secondArg);
- }
-
- return validateDouble(firstArg, secondArg);
- }
-
- private ValueType performBigDecimal(ValueType firstArg, ValueType secondArg)
- {
- // since one or the other args must be either big decimal or big int,
- // we don't have two literals, so it is sufficient to ensure that we can
- // coerce both to numbers and check for div by zero and div of zero
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- // if we get to here, the result is always BigDecimal unless we have
- // a div by zero
- if (secondArg instanceof LiteralType)
- {
- final Number coercedValue = ((LiteralType)secondArg).coerceToNumber(BigDecimal.class);
- if (((BigDecimal)coercedValue).equals(new BigDecimal(0)))
- {
- return null;
- }
- }
-
- return new ValueType(TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException ce)
- {
- return null;
- }
- }
-
- private ValueType performDouble(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Double.class);
- // if the second value is definitely 0, then return null since
- // we have a div by zero
- if (secondValue.doubleValue() == 0.0)
- {
- return null;
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Double.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- return new FloatLiteralType(
- doRealOperation(new Double(firstValue.doubleValue())
- , new Double(secondValue.doubleValue())).doubleValue());
- }
-
- // if not both literals and could coerce, then the type is double
- return new ValueType(Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException ce)
- {
- // could not coerce for the operation
- return null;
- }
- }
-
- private Diagnostic validateBigDecimal(ValueType firstArg, ValueType secondArg)
- {
- // since one or the other args must be either big decimal or big int,
- // we don't have two literals, so it is sufficient to ensure that we can
- // coerce both to numbers and check for div by zero and div of zero
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- // if we get to here, the result is always BigDecimal unless we have
- // a div by zero
- if (secondArg instanceof LiteralType)
- {
- final Number coercedValue = ((LiteralType)secondArg).coerceToNumber(BigDecimal.class);
- if (((BigDecimal)coercedValue).equals(new BigDecimal(0)))
- {
- return _diagnosticFactory.create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO();
- }
- }
-
- // everything's okay if we get here
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException ce)
- {
- return _diagnosticFactory.create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(DIVISION);
- }
- }
-
- private Diagnostic validateDouble(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Double.class);
- // if the second value is definitely 0, then return null since
- // we have a div by zero
- if (secondValue.doubleValue() == 0.0)
- {
- return _diagnosticFactory.create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO();
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Double.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- String result
- = Double.toString(
- doRealOperation(new Double(firstValue.doubleValue()),
- new Double(secondValue.doubleValue())).doubleValue());
-
- return _diagnosticFactory.create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME(DIVISION, result);
- }
-
- // if not both literals and could coerce, then the type is double
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException ce)
- {
- // could not coerce for the operation
- return _diagnosticFactory.create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(DIVISION);
- }
- }
-
- protected BigDecimal doRealOperation(BigDecimal firstArg, BigDecimal secondArg) {
- // per JSP.2.3.5.2, step 2
- return firstArg.divide(secondArg, BigDecimal.ROUND_HALF_UP);
- }
-
- protected Double doRealOperation(Double firstArg, Double secondArg)
- {
- return new Double(firstArg.doubleValue() / secondArg.doubleValue());
- }
-
- protected Long doRealOperation(Long firstArg, Long secondArg) {
- return Long.valueOf(firstArg.longValue() / secondArg.longValue());
- }
-
- protected String getOperatorName() {
- return DIVISION;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DotOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DotOperator.java
deleted file mode 100644
index f31950cc7..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/DotOperator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Handles the operator 'dot' where dot(expr-a, id-b) == 'expr-a.id-b' in EL syntax
- *
- * @author cbateman
- *
- */
-public class DotOperator extends MemberAccessorOperator
-{
- /**
- * @param diagnosticFactory
- * @param file
- * @param resolver
- */
- public DotOperator(final DiagnosticFactory diagnosticFactory, final IFile file, final ISymbolContextResolver resolver)
- {
- super(file, diagnosticFactory, resolver);
- }
-
- protected SignatureBasedType handlePerformObjectSymbolValue(
- IObjectSymbolBasedValueType firstArg, ValueType secondArg)
- {
- // the dot operator (unlike the bracket) can only treat firstArg as
- // a named property accessor object
- // if we don't have a literal value with which to derive value-b, then
- // we can't get a property
- if (secondArg instanceof LiteralType)
- {
- return handlePerformNamedPropertyAccessorBase(firstArg, (LiteralType)secondArg);
- }
- return null;
- }
-
- public Diagnostic validateObjectSymbolValue(IObjectSymbolBasedValueType firstArg,
- ValueType secondArg)
- {
- Diagnostic diag = Diagnostic.OK_INSTANCE;
-
- if (secondArg instanceof LiteralType)
- {
- diag = validateNamedPropertyAccessorBase(firstArg, (LiteralType) secondArg);
- }
-
- return diag;
- }
-
- @Override
- protected String getOperatorName()
- {
- return Messages.getString("DotOperator.Name"); //$NON-NLS-1$
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EmptyUnaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EmptyUnaryOperator.java
deleted file mode 100644
index 8da62be01..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EmptyUnaryOperator.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.NullLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.StringLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL unary operator '-' on a ValueType
- * as described by JSP.2.3.7
- *
- * @author cbateman
- *
- */
-/*package*/ class EmptyUnaryOperator extends UnaryOperator
-{
- private static final String EMPTY = "empty"; //$NON-NLS-1$
-
- EmptyUnaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- public ValueType performOperation(ValueType type)
- {
- if (type instanceof StringLiteralType)
- {
- if ("".equals(((StringLiteralType)type).getLiteralValue())) //$NON-NLS-1$
- {
- // if the string is empty, operator always returns true
- return BooleanLiteralType.TRUE;
- }
-
- // if the string is empty, operator always returns true
- return BooleanLiteralType.FALSE;
- }
-
- // empty(null) is always true
- if (type instanceof NullLiteralType)
- {
- return BooleanLiteralType.TRUE;
- }
-
- // if the type is not string, array, Map, or Collection
- // then empty is always false
- String testSig = type.getSignature();
-
- if (!TypeConstants.TYPE_STRING.equals(testSig)
- && !type.isInstanceOf(TypeConstants.TYPE_COLLECTION)
- && !type.isInstanceOf(TypeConstants.TYPE_MAP)
- && Signature.getTypeSignatureKind(testSig) != Signature.ARRAY_TYPE_SIGNATURE)
- {
- return BooleanLiteralType.FALSE;
- }
-
- // otherwise, return a generic boolean type
- return new ValueType(TypeConstants.TYPE_BOOLEAN, type.getAssignability());
- }
-
- public Diagnostic validate(ValueType type)
- {
- // empty always validates to false unless:
- // the value is an empty string, array, map or collection
- // one thing we do is see if the thing is a literal. If it is
- // we can warn that the value could be folded
- if (type instanceof StringLiteralType)
- {
- String condition;
-
- if ("".equals(((StringLiteralType)type).getLiteralValue())) //$NON-NLS-1$
- {
- condition = "true"; //$NON-NLS-1$
- }
- else
- {
- condition = "false"; //$NON-NLS-1$
- }
-
- return _diagnosticFactory.
- create_UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID
- (EMPTY,condition);
- }
-
- // empty(null) is always true
- if (type instanceof NullLiteralType)
- {
- return _diagnosticFactory.
- create_UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID
- (EMPTY,"true"); //$NON-NLS-1$
- }
-
- // if the type is not string, array, Map, or Collection warn that
- // this may be always false
- String testSig = type.getSignature();
-
- if (!TypeConstants.TYPE_STRING.equals(testSig)
- && !type.isInstanceOf(TypeConstants.TYPE_COLLECTION)
- && !type.isInstanceOf(TypeConstants.TYPE_MAP)
- && Signature.getTypeSignatureKind(testSig) != Signature.ARRAY_TYPE_SIGNATURE)
- {
- return _diagnosticFactory.create_UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE();
- }
-
- return Diagnostic.OK_INSTANCE;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualityRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualityRelationalBinaryOperator.java
deleted file mode 100644
index 963f9ad00..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualityRelationalBinaryOperator.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.StringLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.common.util.TypeUtil;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * A relational binary operator for equality: "==" or "!="
- *
- * @author cbateman
- *
- */
-/*package*/ abstract class EqualityRelationalBinaryOperator extends RelationalBinaryOperator
-{
- EqualityRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion)
- {
- super(diagnosticFactory, jsfVersion);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected abstract boolean doRealOperation(Boolean firstArg, Boolean secondArg);
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.validation.internal.el.operators.BinaryOperator#performOperation(org.eclipse.jst.jsf.core.internal.types.ValueType, org.eclipse.jst.jsf.core.internal.types.ValueType)
- */
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- // JSP.2.3.5.7 step 1 if operands are equal, then true for ==, false for !=
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- // perform the operation on two arguments that are equal.
- return BooleanLiteralType.valueOf(doRealOperation(Integer.valueOf(4), Integer.valueOf(4)));
- }
-
- String boxedFirstType = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- String boxedSecondType = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.7 step 3, if either is BigDecimal, promote both and compare
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.7, step 4 if either is a float or double, promote both to
- // double and compare
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.7, step 5 if either is a big integer, promote and compare
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.7, step 6 if either is Long or smaller, coerce both to Long
- if (TypeConstants.TYPE_BOXED_LONG.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_LONG.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedSecondType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedFirstType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, Long.class);
- }
-
- // JSP.2.3.5.7, step 7 if either is a boolean, coerce to boolean
- if (TypeConstants.TYPE_BOXED_BOOLEAN.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BOOLEAN.equals(boxedSecondType))
- {
- return handleBooleanComparison(firstArg, secondArg);
- }
-
- // Unified EL 1.8.2, step 8 if either is a enum, then coerce both to enum
- // NOTE: we handle the JSF 1.1 case also where enums are treated as non-coercable
- // Object's
- if (firstArg.isEnumType() || secondArg.isEnumType())
- {
- return handleEnumComparison(firstArg, secondArg);
- }
-
- // JSP.2.3.5.7, step 8 if either is a string, coerce to string and
- // compare lexically
- if (TypeConstants.TYPE_STRING.equals(boxedFirstType)
- || TypeConstants.TYPE_STRING.equals(boxedSecondType))
- {
- return handleStringComparison(firstArg, secondArg);
- }
-
- // otherwise, an equal compare will be done A.equals(B). Since
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- private ValueType handleEnumComparison(ValueType firstArg,
- ValueType secondArg)
- {
- assert firstArg.isEnumType() || secondArg.isEnumType();
-
- // if the first is not an enum, then we have non-Enum == Enum case
- if (!firstArg.isEnumType())
- {
- return handleComparsionOfEnumAndNonEnum(secondArg, firstArg);
- }
-
- // if the second is not an enum, then we have Enum == non-Enum case
- if (!secondArg.isEnumType())
- {
- return handleComparsionOfEnumAndNonEnum(firstArg, secondArg);
- }
-
- // only other case is they are both enums. Check if they are directly
- // comparable.
- if (TypeUtil.canNeverBeEqual(firstArg.getSignature(), secondArg.getSignature()))
- {
- boolean result = doRealOperation("foo", "notFoo"); // just simulate the operation where the operands are not equal //$NON-NLS-1$ //$NON-NLS-2$
-
- return BooleanLiteralType.valueOf(result);
- }
-
- // otherwise, all we know is that it's a boolean
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- private ValueType handleComparsionOfEnumAndNonEnum(ValueType enumType,
- ValueType nonEnumType)
- {
- // the only literal value that could have got us here is a
- // StringLiteralValue since the others a filtered out before this is
- // called
- if (nonEnumType instanceof LiteralType)
- {
- assert nonEnumType instanceof StringLiteralType;
-
- Diagnostic result = validateIfEnumToStringComparison(((StringLiteralType)nonEnumType).getLiteralValue(), enumType);
-
- if (result != null)
- {
- // compare two things that aren't equal
- return BooleanLiteralType.valueOf(doRealOperation("foo", "foo_")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- // if the arg is a String, then we can't prove anything before runtime
- if (nonEnumType.isInstanceOf(TypeConstants.TYPE_STRING))
- {
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- // otherwise, we know it will result in a problem since one is an enum
- // and the other isn't so simply do a comparison on two things that aren't equals
- return BooleanLiteralType.valueOf(doRealOperation("foo", "foo_")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg) {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.3.5.7 step 2 if either operand is null, then not equal
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- // perform the operation on two arguments that are equal.
- final boolean result = doRealOperation(Integer.valueOf(4), Integer.valueOf(4));
- return _diagnosticFactory.create_BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME(Boolean.toString(result));
- }
-
- final String boxedFirstType =
- TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondType =
- TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.7 step 3, if either is BigDecimal, promote both and compare
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.7, step 4 if either is a float or double, promote both to
- // double and compare
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.7, step 5 if either is a big integer, promote and compare
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.7, step 6 if either is Long or smaller, coerce both to Long
- if (TypeConstants.TYPE_BOXED_LONG.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_LONG.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedSecondType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedFirstType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, Long.class);
- }
-
- // JSP.2.3.5.7, step 7 if either is a boolean, coerce to boolean
- if (TypeConstants.TYPE_BOXED_BOOLEAN.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BOOLEAN.equals(boxedSecondType))
- {
- return validateBooleanComparison(firstArg, secondArg);
- }
-
- // Unified EL 1.8.2, step 8 if either is a enum, then coerce both to enum
- // NOTE: we handle the JSF 1.1 case also where enums are treated as non-coercable
- // Object's
- if (firstArg.isEnumType() || secondArg.isEnumType())
- {
- return validateEnumComparison(firstArg, secondArg);
- }
-
- // JSP.2.3.5.7, step 8 if either is a string, coerce to string and
- // compare lexically
- if (TypeConstants.TYPE_STRING.equals(boxedFirstType)
- || TypeConstants.TYPE_STRING.equals(boxedSecondType))
- {
- return validateStringComparison(firstArg, secondArg);
- }
-
- // otherwise, an equal compare will be done A.equals(B). Since
- return Diagnostic.OK_INSTANCE;
- }
-
-
- /**
- * Both types are coerced to boolean before comparison
- *
- * @param firstArg
- * @param secondArg
- * @return the result of the comparison
- */
- private ValueType handleBooleanComparison(ValueType firstArg, ValueType secondArg)
- {
- boolean canCoerceFirstArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- boolean canCoerceSecondArg = TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- if (! (canCoerceFirstArg && canCoerceSecondArg))
- {
- return null;
- }
-
- if (firstArg instanceof LiteralType && secondArg instanceof LiteralType)
- {
- try
- {
- Boolean firstValue = ((LiteralType)firstArg).coerceToBoolean();
- Boolean secondValue = ((LiteralType)secondArg).coerceToBoolean();
-
- if (firstValue != null && secondValue != null)
- {
- boolean result = doRealOperation(firstValue, secondValue);
- return result ?
- BooleanLiteralType.TRUE :
- BooleanLiteralType.FALSE;
- }
- }
- catch (TypeCoercionException tce)
- {
- throw new AssertionError("should never get here; have already checked coercability above"); //$NON-NLS-1$
- }
- }
-
- // otherwise, we have a valid comparison that results in boolean
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- private Diagnostic validateBooleanComparison(ValueType firstType, ValueType secondType)
- {
- boolean canCoerceFirstArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(firstType.getSignature()));
- boolean canCoerceSecondArg = TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(secondType.getSignature()));
-
- if (!canCoerceFirstArg)
- {
- return _diagnosticFactory.create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN(Messages.getString("EqualityRelationalBinaryOperator.FirstArgument")); //$NON-NLS-1$
- }
-
- if (!canCoerceSecondArg)
- {
- return _diagnosticFactory.create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN(Messages.getString("EqualityRelationalBinaryOperator.SecondArgument")); //$NON-NLS-1$
- }
-
- if (firstType instanceof LiteralType && secondType instanceof LiteralType)
- {
- try
- {
- Boolean firstValue = ((LiteralType)firstType).coerceToBoolean();
- Boolean secondValue = ((LiteralType)secondType).coerceToBoolean();
-
- if (firstValue != null && secondValue != null)
- {
- final boolean result =
- doRealOperation(firstValue, secondValue);
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME(getOperationName(), Boolean.toString(result));
- }
- }
- catch (TypeCoercionException tce)
- {
- throw new AssertionError("should never get here; have already checked coercability above"); //$NON-NLS-1$
- }
- }
-
- // otherwise, we have a valid comparison
- return Diagnostic.OK_INSTANCE;
- }
-
- @Override
- protected Diagnostic validateStringComparison(ValueType firstType,
- ValueType secondType)
- {
- String firstValue = null;
-
- if (firstType instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstType).getLiteralValue();
- }
-
- String secondValue = null;
- if (secondType instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondType).getLiteralValue();
- }
-
- if (firstValue != null)
- {
- Diagnostic result = validateIfEnumToStringComparison(firstValue, secondType);
-
- if (result != null)
- {
- return result;
- }
- }
-
- if (secondValue != null)
- {
- Diagnostic result = validateIfEnumToStringComparison(secondValue, firstType);
-
- if (result != null)
- {
- return result;
- }
- }
-
- // if it's a string to enum compare, do the default parent thing
- return super.validateStringComparison(firstType, secondType);
- }
-
-
- @Override
- protected ValueType handleStringComparison(ValueType firstType,
- ValueType secondType)
- {
- String firstValue = null;
-
- if (firstType instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstType).getLiteralValue();
- }
-
- String secondValue = null;
- if (secondType instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondType).getLiteralValue();
- }
-
- if (firstValue != null)
- {
- Diagnostic result = validateIfEnumToStringComparison(firstValue, secondType);
-
- if (result != null)
- {
- return handleIfEnumToNonMemberStringComparison(firstValue, secondType);
- }
- }
-
- if (secondValue != null)
- {
- Diagnostic result = validateIfEnumToStringComparison(secondValue, firstType);
-
- if (result != null)
- {
- return handleIfEnumToNonMemberStringComparison(secondValue, firstType);
- }
- }
-
- // otherwise, do the super thing
- return super.handleStringComparison(firstType, secondType);
- }
-
- private Diagnostic validateEnumComparison(final ValueType firstArg, final ValueType secondArg)
- {
- assert firstArg.isEnumType() || secondArg.isEnumType();
-
- // if the first is not an enum, then we have non-Enum == Enum case
- if (!firstArg.isEnumType())
- {
- return validateComparsionOfEnumAndNonEnum(firstArg, secondArg);
- }
-
- // if the second is not an enum, then we have Enum == non-Enum case
- if (!secondArg.isEnumType())
- {
- return validateComparsionOfEnumAndNonEnum(secondArg, firstArg);
- }
-
- // only other case is they are both enums. Check if they are directly
- // comparable.
- if (TypeUtil.canNeverBeEqual(firstArg.getSignature(), secondArg.getSignature()))
- {
- return _diagnosticFactory.
- create_BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME
- (getOperationName()
- , doRealOperation("foo", "notFoo") // just simulate the operation where the operands are not equal //$NON-NLS-1$ //$NON-NLS-2$
- , TypeUtil.getFullyQualifiedName(firstArg.getSignature())
- , TypeUtil.getFullyQualifiedName(secondArg.getSignature()));
- }
-
- // otherwise, it's all good
- return Diagnostic.OK_INSTANCE;
- }
-
- private Diagnostic validateComparsionOfEnumAndNonEnum(final ValueType nonEnumType, final ValueType enumType)
- {
- // the only literal value that could have got us here is a
- // StringLiteralValue since the others a filtered out before this is
- // called
- if (nonEnumType instanceof LiteralType)
- {
- assert nonEnumType instanceof StringLiteralType;
-
- Diagnostic result = validateIfEnumToStringComparison(((StringLiteralType)nonEnumType).getLiteralValue(), enumType);
-
- if (result != null)
- {
- return result;
- }
- return Diagnostic.OK_INSTANCE;
- }
-
- // if the arg is a String, then we can't prove anything before runtime
- if (nonEnumType.isInstanceOf(TypeConstants.TYPE_STRING))
- {
- return Diagnostic.OK_INSTANCE;
- }
- // otherwise, we know it will result in a problem since one is an enum
- // and the other isn't
- return _diagnosticFactory.
- create_BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME
- (getOperationName()
- , doRealOperation("foo", "notFoo") // just simulate the operation where the operands are not equal //$NON-NLS-1$ //$NON-NLS-2$
- , TypeUtil.getFullyQualifiedName(enumType.getSignature())
- , TypeUtil.getFullyQualifiedName(nonEnumType.getSignature()));
- }
-
- private Diagnostic validateIfEnumToStringComparison(final String literalValue, final ValueType validateIfEnum)
- {
- if (validateIfEnum.isEnumType()
- && validateIfEnum instanceof IObjectSymbolBasedValueType)
- {
- final IObjectSymbolBasedValueType symbolValueType =
- (IObjectSymbolBasedValueType) validateIfEnum;
-
- IType type = symbolValueType.getSymbol().getTypeDescriptor().resolveType(symbolValueType.getSymbol().getTypeDescriptor().getTypeSignature());
-
- if (type != null && !TypeUtil.isEnumMember(type, literalValue))
- {
- return _diagnosticFactory.
- create_BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME
- (getOperationName()
- , doRealOperation(literalValue, literalValue+"_") // just simulate the operation where the operands are not equal //$NON-NLS-1$
- , TypeUtil.getFullyQualifiedName(validateIfEnum.getSignature())
- , literalValue);
- }
- }
-
- return null;
- }
-
- private ValueType handleIfEnumToNonMemberStringComparison(final String literalValue, final ValueType enumValueType)
- {
- // we need to apply the real operation to literalValue and any string that !equals(literalValue)
- // since it's not a member of the enum
- return BooleanLiteralType.valueOf(doRealOperation(literalValue, literalValue+"_")); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualsBinaryRelationalOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualsBinaryRelationalOperator.java
deleted file mode 100644
index 3fa99f472..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/EqualsBinaryRelationalOperator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the equals -- ==/eq EL binary operator
- *
- * @author cbateman
- *
- */
-/*package*/ class EqualsBinaryRelationalOperator extends
- EqualityRelationalBinaryOperator
-{
-
- EqualsBinaryRelationalOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion) {
- super(diagnosticFactory, jsfVersion);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected boolean doRealOperation(Number firstArg, Number secondArg)
- {
- return firstArg.equals(secondArg);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected boolean doRealOperation(Boolean firstArg, Boolean secondArg)
- {
- return firstArg.equals(secondArg);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected boolean doRealOperation(String firstArg, String secondArg)
- {
- return firstArg.equals(secondArg);
- }
-
- protected String getOperationName()
- {
- return Messages.getString("EqualsBinaryRelationalOperator.OperationName"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanEqRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanEqRelationalBinaryOperator.java
deleted file mode 100644
index edab570f8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanEqRelationalBinaryOperator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Encapsulates the EL greater-than-eq operator -- ">="/ge
- *
- * @author cbateman
- *
- */
-/*package*/ class GreaterThanEqRelationalBinaryOperator extends
- LtGtRelationalBinaryOperator
-{
- GreaterThanEqRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion) {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected boolean doRealOperation(Number firstArg, Number secondArg)
- {
- return ((Comparable)firstArg).compareTo(secondArg) >= 0;
- }
-
- protected boolean doRealOperation(String firstArg, String secondArg)
- {
- return firstArg.compareTo(secondArg) >= 0;
- }
-
- protected String getOperationName()
- {
- return Messages.getString("GreaterThanEqRelationalBinaryOperator.OperationName"); //$NON-NLS-1$
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanRelationalBinaryOperator.java
deleted file mode 100644
index 78a62a7a6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/GreaterThanRelationalBinaryOperator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL greater than operator -- ">"/gt
- * @author cbateman
- *
- */
-/*package*/ class GreaterThanRelationalBinaryOperator extends
- LtGtRelationalBinaryOperator {
-
- GreaterThanRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion)
- {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected boolean doRealOperation(Number firstArg, Number secondArg)
- {
- return ((Comparable)firstArg).compareTo(secondArg) > 0;
- }
-
- protected boolean doRealOperation(String firstArg, String secondArg)
- {
- return firstArg.compareTo(secondArg) > 0;
- }
-
- protected String getOperationName()
- {
- return Messages.getString("GreaterThanRelationalBinaryOperator.OperationName"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanEqRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanEqRelationalBinaryOperator.java
deleted file mode 100644
index 24dc5e2a5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanEqRelationalBinaryOperator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-
-/**
- * Encapsulates the EL less-than-equal operator -- "<="/le
- *
- * @author cbateman
- *
- */
-/*package*/ class LessThanEqRelationalBinaryOperator extends
- LtGtRelationalBinaryOperator
-{
- LessThanEqRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion) {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected boolean doRealOperation(Number firstArg, Number secondArg)
- {
- return ((Comparable)firstArg).compareTo(secondArg) <= 0;
- }
-
- protected boolean doRealOperation(String firstArg, String secondArg)
- {
- return firstArg.compareTo(secondArg) <= 0;
- }
-
- protected String getOperationName()
- {
- return Messages.getString("LessThanEqRelationalBinaryOperator.OperationName"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanRelationalBinaryOperator.java
deleted file mode 100644
index 7b8e7ea7b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LessThanRelationalBinaryOperator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * The "<"/"lt" less-than EL operator
- *
- * @author cbateman
- *
- */
-/*package*/ class LessThanRelationalBinaryOperator extends
- LtGtRelationalBinaryOperator
-{
- LessThanRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion)
- {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected boolean doRealOperation(Number firstArg, Number secondArg)
- {
- return ((Comparable)firstArg).compareTo(secondArg) < 0;
- }
-
- protected boolean doRealOperation(String firstArg, String secondArg)
- {
- return firstArg.compareTo(secondArg) < 0;
- }
-
- protected String getOperationName()
- {
- return Messages.getString("LessThanRelationalBinaryOperator.OperationName"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LogicalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LogicalBinaryOperator.java
deleted file mode 100644
index deb4e9b7f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LogicalBinaryOperator.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents a logical binary operator per JSP.2.3.6.1 (logical and/or)
- *
- * @author cbateman
- *
- */
-/*package*/abstract class LogicalBinaryOperator extends BinaryOperator
-{
- LogicalBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- final boolean canCoerceFirstArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- final boolean canCoerceSecondArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- // if can't perform, must return null
- if (! (canCoerceFirstArg && canCoerceSecondArg))
- {
- return null;
- }
-
- Boolean firstArgResolvedValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- try
- {
- firstArgResolvedValue = ((LiteralType)firstArg).coerceToBoolean();
- }
- catch (TypeCoercionException tce)
- {
- // should never be throw due to already checking if can coerce
- throw new AssertionError("coercion already checked; this should never be reached"); //$NON-NLS-1$
- }
- }
-
- Boolean secondArgResolvedValue = null;
- if (secondArg instanceof LiteralType)
- {
- try
- {
- secondArgResolvedValue = ((LiteralType)secondArg).coerceToBoolean();
- }
- catch (TypeCoercionException tce)
- {
- // should never be throw due to already checking if can coerce
- throw new AssertionError("coercion already checked; this should never be reached"); //$NON-NLS-1$
- }
- }
-
- if (firstArgResolvedValue != null && secondArgResolvedValue != null)
- {
- boolean result =
- doRealOperation(firstArgResolvedValue, secondArgResolvedValue);
-
- return result ? BooleanLiteralType.TRUE : BooleanLiteralType.FALSE;
-
- }
-
- // otherwise, just return a boolean
- // result can only be an rvalue
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- final boolean canCoerceFirstArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- final boolean canCoerceSecondArg =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- if (!canCoerceFirstArg)
- {
- return _diagnosticFactory.
- create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN("first"); //$NON-NLS-1$
- //return new BasicDiagnostic(Diagnostic.ERROR, "", 0, "Cannot coerce first argument of "+readableOperatorName()+" to boolean", null);
- }
-
- if (!canCoerceSecondArg)
- {
- return _diagnosticFactory.
- create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN("first"); //$NON-NLS-1$
-
- //return new BasicDiagnostic(Diagnostic.ERROR, "", 0, "Cannot coerce second argument of "+readableOperatorName()+" to boolean", null);
- }
-
- if (firstArg instanceof LiteralType)
- {
- try
- {
- final Boolean boolValue =
- ((LiteralType)firstArg).coerceToBoolean();
-
- if (boolValue.booleanValue() == shortCircuitValue())
- {
- return _diagnosticFactory.
- create_BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS
- (shortCircuitValue(), readableOperatorName());
- }
- }
- catch (TypeCoercionException tce)
- {
- // should never be throw due to already checking if can coerce
- throw new AssertionError("coercion already checked; this should never be reached"); //$NON-NLS-1$
- }
- }
-
- if (secondArg instanceof LiteralType)
- {
- try
- {
- final Boolean boolValue =
- ((LiteralType)secondArg).coerceToBoolean();
-
- if (boolValue.booleanValue() == shortCircuitValue())
- {
- return _diagnosticFactory.
- create_BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME
- (shortCircuitValue(), readableOperatorName());
- }
- }
- catch (TypeCoercionException tce)
- {
- // should never be throw due to already checking if can coerce
- throw new AssertionError("coercion already checked; this should never be reached"); //$NON-NLS-1$
- }
- }
-
- // otherwise, nothing to report
- return Diagnostic.OK_INSTANCE;
- }
-
- /**
- * @return a human readable name for the operator
- */
- protected abstract String readableOperatorName();
-
- /**
- * @return the boolean value on which the operator short-circuits
- */
- protected abstract boolean shortCircuitValue();
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of performing the operator to two actual values
- */
- protected abstract boolean doRealOperation(Boolean firstArg, Boolean secondArg);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LtGtRelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LtGtRelationalBinaryOperator.java
deleted file mode 100644
index 8d8445c5b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/LtGtRelationalBinaryOperator.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.common.util.TypeUtil;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Encapsulates the EL binary operators "<", ">", "<=", ">="
- *
- * @author cbateman
- *
- */
-/*package*/ abstract class LtGtRelationalBinaryOperator extends RelationalBinaryOperator
-{
- LtGtRelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion)
- {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected abstract boolean doRealOperation(Number firstArg, Number secondArg);
-
- protected abstract boolean doRealOperation(String firstArg, String secondArg);
-
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- // JSP.2.3.5.6 step 2 if either operand is null, then always false
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- || TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return BooleanLiteralType.FALSE;
- }
-
- String boxedFirstType = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- String boxedSecondType = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.6 step 3, if either is BigDecimal, promote both and compare
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.6, step 4 if either is a float or double, promote both to
- // double and compare
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.6, step 5 if either is a big integer, promote and compare
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.6, step 6 if either is Long or smaller, coerce both to Long
- if (TypeConstants.TYPE_BOXED_LONG.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_LONG.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedSecondType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedFirstType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedSecondType))
- {
- return handleNumericComparison(firstArg, secondArg, Long.class);
- }
-
- // JSP.2.3.5.7, step 7 if either is a string, coerce to string and
- // compare lexically
- if (TypeConstants.TYPE_STRING.equals(boxedFirstType)
- || TypeConstants.TYPE_STRING.equals(boxedSecondType))
- {
- return handleStringComparison(firstArg, secondArg);
- }
-
- // JSP.2.3.5.7, steps 8 and 9 -- if either one implements the
- // Comparable interface, then as far as we can determine statically
- // (compareTo may not work on the other arg, but who knows),
- // we are good
- if (firstArg.isInstanceOf(TypeConstants.TYPE_COMPARABLE)
- || secondArg.isInstanceOf(TypeConstants.TYPE_COMPARABLE))
- {
- if (checkIfIncompatibleEnums(firstArg, secondArg))
- {
- // error: no point in validating further since expr will probably throw an exception
- return null;
- }
-
- return new ValueType(Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- // JSP.2.3.5.6, step 10 -- otherwise, error
- return null;
-
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.3.5.6 step 2 if either operand is null, then always false
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- || TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return _diagnosticFactory.
- create_BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME(Messages.getString("LtGtRelationalBinaryOperator.ConstantName.False")); //$NON-NLS-1$
- }
-
- String boxedFirstType = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- String boxedSecondType = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.6 step 3, if either is BigDecimal, promote both and compare
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.6, step 4 if either is a float or double, promote both to
- // double and compare
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.6, step 5 if either is a big integer, promote and compare
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.6, step 6 if either is Long or smaller, coerce both to Long
- if (TypeConstants.TYPE_BOXED_LONG.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_LONG.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_INTEGER.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_SHORT.equals(boxedSecondType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedFirstType)
- || TypeConstants.TYPE_BOXED_BYTE.equals(boxedSecondType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedFirstType)
- || TypeConstants.SIGNATURE_BOXED_CHARACTER.equals(boxedSecondType))
- {
- return validateNumericComparison(firstArg, secondArg, Long.class);
- }
-
- // JSP.2.3.5.7, step 7 if either is a string, coerce to string and
- // compare lexically
- if (TypeConstants.TYPE_STRING.equals(boxedFirstType)
- || TypeConstants.TYPE_STRING.equals(boxedSecondType))
- {
- return validateStringComparison(firstArg, secondArg);
- }
-
- // JSP.2.3.5.7, steps 8 and 9 -- if either one implements the
- // Comparable interface, then as far as we can determine statically
- // (compareTo may not work on the other arg, but who knows),
- // we are good
- if (firstArg.isInstanceOf(TypeConstants.TYPE_COMPARABLE)
- || secondArg.isInstanceOf(TypeConstants.TYPE_COMPARABLE))
- {
- Diagnostic diag = Diagnostic.OK_INSTANCE;
- if(checkIfIncompatibleEnums(firstArg, secondArg))
- {
- diag = _diagnosticFactory.create_BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE();
- }
- return diag;
- }
-
- // JSP.2.3.5.6, step 10 -- otherwise, error
- return _diagnosticFactory.create_BINARY_OP_NO_AVAILABLE_TYPE_COERCION();
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return diagnostic if firstArg and secondArg are incompatible with each other
- * for compareTo purpose or OK if not
- */
- private boolean checkIfIncompatibleEnums(ValueType firstArg,
- ValueType secondArg)
- {
- if (firstArg.isEnumType()
- && secondArg.isEnumType()
- && !TypeUtil.isEnumsCompareCompatible(firstArg.getSignature()
- , secondArg.getSignature()))
- {
- return true;
- }
-
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MemberAccessorOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MemberAccessorOperator.java
deleted file mode 100644
index b346d9fcd..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MemberAccessorOperator.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.NullLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.SignatureBasedType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.symbol.IMethodSymbol;
-import org.eclipse.jst.jsf.context.symbol.IObjectSymbol;
-import org.eclipse.jst.jsf.context.symbol.IPropertySymbol;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IMethodSymbolBasedType;
-import org.eclipse.jst.jsf.context.symbol.internal.util.IObjectSymbolBasedValueType;
-import org.eclipse.jst.jsf.designtime.resolver.ISymbolContextResolver;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Super-class for all operators whose function is to access members of an EL
- * object. i.e. the "." and "[]" operators
- *
- * @author cbateman
- *
- */
-public abstract class MemberAccessorOperator
-{
- /**
- * The source file for the EL expression in which this operator is being
- * evaluated.
- */
- protected final IFile _file;
-
- /**
- * the common factory used to create diagnostics
- */
- protected final DiagnosticFactory _diagnosticFactory;
-
- /**
- * Used to resolve variables and properties.
- */
- protected final ISymbolContextResolver _contextResolver;
-
- // TODO: need to reconcile with BinaryOperator? performOperation must return
- // SignatureBasedType since it may return a method. This can't happen
- // with other operators (besides eqiv [])
- /**
- * @param file
- * @param diagnosticFactory
- * @param contextResolver
- */
- protected MemberAccessorOperator(final IFile file,
- final DiagnosticFactory diagnosticFactory, final ISymbolContextResolver contextResolver)
- {
- _file = file;
- _diagnosticFactory = diagnosticFactory;
- _contextResolver = contextResolver;
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of validating the dot operation with these arguments.
- */
- public Diagnostic validate(final ValueType firstArg, final ValueType secondArg)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
- if (!(firstArg instanceof IObjectSymbolBasedValueType))
- {
- throw new AssertionError(
- "The first argument of the member operator must always be a symbol resolvable value type"); //$NON-NLS-1$
- }
-
- if (TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return _diagnosticFactory
- .create_BINARY_OP_DOT_WITH_VALUEB_NULL(getOperatorName());
- }
-
- return validateObjectSymbolValue(
- (IObjectSymbolBasedValueType) firstArg, secondArg);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the diagnostic for member(firstArg, secondArg)
- */
- protected abstract Diagnostic validateObjectSymbolValue(
- IObjectSymbolBasedValueType firstArg, ValueType secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return a validation of a named property accessible base (map or bean)
- * given an a literal key argument
- */
- protected Diagnostic validateNamedPropertyAccessorBase(
- final IObjectSymbolBasedValueType firstArg, final LiteralType secondArg)
- {
- final IObjectSymbol curBaseSymbol = firstArg.getSymbol();
-
- final ISymbol nextSymbol =
- getMemberSymbol(firstArg.getSymbol(), secondArg
- .getLiteralValueRaw());
-
- // if the x in x.y is an unconstrained map an it returns
- // a java.lang.Object, then return null. We can't really say
- // anything meaningful about such a property anyway.
- // TODO: do we need to refine the type descriptor on such
- // a property object to make this more precise?
- if (curBaseSymbol.supportsCoercion(TypeConstants.TYPE_MAP)
- && nextSymbol instanceof IPropertySymbol
- && TypeConstants.TYPE_JAVAOBJECT
- .equals(((IPropertySymbol) nextSymbol)
- .getTypeDescriptor().getTypeSignature()))
- {
- // if we get a symbol back that's a generic object coming from a map
- // then stop validating; we can't tell anything for sure
- return Diagnostic.OK_INSTANCE;
- }
-
- if (nextSymbol == null)
- {
- return _diagnosticFactory.create_MEMBER_NOT_FOUND(secondArg
- .getLiteralValue(), firstArg.getSymbol().getName());
- }
-
- return Diagnostic.OK_INSTANCE;
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the resolved type for the operation or null if not computable
- */
- public SignatureBasedType performOperation(final ValueType firstArg,
- final ValueType secondArg)
- {
- if (!(firstArg instanceof IObjectSymbolBasedValueType))
- {
- return null;
- }
-
- // per JSP.2.3.4, if value-b is null, then return null (not literal
- // null)
- if (TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return null;
- }
-
- return handlePerformObjectSymbolValue(
- (IObjectSymbolBasedValueType) firstArg, secondArg);
- }
-
- /**
- * @param firstArg --
- * represents value-a (expr-a after step 1) in JSP.2.3.4
- * @param secondArg --
- * represents value-b (expr-b after step 3) in JSP.2.3.4
- * @return the new ValueType for this operation or null
- */
- protected abstract SignatureBasedType handlePerformObjectSymbolValue(
- IObjectSymbolBasedValueType firstArg, ValueType secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the resolved type for firstArg[secondArg] treating firstArg as a
- * type that uses a named property accessor (i.e. a map or bean but
- * not a list or array) or null if unresolved
- */
- protected SignatureBasedType handlePerformNamedPropertyAccessorBase(
- final IObjectSymbolBasedValueType firstArg, final LiteralType secondArg)
- {
- final ISymbol symbol =
- getMemberSymbol(firstArg.getSymbol(), secondArg
- .getLiteralValueRaw());
-
- if (symbol instanceof IPropertySymbol)
- {
- return new IObjectSymbolBasedValueType((IPropertySymbol) symbol);
- }
- else if (symbol instanceof IMethodSymbol)
- {
- return new IMethodSymbolBasedType((IMethodSymbol) symbol);
- }
-
- // fall-through and return null
- // per JSP2.3.4 steps 5 and 6, return null literal if map, null (error)
- // otherwise
- if (firstArg.isInstanceOf(TypeConstants.TYPE_MAP))
- {
- return NullLiteralType.SINGLETON;
- }
- return null;
- }
-
- /**
- * @param symbol
- * @param name
- * @return the member symbol of 'symbol' corresponding to 'name' or null if
- * there is no such member
- */
- protected final ISymbol getMemberSymbol(final IObjectSymbol symbol,
- final Object name)
- {
- ISymbol memberSymbol = getPropertySymbol(symbol, name);
-
- if (memberSymbol != null)
- {
- return memberSymbol;
- }
-
- memberSymbol = getMethodSymbol(symbol, name);
-
- // otherwise, see if it's a valid method
- if (memberSymbol != null)
- {
- return memberSymbol;
- }
-
- // if not a property or method, then not a valid member
- return null;
- }
-
- /**
- * @param symbol
- * @param name
- * @return the property symbol called name relative to 'symbol' or null if
- * one doesn't exist
- */
- protected final ISymbol getPropertySymbol(final ISymbol symbol,
- final Object name)
- {
- return _contextResolver.getProperty(symbol, name);
- }
-
- /**
- * @param symbol
- * @param name
- * @return the method symbol on 'symbol' corresponding to 'name' or null if
- * no such member
- */
- protected final IMethodSymbol getMethodSymbol(final IObjectSymbol symbol,
- final Object name)
- {
- return _contextResolver.getMethod(symbol, name);
- }
-
-
- /**
- * @return a user-readable name of the operator (i.e. dot or bracket)
- */
- protected abstract String getOperatorName();
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/Messages.java
deleted file mode 100644
index 22c4c5618..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.validation.internal.el.operators.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the string or !key! if not found
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MinusUnaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MinusUnaryOperator.java
deleted file mode 100644
index 91705d9db..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MinusUnaryOperator.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.FloatLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.IntegerLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.StringLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL unary operator '-' on a ValueType
- * as described by JSP.2.3.5.4
- *
- *
- * @author cbateman
- *
- */
-/*package*/class MinusUnaryOperator extends UnaryOperator
-{
- private static final String UNARY_MINUS = "unary minus"; //$NON-NLS-1$
-
- MinusUnaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- public Diagnostic validate(ValueType type)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(type.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
- // must coerce to numeric type
- try
- {
- // if coerceTypeNumber doesn't throw an exception, then
- // give the benefit of the doubt
- final String coercedType =
- TypeCoercer.
- coerceToNumber(TypeTransformer.
- transformBoxPrimitives(type.getSignature()));
-
- if (TypeCoercer.typeIsNull(coercedType))
- {
- // null always coerces to 0L on this operator
- return _diagnosticFactory.
- create_UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO();
- }
-
- // JSP.2.3.5.4, step 2 if BigDecimal or BigInteger, then can't be
- // literal and retains type
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(coercedType)
- || TypeConstants.TYPE_BIG_INTEGER.equals(coercedType))
- {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.4.5.4, step 3: if String
- // note, use uncoerced type, since type coercer will return null for strings
- if (TypeCoercer.typeIsString(type.getSignature()))
- {
- // if it's a string and we have the value, we can determine for
- // sure whether or not it's coercable to a number
- // per JSP.2.3.5.4 step 3.1
- if (type instanceof StringLiteralType)
- {
- String literalValue = ((LiteralType)type).getLiteralValue();
- if (literalValue.indexOf('.') > -1
- || literalValue.indexOf('e') > -1
- || literalValue.indexOf('E') > -1)
- {
- // if it coerces to double, then it's a double
- ((LiteralType)type).coerceToNumber(Double.class);
- // this is okay, because an expression like #{-3.3} can't be folded
- return Diagnostic.OK_INSTANCE;
- }
- // per JSP.2.3.5.4, step 3.2 try to coerce to long
- // if it coerces to long, then it's a long
- ((LiteralType)type).coerceToNumber(Long.class);
- // this is okay, because an expression like #{-3} can't be folded
- return Diagnostic.OK_INSTANCE;
- }
- // if non-literal string, warn that coercion to number is not
- // guaranteed since Long.valueOf and Double.valueOf
- // (unlike Boolean.valueOf) throw NumberFormatExceptions
- return _diagnosticFactory.create_UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED(UNARY_MINUS);
- }
-
- // JSP.2.3.5.4, step 4, for all numeric types, retain type,
- // validate constant folding
- // note that this return true for big int and decimal, so those cases
- // must already have been handled.
- if (TypeCoercer.typeIsNumeric(coercedType))
- {
- // otherwise, we are fine
- return Diagnostic.OK_INSTANCE;
- }
-
- }
- catch (TypeCoercionException tce)
- {
- // fallthrough to error below
- }
- // otherwise, error
- return _diagnosticFactory.create_UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(UNARY_MINUS);
- }
-
- /**
- * Based on JSP.2.3.5.4
- *
- * @param type
- * @return type of type after a minus is applied or null if unknown
- */
- public ValueType performOperation(ValueType type)
- {
- try
- {
- final String boxedType =
- TypeTransformer.transformBoxPrimitives(type.getSignature());
- // check for valid type coercion
- String coercedType = TypeCoercer.coerceToNumber(boxedType);
-
- if (TypeCoercer.typeIsNull(coercedType))
- {
- // null always coerces to 0L on this operator
- return new IntegerLiteralType(0L);
- }
-
- // JSP.2.3.5.4, step 2 if BigDecimal or BigInteger, then can't be
- // literal and retains type
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(coercedType))
- {
- return new ValueType(TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- else if (TypeConstants.TYPE_BIG_INTEGER.equals(coercedType))
- {
- return new ValueType(TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- if (TypeCoercer.typeIsString(type.getSignature()))
- {
- // if it's string and we have the value, we can determine for
- // sure whether or not it's coercable to a number
- // per JSP.2.3.5.4 step 3
- if (type instanceof StringLiteralType)
- {
- String literalValue = ((LiteralType)type).getLiteralValue();
- if (literalValue.indexOf('.') > -1
- || literalValue.indexOf('e') > -1
- || literalValue.indexOf('E') > -1)
- {
- // if it coerces to double, then it's a double
- Number value = ((LiteralType)type).coerceToNumber(Double.class);
- return new FloatLiteralType(-1 * value.doubleValue());
- }
-
- // if it coerces to long, then it's a long
- Number value = ((LiteralType)type).coerceToNumber(Long.class);
- return new IntegerLiteralType(-1 * value.longValue());
- }
-
- // otherwise, just return a long typed value
- return new ValueType(Signature.SIG_LONG, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- // JSP.2.3.5.4
- // big integer and big decimal retain type
- // all numeric types retain type
- if (TypeCoercer.typeIsNumeric(boxedType))
- {
- // integer and float literals are special because -1 or -1.0
- // is syntically minusOp(1) and minusOp(1.0)
- if (type instanceof IntegerLiteralType)
- {
- return new IntegerLiteralType(-1 * ((IntegerLiteralType)type).coerceToNumber(Long.class).longValue());
- }
- else if (type instanceof FloatLiteralType)
- {
- return new FloatLiteralType(-1 * ((FloatLiteralType)type).coerceToNumber(Double.class).doubleValue());
- }
- return type;
- }
-
- // all other cases, return null
- // even is type represents a String, without it's value, we have
- // no idea how to coerce it without it's value
- // fall through and return null
- }
- catch (TypeCoercionException tce)
- {
- // do nothing, fall through and return null
- }
-
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ModArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ModArithmeticBinaryOperator.java
deleted file mode 100644
index 0b6ac7d01..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/ModArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.FloatLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.IntegerLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL modulo operator: % or mod
- * Based JSP.2.3.5.3
- *
- * @author cbateman
- *
- */
-/*package*/ class ModArithmeticBinaryOperator extends ArithmeticBinaryOperator
-{
- private static final String MODULO = "modulo"; //$NON-NLS-1$
-
- ModArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- // JSP.2.3.5.3, step 1 if both null, then return zero
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return IntegerLiteralType.ZERO;
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.3, step 2, if either arg is BigDecimal, Float, Double
- // or String (ignoring whether it is value coercable), then coerce
- // to Double and do op
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstArg)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondArg))
- {
- // TODO: handle case where one is a literal or resolvable string value
- // that containss ".", "e" or "E"
- return performDouble(firstArg, secondArg);
- }
-
- // JSP.2.3.5.3, step 3, if either arg is a BigInteger, coerce
- // both to BigInteger
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return performBigInteger(firstArg, secondArg);
- }
-
- // JSP.2.3.5.3, step 4, otherwise try to perform as a Long op
- return performLong(firstArg, secondArg);
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg) {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.3.5.3, step 1 if both null, then return zero
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return _diagnosticFactory.create_BINARY_OP_BOTH_OPERANDS_NULL(MODULO);
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.3, step 2, if either arg is BigDecimal, Float, Double
- // or String (ignoring whether it is value coercable), then coerce
- // to Double and do op
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondArg)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstArg)
- || TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondArg))
- {
- // TODO: handle case where one is a literal or resolvable string value
- // that containss ".", "e" or "E"
- return validateDouble(firstArg, secondArg);
- }
-
- // JSP.2.3.5.3, step 3, if either arg is a BigInteger, coerce
- // both to BigInteger
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return validateBigInteger(firstArg, secondArg);
- }
-
- // JSP.2.3.5.3, step 4, otherwise try to perform as a Long op
- return validateLong(firstArg, secondArg);
- }
-
- private ValueType performDouble(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
-
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Double.class);
-
- if (secondValue.doubleValue() == 0.0)
- {
- // division by zero
- return null;
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Double.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- return new FloatLiteralType(
- doRealOperation(new Double(firstValue.doubleValue()),
- new Double(secondValue.doubleValue())).doubleValue());
- }
-
- // if we get to here, the coercion is valid, so a Double will be
- // returned
- return new ValueType(Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException tce)
- {
- // could not coerce, so null
- return null;
- }
- }
-
- private ValueType performBigInteger(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- // check second arg for zero
- if (secondArg instanceof LiteralType)
- {
- if (((LiteralType)secondArg).coerceToNumber(BigInteger.class).equals(BigInteger.ZERO))
- {
- // division by zero
- return null;
- }
- }
-
- // since one of the args is BigInteger, they are not both literals,
- // so if we get to here, we have a successful mod of two
- // big integers to one big integer
- return new ValueType(TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException tce)
- {
- // no coercion
- return null;
- }
- }
-
- private ValueType performLong(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
-
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Long.class);
-
- if (secondValue.longValue() == 0)
- {
- // division by zero
- return null;
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Long.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- return new IntegerLiteralType(
- doRealOperation(Long.valueOf(firstValue.longValue()),
- Long.valueOf(secondValue.longValue())).longValue());
- }
-
- // if we get to here, the coercion is valid, so a Long will be
- // returned
- return new ValueType(Signature.SIG_LONG, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException tce)
- {
- // could not coerce, so null
- return null;
- }
- }
-
- private Diagnostic validateDouble(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
-
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Double.class);
-
- if (secondValue.doubleValue() == 0.0)
- {
- // division by zero
- return _diagnosticFactory.create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO();
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Double.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME
- (MODULO, Double.toString(
- firstValue.doubleValue()%secondValue.doubleValue()));
- }
-
- // if we get to here, the coercion is valid, so a Double will be
- // returned and everything is good
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException tce)
- {
- // could not coerce, so error
- return _diagnosticFactory.
- create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(MODULO);
- }
- }
-
- private Diagnostic validateBigInteger(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- // check second arg for zero
- if (secondArg instanceof LiteralType)
- {
- if (((LiteralType)secondArg).coerceToNumber(BigInteger.class).equals(BigInteger.ZERO))
- {
- // division by zero
- return _diagnosticFactory.create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO();
- }
- }
-
- // since one of the args is BigInteger, they are not both literals,
- // so if we get to here, we have a successful mod of two
- // big integers to one big integer
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException tce)
- {
- // no coercion
- return _diagnosticFactory.
- create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(MODULO);
- }
- }
-
- private Diagnostic validateLong(ValueType firstArg, ValueType secondArg)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number secondValue = null;
-
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(Long.class);
-
- if (secondValue.longValue() == 0)
- {
- // division by zero
- return _diagnosticFactory.
- create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO();
- }
- }
-
- Number firstValue = null;
-
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(Long.class);
- }
-
- if (firstValue != null && secondValue != null)
- {
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME
- (MODULO, Long.toString(firstValue.longValue()%secondValue.longValue()));
- }
-
- // if we get to here, the coercion is valid, so a Long will be
- // returned
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException tce)
- {
- // could not coerce, so error
- return _diagnosticFactory.
- create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(MODULO);
- }
- }
-
- protected Long doRealOperation(Long firstArg, Long secondArg) {
- return Long.valueOf(firstArg.longValue() % secondArg.longValue());
- }
-
- protected Double doRealOperation(Double firstArg, Double secondArg) {
- return new Double(firstArg.doubleValue() % secondArg.doubleValue());
- }
-
- protected BigDecimal doRealOperation(BigDecimal firstArg,
- BigDecimal secondArg) {
- return new BigDecimal(firstArg.doubleValue() % secondArg.doubleValue());
- }
-
- protected String getOperatorName() {
- return MODULO;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MultiplyArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MultiplyArithmeticBinaryOperator.java
deleted file mode 100644
index 605ce470a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/MultiplyArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL Multiply arithmetic binary operator "*"
- *
- * @author cbateman
- *
- */
-/*package*/ class MultiplyArithmeticBinaryOperator extends
- NoDivArithmeticBinaryOperator
-{
- private static final String MULTIPLICATION = "multiplication"; //$NON-NLS-1$
-
-
- MultiplyArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- protected Long doRealOperation(Long firstArg, Long secondArg)
- {
- return Long.valueOf(firstArg.longValue() * secondArg.longValue());
- }
-
- protected Double doRealOperation(Double firstArg, Double secondArg)
- {
- return new Double(firstArg.doubleValue() * secondArg.doubleValue());
- }
-
- protected BigDecimal doRealOperation(BigDecimal firstArg,
- BigDecimal secondArg)
- {
- return firstArg.multiply(secondArg);
- }
-
- protected String getOperatorName() {
- return MULTIPLICATION;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NoDivArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NoDivArithmeticBinaryOperator.java
deleted file mode 100644
index 3b057545d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NoDivArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.FloatLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.IntegerLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents non-dividing arithmetic EL operators: +,-,*
- * Based on JSP.2.3.5.1
- *
- * @author cbateman
- *
- */
-/*package*/ abstract class NoDivArithmeticBinaryOperator extends ArithmeticBinaryOperator
-{
- NoDivArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- protected abstract Long doRealOperation(Long firstArg, Long secondArg);
-
- protected abstract Double doRealOperation(Double firstArg, Double secondArg);
-
- public ValueType performOperation(ValueType firstArg, ValueType secondArg)
- {
- // JSP.2.3.5.1, step 1, if either arg is null, return (Long) 0
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return new IntegerLiteralType(0);
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.1, step 2, if either arg is a BigDecimal, coerce to BigDecimal
- // and apply
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg))
- {
- return handleNumericArithmetic(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.1, step 3, if either arg is float or double or
- // a String containing "., e or E", then coerce if the other is
- // a big int, coerce up to BigDecimal, else to Double
- // Note: we are ignoring strings we can't resolve to figure out
- // if the contain "., e or E". Assume they always do
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondArg)
- ||TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondArg))
- {
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- // if the other operand is BigInteger, treat as BigDecimal
- return handleNumericArithmetic(firstArg, secondArg, BigDecimal.class);
- }
-
- // otherwise as double
- return handleNumericArithmetic(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.1, step 4, if one is a big integer, coerce to big integer
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return handleNumericArithmetic(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.1, step 5, otherwise, try to coerce to Long
- return handleNumericArithmetic(firstArg, secondArg, Long.class);
- }
-
- public Diagnostic validate(ValueType firstArg, ValueType secondArg)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(firstArg.getSignature()) ||
- TypeConstants.TYPE_JAVAOBJECT.equals(secondArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- // JSP.2.3.5.1, step 1, if either arg is null, return (Long) 0
- if (TypeCoercer.typeIsNull(firstArg.getSignature())
- && TypeCoercer.typeIsNull(secondArg.getSignature()))
- {
- return _diagnosticFactory.create_BINARY_OP_BOTH_OPERANDS_NULL(getOperatorName());
- }
-
- final String boxedFirstArg = TypeTransformer.transformBoxPrimitives(firstArg.getSignature());
- final String boxedSecondArg = TypeTransformer.transformBoxPrimitives(secondArg.getSignature());
-
- // JSP.2.3.5.1, step 2, if either arg is a BigDecimal, coerce to BigDecimal
- // and apply
- if (TypeConstants.TYPE_BIG_DOUBLE.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_DOUBLE.equals(boxedSecondArg))
- {
- return validateNumericArithmetic(firstArg, secondArg, BigDecimal.class);
- }
-
- // JSP.2.3.5.1, step 3, if either arg is float or double or
- // a String containing "., e or E", then coerce if the other is
- // a big int, coerce up to BigDecimal, else to Double
- // Note: we are ignoring strings we can't resolve to figure out
- // if the contain "., e or E". Assume they always do
- if (TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BOXED_DOUBLE.equals(boxedSecondArg)
- ||TypeConstants.TYPE_BOXED_FLOAT.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BOXED_FLOAT.equals(boxedSecondArg))
- {
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- ||TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- // if the other operand is BigInteger, treat as BigDecimal
- return validateNumericArithmetic(firstArg, secondArg, BigDecimal.class);
- }
-
- // otherwise as double
- return validateNumericArithmetic(firstArg, secondArg, Double.class);
- }
-
- // JSP.2.3.5.1, step 4, if one is a big integer, coerce to big integer
- if (TypeConstants.TYPE_BIG_INTEGER.equals(boxedFirstArg)
- || TypeConstants.TYPE_BIG_INTEGER.equals(boxedSecondArg))
- {
- return validateNumericArithmetic(firstArg, secondArg, BigInteger.class);
- }
-
- // JSP.2.3.5.1, step 5, otherwise, try to coerce to Long
- return validateNumericArithmetic(firstArg, secondArg, Long.class);
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @param numberType
- * @return a value type based on the result of the arithmetic operation
- */
- protected ValueType handleNumericArithmetic(ValueType firstArg, ValueType secondArg, Class numberType)
- {
- try
- {
-// final String coercedFirstArg =
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
-// final String coercedSecondArg =
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- if (firstArg instanceof LiteralType && secondArg instanceof LiteralType)
- {
- try
- {
- Number firstValue =
- ((LiteralType)firstArg).coerceToNumber(numberType);
- Number secondValue =
- ((LiteralType)secondArg).coerceToNumber(numberType);
-
- LiteralType result = null;
-
- if (numberType == Double.class)
- {
- Double resultValue =
- doRealOperation((Double)firstValue,
- (Double) secondValue);
- result = new FloatLiteralType(resultValue.doubleValue());
- }
- else if (numberType == Long.class)
- {
- Long resultValue =
- doRealOperation((Long) firstValue, (Long) secondValue);
- result = new IntegerLiteralType(resultValue.longValue());
- }
- else
- {
- throw new AssertionError("unsupport arithmetic upcast type"); //$NON-NLS-1$
- }
-
- return result;
- }
- catch (TypeCoercionException tce)
- {
- // could happen if two string literals passed
- return null;
- }
- }
-
- // if we get to here, then we have two valid numeric arith
- // types, but at least one is not a literal, so the best we can
- // say is that the return will be the same asthe type of numeric
- // coercion
- if (numberType == BigDecimal.class)
- {
- return new ValueType(TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- else if (numberType == Double.class)
- {
- return new ValueType(Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- else if (numberType == BigInteger.class)
- {
- return new ValueType(TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- else
- {
- return new ValueType(Signature.SIG_LONG, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- }
- catch (TypeCoercionException tce)
- {
- // coercion to number failed, so no go
- return null;
- }
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @param numberType
- * @return a diagnostic validating the arithmetic expr firstArg op secondArg
- */
- protected Diagnostic validateNumericArithmetic(ValueType firstArg, ValueType secondArg, Class numberType)
- {
- try
- {
-// final String coercedFirstArg =
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
-// final String coercedSecondArg =
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- if (firstArg instanceof LiteralType && secondArg instanceof LiteralType)
- {
- try
- {
- Number firstValue =
- ((LiteralType)firstArg).coerceToNumber(numberType);
- Number secondValue =
- ((LiteralType)secondArg).coerceToNumber(numberType);
-
- Number result = null;
-
- if (numberType == Double.class)
- {
- result =
- doRealOperation((Double)firstValue,
- (Double) secondValue);
- }
- else if (numberType == Long.class)
- {
- result =
- doRealOperation((Long) firstValue, (Long) secondValue);
- }
- else
- {
- throw new AssertionError("unsupport arithmetic upcast type"); //$NON-NLS-1$
- }
-
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME
- (getOperatorName(), result.toString());
- }
- catch (TypeCoercionException tce)
- {
- // could happen when two strings are passed
- return _diagnosticFactory.
- create_BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS();
- }
- }
-
- // if we get to here, then we have two valid numeric arith
- // types, but at least one is not a literal
- // everything should be ok
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException tce)
- {
- // coercion to number failed, so no go
- return _diagnosticFactory.
- create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(getOperatorName());
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotEqualsBinaryRelationalOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotEqualsBinaryRelationalOperator.java
deleted file mode 100644
index 1d6245426..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotEqualsBinaryRelationalOperator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the not equals -- "!="/ne EL binary operator
- * @author cbateman
- *
- */
-/*package*/ class NotEqualsBinaryRelationalOperator extends
- EqualityRelationalBinaryOperator {
-
- NotEqualsBinaryRelationalOperator(final DiagnosticFactory diagnosticFactory, String jsfVersion)
- {
- super(diagnosticFactory, jsfVersion);
- }
-
- protected boolean doRealOperation(Number firstArg, Number secondArg) {
- return !firstArg.equals(secondArg);
- }
-
- protected boolean doRealOperation(Boolean firstArg, Boolean secondArg) {
- return !firstArg.equals(secondArg);
- }
-
- protected boolean doRealOperation(String firstArg, String secondArg) {
- return !firstArg.equals(secondArg);
- }
-
- protected String getOperationName()
- {
- return Messages.getString("NotEqualsBinaryRelationalOperator.OperationName"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotUnaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotUnaryOperator.java
deleted file mode 100644
index f8f09b22e..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/NotUnaryOperator.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents te EL unary operators "!" and "not" on a ValueType
- * as described by JSP.2.3.6.2
- *
- * @author cbateman
- *
- */
-/*package*/ class NotUnaryOperator extends UnaryOperator
-{
- NotUnaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- public Diagnostic validate(ValueType type)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(type.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
- boolean canCoerce =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(type.getSignature()));
-
- if (canCoerce)
- {
- // check for constant evaluation
- if (type instanceof LiteralType)
- {
- try
- {
- Boolean coercedValue = ((LiteralType)type).coerceToBoolean();
-
- // we are logically notting, so coerced is true, then false
- // if false then true
- return _diagnosticFactory.create_UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID(
- "not" //$NON-NLS-1$
- , Boolean.valueOf(!coercedValue.booleanValue()).toString());
-
- }
- catch (TypeCoercionException tce)
- {
- throw new AssertionError("coerce should not throw exception"); //$NON-NLS-1$
- }
- }
-
- return Diagnostic.OK_INSTANCE;
- }
- return _diagnosticFactory.create_UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN();
- }
-
- public ValueType performOperation(ValueType type)
- {
- boolean canCoerce =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(type.getSignature()));
-
- if (canCoerce)
- {
- if (type instanceof LiteralType)
- {
- try
- {
- Boolean coercedValue = ((LiteralType)type).coerceToBoolean();
-
- // we are logically notting, so coerced is true, then false
- // if false then true
- return
- coercedValue.booleanValue() ?
- BooleanLiteralType.FALSE :
- BooleanLiteralType.TRUE;
- }
- catch (TypeCoercionException tce)
- {
- throw new AssertionError("coerce should not throw exception"); //$NON-NLS-1$
- }
- }
-
- return new ValueType(TypeConstants.TYPE_BOOLEAN, type.getAssignability());
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/OrBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/OrBinaryOperator.java
deleted file mode 100644
index 4914704d8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/OrBinaryOperator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Encapsulates the 'and'/'&&' boolean-AND operator
- * Based on JSP.2.3.6.1
- *
- * @author cbateman
- *
- */
-/*package*/class OrBinaryOperator extends LogicalBinaryOperator
-{
- OrBinaryOperator(DiagnosticFactory diagnosticFactory)
- {
- super(diagnosticFactory);
- }
-
- protected boolean doRealOperation(Boolean firstArg, Boolean secondArg)
- {
- return (firstArg.booleanValue() || secondArg.booleanValue());
- }
-
- protected String readableOperatorName()
- {
- return "logical-OR"; //$NON-NLS-1$
- }
-
- protected boolean shortCircuitValue()
- {
- // OR short-circuits on true
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/RelationalBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/RelationalBinaryOperator.java
deleted file mode 100644
index 924ec9854..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/RelationalBinaryOperator.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.BooleanLiteralType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.core.IJSFCoreConstants;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-
-/**
- * Super-class of all relational binary ops - "==", "!=", "<", ">", "<=", ">="
- * @author cbateman
- *
- */
-/*package*/ abstract class RelationalBinaryOperator extends BinaryOperator
-{
- private final String _jsfVersion;
-
- RelationalBinaryOperator(final DiagnosticFactory diagnosticFactory, final String jsfVersion)
- {
- super(diagnosticFactory);
- _jsfVersion = jsfVersion;
- }
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected abstract boolean doRealOperation(Number firstArg, Number secondArg);
-
- /**
- * @param firstArg
- * @param secondArg
- * @return the result of the operation
- */
- protected abstract boolean doRealOperation(String firstArg, String secondArg);
-
- /**
- * @return the operation's user readable name
- */
- protected abstract String getOperationName();
-
- /**
- * Performs a the operation, casting both args to BigDecimal first
- *
- * @param firstArg
- * @param secondArg
- * @param numberType
- * @return the result of the comparison or null if indeterminate
- */
- protected ValueType handleNumericComparison(ValueType firstArg, ValueType secondArg, Class numberType)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstArg.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondArg.getSignature()));
-
- Number firstValue = null;
- if (firstArg instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstArg).coerceToNumber(numberType);
- }
-
- Number secondValue = null;
- if (secondArg instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondArg).coerceToNumber(numberType);
- }
-
- if (firstValue != null && secondValue != null)
- {
- boolean result = doRealOperation(firstValue, secondValue);
-
- return result ? BooleanLiteralType.TRUE : BooleanLiteralType.FALSE;
- }
-
- // if we get to here, we only know that both can be up cast to BigDecimal
- // and compared. This will yield a boolean result
- // this value cannot be lhs
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
- catch (TypeCoercionException tce)
- {
- // no valid coercion, so return null
- return null;
- }
- }
-
- /**
- * @param firstType
- * @param secondType
- * @param numberType
- * @return a diagnostic validating the relational comparison of firstType to secondType
- */
- protected Diagnostic validateNumericComparison(ValueType firstType, ValueType secondType, Class numberType)
- {
- try
- {
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(firstType.getSignature()));
- TypeCoercer.coerceToNumber(TypeTransformer.transformBoxPrimitives(secondType.getSignature()));
-
- Number firstValue = null;
- if (firstType instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstType).coerceToNumber(numberType);
- }
-
- Number secondValue = null;
- if (secondType instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondType).coerceToNumber(numberType);
- }
-
- if (firstValue != null && secondValue != null)
- {
- boolean result = doRealOperation(firstValue, secondValue);
-
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME
- (getOperationName(), Boolean.toString(result));
- }
-
- // if we get to here, we only know that both can be up cast to BigDecimal
- // and compared. This condition is okay
- return Diagnostic.OK_INSTANCE;
- }
- catch (TypeCoercionException tce)
- {
- // could not make numeric coercion for valid comparison
- return _diagnosticFactory.create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(getOperationName());
- }
- }
-
- /**
- * @param firstType
- * @param secondType
- * @return the result of the operation
- */
- protected ValueType handleStringComparison(ValueType firstType, ValueType secondType)
- {
- String firstValue = null;
-
- if (firstType instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstType).getLiteralValue();
- }
-
- String secondValue = null;
- if (secondType instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondType).getLiteralValue();
- }
-
- if (firstValue != null && secondValue != null)
- {
- boolean newValue = doRealOperation(firstValue, secondValue);
- return newValue ? BooleanLiteralType.TRUE : BooleanLiteralType.FALSE;
- }
-
- // if don't have all literals, just return boolean type
- return new ValueType(TypeConstants.TYPE_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- /**
- * @param firstType
- * @param secondType
- * @return a diagnostic validating the string comparison of firstType to secondType
- */
- protected Diagnostic validateStringComparison(ValueType firstType, ValueType secondType)
- {
- String firstValue = null;
-
- if (firstType instanceof LiteralType)
- {
- firstValue = ((LiteralType)firstType).getLiteralValue();
- }
-
- String secondValue = null;
- if (secondType instanceof LiteralType)
- {
- secondValue = ((LiteralType)secondType).getLiteralValue();
- }
-
- if (firstValue != null && secondValue != null)
- {
- boolean newValue = doRealOperation(firstValue, secondValue);
- return _diagnosticFactory.
- create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME
- (getOperationName(), Boolean.toString(newValue));
- }
-
- // if don't have all literals, just return boolean type
- return Diagnostic.OK_INSTANCE;
- }
-
-
- /**
- * @return the current JSF version string
- */
- protected final String getJsfVersion() {
- return _jsfVersion;
- }
-
- /**
- * @return true if the JSF version for this operator is JSF 1.1 or 1.0
- */
- protected final boolean isPreJSF12()
- {
- return IJSFCoreConstants.JSF_VERSION_1_1.equals(_jsfVersion)
- || IJSFCoreConstants.JSF_VERSION_1_0.equals(_jsfVersion);
- }
-
- /**
- * @return true if the JSF version for this operator is JSF 1.2 or later
- */
- protected final boolean isJSF12OrLater()
- {
- return !isPreJSF12();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/SubtractArithmeticBinaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/SubtractArithmeticBinaryOperator.java
deleted file mode 100644
index acdaeda13..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/SubtractArithmeticBinaryOperator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import java.math.BigDecimal;
-
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the EL arithmetic subtraction binary operator
- *
- * @author cbateman
- *
- */
-/*package*/ class SubtractArithmeticBinaryOperator extends
- NoDivArithmeticBinaryOperator
-{
-
- private static final String SUBTRACTION = "subtraction"; //$NON-NLS-1$
-
- SubtractArithmeticBinaryOperator(DiagnosticFactory diagnosticFactory) {
- super(diagnosticFactory);
- }
-
- protected Long doRealOperation(Long firstArg, Long secondArg)
- {
- return Long.valueOf(firstArg.longValue() - secondArg.longValue());
- }
-
- protected Double doRealOperation(Double firstArg, Double secondArg)
- {
- return new Double(firstArg.doubleValue() - secondArg.doubleValue());
- }
-
- protected BigDecimal doRealOperation(BigDecimal firstArg,
- BigDecimal secondArg)
- {
- return firstArg.subtract(secondArg);
- }
-
- protected String getOperatorName()
- {
- return SUBTRACTION;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/TernaryChoiceOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/TernaryChoiceOperator.java
deleted file mode 100644
index a6a36838a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/TernaryChoiceOperator.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.LiteralType;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercer;
-import org.eclipse.jst.jsf.common.internal.types.TypeCoercionException;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Represents the ternary choice op in EL: a ? b :c
- * Based on JSP.2.3.8
- *
- * @author cbateman
- *
- */
-public class TernaryChoiceOperator
-{
- private final DiagnosticFactory _diagnosticFactory;
-
-
- /**
- * @param diagnosticFactory
- */
- public TernaryChoiceOperator(DiagnosticFactory diagnosticFactory)
- {
- super();
- _diagnosticFactory = diagnosticFactory;
- }
-
- /**
- * @param choiceArg
- * @param whenTrueArg
- * @param whenFalseArg
- * @return the result of the choice arguments or null if indeterminant
- */
- public ValueType perform(ValueType choiceArg, ValueType whenTrueArg, ValueType whenFalseArg)
- {
- final boolean isChoiceBoolean =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(choiceArg.getSignature()));
-
- if (isChoiceBoolean)
- {
- if (choiceArg instanceof LiteralType)
- {
- try
- {
- Boolean result = ((LiteralType)choiceArg).coerceToBoolean();
-
- if (result != null)
- {
- return result.booleanValue() ? whenTrueArg : whenFalseArg;
- }
- }
- catch (TypeCoercionException tce)
- {
- return null;
- }
- }
-
- final String boxedWhenTrueArg =
- TypeTransformer.transformBoxPrimitives(whenTrueArg.getSignature());
-
- final String boxedWhenFalseArg =
- TypeTransformer.transformBoxPrimitives(whenFalseArg.getSignature());
- // check if the two results are the same type
- // TODO: could increase accuracy by appoximating type:i.e. if both
- // are numeric etc.
- if (boxedWhenTrueArg.equals(boxedWhenFalseArg))
- {
- return new ValueType(whenTrueArg, IAssignable.ASSIGNMENT_TYPE_RHS);
- }
-
- // otherwise, we have no idea what the resulting type is
- return null;
- }
-
- // if choice is not boolean, then can't resolve
- return null;
- }
-
- /**
- * @param choiceArg
- * @return a diagnostic validating the choice expr with these arguments
- */
- public Diagnostic validate(ValueType choiceArg)
- {
- if (TypeConstants.TYPE_JAVAOBJECT.equals(choiceArg.getSignature())) {
- return Diagnostic.OK_INSTANCE;
- }
-
- final boolean isChoiceBoolean =
- TypeCoercer.canCoerceToBoolean(TypeTransformer.transformBoxPrimitives(choiceArg.getSignature()));
-
- if (isChoiceBoolean)
- {
- if (choiceArg instanceof LiteralType)
- {
- try
- {
- Boolean result = ((LiteralType)choiceArg).coerceToBoolean();
-
- if (result != null)
- {
- String whichSelected = result.booleanValue() ? "first" : "second"; //$NON-NLS-1$ //$NON-NLS-2$
- return _diagnosticFactory.
- create_TERNARY_OP_CHOICE_IS_ALWAYS_SAME
- (result.booleanValue(), whichSelected);
- }
- }
- catch (TypeCoercionException tce)
- {
- return _diagnosticFactory.
- create_TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN();
- }
- }
-
- // in both the case where the two arguments are the same and when
- // they are different types, the best we can say is "OK", since
- // we really don't know
- return Diagnostic.OK_INSTANCE;
- }
-
- // if choice is not boolean, then can't resolve
- return _diagnosticFactory.
- create_TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/UnaryOperator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/UnaryOperator.java
deleted file mode 100644
index 5161e4650..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/UnaryOperator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-package org.eclipse.jst.jsf.validation.internal.el.operators;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-import org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserConstants;
-import org.eclipse.jst.jsp.core.internal.java.jspel.Token;
-
-/**
- * Encapsulates an EL unary operator
- * @author cbateman
- *
- */
-public abstract class UnaryOperator
-{
- /**
- * The common factory used to construct diagnostics
- */
- protected final DiagnosticFactory _diagnosticFactory;
-
- /**
- * @param token
- * @return true if the token is a unary operator
- */
- public static boolean isUnaryOperator(Token token)
- {
- return (token.kind == JSPELParserConstants.MINUS)
- || (token.kind == JSPELParserConstants.NOT1)
- || (token.kind == JSPELParserConstants.NOT2)
- || (token.kind == JSPELParserConstants.EMPTY);
- }
-
- /**
- * @param token
- * @param diagnosticFactory
- * @return a new UnaryOperator instance matching token
- */
- public static UnaryOperator createUnaryOperator(Token token, DiagnosticFactory diagnosticFactory)
- {
- if (!isUnaryOperator(token))
- {
- throw new IllegalArgumentException("token must be a unary operator"); //$NON-NLS-1$
- }
-
- switch(token.kind)
- {
- case JSPELParserConstants.MINUS:
- return new MinusUnaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.NOT1:
- case JSPELParserConstants.NOT2:
- return new NotUnaryOperator(diagnosticFactory);
-
- case JSPELParserConstants.EMPTY:
- return new EmptyUnaryOperator(diagnosticFactory);
- }
-
- // should never get here because all four ops are covered
- throw new AssertionError();
- }
-
- /**
- * Constructor
- */
- UnaryOperator(DiagnosticFactory diagnosticFactory)
- {
- /* no construction or sub-classing outside package*/
- _diagnosticFactory = diagnosticFactory;
- }
-
- /**
- * If ValueType is a literal and the operation can be performed, then
- * the return must be a new LiteralType transformed using this operator.
- *
- * If ValueType is not a literal and the operaton can be performed, then
- * the return is a new ValueType transformed per the rules of the operator
- * (i.e. if it is a string type and the operator is "!", then the string
- * must be coerced to a boolean and this is what will be returned)
- *
- * If the operation cannot be performed on ValueType, return null
- *
- * @param type
- * @return a new value type after the operation is performed
- */
- public abstract ValueType performOperation(ValueType type);
-
-
- /**
- * @param type
- * @return a Diagnostic interpreting whether it is valid to perform the
- * operation on this type
- */
- public abstract Diagnostic validate(ValueType type);
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/messages.properties
deleted file mode 100644
index ae40823e8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/operators/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-EqualityRelationalBinaryOperator.FirstArgument=first
-EqualsBinaryRelationalOperator.OperationName=equals
-EqualityRelationalBinaryOperator.SecondArgument=second
-GreaterThanEqRelationalBinaryOperator.OperationName=greater than or equal to
-GreaterThanRelationalBinaryOperator.OperationName=greater than
-LessThanEqRelationalBinaryOperator.OperationName=less than or equal to
-LessThanRelationalBinaryOperator.OperationName=less than
-LtGtRelationalBinaryOperator.ConstantName.False=false
-NotEqualsBinaryRelationalOperator.OperationName=not equals
-BracketOperator.Name=bracket
-DotOperator.Name=dot
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletDiagnosticFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletDiagnosticFactory.java
deleted file mode 100644
index 4f31523e0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletDiagnosticFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- * Xianan Jiang/IBM - repurposed for Facelets.
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.facelet;
-
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Factory for all operator diagnostics. Class should not be implemented,
- * instantiated or sub-classed.
- *
- * @author cbateman, xjiang
- *
- */
-public final class FaceletDiagnosticFactory
-{
- /**
- * The id used in the source field of all Diagnostic's created by this
- * factory to uniquely identify EL validation as their source type.
- */
- public final static String SOURCE_ID = "org.eclipse.jst.jsf.facelet.core.internal.validation.diagnostics.Diagnostics";//$NON-NLS-1$
- /**
- * Problem id
- */
- public final static int CANNOT_FIND_FACELET_TAGLIB_ID = 0;
- /**
- * Count of ids
- */
- public final static int NUM_IDS = 1;
-
- /**
- * @param uri
- * @return a configured diagnostic
- */
- public Diagnostic create_CANNOT_FIND_FACELET_TAGLIB(final String uri)
- {
- final String message = NLS.bind(Messages.CANNOT_FIND_FACELET_TAGLIB,
- uri);
- return create(CANNOT_FIND_FACELET_TAGLIB_ID, message);
- }
-
- private BasicDiagnostic create(final int diagnosticId, final String message)
- {
- final int severity = FaceletValidationPreferences
- .getDefaultSeverity(diagnosticId);
- return new BasicDiagnostic(severity, SOURCE_ID, diagnosticId, message,
- null);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletValidationPreferences.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletValidationPreferences.java
deleted file mode 100644
index 42b5667d6..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/FaceletValidationPreferences.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.facelet;
-
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.validation.internal.Severity;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-/**
- * Model object for EL validation preferences
- *
- * @author cbateman
- */
-public class FaceletValidationPreferences implements IJSFPreferenceModel
-{
- private int[] _severities;
-
- /**
- * Loads the object from the preference store provided
- *
- * @param prefStore
- */
- public void load(final IPreferenceStore prefStore)
- {
- loadSeverities(prefStore);
- }
-
- private void loadSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
- for (int i = 0; i < FaceletDiagnosticFactory.NUM_IDS; i++)
- {
- final String key = getKeyById(i);
- if (!prefStore.contains(key))
- {
- final int diagSeverity = getDefaultSeverity(i);
- final Severity severity = mapDiagToSeverity(diagSeverity);
- prefStore.setDefault(key, severity.toString());
- }
- final String storedSeverity = prefStore.getString(key);
- severities[i] = mapSeverityToDiag(storedSeverity);
- }
- }
-
- /**
- * Copies the object into the preference store but DOES NOT SAVE IT
- *
- * @param prefStore
- */
- public void commit(final IPreferenceStore prefStore)
- {
- commitSeverities(prefStore);
- }
-
- private void commitSeverities(final IPreferenceStore prefStore)
- {
- final int severities[] = getSeverities();
- for (int i = 0; i < severities.length; i++)
- {
- final String key = getKeyById(i);
- prefStore
- .setValue(key, mapDiagToSeverity(severities[i]).toString());
- }
- }
-
- /**
- * Reverts the model to it's defaults. Does not commit to pref store.
- */
- public void setDefaults()
- {
- setProblemSeverityDefaults();
- }
-
- private void setProblemSeverityDefaults()
- {
- final int[] severities = getSeverities();
- for (int i = 0; i < DiagnosticFactory.NUM_IDS; i++)
- {
- severities[i] = getDefaultSeverity(i);
- }
- }
-
- public Object getValueByKey(final IScopeContext context, final String key)
- {
- // ignore context for now; will be used when we have project overrides
- try
- {
- final Severity severity = getSeverity(key);
- return severity.toString();
- } catch (final IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
- return null; // not found
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#getStoredValueByKey
- * (org.eclipse.core.runtime.preferences.IScopeContext, java.lang.String)
- */
- public Object getStoredValueByKey(final IScopeContext context, final String key)
- {
- // ignore context for now; will be used when we have project overrides
- try
- {
- return context
- .getNode("org.eclipse.jst.jsf.core").get(key, mapDiagToSeverity(getDefaultSeverity(getIdByKey(key))).toString()); //$NON-NLS-1$
- } catch (final IllegalArgumentException e)
- {
- // getIdByKey will throw this exception if key is not a valid
- // severity key. Ignore the exception here and fall-through
- }
- return null; // not found
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jst.jsf.core.internal.IJSFPreferenceModel#setValueByKey(org
- * .eclipse.core.runtime.preferences.IScopeContext, java.lang.String,
- * java.lang.Object)
- */
- public Object setValueByKey(final IScopeContext context, final String key, final Object value)
- {
- // ignore context for now; will be used when we have project overrides
- final Severity oldValue = getSeverity(key);
- setSeverity(key, (Severity) value);
- return oldValue;
- }
-
- /**
- * @param key
- * @return the severity
- */
- public Severity getSeverity(final String key)
- {
- final int severityDiag = _severities[getIdByKey(key)];
- final Severity severity = mapDiagToSeverity(severityDiag);
- return severity;
- }
-
- /**
- * @param key
- * @param severity
- */
- public void setSeverity(final String key, final Severity severity)
- {
- final int newSeverityDiag = mapSeverityToDiag(severity.toString());
- final int diagId = getIdByKey(key);
- _severities[diagId] = newSeverityDiag;
- }
-
- /**
- * @param diagnosticId
- * @return the severity as configured for diagnosticId. The value is
- * relative to the Diagnostic class severity scheme
- */
- public final int getDiagnosticSeverity(final int diagnosticId)
- {
- return getSeverities()[diagnosticId];
- }
-
- private int[] getSeverities()
- {
- if (_severities == null)
- {
- _severities = new int[FaceletDiagnosticFactory.NUM_IDS];
- }
- return _severities;
- }
-
- /**
- * @param diagSeverity
- * @return a Severity preference value for a diagnostic severity
- */
- public static Severity mapDiagToSeverity(final int diagSeverity)
- {
- switch (diagSeverity)
- {
- case Diagnostic.ERROR:
- return Severity.ERROR;
- case Diagnostic.WARNING:
- return Severity.WARNING;
- default:
- return Severity.IGNORE;
- }
- }
-
- /**
- * @param severity
- * @return a Diagnostic severity level for a severity pref string
- */
- public static int mapSeverityToDiag(final String severity)
- {
- if ("error".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.ERROR;
- } else if ("warning".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.WARNING;
- } else if ("ignore".equals(severity)) //$NON-NLS-1$
- {
- return Diagnostic.OK;
- } else
- {
- throw new IllegalArgumentException("Invalid enum name: " + severity); //$NON-NLS-1$
- }
- }
-
- /**
- * @param diagnosticId
- * @return the default severity of a diagnostic
- */
- public static int getDefaultSeverity(final int diagnosticId)
- {
- switch (diagnosticId)
- {
- case FaceletDiagnosticFactory.CANNOT_FIND_FACELET_TAGLIB_ID:
- return Diagnostic.WARNING;
- default:
- throw new IllegalArgumentException(
- "Diagnostic Id: " + diagnosticId + " is out of range"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @param diagnosticId
- * @return the preference key for the corresponding diagnosticId in the el
- * DiagnosticFactory
- */
- public static String getKeyById(final int diagnosticId)
- {
- switch (diagnosticId)
- {
- case FaceletDiagnosticFactory.CANNOT_FIND_FACELET_TAGLIB_ID:
- return CANNOT_FIND_FACELET_TAGLIB;
- default:
- throw new IllegalArgumentException(
- "Diagnostic Id: " + diagnosticId + " is out of range"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * @param key
- * @return the preference key for the corresponding diagnosticId in the el
- * DiagnosticFactory
- */
- public static int getIdByKey(final String key)
- {
- if (CANNOT_FIND_FACELET_TAGLIB.equals(key))
- {
- return FaceletDiagnosticFactory.CANNOT_FIND_FACELET_TAGLIB_ID;
- }
- throw new IllegalArgumentException("Severity Key: " + key); //$NON-NLS-1$
- }
-
- /**
- * e.g. createQualifiedKeyName("foo") -> org.eclipse.jst.jsf.core.foo
- *
- * @param baseName
- * @return a plugin qualified key given the baseName
- *
- */
- private static String createQualifiedKeyName(final String baseName)
- {
- return JSFCorePlugin.PLUGIN_ID + "." + baseName; //$NON-NLS-1$
- }
-
- /**
- * preference key. Match to DiagnosticFactory constants
- */
- public final static String CANNOT_FIND_FACELET_TAGLIB = createQualifiedKeyName("CANNOT_FIND_FACELET_TAGLIB"); //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/Messages.java
deleted file mode 100644
index 4cdfcadf0..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.facelet;
-
-import org.eclipse.osgi.util.NLS;
-
-class Messages extends NLS
-{
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.core.validation.internal.facelet.messages"; //$NON-NLS-1$
- static
- {
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
- /**
- * see messages.properties
- */
- public static String CANNOT_FIND_FACELET_TAGLIB;
-
- private Messages()
- {
- // do nothing; no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/messages.properties
deleted file mode 100644
index e72d5177b..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/facelet/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2008 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-CANNOT_FIND_FACELET_TAGLIB=Can't find facelet tag library for uri {0} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/AttributeValidatingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/AttributeValidatingStrategy.java
deleted file mode 100644
index a316ace4c..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/AttributeValidatingStrategy.java
+++ /dev/null
@@ -1,763 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.strategy;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.dom.AttrDOMAdapter;
-import org.eclipse.jst.jsf.common.dom.AttributeIdentifier;
-import org.eclipse.jst.jsf.common.dom.DOMAdapter;
-import org.eclipse.jst.jsf.common.internal.types.CompositeType;
-import org.eclipse.jst.jsf.common.internal.types.IAssignable;
-import org.eclipse.jst.jsf.common.internal.types.TypeComparator;
-import org.eclipse.jst.jsf.common.internal.types.TypeComparatorDiagnosticFactory;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.TypeTransformer;
-import org.eclipse.jst.jsf.common.runtime.internal.model.ViewObject;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterDecorator;
-import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ConverterTypeInfo;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.region.Region2AttrAdapter;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.IJSFAppConfigManager;
-import org.eclipse.jst.jsf.core.jsfappconfig.internal.JSFAppConfigManagerFactory;
-import org.eclipse.jst.jsf.designtime.DTAppManagerUtil;
-import org.eclipse.jst.jsf.designtime.internal.view.DTUIViewRoot;
-import org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler.ViewHandlerException;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewDefnAdapter;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewDefnAdapter.DTELExpression;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewObjectMappingService;
-import org.eclipse.jst.jsf.designtime.internal.view.XMLViewObjectMappingService.ElementData;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterForClassType;
-import org.eclipse.jst.jsf.facesconfig.emf.ConverterType;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.jsf.metadataprocessors.features.ELIsNotValidException;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidELValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-import org.eclipse.jst.jsf.validation.internal.AbstractXMLViewValidationStrategy;
-import org.eclipse.jst.jsf.validation.internal.JSFValidationContext;
-import org.eclipse.jst.jsf.validation.internal.el.ELExpressionValidator;
-import org.eclipse.jst.jsf.validation.internal.el.ELValidationUtil;
-import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionCollection;
-import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-
-/**
- * An XML view validation strategy that validates
- *
- * @author cbateman
- *
- */
-public class AttributeValidatingStrategy extends
-AbstractXMLViewValidationStrategy
-{
- private static final String DISABLE_ALTERATIVE_TYPES_KEY = "jsfCoreDisableConverterValidation"; //$NON-NLS-1$
- private static final String ENABLE_ALTERATIVE_TYPES_KEY = "jsfCoreEnableConverterValidation"; //$NON-NLS-1$
- static final boolean DEBUG;
- static
- {
- final String value = Platform
- .getDebugOption("org.eclipse.jst.jsf.validation.internal.el/debug/jspsemanticsvalidator"); //$NON-NLS-1$
- DEBUG = value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
- }
-
- /**
- * identifier
- */
- public final static String ID = "org.eclipse.jst.jsf.validation.strategy.AttributeValidatingStrategy"; //$NON-NLS-1$
- private final static String DISPLAY_NAME = "Attribute Validator"; //$NON-NLS-1$
-
- private final JSFValidationContext _validationContext;
- private final TypeComparator _typeComparator;
- private Set<String> _conversionTypes;
-
- /**
- * Default constructor
- *
- * @param validationContext
- */
- public AttributeValidatingStrategy(final JSFValidationContext validationContext)
- {
- super(ID, DISPLAY_NAME);
-
- _validationContext = validationContext;
- _typeComparator = new TypeComparator(
- new TypeComparatorDiagnosticFactory(validationContext
- .getPrefs().getTypeComparatorPrefs()));
- }
-
- @Override
- public boolean isInteresting(final DOMAdapter domAdapter)
- {
- return (domAdapter instanceof AttrDOMAdapter);
- }
-
- @Override
- public void validate(final DOMAdapter domAdapter)
- {
- if (domAdapter instanceof AttrDOMAdapter)
- {
- final long curTime = System.nanoTime();
- final Region2AttrAdapter attrAdapter = (Region2AttrAdapter) domAdapter;
- // check that this is attribute value region - 221722
- if (attrAdapter.getAttributeValueRegion() != null)
- {
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE
- .getContext(attrAdapter.getDocumentContext()
- .getStructuredDocument(), attrAdapter
- .getOwningElement().getDocumentContext()
- .getDocumentPosition()
- + attrAdapter.getAttributeValueRegion()
- .getStart());
-
- validateAttributeValue(context, attrAdapter);
- }
- if (DEBUG)
- {
- System.out.println(String.format("Validation for attribute: %s took %d" //$NON-NLS-1$
- , domAdapter.toString()
- , Long.valueOf(System.nanoTime()-curTime)));
- }
- }
- }
-
- /**
- * Validates the attribute value. Reports any problems to the reporter in
- * the JSFValidationContext.
- *
- * @param context
- * @param attrAdapter
- */
- private void validateAttributeValue(
- final IStructuredDocumentContext context,
- final Region2AttrAdapter attrAdapter)
- {
- // so of the code in run calls out into extension code or code
- // dependent on external data (meta-data)
- SafeRunner.run(new ISafeRunnable()
- {
- public void handleException(final Throwable exception)
- {
- JSFCorePlugin.log(String.format(
- "Error validating attribute: %s on element %s", //$NON-NLS-1$
- attrAdapter.getNodeName(), attrAdapter
- .getOwningElement().getNodeName()), exception);
- }
-
- public void run() throws Exception
- {
- final Region2ElementAdapter elementAdapter =
- attrAdapter.getOwningElement();
- // if there's elText then validate it
- // TODO: this approach will fail with mixed expressions
- if (!checkIfELAndValidate(elementAdapter, attrAdapter, context))
- {
- validateNonELAttributeValue(context, attrAdapter);
- }
- }
- });
- }
-
- private boolean checkIfELAndValidate(final Region2ElementAdapter elementAdapter,
- final Region2AttrAdapter attrAdapter,
- final IStructuredDocumentContext context)
- {
- int offsetOfFirstEL = -1;
- final String attrValue = attrAdapter.getValue();
-
- // TODO: should find and validate all
- offsetOfFirstEL = attrValue.indexOf('#');
-
- if (offsetOfFirstEL != -1 && offsetOfFirstEL < attrValue.length() - 1
- && attrValue.charAt(offsetOfFirstEL + 1) == '{')
- {
- offsetOfFirstEL += 2;
- }
- else
- {
- offsetOfFirstEL = -1;
- }
-
- final XMLViewDefnAdapter adapter = DTAppManagerUtil
- .getXMLViewDefnAdapter(context);
-
- boolean isEL = false;
- if (adapter != null && offsetOfFirstEL != -1)
- {
- try
- {
- // use the attribute's context plus the offset into the
- // whole attribute value to find where we think the el
- // expression starts. Add one since the attribute value
- // string returned by attrAdapter will have the value quotes
- // removed, but the region offsets include the quotes.
- IStructuredDocumentContext elContext = IStructuredDocumentContextFactory.INSTANCE
- .getContext(context.getStructuredDocument(), context
- .getDocumentPosition()
- + offsetOfFirstEL + 1);
- final DTELExpression elExpression = adapter
- .getELExpression(elContext);
- if (elExpression != null)
- {
- final String elText = elExpression.getText();
-
- if (DEBUG)
- {
- System.out.println(addDebugSpacer(3) + "EL attrVal= " //$NON-NLS-1$
- + elText);
- }
-
- elContext = elExpression.getDocumentContext();
- // EL validation is user configurable because
- // it can be computationally costly.
- if (_validationContext.shouldValidateEL())
- {
- // also, skip the validation if the expression is empty
- // or only whitespace, since the parser doesn't handle
- // it
- // anyway.
- if ("".equals(elText.trim())) //$NON-NLS-1$
- {
- final int offset = elContext.getDocumentPosition() - 1;
- final int length = elText.length() + 2;
- final Diagnostic diagnostic = _validationContext
- .getDiagnosticFactory()
- .create_EMPTY_EL_EXPRESSION();
- // detected empty EL expression
- if (_validationContext.shouldValidateEL())
- {
- _validationContext.getReporter().report(
- diagnostic, offset, length);
- }
- }
- else
- {
- final List elVals = MetaDataEnabledProcessingFactory
- .getInstance()
- .getAttributeValueRuntimeTypeFeatureProcessors(
- IValidELValues.class,
- elContext,
- attrAdapter
- .getAttributeIdentifier());
- final String safeELText = elText.replaceAll(
- "[\n\r\t]", " "); //$NON-NLS-1$ //$NON-NLS-2$
- validateELExpression(context, elContext, elVals,
- elementAdapter, attrAdapter, safeELText);
- isEL = true;
- }
- } else {
- isEL = true;
- }
- }
- }
- catch (final ViewHandlerException e)
- {
- // fall through to return false
- }
- }
-
- // is el if we've already detected it or if the step 2 method
- // finds it. Run the method first to avoid short-circuiting
- final boolean isEL2 = checkIfELAndValidate2(attrAdapter, context);
-
- return isEL || isEL2;
- }
-
- /**
- * Checks the region to see if it contains an EL attribute value. If it
- * does, validates it
- *
- * @return true if validated EL, false otherwise
- */
- private boolean checkIfELAndValidate2(final Region2AttrAdapter attrAdapter,
- final IStructuredDocumentContext sDocContext)
- {
- final ITextRegion attrValueRegion = attrAdapter
- .getAttributeValueRegion();
- if (attrValueRegion instanceof ITextRegionCollection)
- {
- final ITextRegionCollection parentRegion = ((ITextRegionCollection) attrValueRegion);
- if (parentRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE)
- {
- final ITextRegionList regionList = parentRegion.getRegions();
-
- if (regionList.size() >= 3)
- {
- final ITextRegion openQuote = regionList.get(0);
- final ITextRegion vblOpen = regionList.get(1);
-
- if ((openQuote.getType() == DOMJSPRegionContexts.XML_TAG_ATTRIBUTE_VALUE_DQUOTE || openQuote
- .getType() == DOMJSPRegionContexts.JSP_VBL_DQUOTE ||
- openQuote.getType() == DOMJSPRegionContexts.JSP_TAG_ATTRIBUTE_VALUE_DQUOTE)
- && vblOpen.getType() == DOMJSPRegionContexts.JSP_VBL_OPEN)
- {
- boolean foundClosingQuote = false;
- for (int i = 2; !foundClosingQuote
- && i < regionList.size(); i++)
- {
- final ITextRegion searchRegion = regionList.get(i);
- if (searchRegion.getType() == DOMJSPRegionContexts.JSP_VBL_CLOSE)
- {
- foundClosingQuote = true;
- }
- }
-
- if (!foundClosingQuote
- && _validationContext.shouldValidateEL())
- {
- final int offset = sDocContext
- .getDocumentPosition() + 1;
- final int length = parentRegion.getText().length();
- final Diagnostic diagnostic = _validationContext
- .getDiagnosticFactory()
- .create_MISSING_CLOSING_EXPR_BRACKET();
- _validationContext.getReporter().report(diagnostic,
- offset, length);
- }
- return true;
- }
- }
- }
- }
- return false;
- }
-
- private void validateELExpression(final IStructuredDocumentContext context,
- final IStructuredDocumentContext elContext, final List elVals,
- final Region2ElementAdapter elementAdapter,
- final Region2AttrAdapter attrAdapter, final String elText)
- {
- // Call EL validator which will perform at least the syntactical
- // validation
- final ELExpressionValidator elValidator = new ELExpressionValidator(
- elContext, elText, _validationContext
- .getSymbolResolverFactory(), _validationContext
- .getReporter());
- elValidator.validateXMLNode();
-
- final CompositeType exprType = elValidator.getExpressionType();
- if (exprType != null)
- {
- // Ignore the expression whose last two segments are of types Object.
- final CompositeType boxedType = TypeTransformer
- .transformBoxPrimitives(exprType);
- final String[] testSignatures = boxedType.getSignatures();
- if (testSignatures.length > 0 && TypeConstants.TYPE_JAVAOBJECT.equals(testSignatures[0]))
- {
- if (elText.indexOf('.') != -1)
- {
- String elText2 = elText.substring(0, elText.lastIndexOf('.'));
- final ELExpressionValidator elValidator2 = new ELExpressionValidator(
- elContext, elText2, _validationContext
- .getSymbolResolverFactory(), _validationContext
- .getReporter());
- elValidator2.validateXMLNode();
-
- final CompositeType exprType2 = elValidator.getExpressionType();
- final CompositeType boxedType2 = TypeTransformer.transformBoxPrimitives(exprType2);
- final String[] testSignatures2 = boxedType2.getSignatures();
- if (testSignatures2.length > 0 && TypeConstants.TYPE_JAVAOBJECT.equals(testSignatures2[0]))
- {
- return;
- }
- }
- }
-
- for (final Iterator it = elVals.iterator(); it.hasNext();)
- {
- final IValidELValues elval = (IValidELValues) it.next();
- final String attributeVal = attrAdapter.getValue();
- CompositeType expectedType;
- Diagnostic status = null;
- try
- {
- expectedType = elval.getExpectedRuntimeType();
-
- if (expectedType != null)
- {
- expectedType = maybeAddAlternativeTypes(
- expectedType, exprType, elementAdapter,
- attrAdapter);
- if (ELValidationUtil.isProjectEL22(_validationContext.getFile())) {
- expectedType = addEL22Alternatives(expectedType);
- }
- status = _typeComparator.calculateTypeCompatibility(
- expectedType, exprType);
- if (status.getSeverity() != Diagnostic.OK)
- {
- reportValidationMessage(status, context,
- attributeVal);
- }
- }
- }
- catch (final ELIsNotValidException e)
- {
- reportValidationMessage(createValidationMessage(context,
- attributeVal, IStatus.WARNING, e.getMessage(),
- _validationContext.getFile()), context,
- attributeVal);
- }
- }
- }
- }
-
- private CompositeType addEL22Alternatives(final CompositeType expectedType) {
- CompositeType type = expectedType;
- if (expectedType != null) {
- final int assignmentTypeMask = expectedType.getAssignmentTypeMask();
- if ((assignmentTypeMask & IAssignable.ASSIGNMENT_TYPE_RHS) != 0 ||
- assignmentTypeMask == IAssignable.ASSIGNMENT_TYPE_NONE) {
- int assignmentType = IAssignable.ASSIGNMENT_TYPE_NONE;
- if ((assignmentTypeMask & IAssignable.ASSIGNMENT_TYPE_RHS) != 0) {
- assignmentType = IAssignable.ASSIGNMENT_TYPE_RHS;
- }
- final List<String> signatures = new ArrayList<String>();
- for (final String signature: expectedType.getSignatures()) {
- signatures.add(signature);
- final List<String> methodSignatures = new ArrayList<String>();
- for (int i = 0; i < 20; i++) {
- final String methodSignature = Signature.createMethodSignature(
- methodSignatures.toArray(new String[i]),
- Signature.getElementType(signature));
- signatures.add(methodSignature);
- methodSignatures.add("Ljava.lang.String;"); //$NON-NLS-1$
- }
- }
- type = new CompositeType(
- signatures.toArray(new String[signatures.size()]),
- assignmentType);
- }
- }
- return type;
- }
-
- private boolean disableAlternativeTypes()
- {
- if (hasProperty(DISABLE_ALTERATIVE_TYPES_KEY))
- {
- return true;
- }
-
- if (hasProperty(ENABLE_ALTERATIVE_TYPES_KEY))
- {
- return false;
- }
-
-// As of Helios, alternative type is disabled by default
- return true;
-
-// final IPreferenceStore prefStore = JSFCorePlugin.getDefault().getPreferenceStore();
-// return prefStore.getBoolean("org.eclipse.jst.jsf.core."+DISABLE_ALTERATIVE_TYPES_KEY); //$NON-NLS-1$
- }
-
- private boolean hasProperty(final String key) {
- String res = System.getProperty(key);
- if (res == null) {
- //check env var also
- res = System.getenv(key);
- }
- return res != null;
- }
- /**
- * @return true if alternative type comparison (i.e. post-conversion) passes
- */
- private CompositeType maybeAddAlternativeTypes(
- final CompositeType expectedType, final CompositeType exprTypes,
- final Region2ElementAdapter elementAdapter,
- final Region2AttrAdapter attrAdapter)
- {
- final long curTime = System.nanoTime();
-
- //As of Helios, alternative type is disabled by default
- //and enabled by the ENABLE_ALTERNATIVE_TYPES_KEY system/env property
- if (disableAlternativeTypes())
- {
- return expectedType;
- }
-
- final IStructuredDocumentContext context = elementAdapter
- .getDocumentContext();
- final DTUIViewRoot viewRoot = _validationContext.getViewRootHandle().getCachedViewRoot();
- final IAdaptable serviceAdaptable = viewRoot.getServices();
- final XMLViewObjectMappingService mappingService = (XMLViewObjectMappingService) serviceAdaptable
- .getAdapter(XMLViewObjectMappingService.class);
- if (mappingService != null)
- {
- final ElementData elementData = XMLViewObjectMappingService
- .createElementData(elementAdapter.getNamespace(),
- elementAdapter.getLocalName(), context,
- Collections.EMPTY_MAP);
- final ViewObject viewObject = mappingService
- .findViewObject(elementData);
- // if the corresponding view object is a valueholder, then
- // we need to see if you think there a valid conversion
- // available
- if (viewObject instanceof ComponentInfo
- && ((ComponentInfo) viewObject).getComponentTypeInfo() != null
- && ((ComponentInfo) viewObject).getComponentTypeInfo()
- .isInstanceOf(
- ComponentFactory.INTERFACE_VALUEHOLDER))
- {
- final ComponentInfo component = (ComponentInfo) viewObject;
- // get the original elementData
- final ElementData mappedElementData = mappingService
- .findElementData(component);
- final String propName = mappedElementData
- .getPropertyName(attrAdapter.getLocalName());
- if ("value".equals(propName)) //$NON-NLS-1$
- {
- // final List converters =
- // component.getDecorators(ComponentFactory.CONVERTER);
-
- // (ConverterDecorator) it.next();
- final CompositeType alternativeTypes = createCompositeType(
- expectedType, exprTypes, component
- .getDecorators(ComponentFactory.CONVERTER));
- if (DEBUG)
- {
- System.out.println(String.format(
- "maybeAddAlternative took %d", Long.valueOf(System //$NON-NLS-1$
- .nanoTime()
- - curTime)));
- }
- return alternativeTypes;
- }
- }
- }
- if (DEBUG)
- {
- System.out.println(String.format("maybeAddAlternative took %d", Long //$NON-NLS-1$
- .valueOf(System.nanoTime() - curTime)));
- }
- // don't add anything by default
- return expectedType;
- }
-
- private CompositeType createCompositeType(final CompositeType initialTypes,
- final CompositeType testTypes, final List<ConverterDecorator> decorators)
- {
- // indicates unknown converter
- final Set<String> types = new HashSet(Arrays.asList(initialTypes
- .getSignatures()));
- // look for converters. If there's one where we don't know the type,
- // simply copy over the testTypes to force validation to ignore, since
- // we have no idea.
- for (final ConverterDecorator decorator : decorators)
- {
- if (decorator.getTypeInfo() != null)
- {
- final ConverterTypeInfo converterTypeInfo = decorator.getTypeInfo();
- if (converterTypeInfo.getForClass().length == 0)
- {
- types.addAll(Arrays.asList(testTypes.getSignatures()));
- break;
- }
- types.addAll(createSignatures(converterTypeInfo.getForClass()));
- }
- }
- types.addAll(getRegisteredConversionTypesByClass());
- return new CompositeType(types.toArray(new String[0])
- , initialTypes.getAssignmentTypeMask());
- }
-
- private Set<String> getRegisteredConversionTypesByClass()
- {
- if (_conversionTypes == null)
- {
- _conversionTypes = new HashSet<String>();
- final IProject project = _validationContext.getFile().getProject();
- final IJSFAppConfigManager appConfig = JSFAppConfigManagerFactory.getJSFAppConfigManagerInstance(project);
- final List<ConverterType> converters = appConfig.getConverters();
- for (final ConverterType converterType : converters)
- {
- final ConverterForClassType forClassType = converterType.getConverterForClass();
- if (forClassType != null)
- {
- final String forClass = forClassType.getTextContent();
- if (forClass != null)
- {
- String signature = forClass.trim();
- try
- {
- // arrays are a special case where the
- // [Ljava.lang.String; syntax is valid.
- if (Signature.getArrayCount(signature)>0)
- {
- _conversionTypes.add(signature);
- }
- }
- catch (final IllegalArgumentException e)
- {
- // ignore
- }
-
- try
- {
- signature = Signature.createTypeSignature(signature, true);
- _conversionTypes.add(signature);
- }
- catch (final Exception e)
- {
- // ignore: JSFCorePlugin.log(IStatus.INFO, "Could not use registered converter for-class: "+forClass); //$NON-NLS-1$
- }
- }
- }
- }
- }
- return _conversionTypes;
- }
-
- private List<String> createSignatures(final String[] classNames)
- {
- final List<String> signatures = new ArrayList<String>();
- for (final String className : classNames)
- {
- try
- {
- String signature = Signature.createTypeSignature(className, true);
- signatures.add(signature);
- }
- catch (final Exception e)
- {
- JSFCorePlugin.log(e, "Trying to create signature"); //$NON-NLS-1$
- }
- }
- return signatures;
- }
-
- /**
- * Validates an attribute value in context using the JSF metadata processing
- * framework
- *
- * @param context
- * @param region
- * @param uri
- * @param tagName
- * @param attrName
- * @param attributeVal
- * @param reporter
- * @param file
- */
- private void validateNonELAttributeValue(
- final IStructuredDocumentContext context,
- final Region2AttrAdapter attrAdapter)
- {
- final String attributeValue = attrAdapter.getValue();
- // else validate as static attribute value
- if (DEBUG)
- {
- System.out.println(addDebugSpacer(3) + "attrVal= " //$NON-NLS-1$
- + (attributeValue != null ? attributeValue : "null")); //$NON-NLS-1$
- }
-
- final AttributeIdentifier attributeId = attrAdapter
- .getAttributeIdentifier();
-
- if (attributeId.getTagIdentifier() == null
- || attributeId.getTagIdentifier().getTagName() == null
- || attributeId.getName() == null)
- {
- return;
- }
-
- final List vv = MetaDataEnabledProcessingFactory.getInstance()
- .getAttributeValueRuntimeTypeFeatureProcessors(
- IValidValues.class, context, attributeId);
- if (!vv.isEmpty())
- {
- for (final Iterator it = vv.iterator(); it.hasNext();)
- {
- final IValidValues v = (IValidValues) it.next();
- if (!v.isValidValue(attributeValue.trim()))
- {
- if (DEBUG)
- {
- System.out.println(addDebugSpacer(4) + "NOT VALID "); //$NON-NLS-1$
- }
-
- for (final Iterator msgs = v.getValidationMessages()
- .iterator(); msgs.hasNext();)
- {
- final IValidationMessage msg = (IValidationMessage) msgs
- .next();
- reportValidationMessage(createValidationMessage(
- context, attributeValue, msg.getSeverity(), msg
- .getMessage(), _validationContext
- .getFile()), context, attributeValue);
- }
- }
- else if (DEBUG)
- {
- System.out.println(addDebugSpacer(5) + "VALID "); //$NON-NLS-1$
- }
- }
- }
- else if (DEBUG)
- {
- System.out.println(addDebugSpacer(4) + "NO META DATA "); //$NON-NLS-1$
- }
- }
-
- private void reportValidationMessage(final Diagnostic problem,
- final IStructuredDocumentContext context,
- final String attributeValue)
- {
- final int start = context.getDocumentPosition() + 1;
- final int length = attributeValue.length();
- _validationContext.getReporter().report(problem, start, length);
- }
-
- private Diagnostic createValidationMessage(
- final IStructuredDocumentContext context,
- final String attributeValue, final int severity, final String msg,
- final IFile file)
- {
- // TODO: need factory
- final Diagnostic diagnostic = new BasicDiagnostic(severity, "", -1, //$NON-NLS-1$
- msg, null);
- return diagnostic;
- }
-
- private String addDebugSpacer(final int count)
- {
- final String TAB = "\t"; //$NON-NLS-1$
- final StringBuffer ret = new StringBuffer(""); //$NON-NLS-1$
- for (int i = 0; i <= count; i++)
- {
- ret.append(TAB);
- }
- return ret.toString();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java
deleted file mode 100644
index d303b2625..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.strategy;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.dom.DOMAdapter;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.internal.JSPUtil;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-import org.eclipse.jst.jsf.common.sets.AxiomaticSet;
-import org.eclipse.jst.jsf.common.sets.ConcreteAxiomaticSet;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IDOMContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.region.Region2ElementAdapter;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.jsf.core.set.constraint.MemberConstraint;
-import org.eclipse.jst.jsf.core.set.mapping.ElementToTagIdentifierMapping;
-import org.eclipse.jst.jsf.core.tagmatcher.EvaluationException;
-import org.eclipse.jst.jsf.core.tagmatcher.InvalidExpressionException;
-import org.eclipse.jst.jsf.core.tagmatcher.XPathMatchingAlgorithm;
-import org.eclipse.jst.jsf.validation.internal.AbstractXMLViewValidationStrategy;
-import org.eclipse.jst.jsf.validation.internal.JSFValidationContext;
-import org.eclipse.jst.jsf.validation.internal.constraints.ContainsTagConstraint;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagId;
-import org.eclipse.jst.jsf.validation.internal.constraints.TagSet;
-import org.w3c.dom.Node;
-
-/**
- * @author cbateman
- *
- */
-public class ContainmentValidatingStrategy extends
- AbstractXMLViewValidationStrategy
-{
- /**
- * identifier
- */
- public final static String ID =
- "org.eclipse.jst.jsf.validation.strategy.ElementValidatingStrategy"; //$NON-NLS-1$
- private final static String DISPLAY_NAME =
- Messages.ContainmentValidatingStrategy_DisplayName;
- private final static ElementToTagIdentifierMapping elem2TagIdMapper =
- new ElementToTagIdentifierMapping();
-
- private static final String ENABLE_CONTAINMENT_VALIDATION_KEY = "jsfCoreEnableContainmentValidation"; //$NON-NLS-1$
-
- private int _containmentValidationCount; // = 0;
- private final JSFValidationContext _jsfValidationContext;
- private boolean _enabled;
-
- /**
- * @param jsfValidationContext
- */
- public ContainmentValidatingStrategy(
- final JSFValidationContext jsfValidationContext)
- {
- super(ID, DISPLAY_NAME);
- _jsfValidationContext = jsfValidationContext;
- _enabled = isEnabled();
- }
-
- @Override
- public boolean isInteresting(DOMAdapter domAdapter)
- {
- return domAdapter instanceof Region2ElementAdapter;
- }
-
- @Override
- public void validate(DOMAdapter domAdapter)
- {
- if (_enabled
- && domAdapter instanceof Region2ElementAdapter)
- {
- final Region2ElementAdapter elementAdapter =
- (Region2ElementAdapter) domAdapter;
- validateContainment(elementAdapter, _jsfValidationContext);
- }
- }
-
- /**
- * @return true if the containment validation strategy is enabled
- */
- public static boolean isEnabled() {
- String res = System.getProperty(ENABLE_CONTAINMENT_VALIDATION_KEY);
- if (res == null) {
- //check env var also
- res = System.getenv(ENABLE_CONTAINMENT_VALIDATION_KEY);
- }
- return res != null;
- }
-
- private void validateContainment(
- final Region2ElementAdapter elementAdapter,
- final JSFValidationContext jsfValidationContext)
- {
- // don't validate JSP fragments since the necessary containment may
- // existing
- // in the JSP files that include them
- // also only validate the first instance of containment violation in a
- // file
- if (JSPUtil.isJSPFragment(jsfValidationContext.getFile())
- || _containmentValidationCount > 0)
- {
- return;
- }
-
- final IStructuredDocumentContext context = elementAdapter
- .getDocumentContext();
- final IDOMContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(context);
- final Node node = resolver.getNode();
-
- final String uri = elementAdapter.getNamespace();
- final String tagName = elementAdapter.getLocalName();
- // final Element node = elementAdapter.
-
- final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(jsfValidationContext.getFile());
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(mdcontext);
-// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
-// .createMetaDataModelContext(jsfValidationContext.getFile()
-// .getProject(), uri);
- final Entity entity = query.getQueryHelper().getEntity(
- uri, tagName);
- if (entity != null)
- {
- final Trait trait = query.findTrait(
- entity, "containment-constraint"); //$NON-NLS-1$
-
- if (trait != null)
- {
- final ContainsTagConstraint tagConstraint = (ContainsTagConstraint) trait
- .getValue();
-
- final String algorithm = tagConstraint.getSetGenerator()
- .getAlgorithm();
-
- // TODO: need generalized factory mechanism for registering and
- // constructing algorithms.
- if (!"xpath".equals(algorithm)) //$NON-NLS-1$
- {
- return;
- }
-
- final String expr = tagConstraint.getSetGenerator()
- .getExpression();
-
- // TODO: optimize on the expression and cache for reuse
- final XPathMatchingAlgorithm xpathAlg = new XPathMatchingAlgorithm(
- expr);
-
- AxiomaticSet set = null;
-
- try
- {
- set = xpathAlg.evaluate(node);
- // map dom nodes to tag identifiers
- set = elem2TagIdMapper.map(set);
- }
- catch (final InvalidExpressionException e)
- {
- JSFCorePlugin.log(e, "Problem with expression: " + expr //$NON-NLS-1$
- + " on node " + node); //$NON-NLS-1$
- return;
- }
- catch (final EvaluationException e)
- {
- JSFCorePlugin.log(e, "Problem evaluating expression: " //$NON-NLS-1$
- + expr + " on node " + node); //$NON-NLS-1$
- return;
- }
-
- final TagSet constraintData = tagConstraint.getSatisfiesSet();
- final AxiomaticSet constraintSet = new ConcreteAxiomaticSet();
- for (final Iterator it = constraintData.getTags().iterator(); it
- .hasNext();)
- {
- final TagId tagId = (TagId) it.next();
- constraintSet.add(TagIdentifierFactory.createJSPTagWrapper(
- tagId.getUri(), tagId.getName()));
- }
- final MemberConstraint memberConstraint = new MemberConstraint(
- constraintSet);
- final Diagnostic diag = memberConstraint.isSatisfied(set);
-
- if (diag.getSeverity() != Diagnostic.OK)
- {
- _containmentValidationCount++; // found a violation
-
- final List data = diag.getData();
-
- for (final Iterator it = data.iterator(); it.hasNext();)
- {
- final TagIdentifier missingParent = (TagIdentifier) it
- .next();
-
- reportContainmentProblem(context, node, missingParent);
- }
- }
- }
- }
- }
-
- private void reportContainmentProblem(
- final IStructuredDocumentContext context,
- final Node node,
- final TagIdentifier missingParent)
- {
-
- Diagnostic diagnostic = null;
- if (missingParent.equals(IJSFConstants.TAG_IDENTIFIER_VIEW)) {
- diagnostic = DiagnosticFactory.create_CONTAINMENT_ERROR_MISSING_VIEW(node.getNodeName());
- }
- else if (missingParent.equals(IJSFConstants.TAG_IDENTIFIER_FORM)) {
- diagnostic = DiagnosticFactory.create_CONTAINMENT_ERROR_MISSING_FORM(node.getNodeName());
- }
- else {
- diagnostic = DiagnosticFactory.create_CONTAINMENT_ERROR_MISSING_ANCESTOR(node.getNodeName(), missingParent);
- }
-
- // add one so that the start offset is at the node name, rather
- // than the opening brace.
- final int start = context.getDocumentPosition()+1;
- final int length = node.getNodeName().length();
-
- _jsfValidationContext.getReporter().report(diagnostic, start, length);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/DiagnosticFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/DiagnosticFactory.java
deleted file mode 100644
index 809bff237..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/DiagnosticFactory.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.jst.jsf.validation.internal.strategy;
-
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.validation.internal.appconfig.ILocalizedMessage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Diagnostic factory for JSF views
- *
- */
-public final class DiagnosticFactory {
-
- /**
- * The id used in the source field of all Diagnostic's created by this factory
- * to uniquely identify tag validation as their source type.
- */
- public final static String SOURCE_ID = "org.eclipse.jst.jsf.validation.tag.Diagnostics";//$NON-NLS-1$
-
- /**
- * Problem id
- */
- public final static int CONTAINMENT_ERROR_MISSING_VIEW = 1;
-
- /**
- * Problem id
- */
- public final static int CONTAINMENT_ERROR_MISSING_FORM = 2;
-
- /**
- * Problem id
- */
- public static final int CONTAINMENT_ERROR_MISSING_ANCESTOR = 3;
-
-
- /**
- * @param tagName
- * @return message indicating a JSF view tag is missing as an ancestor
- */
- public static Diagnostic create_CONTAINMENT_ERROR_MISSING_VIEW(final String tagName)
- {
- return create(CONTAINMENT_ERROR_MISSING_VIEW,
- NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_VIEW, tagName));
- }
-
- /**
- * @param tagName
- * @return message indicating a JSF form tag is missing as an ancestor
- */
- public static Diagnostic create_CONTAINMENT_ERROR_MISSING_FORM(final String tagName)
- {
- return create(CONTAINMENT_ERROR_MISSING_FORM,
- NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_FORM, tagName));
- }
-
- /**
- * @param tagName
- * @param missingTag
- * @return message indicating some tag is missing as an ancestor
- */
- public static Diagnostic create_CONTAINMENT_ERROR_MISSING_ANCESTOR(final String tagName, final TagIdentifier missingTag)
- {
-
- return create(CONTAINMENT_ERROR_MISSING_ANCESTOR,
- NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_ANCESTOR,
- new Object[]{ tagName, missingTag.getUri(), missingTag.getTagName()}));
- }
-
- private static BasicDiagnostic create(final int diagnosticId, final String message)
- {
- final int severity = IMessage.NORMAL_SEVERITY;//ELValidationPreferences.getDefaultSeverity(diagnosticId);
- return new BasicDiagnostic(severity, SOURCE_ID
- , diagnosticId
- , message
- , null);
- }
- /**
- * Customized localizable message for view validation
- * @author cbateman
- *
- */
- static class MyLocalizedMessage extends Message implements ILocalizedMessage
- {
- private final String _message;
- private final int _errorCode;
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- * @param errorCode
- */
- public MyLocalizedMessage(int severity, String messageText, IResource targetObject, int errorCode) {
- this(severity, messageText, (Object) targetObject, errorCode);
- }
-
- /**
- * @param severity
- * @param messageText
- * @param targetObject
- * @param errorCode
- */
- private MyLocalizedMessage(int severity, String messageText, Object targetObject, int errorCode) {
- super(JSFCorePlugin.getDefault().getBundle().getSymbolicName(), severity,
- messageText);
- _message = messageText;
- setTargetObject(targetObject);
- _errorCode = errorCode;
- }
-
- /**
- * @return the localized message
- */
- public String getLocalizedMessage() {
- return _message;
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText()
- */
- public String getText() {
- return getLocalizedMessage();
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText(java.lang.ClassLoader)
- */
- public String getText(ClassLoader cl) {
- return getLocalizedMessage();
- }
-
- /**
- * @see org.eclipse.wst.validation.internal.core.Message#getText(java.util.Locale)
- */
- public String getText(Locale l) {
- return getLocalizedMessage();
- }
-
- public String getText(Locale l, ClassLoader cl) {
- return getLocalizedMessage();
- }
-
- /**
- * @return the error code related to this message
- */
- public int getErrorCode() {
- return _errorCode;
- }
-
-
- /**
- * @param offset
- * @return true if this message applies to document offset
- */
- public boolean appliesTo(int offset)
- {
- return (offset >= getOffset() && offset < getOffset()+getLength());
- }
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/Messages.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/Messages.java
deleted file mode 100644
index 6d8801714..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/Messages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.internal.strategy;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.jsf.validation.internal.strategy.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String AttributeValidatingStrategy_DisplayName;
-
- /**
- * see messages.properties
- */
- public static String ContainmentValidatingStrategy_DisplayName;
-
- /**
- * see messages.properties
- */
- public static String CONTAINMENT_ERROR_MISSING_VIEW;
-
- /**
- * see messages.properties
- */
- public static String CONTAINMENT_ERROR_MISSING_FORM;
-
- /**
- * see messages.properties
- */
- public static String CONTAINMENT_ERROR_MISSING_ANCESTOR;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/messages.properties b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/messages.properties
deleted file mode 100644
index 71e68e3b8..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-AttributeValidatingStrategy_DisplayName=Attribute Validator
-ContainmentValidatingStrategy_DisplayName=Tag Containment Validator
-
-CONTAINMENT_ERROR_MISSING_VIEW={0} requires f:view ancestor
-CONTAINMENT_ERROR_MISSING_FORM={0} requires h:form ancestor
-CONTAINMENT_ERROR_MISSING_ANCESTOR={0} requires {1} ancestor

Back to the top