diff options
author | gkessler | 2011-03-16 21:14:56 +0000 |
---|---|---|
committer | gkessler | 2011-03-16 21:14:56 +0000 |
commit | bdf53ad1099c470a78a8ce9aeef1a4be1a655a34 (patch) | |
tree | 843dfe63faf01367e8131577006234ddb9c3d878 | |
parent | ed4a30204594ef41b2d03c12bf4caa411ff27921 (diff) | |
download | webtools.jsf-bdf53ad1099c470a78a8ce9aeef1a4be1a655a34.tar.gz webtools.jsf-bdf53ad1099c470a78a8ce9aeef1a4be1a655a34.tar.xz webtools.jsf-bdf53ad1099c470a78a8ce9aeef1a4be1a655a34.zip |
[326016] Eliminate usage of deprecated metadata framework code
23 files changed, 511 insertions, 293 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/context/resolver/structureddocument/internal/impl/MetadataContextResolver.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/context/resolver/structureddocument/internal/impl/MetadataContextResolver.java index a1022e8fb..6f94328bc 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/context/resolver/structureddocument/internal/impl/MetadataContextResolver.java +++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/context/resolver/structureddocument/internal/impl/MetadataContextResolver.java @@ -17,9 +17,11 @@ import java.util.List; import org.eclipse.core.resources.IProject; 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.IModelContext; import org.eclipse.jst.jsf.context.resolver.structureddocument.IMetadataContextResolver; import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver; @@ -66,8 +68,11 @@ class MetadataContextResolver implements IMetadataContextResolver final String uri = tagResolver.getTagURIForNodeName(element); final IProject project = wsResolver.getProject(); - final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, element.getLocalName()+"/"+attribute.getLocalName(), key); //$NON-NLS-1$ + final IMetaDataDomainContext mdContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = (ITaglibDomainMetaDataQuery)MetaDataQueryFactory.getInstance().createQuery(mdContext); + final Trait trait = query.getQueryHelper().getTrait(uri, element.getLocalName()+"/"+attribute.getLocalName(), key); //$NON-NLS-1$ +// final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); +// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, element.getLocalName()+"/"+attribute.getLocalName(), key); //$NON-NLS-1$ if( trait != null ) { return TraitValueHelper.getValueAsListOfStrings(trait); @@ -80,8 +85,11 @@ class MetadataContextResolver implements IMetadataContextResolver final String uri = tagResolver.getTagURIForNodeName(element); final IProject project = wsResolver.getProject(); - final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, element.getLocalName(), key); + final IMetaDataDomainContext mdContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = (ITaglibDomainMetaDataQuery)MetaDataQueryFactory.getInstance().createQuery(mdContext); + final Trait trait = query.getQueryHelper().getTrait(uri, element.getLocalName(), key); +// final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); +// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, element.getLocalName(), key); if( trait != null ) { return TraitValueHelper.getValueAsListOfStrings(trait); 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 index 0b6015ced..17a792f0d 100644 --- 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 @@ -42,10 +42,13 @@ 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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; @@ -733,8 +736,11 @@ public class JSPModelProcessor final String uri, final String elementName, final String attributeName) { - final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, elementName+"/"+attributeName, SETS_LOCALE); //$NON-NLS-1$ + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + 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)) { @@ -771,8 +777,12 @@ public class JSPModelProcessor final String attributeName) { final String entityKey = elementName+"/"+attributeName; //$NON-NLS-1$ - final ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, CONTRIBUTES_VALUE_BINDING); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + 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); @@ -781,16 +791,16 @@ public class JSPModelProcessor String scope = null; String symbolFactory = null; - trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, VALUE_BINDING_SCOPE); + trait = query.getQueryHelper().getTrait(entity, VALUE_BINDING_SCOPE); scope = TraitValueHelper.getValueAsString(trait); if (scope != null && !scope.equals("")) //$NON-NLS-1$ { - trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, VALUE_BINDING_SYMBOL_FACTORY); + trait = query.getQueryHelper().getTrait(entity, VALUE_BINDING_SYMBOL_FACTORY); symbolFactory = TraitValueHelper.getValueAsString(trait); } - trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, STATIC_TYPE_KEY); + trait = query.getQueryHelper().getTrait(entity, STATIC_TYPE_KEY); String staticType = null; @@ -799,7 +809,7 @@ public class JSPModelProcessor staticType = TraitValueHelper.getValueAsString(trait); } - trait = TaglibDomainMetaDataQueryHelper.getTrait(mdContext, entityKey, VALUEEXPRESSION_ATTR_NAME_KEY); + trait = query.getQueryHelper().getTrait(entity, VALUEEXPRESSION_ATTR_NAME_KEY); String valueExprAttr = null; if (trait != null) 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 index d892bddc6..740968842 100644 --- 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 @@ -1,14 +1,13 @@ package org.eclipse.jst.jsf.designtime.internal.view.mapping; -import java.util.HashMap; -import java.util.Map; - 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.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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; @@ -20,8 +19,8 @@ import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMappi */ public class ViewMetadataLoader { - private final IProject _project; - private final Map<String, ITaglibDomainMetaDataModelContext> _metadataContexts; + private final IProject _project; + private final IMetaDataQuery _query; /** * @param project @@ -29,7 +28,9 @@ public class ViewMetadataLoader public ViewMetadataLoader(final IProject project) { _project = project; - _metadataContexts = new HashMap<String, ITaglibDomainMetaDataModelContext>(); + final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(_project); + _query = MetaDataQueryFactory.getInstance().createQuery(modelContext); + } /** @@ -39,13 +40,15 @@ public class ViewMetadataLoader */ public TagMapping getTagToViewMapping(final TagIdentifier tagId) { - final ITaglibDomainMetaDataModelContext modelContext = createMetadataContext(tagId - .getUri()); - final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity( - modelContext, tagId.getTagName()); + + 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 = TaglibDomainMetaDataQueryHelper.getTrait( + final Trait trait = _query.getQueryHelper().getTrait( entity, ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID); if (trait != null) { @@ -55,20 +58,6 @@ public class ViewMetadataLoader return null; } - private ITaglibDomainMetaDataModelContext createMetadataContext( - final String uri) - { - ITaglibDomainMetaDataModelContext modelContext = _metadataContexts - .get(uri); - - if (modelContext == null) - { - modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(_project, uri); - _metadataContexts.put(uri, modelContext); - } - return modelContext; - } /** * @param tagId @@ -78,13 +67,12 @@ public class ViewMetadataLoader public AttributeToPropertyMapping getAttributeMapping( final TagIdentifier tagId, final String name) { - final ITaglibDomainMetaDataModelContext modelContext = createMetadataContext(tagId - .getUri()); - final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity( - modelContext, tagId.getTagName()+"/"+name); //$NON-NLS-1$ + + final Entity entity = _query.getQueryHelper().getEntity( + tagId.getUri(), tagId.getTagName()+"/"+name); //$NON-NLS-1$ if (entity != null) { - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait( + final Trait trait = _query.getQueryHelper().getTrait( entity, ViewMetadataMapper.DEFAULT_ATTRIBUTE_TRAIT_ID); if (trait != null) { 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 index c022bd901..c4da0a119 100644 --- 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 @@ -15,13 +15,18 @@ package org.eclipse.jst.jsf.metadataprocessors; import java.util.Collections; import java.util.List; +import org.eclipse.core.resources.IProject; 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.TaglibDomainMetaDataQueryHelper; +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; @@ -33,6 +38,7 @@ public abstract class AbstractMetaDataEnabledFeature implements IMetaDataEnabled private MetaDataContext mdContext; private IStructuredDocumentContext sdContext; + private IProject _project; /* (non-Javadoc) @@ -63,12 +69,12 @@ public abstract class AbstractMetaDataEnabledFeature implements IMetaDataEnabled return sdContext; } -// private IProject getProject(){ -// if (_project == null){ -// _project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(sdContext).getProject(); -// } -// return _project; -// } + private IProject getProject(){ + if (_project == null){ + _project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(sdContext).getProject(); + } + return _project; + } //common metadata accessors @@ -121,7 +127,9 @@ public abstract class AbstractMetaDataEnabledFeature implements IMetaDataEnabled private Trait getTraitForEntityUsingContext(final String traitName) { //look for trait on given entity final Entity entity = getMetaDataContext().getEntity(); - return TaglibDomainMetaDataQueryHelper.getTrait(entity, traitName); + final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(getProject()); + final IMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext); + return query.getQueryHelper().getTrait(entity, traitName); } /** 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 index 12a448fb5..a75486b16 100644 --- 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 @@ -20,9 +20,11 @@ import org.eclipse.core.resources.IProject; 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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; @@ -75,7 +77,7 @@ public final class MetaDataEnabledProcessingFactory { * @param sdContext * @param uri * annotation file uri - * @param elementName + * @param tagName * @param attributeName * @return returns null - if the metadata was not found <br> * returns empty list - if not a @@ -85,22 +87,15 @@ public final class MetaDataEnabledProcessingFactory { * @see MetaDataEnabledProcessingFactory#ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME */ public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors( - Class featureType, IStructuredDocumentContext sdContext, - String uri, String elementName, String attributeName) { + final Class featureType, final IStructuredDocumentContext sdContext, + final String uri, final String tagName, final String attributeName) { - // look up the attribute's runtime type from MD - IProject _project = null; - if (sdContext != null) { - IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE - .getWorkspaceContextResolver(sdContext); - _project = resolver != null ? resolver.getProject() : null; - } - String _elem = elementName + "/" + attributeName; //$NON-NLS-1$ - String _uri = uri; - ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(_project, _uri); - Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(modelContext, - _elem); + String attrKey = tagName + "/" + attributeName; //$NON-NLS-1$ + + final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(getProject(sdContext)); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext); + + Entity attrEntity = query.getQueryHelper().getEntity(uri, attrKey); if (attrEntity != null) return getAttributeValueRuntimeTypeFeatureProcessors(featureType, sdContext, attrEntity); @@ -109,6 +104,16 @@ public final class MetaDataEnabledProcessingFactory { } + 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; + } + /** * A convenience method fully equivalent to: * @@ -122,8 +127,8 @@ public final class MetaDataEnabledProcessingFactory { * @return the meta-data enabled feature */ public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors( - Class featureType, IStructuredDocumentContext sdContext, - AttributeIdentifier attributeId) + final Class featureType, final IStructuredDocumentContext sdContext, + final AttributeIdentifier attributeId) { return getAttributeValueRuntimeTypeFeatureProcessors (featureType, sdContext, attributeId.getTagIdentifier().getUri() @@ -141,10 +146,13 @@ public final class MetaDataEnabledProcessingFactory { * or does not support the specified feature */ public List<IMetaDataEnabledFeature> getAttributeValueRuntimeTypeFeatureProcessors( - Class featureType, IStructuredDocumentContext sdContext, - Entity attrEntity) { + final Class featureType, final IStructuredDocumentContext sdContext, + final Entity attrEntity) { + + final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(getProject(sdContext)); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(modelContext); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(attrEntity, + Trait trait = query.findTrait(attrEntity, ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME); if (trait == null) { 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 index 5089a3d4a..1f0e9dcf2 100644 --- 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 @@ -19,8 +19,10 @@ 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.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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; @@ -130,15 +132,17 @@ public class ContainmentValidatingStrategy extends final String uri = elementAdapter.getNamespace(); final String tagName = elementAdapter.getLocalName(); // final Element node = elementAdapter. - - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(jsfValidationContext.getFile() - .getProject(), uri); - final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity( - modelContext, tagName); + + final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(jsfValidationContext.getFile().getProject()); + 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 = TaglibDomainMetaDataQueryHelper.getTrait( + final Trait trait = query.findTrait( entity, "containment-constraint"); //$NON-NLS-1$ if (trait != null) diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/TagMetadataLoader.java b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/TagMetadataLoader.java index e4425db9b..942f7f991 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/TagMetadataLoader.java +++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/util/TagMetadataLoader.java @@ -18,8 +18,10 @@ import org.eclipse.emf.ecore.EStructuralFeature; 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.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.facelet.core.internal.cm.addtagmd.ElementData; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos; @@ -78,16 +80,20 @@ public class TagMetadataLoader public ElementData getElementData(final String nsUri, final String tagName) { - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(_project, nsUri); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(_project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + final Entity entity = query.getQueryHelper().getEntity(nsUri, tagName); - final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity( - modelContext, tagName); +// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper +// .createMetaDataModelContext(_project, nsUri); +// +// final Entity entity = TaglibDomainMetaDataQueryHelper.getEntity( +// modelContext, tagName); if (entity != null) { - Trait trait = - TaglibDomainMetaDataQueryHelper.getTrait(entity, TRAIT_ADDITIONALELEMENTDATA); + Trait trait = query.findTrait(entity, TRAIT_ADDITIONALELEMENTDATA); +// TaglibDomainMetaDataQueryHelper.getTrait(entity, TRAIT_ADDITIONALELEMENTDATA); if (trait != null) { EObject value= trait.getValue(); @@ -104,21 +110,23 @@ public class TagMetadataLoader final String key) { String value = null; - final Model model = getModel(nsUri); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(_project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + final Model model = getModel(query, nsUri); if (model != null) { - value = getString(key, model, tagName); + value = getString(query, key, model, tagName); } return value; } - private String getString(final String key, final Model model, + private String getString(final ITaglibDomainMetaDataQuery query, final String key, final Model model, final String tagName) { String value = null; // use palette infos if available - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, + final Trait trait = query.findTrait(model, PALETTE_INFOS); if (trait != null) { @@ -147,16 +155,18 @@ public class TagMetadataLoader return value; } - private Model getModel(final String nsUri) + private Model getModel(final ITaglibDomainMetaDataQuery query, final String nsUri) { - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(_project, nsUri); - final Model model = TaglibDomainMetaDataQueryHelper - .getModel(modelContext); + final Model model = query.findTagLibraryModel(nsUri); +// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper +// .createMetaDataModelContext(_project, nsUri); +// final Model model = TaglibDomainMetaDataQueryHelper +// .getModel(modelContext); // no caching at this time so there is no need to listen to model // notifications // if (model != null && !hasAdapter(model)) // addAdapter(model); + return model; } } diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsp11.xml b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsp11.xml index 307888bc7..7a6487162 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsp11.xml +++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/metadata/jsp11.xml @@ -5,7 +5,7 @@ xmlns:mdt="http://org.eclipse.jst.jsf.common.metadata/metadataTraitTypes.ecore" xmlns:pi="http://org.eclipse.jsf.pagedesigner/paletteInfos.ecore" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - id="jsp11" + id="JSP11" type="tagFile"> <trait id="paletteInfos"> diff --git a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/common/MetadataTagImageManager.java b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/common/MetadataTagImageManager.java index dd15ad5ef..b2e7710cb 100644 --- a/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/common/MetadataTagImageManager.java +++ b/jsf/plugins/org.eclipse.jst.jsf.ui/src/org/eclipse/jst/jsf/ui/internal/common/MetadataTagImageManager.java @@ -19,10 +19,12 @@ 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.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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.tagdisplay.internal.paletteinfos.PaletteInfo; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos; import org.eclipse.jst.jsf.ui.internal.JSFUiPlugin; @@ -61,10 +63,14 @@ public class MetadataTagImageManager final String tagName) { Image image = null; - final Model model = getModel(project, nsUri); + + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + + final Model model = getModel(query, nsUri); if (model != null) { - final ImageDescriptor imgDesc = getIconImageDescriptor(model, + final ImageDescriptor imgDesc = getIconImageDescriptor(query, model, tagName, true); image = getOrCreateImage(imgDesc); } @@ -97,12 +103,11 @@ public class MetadataTagImageManager return image; } - private Model getModel(final IProject project, final String nsUri) + private Model getModel(final ITaglibDomainMetaDataQuery query, final String nsUri) { - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(project, nsUri); - final Model model = TaglibDomainMetaDataQueryHelper - .getModel(modelContext); + + final Model model = query.findTagLibraryModel(nsUri); + // no caching at this time so there is no need to listen to model // notifications // if (model != null && !hasAdapter(model)) @@ -110,13 +115,13 @@ public class MetadataTagImageManager return model; } - private ImageDescriptor getIconImageDescriptor(final Model model, + private ImageDescriptor getIconImageDescriptor(final ITaglibDomainMetaDataQuery query, final Model model, final String tagName, final boolean small) { ImageDescriptor icon = null; // use palette infos if available - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, + final Trait trait = query.findTrait(model, "paletteInfos"); //$NON-NLS-1$ if (trait != null) { @@ -154,13 +159,13 @@ public class MetadataTagImageManager { if (small) { - icon = getImageDescriptorFromTagTraitValueAsString( + icon = getImageDescriptorFromTagTraitValueAsString(query, tagAsEntity, TRAIT_ICON_SMALL, ImageDescriptor .getMissingImageDescriptor()); } else { - icon = getImageDescriptorFromTagTraitValueAsString( + icon = getImageDescriptorFromTagTraitValueAsString(query, tagAsEntity, TRAIT_ICON_LARGE, ImageDescriptor .getMissingImageDescriptor()); } @@ -188,9 +193,9 @@ public class MetadataTagImageManager } private ImageDescriptor getImageDescriptorFromTagTraitValueAsString( - Entity entity, String key, ImageDescriptor defaultValue) + final ITaglibDomainMetaDataQuery query, Entity entity, String key, ImageDescriptor defaultValue) { - Trait t = TaglibDomainMetaDataQueryHelper.getTrait(entity, key); + Trait t = query.findTrait(entity, key); if (t != null) { String imgDesc = TraitValueHelper.getValueAsString(t); diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java index e65f5dcf1..fbd8e9082 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java @@ -12,11 +12,14 @@ package org.eclipse.jst.pagedesigner.dtmanager; import org.eclipse.core.resources.IProject; import org.eclipse.jst.jsf.common.metadata.Trait; -import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.core.internal.tld.CMUtil; import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo; import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil; +import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType; import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; import org.w3c.dom.Element; @@ -39,18 +42,21 @@ public class DefaultDTInfoFactory implements IDTInfoFactory { * (non-Javadoc) * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfoFactory#getDTInfo(org.w3c.dom.Element) */ - public IDTInfo getDTInfo(Element element) { + public IDTInfo getDTInfo(final Element element) { IDTInfo dtInfo = null; - String nsURI = CMUtil.getElementNamespaceURI(element); - IProject project = getProject(element); - if (project != null) { - ITaglibDomainMetaDataModelContext context = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI); - if (context != null) { - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(context, element.getLocalName(), DTINFO_TRAIT_KEY); - if (trait != null) { - DTInfo dtInfoModelObject = (DTInfo)trait.getValue(); - if (dtInfoModelObject != null) { - dtInfo = new DefaultDTInfo(dtInfoModelObject, trait); + final String nsURI = getURI(element); + if (nsURI != null) { + final IProject project = getProject(element); + if (project != null) { + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + if (query != null) { + final Trait trait = query.getQueryHelper().getTrait(nsURI, element.getLocalName(), DTINFO_TRAIT_KEY); + if (trait != null) { + final DTInfo dtInfoModelObject = (DTInfo)trait.getValue(); + if (dtInfoModelObject != null) { + dtInfo = new DefaultDTInfo(dtInfoModelObject, trait); + } } } } @@ -58,6 +64,26 @@ public class DefaultDTInfoFactory implements IDTInfoFactory { return dtInfo; } + + private String getURI(Element element) { + String uri = CMUtil.getElementNamespaceURI(element); + + // give the content model priority + if (uri == null) + { + uri = element.getNamespaceURI(); + } + + if (uri == null) //may occur when taglib not setup correctly or incomplete tag elements + return null; + if (uri.equals("jsp")) //$NON-NLS-1$ + uri = CMDocType.JSP11_DOC_TYPE; + if (uri.equals("html")) //$NON-NLS-1$ + uri = CMDocType.HTML_DOC_TYPE; + return uri; + } + + /** * Gets the IProject instance that contains the model of the specified * Element. @@ -66,10 +92,10 @@ public class DefaultDTInfoFactory implements IDTInfoFactory { * @return IProject instance that contains the model of the specified * Element. */ - protected IProject getProject(Element element) { + protected IProject getProject(final Element element) { IProject project = null; if (element instanceof IDOMNode) { - IDOMModel model = ((IDOMNode)element).getModel(); + final IDOMModel model = ((IDOMNode)element).getModel(); if (model != null) { project = StructuredModelUtil.getProjectFor(model); } diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java index 680871148..7d61076d9 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java @@ -20,9 +20,11 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.jst.jsf.common.metadata.Model; 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.pagedesigner.dtresourceprovider.DTResourceProviderFactory; import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager; import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTResourceProvider; @@ -146,9 +148,11 @@ public class SkinsMenuItemBuilder { private String name; public TaglibData(String nsURI) { this.nsURI = nsURI; - ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI); - Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "display-label"); //$NON-NLS-1$ + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + + final Model model = query.findTagLibraryModel(nsURI); + final Trait trait = query.findTrait(model, "display-label"); //$NON-NLS-1$ this.name = TraitValueHelper.getValueAsString(trait); } public String getNSURI() { diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java index 64d8d40bc..2e9e79751 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java @@ -8,8 +8,9 @@ import java.util.List; 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.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelContext; +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.tagdisplay.internal.paletteinfos.PaletteInfo; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute; @@ -84,8 +85,8 @@ public final class MetadataTagDropSourceData implements ITagDropSourceData private TagCreationInfo getTagCreationInfo() { - final ITaglibDomainMetaDataModelContext metadataContext = CommandUtil - .getMetadataContext(getNamespace(), _model); + final IMetaDataModelContext metadataContext = CommandUtil + .getMetadataModelContext(getNamespace(), _model); TagCreationInfo tagCreationInfo = null; String id = getId(); if (metadataContext != null && id != null) @@ -108,14 +109,14 @@ public final class MetadataTagDropSourceData implements ITagDropSourceData * @return a tag creation info for the tag and id in the metadata context */ static TagCreationInfo createCreationInfo( - final ITaglibDomainMetaDataModelContext metaDataContext, + final IMetaDataModelContext metaDataContext, final String id, final String tagName) { - final Model model = TaglibDomainMetaDataQueryHelper - .getModel(metaDataContext); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(metaDataContext); + final Model model = query.findTagLibraryModel(metaDataContext.getModelIdentifier()); if (model != null) { - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, + Trait trait = query.findTrait(model, PaletteInfos.TRAIT_ID); if (trait != null) { @@ -127,10 +128,10 @@ public final class MetadataTagDropSourceData implements ITagDropSourceData } } // tag-creation trait on entity directly? - final Entity tag = getTagEntity(metaDataContext, tagName); + final Entity tag = query.findTagEntity(model, tagName); if (tag != null) {// metadata exists - trait = TaglibDomainMetaDataQueryHelper.getTrait(tag, + trait = query.findTrait(tag, "tag-create"); //$NON-NLS-1$ if (trait != null && trait.getValue() != null) { @@ -140,16 +141,5 @@ public final class MetadataTagDropSourceData implements ITagDropSourceData } return null; } - /** - * @param metaDataContext - * @param tagName - * @return the {@link Entity} for this tag element being created - */ - private static Entity getTagEntity( - final ITaglibDomainMetaDataModelContext metaDataContext, - final String tagName) - { - return TaglibDomainMetaDataQueryHelper.getEntity(metaDataContext, - tagName); - } + }
\ No newline at end of file diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java index fe6d5b8ed..375b52ce3 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java @@ -19,10 +19,12 @@ 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.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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.ui.JSFUICommonPlugin; import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo; @@ -75,9 +77,11 @@ public class TagImageManager { */ public Image getSmallIconImage(IProject project, String nsUri, String tagName) { Image image = null; - Model model = getModel(project, nsUri); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + Model model = getModel(query, nsUri); if (model != null){ - ImageDescriptor imgDesc = getSmallIconImageDescriptor(model, tagName); + ImageDescriptor imgDesc = getSmallIconImageDescriptor(query, model, tagName); image = getOrCreateImage(imgDesc); } @@ -92,9 +96,11 @@ public class TagImageManager { */ public Image getLargeIconImage(IProject project, String nsUri, String tagName) { Image image = null; - Model model = getModel(project, nsUri); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + Model model = getModel(query, nsUri); if (model != null){ - ImageDescriptor imgDesc = getLargeIconImageDescriptor(model, nsUri); + ImageDescriptor imgDesc = getLargeIconImageDescriptor(query, model, nsUri); image = getOrCreateImage(imgDesc); } @@ -122,9 +128,8 @@ public class TagImageManager { return image; } - private Model getModel(IProject project, String nsUri) { - ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsUri); - Model model =TaglibDomainMetaDataQueryHelper.getModel(modelContext); + private Model getModel(ITaglibDomainMetaDataQuery query, String nsUri) { + Model model =query.findTagLibraryModel(nsUri); // no caching at this time so there is no need to listen to model notifications // if (model != null && !hasAdapter(model)) // addAdapter(model); @@ -146,19 +151,19 @@ public class TagImageManager { // return false; // } - private ImageDescriptor getSmallIconImageDescriptor(Model model, String tagName) { - return getIconImageDescriptor(model, tagName, true); + private ImageDescriptor getSmallIconImageDescriptor(ITaglibDomainMetaDataQuery query, Model model, String tagName) { + return getIconImageDescriptor(query, model, tagName, true); } - private ImageDescriptor getLargeIconImageDescriptor(Model model, String tagName) { - return getIconImageDescriptor(model, tagName, false); + private ImageDescriptor getLargeIconImageDescriptor(ITaglibDomainMetaDataQuery query, Model model, String tagName) { + return getIconImageDescriptor(query, model, tagName, false); } - private ImageDescriptor getIconImageDescriptor(Model model, String tagName, boolean small) { + private ImageDescriptor getIconImageDescriptor(ITaglibDomainMetaDataQuery query, Model model, String tagName, boolean small) { ImageDescriptor icon = null; //use palette infos if available - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "paletteInfos"); //$NON-NLS-1$ + Trait trait = query.findTrait(model, "paletteInfos"); //$NON-NLS-1$ if (trait != null){ PaletteInfos tags = (PaletteInfos)trait.getValue(); for (Iterator it=tags.getInfos().iterator();it.hasNext();){ @@ -175,13 +180,13 @@ public class TagImageManager { } } if (icon == null) { - for (Iterator it=model.getChildEntities().iterator();it.hasNext();){ + for (Iterator it=model.getChildEntities().iterator();it.hasNext();){ Entity tagAsEntity = (Entity)it.next(); if (tagAsEntity.getId().equalsIgnoreCase(tagName)){ if (small) - icon = getImageDescriptorFromTagTraitValueAsString(tagAsEntity, TRAIT_ICON_SMALL, DEFAULT_SMALL_ICON); + icon = getImageDescriptorFromTagTraitValueAsString(query, tagAsEntity, TRAIT_ICON_SMALL, DEFAULT_SMALL_ICON); else - icon = getImageDescriptorFromTagTraitValueAsString(tagAsEntity, TRAIT_ICON_LARGE, DEFAULT_LARGE_ICON); + icon = getImageDescriptorFromTagTraitValueAsString(query, tagAsEntity, TRAIT_ICON_LARGE, DEFAULT_LARGE_ICON); break; } @@ -201,8 +206,8 @@ public class TagImageManager { return image; } - private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(Entity entity, String key, ImageDescriptor defaultValue){ - Trait t = TaglibDomainMetaDataQueryHelper.getTrait(entity, key); + private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(ITaglibDomainMetaDataQuery query, Entity entity, String key, ImageDescriptor defaultValue){ + Trait t = query.findTrait(entity, key); if (t != null){ String imgDesc = TraitValueHelper.getValueAsString(t); return getImageDescriptorFromString(t.getSourceModelProvider(), imgDesc, defaultValue); diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java index 8abec4727..fe47d518a 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java @@ -25,10 +25,12 @@ 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.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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.runtime.internal.view.model.common.ITagElement; import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace; import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin; @@ -125,14 +127,17 @@ public class PaletteHelper { TaglibPaletteDrawer category = findCategory(manager, tldURI); if (category != null) return category; - - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(manager.getTagRegistryIdentifier().getProject(), tldURI); - final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); - category = createTaglibPaletteDrawer(manager, doc, model); + + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(manager.getTagRegistryIdentifier().getProject()); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + final Model model = query.findTagLibraryModel(tldURI); +// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper +// .createMetaDataModelContext(manager.getTagRegistryIdentifier().getProject(), tldURI); +// final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); + category = createTaglibPaletteDrawer(manager, doc, model, query); if (category != null) { - loadTags(category, doc, model); + loadTags(category, doc, model, query); sortTags(category.getChildren()); } return category; @@ -169,10 +174,10 @@ public class PaletteHelper { } private void loadTags(final TaglibPaletteDrawer category, final CMDocument doc, - final Model model) { + final Model model, final ITaglibDomainMetaDataQuery query) { if (model != null) {// load from metadata - should always drop in here - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, + final Trait trait = query.findTrait(model, "paletteInfos"); //$NON-NLS-1$ if (trait != null) { final PaletteInfos tags = (PaletteInfos) trait.getValue(); @@ -184,7 +189,7 @@ public class PaletteHelper { for (final Iterator it = model.getChildEntities().iterator(); it .hasNext();) { final Entity tagAsEntity = (Entity) it.next(); - createTagEntry(category, tagAsEntity, doc); + createTagEntry(category, tagAsEntity, doc, query); } } } else {// fail safe loading from cmDoc... should no longer go in here @@ -194,35 +199,35 @@ public class PaletteHelper { } private TaglibPaletteDrawer createTaglibPaletteDrawer( - final IPaletteItemManager manager, final CMDocument doc, final Model model) { + final IPaletteItemManager manager, final CMDocument doc, final Model model, ITaglibDomainMetaDataQuery query) { TaglibPaletteDrawer category = null; if (model != null) { // do we create it? - final boolean isHidden = getBooleanTagTraitValue(model, "hidden", false); //$NON-NLS-1$ + final boolean isHidden = getBooleanTagTraitValue(query, model, "hidden", false); //$NON-NLS-1$ if (isHidden) { return null; } - String label = getStringTagTraitValue(model, + String label = getStringTagTraitValue(query, model, "display-label", model.getId()); //$NON-NLS-1$ label = label.equals("") ? model.getId() : label; //$NON-NLS-1$ category = manager.createTaglibPaletteDrawer(model.getId(), label); - String desc = getStringTagTraitValue(model, + String desc = getStringTagTraitValue(query, model, "description", model.getId()); //$NON-NLS-1$ category.setDescription(formatDescription(desc)); - final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(query, model, "small-icon", null); //$NON-NLS-1$ if (largeIconImage != null) category.setLargeIcon(largeIconImage); - final String prefix = getStringTagTraitValue(model, + final String prefix = getStringTagTraitValue(query, model, "default-prefix", null); //$NON-NLS-1$ category.setDefaultPrefix(prefix); - final boolean isVisible = !(getBooleanTagTraitValue(model, + final boolean isVisible = !(getBooleanTagTraitValue(query, model, "expert", false)); //$NON-NLS-1$ category.setVisible(isVisible); @@ -333,21 +338,21 @@ public class PaletteHelper { } private void createTagEntry(final TaglibPaletteDrawer category, - final Entity entity, final CMDocument doc) { + final Entity entity, final CMDocument doc, final ITaglibDomainMetaDataQuery query) { - final boolean hidden = getBooleanTagTraitValue(entity, "hidden", false); //$NON-NLS-1$ + final boolean hidden = getBooleanTagTraitValue(query, entity, "hidden", false); //$NON-NLS-1$ if (hidden)// do not create a palette entry return; final String tagName = entity.getId(); - final String label = getStringTagTraitValue(entity, "display-label", tagName); //$NON-NLS-1$ - final String desc = formatDescription(getStringTagTraitValue(entity, + final String label = getStringTagTraitValue(query, entity, "display-label", tagName); //$NON-NLS-1$ + final String desc = formatDescription(getStringTagTraitValue(query, entity, "description", tagName)); //$NON-NLS-1$ - final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(query, entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$ - final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(query, entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$ - final boolean expert = getBooleanTagTraitValue(entity, "expert", false); //$NON-NLS-1$ + final boolean expert = getBooleanTagTraitValue(query, entity, "expert", false); //$NON-NLS-1$ internalCreateTagEntry(doc, category, tagName, tagName, label, desc, smallIcon, largeIcon, expert); @@ -355,21 +360,21 @@ public class PaletteHelper { } private void createTagEntry(final TaglibPaletteDrawer category, - final Entity entity, final Namespace ns) { + final Entity entity, final Namespace ns, final ITaglibDomainMetaDataQuery query) { - final boolean hidden = getBooleanTagTraitValue(entity, "hidden", false); //$NON-NLS-1$ + final boolean hidden = getBooleanTagTraitValue(query, entity, "hidden", false); //$NON-NLS-1$ if (hidden)// do not create a palette entry return; final String tagName = entity.getId(); - final String label = getStringTagTraitValue(entity, "display-label", tagName); //$NON-NLS-1$ - final String desc = formatDescription(getStringTagTraitValue(entity, + final String label = getStringTagTraitValue(query, entity, "display-label", tagName); //$NON-NLS-1$ + final String desc = formatDescription(getStringTagTraitValue(query, entity, "description", tagName)); //$NON-NLS-1$ - final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(query, entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$ - final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(query, entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$ - final boolean expert = getBooleanTagTraitValue(entity, "expert", false); //$NON-NLS-1$ + final boolean expert = getBooleanTagTraitValue(query, entity, "expert", false); //$NON-NLS-1$ internalCreateTagEntry(ns, category, tagName, tagName, label, desc, smallIcon, largeIcon, expert); @@ -430,19 +435,19 @@ public class PaletteHelper { return ns.getViewElement(tagName) != null; } - private boolean getBooleanTagTraitValue(final Entity entity, final String key, + private boolean getBooleanTagTraitValue(final ITaglibDomainMetaDataQuery query, final Entity entity, final String key, final boolean defaultValue) { - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, key); + final Trait trait = query.findTrait(entity, key); if (trait != null) { return TraitValueHelper.getValueAsBoolean(trait); } return defaultValue; } - private String getStringTagTraitValue(final Entity entity, final String key, + private String getStringTagTraitValue(final ITaglibDomainMetaDataQuery query, final Entity entity, final String key, final String defaultValue) { - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, key); + final Trait trait = query.findTrait(entity, key); if (trait != null) { final String val = TraitValueHelper.getValueAsString(trait); if (val != null) @@ -451,9 +456,9 @@ public class PaletteHelper { return defaultValue; } - private ImageDescriptor getImageDescriptorFromTagTraitValueAsString( + private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(final ITaglibDomainMetaDataQuery query, final Entity entity, final String key, final ImageDescriptor defaultValue) { - final Trait t = TaglibDomainMetaDataQueryHelper.getTrait(entity, key); + final Trait t = query.findTrait(entity, key); if (t != null) { final String imgDesc = TraitValueHelper.getValueAsString(t); return getImageDescriptorFromString(t.getSourceModelProvider(), @@ -572,48 +577,51 @@ public class PaletteHelper { return category; final IProject project = manager.getTagRegistryIdentifier().getProject(); - final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(project, ns.getNSUri()); - final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); - category = createTaglibPaletteDrawer(manager, ns, model); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + final Model model = query.findTagLibraryModel(ns.getNSUri()); +// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper +// .createMetaDataModelContext(project, ns.getNSUri()); +// final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); + category = createTaglibPaletteDrawer(manager, ns, model, query); if (category != null) { - loadTags(category, ns, model); + loadTags(category, ns, model, query); sortTags(category.getChildren()); } return category; } private TaglibPaletteDrawer createTaglibPaletteDrawer( - final IPaletteItemManager manager, final Namespace ns, final Model model) { + final IPaletteItemManager manager, final Namespace ns, final Model model, final ITaglibDomainMetaDataQuery query) { TaglibPaletteDrawer category = null; if (model != null) { // do we create it? - final boolean isHidden = getBooleanTagTraitValue(model, "hidden", false); //$NON-NLS-1$ + final boolean isHidden = getBooleanTagTraitValue(query, model, "hidden", false); //$NON-NLS-1$ if (isHidden) { return null; } - String label = getStringTagTraitValue(model, + String label = getStringTagTraitValue(query, model, "display-label", model.getId()); //$NON-NLS-1$ label = label.equals("") ? model.getId() : label; //$NON-NLS-1$ category = manager.createTaglibPaletteDrawer(model.getId(), label); - final String desc = getStringTagTraitValue(model, + final String desc = getStringTagTraitValue(query, model, "description", model.getId()); //$NON-NLS-1$ category.setDescription(formatDescription(desc)); - final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString( + final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(query, model, "small-icon", null); //$NON-NLS-1$ if (largeIconImage != null) category.setLargeIcon(largeIconImage); - final String prefix = getStringTagTraitValue(model, + final String prefix = getStringTagTraitValue(query, model, "default-prefix", null); //$NON-NLS-1$ category.setDefaultPrefix(prefix); - final boolean isVisible = !(getBooleanTagTraitValue(model, + final boolean isVisible = !(getBooleanTagTraitValue(query, model, "expert", false)); //$NON-NLS-1$ category.setVisible(isVisible); @@ -624,10 +632,10 @@ public class PaletteHelper { } private void loadTags(final TaglibPaletteDrawer category, - final Namespace ns, final Model model) { + final Namespace ns, final Model model, final ITaglibDomainMetaDataQuery query) { if (model != null) {// load from metadata - should always drop in here - final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, + final Trait trait = query.findTrait(model, "paletteInfos"); //$NON-NLS-1$ if (trait != null) { final PaletteInfos tags = (PaletteInfos) trait.getValue(); @@ -639,7 +647,7 @@ public class PaletteHelper { for (final Iterator it = model.getChildEntities().iterator(); it .hasNext();) { final Entity tagAsEntity = (Entity) it.next(); - createTagEntry(category, tagAsEntity, ns); + createTagEntry(category, tagAsEntity, ns, query); } } } else {// fail safe loading from cmDoc... should no longer go in here diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java index 5669ea93b..e0a91a358 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java @@ -15,9 +15,12 @@ import org.eclipse.jst.jsf.common.dom.TagIdentifier; 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.IMetaDataModelContext; import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper; import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.core.internal.tld.ITLDConstants; import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory; import org.eclipse.jst.pagedesigner.dom.IDOMPosition; @@ -51,20 +54,47 @@ public final class CreationData // potentially expensive meta-data search /** - * The {@link ITaglibDomainMetaDataModelContext} for the tag creation + * The {@link IMetaDataModelContext} for the tag creation */ + private final IMetaDataModelContext _modelContext; private final ITaglibDomainMetaDataModelContext _taglibMetaDataContext; // mutable because it may be changed from the original _domPosition private IDOMPosition _adjustedPosition; - + private ITaglibDomainMetaDataQuery _query; + + /** + * @param creationProvider + * @param model + * @param domPosition + * @param modelContext + * @param customizationData + */ + public CreationData(final ITagDropSourceData creationProvider, + final IDOMModel model, final IDOMPosition domPosition, + final IMetaDataModelContext modelContext, + final IAdaptable customizationData) + { + super(); + this._creationProvider = creationProvider; + this._modelContext = modelContext; + this._taglibMetaDataContext = null; + this._domPosition = domPosition; + this._adjustedPosition = _domPosition; + this._model = model; + this._customizationData = customizationData; + this._prefix = getPrefix(getUri(), model, getDefaultPrefix()); + + } + /** * @param creationProvider * @param model * @param domPosition * @param taglibMetaDataContext * @param customizationData + * @deprecated - use the other constructor */ public CreationData(final ITagDropSourceData creationProvider, final IDOMModel model, final IDOMPosition domPosition, @@ -74,13 +104,13 @@ public final class CreationData super(); this._creationProvider = creationProvider; this._taglibMetaDataContext = taglibMetaDataContext; + this._modelContext = null; this._domPosition = domPosition; this._adjustedPosition = _domPosition; this._model = model; this._customizationData = customizationData; this._prefix = getPrefix(getUri(), model, getDefaultPrefix()); } - /** * Returns the ns prefix for the tag and also creates taglib reference if necessary * @param uri @@ -159,12 +189,21 @@ public final class CreationData return _creationProvider; } + private ITaglibDomainMetaDataQuery getQuery() { + if (_query == null) + _query = MetaDataQueryFactory.getInstance().createQuery(_modelContext); + + return _query; + } /** * @return the {@link Entity} for this tag element being created */ public Entity getTagEntity() { if (_tagEntity == null){ - _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(_taglibMetaDataContext, getTagName()); + if (_modelContext != null) + _tagEntity = getQuery().getQueryHelper().getEntity(_modelContext.getModelIdentifier(), getTagName()); + else + _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(_taglibMetaDataContext, getTagName()); } return _tagEntity; @@ -174,7 +213,12 @@ public final class CreationData * @return flag indicating that html form container ancestor is required */ public boolean isHTMLFormRequired() { - Trait t = TaglibDomainMetaDataQueryHelper.getTrait(getTagEntity(), "requires-html-form"); //$NON-NLS-1$ + Trait t = null; + if (_modelContext != null) + t = getQuery().getQueryHelper().getTrait(getTagEntity(), "requires-html-form"); //$NON-NLS-1$ + else + t = TaglibDomainMetaDataQueryHelper.getTrait(getTagEntity(), "requires-html-form"); //$NON-NLS-1$ + if (t != null) return TraitValueHelper.getValueAsBoolean(t); @@ -185,8 +229,15 @@ public final class CreationData * @return flag indicating that jsf component */ public boolean isJSFComponent() { - Model model = TaglibDomainMetaDataQueryHelper.getModel(_taglibMetaDataContext); - Trait t = TaglibDomainMetaDataQueryHelper.getTrait(model, "is-jsf-component-library"); //$NON-NLS-1$ + Model model = null; + Trait t = null; + if (_modelContext != null) { + model = getQuery().findTagLibraryModel(_modelContext.getModelIdentifier()); + t = getQuery().findTrait(model, "is-jsf-component-library"); //$NON-NLS-1$ + } else { + model = TaglibDomainMetaDataQueryHelper.getModel(_taglibMetaDataContext); + t = TaglibDomainMetaDataQueryHelper.getTrait(model, "is-jsf-component-library"); //$NON-NLS-1$ + } if (t != null) return TraitValueHelper.getValueAsBoolean(t); @@ -203,6 +254,14 @@ public final class CreationData /** * @return the metadata context for the tag */ + public IMetaDataModelContext getMetaDataContext() { + return _modelContext; + } + + /** + * @return the (deprecated) metadata context for the tag + * @deprecated - use {@link IMetaDataModelContext} + */ public ITaglibDomainMetaDataModelContext getTaglibMetaDataContext() { return _taglibMetaDataContext; } diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java index dcf6c5d94..af126ece0 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java @@ -5,8 +5,7 @@ import java.util.List; import java.util.Map; import org.eclipse.core.resources.IFile; -import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelContext; import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ResolverUtil; import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute; import org.eclipse.jst.pagedesigner.PDPlugin; @@ -18,6 +17,7 @@ import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter; import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager; import org.eclipse.jst.pagedesigner.itemcreation.CreationData; import org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData; +import org.eclipse.jst.pagedesigner.utils.CommandUtil; import org.eclipse.jst.pagedesigner.utils.JSPUtil; import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; import org.w3c.dom.Element; @@ -119,9 +119,11 @@ public class UserCustomizedElementCustomizationCommand extends final String tagName = child.getTagIdentifier().getTagName(); final ITagDropSourceData creationProvider = TagToolCreationAdapter.findProviderForContainer(uri, tagName, PaletteItemManager.createPaletteContext(fileForDocument)); - final ITaglibDomainMetaDataModelContext modelContext = - TaglibDomainMetaDataQueryHelper - .createMetaDataModelContext(fileForDocument.getProject(), child.getTagIdentifier().getUri()); + + final IMetaDataModelContext modelContext = CommandUtil.getMetadataModelContext(child.getTagIdentifier().getUri(), _model); +// final ITaglibDomainMetaDataModelContext modelContext = +// TaglibDomainMetaDataQueryHelper +// .createMetaDataModelContext(fileForDocument.getProject(), child.getTagIdentifier().getUri()); // .createMetaDataModelContext(project, child.getTagIdentifier().getUri()); IDOMPosition domPosition = new DOMPosition(_element, childCount++); CreationData creationData = new CreationData(creationProvider,_model, domPosition, modelContext, child); diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java index 6ed998f58..6fdf70b04 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java @@ -16,8 +16,10 @@ import java.util.List; import org.eclipse.gef.commands.Command; import org.eclipse.jst.jsf.common.metadata.Entity; -import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.runtime.internal.view.model.common.ITagAttribute; import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement; import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory; @@ -53,6 +55,8 @@ public class AttributePropertySource implements IPropertySource { private IPropertyDescriptor[] _descriptors; + private ITaglibDomainMetaDataQuery _query; + /** * Constructor * @param ele @@ -88,9 +92,9 @@ public class AttributePropertySource implements IPropertySource { else uri = "HTML"; //$NON-NLS-1$ } - ITaglibDomainMetaDataModelContext domainContext = - TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(wsresolver.getProject(), uri); - return TaglibDomainMetaDataQueryHelper.getEntity(domainContext, _element.getLocalName()); + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(wsresolver.getProject()); + _query = MetaDataQueryFactory.getInstance().createQuery(context); + return _query.getQueryHelper().getEntity(uri, _element.getLocalName()); } /* @@ -236,7 +240,7 @@ public class AttributePropertySource implements IPropertySource { // } private IPropertyDescriptor getAttrPropertyDescriptor(String attrName){ - Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(_tagEntity, attrName); + Entity attrEntity = _query.findTagAttributeEntity(_tagEntity, attrName); List ppds = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(IPropertyPageDescriptor.class, _context, attrEntity); if (ppds.size() > 0) return (IPropertyDescriptor)((IPropertyPageDescriptor)ppds.get(0)).getAdapter(IPropertyDescriptor.class); diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java index 65e9fb591..78a8d6d71 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java @@ -18,15 +18,18 @@ import org.eclipse.core.resources.IProject; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.TextCellEditor; 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.TaglibDomainMetaDataQueryHelper; +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.ui.internal.dialogfield.DialogField; import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue; import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues; import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor; import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants; -import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory; import org.eclipse.jst.pagedesigner.meta.IAttributeRuntimeValueType; +import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory; import org.eclipse.jst.pagedesigner.properties.dialogfields.MDEnabledComboDialogField; import org.eclipse.jst.pagedesigner.ui.dialogfields.ClasspathResourceButtonDialogField; import org.eclipse.jst.pagedesigner.ui.dialogfields.ContextableResourceButtonDialogField; @@ -59,8 +62,10 @@ public class CellEditorFactory implements ITagAttributeCellEditorFactory { // String typeParam = TraitValueHelper.getValueAsString(TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(),"type-param")); ResourceDialogCellEditor cellEditor = new ResourceDialogCellEditor( parent); - Trait fileExt = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$ - Trait separator = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$ + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + Trait fileExt = query.findTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$ + Trait separator = query.findTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$ String[] fileExts = null; if (fileExt != null){ List exts = TraitValueHelper.getValueAsListOfStrings(fileExt); @@ -157,8 +162,11 @@ public class CellEditorFactory implements ITagAttributeCellEditorFactory { if (IAttributeRuntimeValueType.RELATIVEPATH.equals(type) || IAttributeRuntimeValueType.WEBPATH.equals(type)) { - Trait fileExt = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$ - Trait seperator = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$ + + final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext((IProject)null); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context); + Trait fileExt = query.findTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$ + Trait seperator = query.findTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$ String[] fileExts = null; if (fileExt != null){ diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java index 585cd4efc..6179b270f 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java @@ -18,7 +18,10 @@ import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IStatus; import org.eclipse.jst.jsf.common.metadata.Entity; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.ui.internal.dialogfield.DialogField; import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup; import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener; @@ -102,7 +105,7 @@ public class AttributeGroup extends DialogFieldGroup { private IPropertyPageDescriptor getPD(Entity tagEntity, String attrName) { IPropertyPageDescriptor pd = null; - Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(tagEntity, attrName); + Entity attrEntity = getAttributeEntity(tagEntity, attrName); if (attrEntity != null){ List pds = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors( IPropertyPageDescriptor.class, getStructuredDocumentContext(), attrEntity); @@ -114,6 +117,14 @@ public class AttributeGroup extends DialogFieldGroup { return pd; } + //we don't have enough context to use a query. Must look at childEntities. + private Entity getAttributeEntity(final Entity tagEntity, final String attrName) { + for (final Entity attr : tagEntity.getChildEntities()) { + if (attr.getId().equals(attrName)) + return attr; + } + return null; + } private void resetStructuredDocumentContext() { _sdContext = null; @@ -146,8 +157,10 @@ public class AttributeGroup extends DialogFieldGroup { String uri = _uri != null ? _uri : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getBaseURI(); String tagName = _tagName != null ? _tagName : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getNodeName(); if (uri != null){ - IProject project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getProject(); - _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri), tagName); + IProject project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getProject(); + IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + ITaglibDomainMetaDataQuery _query = MetaDataQueryFactory.getInstance().createQuery(mdcontext); + _tagEntity = _query.getQueryHelper().getEntity(uri, tagName); } } } @@ -169,7 +182,7 @@ public class AttributeGroup extends DialogFieldGroup { public String getURI() { if (getTagEntity() == null) return _uri; - return getTagEntity().getModel().getCurrentModelContext().getUri(); + return getTagEntity().getModel().getId(); } diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java index 55de9cb3a..80deed469 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java @@ -17,8 +17,10 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jst.jsf.common.metadata.Entity; import org.eclipse.jst.jsf.common.metadata.Trait; -import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory; import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver; import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext; @@ -144,13 +146,19 @@ public class QuickEditTabManager { if (_lastElement != node){ _lastElement = node; _quickEditTabSections = null; - _tagEntity = getTagEntity(part, selection, node); - if (_tagEntity != null) { - Trait pds = TaglibDomainMetaDataQueryHelper.getTrait(_tagEntity, QuickEditTabSections.TRAIT_ID); - if (pds != null){ - _quickEditTabSections = (QuickEditTabSections)pds.getValue(); - } - } + String uri = getTagURIForNodeName(part, selection, node); + if (uri != null) { + final ITaglibDomainMetaDataQuery query = getQuery(part, node); + if (query != null) { + _tagEntity = query.getQueryHelper().getEntity(uri, node.getLocalName()); + if (_tagEntity != null) { + Trait pds = query.findTrait(_tagEntity, QuickEditTabSections.TRAIT_ID); + if (pds != null){ + _quickEditTabSections = (QuickEditTabSections)pds.getValue(); + } + } + } + } } return _quickEditTabSections; } @@ -161,7 +169,7 @@ public class QuickEditTabManager { } private QName getTagId() { - return TaglibDomainMetaDataQueryHelper.getQNameForTagEntity(_tagEntity); + return new QName(_tagEntity.getModel().getId(), _tagEntity.getId()); } /** @@ -176,7 +184,7 @@ public class QuickEditTabManager { _groupsManager = null; } - private Entity getTagEntity(IWorkbenchPart part, ISelection selection, Element node){ + private String getTagURIForNodeName(IWorkbenchPart part, ISelection selection, Element node) { HTMLEditor ed = null; if (part instanceof HTMLEditor) ed = (HTMLEditor)part; @@ -184,17 +192,31 @@ public class QuickEditTabManager { return null; if (ed.getEditorInput() instanceof FileEditorInput) { - FileEditorInput input = (FileEditorInput)ed.getEditorInput(); IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(ed.getDocument(), node); if (context != null){ ITaglibContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context); if (resolver != null){ - ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(input.getFile().getProject(),resolver.getTagURIForNodeName(node)); - return TaglibDomainMetaDataQueryHelper.getEntity(mdContext, node.getLocalName()); + return resolver.getTagURIForNodeName(node); } } } - return null; + return null; + } + + private ITaglibDomainMetaDataQuery getQuery(IWorkbenchPart part, Element node) { + HTMLEditor ed = null; + if (part instanceof HTMLEditor) + ed = (HTMLEditor)part; + if (ed == null) + return null; + + + if (ed.getEditorInput() instanceof FileEditorInput) { + final FileEditorInput input = (FileEditorInput)ed.getEditorInput(); + final IMetaDataDomainContext mdContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(input.getFile().getProject()); + return MetaDataQueryFactory.getInstance().createQuery(mdContext); + } + return null; } private QuickEditTabSectionsDescriptor getNullQuickEditTab() { diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java index 3ee953060..bf740f4c0 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java @@ -26,9 +26,11 @@ import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jst.jsf.common.metadata.Model; 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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.pagedesigner.PDPlugin; import org.eclipse.jst.pagedesigner.dtresourceprovider.DTResourceProviderFactory; import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager; @@ -334,9 +336,10 @@ public class WPEPropertyPage extends PropertyPage { private String name; public TaglibData(String nsURI) { this.nsURI = nsURI; - ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI); - Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext); - Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "display-label"); //$NON-NLS-1$ + final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(mdcontext); + final Model model = query.findTagLibraryModel(nsURI); + final Trait trait = query.findTrait(model, "display-label"); //$NON-NLS-1$ this.name = TraitValueHelper.getValueAsString(trait); } public String getNSURI() { diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java index 281f04580..a1d24acc2 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java @@ -13,8 +13,12 @@ package org.eclipse.jst.pagedesigner.utils; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext; +import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelContext; import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext; import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataModelContext; +import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory; import org.eclipse.jst.jsf.common.ui.internal.logging.Logger; import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory; import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver; @@ -52,7 +56,7 @@ public class CommandUtil { try { - final ITaglibDomainMetaDataModelContext modelContext = getMetadataContext( + final IMetaDataModelContext modelContext = CommandUtil.getMetadataModelContext( dropSourceData.getNamespace(), model); ITagDropSourceData tagDropSourceData = null; @@ -97,11 +101,12 @@ public class CommandUtil } return null; } - + /** * @param uri * @param model * @return the metadata context for uri in the DOM model or null if none. + * @deprecated - will be removed in post Indigo release */ public static ITaglibDomainMetaDataModelContext getMetadataContext( final String uri, final IDOMModel model) @@ -120,4 +125,27 @@ public class CommandUtil .createMetaDataModelContext(project, uri); return modelContext; } + + /** + * @param uri + * @param model + * @return the metadata model context for uri in the DOM model or null if none. + */ + public static IMetaDataModelContext getMetadataModelContext( + final String uri, final IDOMModel model) + { + final IStructuredDocument doc = model.getDocument() + .getStructuredDocument(); + + final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE + .getContext(doc, -1); + final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE + .getWorkspaceContextResolver(context); + + final IProject project = resolver.getProject(); + + final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project); + + return new MetaDataModelContext(uri, modelContext); + } } diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java index 0b7f58738..a28d05f00 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java @@ -21,10 +21,13 @@ import org.eclipse.core.runtime.IPath; 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.common.metadata.Model; 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.ITaglibDomainMetaDataModelContext; -import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper; +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; @@ -150,13 +153,15 @@ public class JSPUtil { return prefix; } - private static boolean isTagDir(String uri, IDOMModel model) { - IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), 0); + private static boolean isTagDir(final String uri, final IDOMModel model) { + final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), 0); if (context != null) { IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context); if (resolver != null) { - ITaglibDomainMetaDataModelContext tldContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(resolver.getProject(), uri); - Trait t = TaglibDomainMetaDataQueryHelper.getTrait(tldContext, "", "isTagDir"); //$NON-NLS-1$ //$NON-NLS-2$ + final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(resolver.getProject()); + final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(mdcontext); + final Model m = query.findTagLibraryModel(uri); + final Trait t = query.findTrait(m, "isTagDir"); //$NON-NLS-1$ return TraitValueHelper.getValueAsBoolean(t); } } |