Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java360
1 files changed, 0 insertions, 360 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java
deleted file mode 100644
index 75a36e3f9..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/metadata/internal/NamespaceMetaDataTranslator.java
+++ /dev/null
@@ -1,360 +0,0 @@
-package org.eclipse.jst.jsf.core.metadata.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.MetadataFactory;
-import org.eclipse.jst.jsf.common.metadata.MetadataPackage;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelMergeAssistant;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataTranslator;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.BooleanValue;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.StringValue;
-import org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.TraitTypesFactory;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-
-/**
- * Translates some pieces of a {@link Namespace} metadata into standard {@link Entity} and {@link Trait} metadata
- *
- */
-public class NamespaceMetaDataTranslator
- implements IMetaDataTranslator {
- /**
- * {@link IMetaDataModelMergeAssistant} to use
- */
- private IMetaDataModelMergeAssistant _assistant;
-
- public void translate(final IMetaDataModelMergeAssistant assistant) {
- _assistant = assistant;
- final Namespace ns = ((INamespaceModelProvider)_assistant.getSourceModelProvider()).getNamespace();
- doTranslate(ns);
- }
-
- public boolean canTranslate(final IMetaDataSourceModelProvider modelProvider) {
- if (modelProvider != null &&
- modelProvider instanceof INamespaceModelProvider)
- return true;
- return false;
- }
-
- /**
- * Set the assistant to use during the translation. Must be called prior to doTransalate(doc);
- * @param assistant
- */
- protected void setAssistant(final IMetaDataModelMergeAssistant assistant){
- _assistant = assistant;
- }
-
- /**
- * Transforms the Namespace into entities and traits of a standard metadata model
- * using the assistant that must be set before this call.
- * @param tagLib
- */
- protected void doTranslate(final Namespace tagLib){
- createTags(tagLib);
- createTagfileTraits(tagLib);
- }
-
- /**
- * @param entity
- * @param key
- * @param value
- */
- protected void createSimpleStringEntityTraitIfNecessary(final Entity entity, final String key,
- final String value) {
- Trait t = findTraitOnEntityById(entity, key);
- if (t == null){
- t = internalCreateTrait(entity, key);
-
- StringValue val = TraitTypesFactory.eINSTANCE.createStringValue();
- val.setValue(value);
-
- t.setValue(val);
- }
- }
-
- /**
- * @param entity
- * @param key
- * @param value
- */
- protected void createSimpleBooleanObjectEntityTraitIfNecessary(final Entity entity,
- String key, boolean value) {
-
- Trait t = findTraitOnEntityById(entity, key);
- if (t == null){
- t = internalCreateTrait(entity, key);
-
- BooleanValue val = TraitTypesFactory.eINSTANCE.createBooleanValue();
- val.setTrue(value);
-
- t.setValue(val);
- }
-
- }
-
- /**
- * @param entity
- * @param key
- * @return Trait
- */
- protected Trait internalCreateTrait(final Entity entity, final String key) {
- Trait t = MetadataFactory.eINSTANCE.createTrait();
- t.setId(key);
- t.setSourceModelProvider(_assistant.getSourceModelProvider());
- entity.getTraits().add(t);
- return t;
- }
-
- /**
- * @param entity
- * @param key
- * @return Trait
- */
- protected Trait findTraitOnEntityById(final Entity entity, final String key) {
- for (Iterator it=entity.getTraits().iterator();it.hasNext();){
- Trait t = (Trait)it.next();
- if (key.equals(t.getId()))
- return t;
- }
- return null;
- }
-
- /**
- * @param nodeName
- * @return Entity
- */
- protected Entity findTagEntity(final String nodeName) {
- for (Iterator it=getMergedModel().getChildEntities().iterator();it.hasNext();){
- Entity entity = (Entity)it.next();
- if (nodeName.equals(entity.getId()))
- return entity;
- }
- return null;
- }
-
- /**
- * @param tag
- * @param attributeName
- * @return Attribute entity for supplied attribute name and given Tag entity. Will return null if not found.
- */
- protected Entity findAttributeEntityForTagEntity(final Entity tag, final String attributeName) {
- for (Iterator it=tag.getChildEntities().iterator();it.hasNext();){
- Entity attr = (Entity)it.next();
- if (attributeName.equals(attr.getId()))
- return attr;
- }
- return null;
- }
- /**
- * Create entities for tags
- * @param tagLib
- */
- protected void createTags(final Namespace tagLib) {
- for (final ITagElement tag : tagLib.getViewElements()){
- Entity entity = findTagEntity(tag.getName());
- if (entity == null){
- entity = MetadataFactory.eINSTANCE.createEntity();
- entity.setId(getTagNodeName(tag));
- entity.setType("tag"); //$NON-NLS-1$
- getMergedModel().getChildEntities().add(entity);
- }
- setTagEntityTraits(tag, entity);
- }
-
- }
-
- /**
- * @param tag
- * @return tag node name
- */
- protected String getTagNodeName(final ITagElement tag) {
- return tag.getName();
- }
-
- /**
- * Sets the standard traits for a tag entity from the element declaration
- * @param tag
- * @param entity
- */
- protected void setTagEntityTraits(final ITagElement tag, final Entity entity) {
- createSimpleStringEntityTraitIfNecessary(entity, "display-label", getTagDisplayName(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "description", getTagDescription(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "small-icon", getTagSmallIcon(tag)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(entity, "large-icon", getTagLargeIcon(tag)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(entity, "expert", getTagIsExpert(tag)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(entity, "hidden", getTagIsHidden(tag)); //$NON-NLS-1$
-
- createAttributeEntities(entity, tag);
- }
-
- /**
- * @param tagEntity
- * @param tag
- */
- protected void createAttributeEntities(final Entity tagEntity, final
- ITagElement tag) {
-
- for (final ITagAttribute tagAttr : tag.getAttributes().values()){
- Entity attr = findAttributeEntityForTagEntity(tagEntity, tagAttr.getName());
- if (attr == null) {
- attr = MetadataFactory.eINSTANCE.createEntity();
- attr.setId(tagAttr.getName());
- tagEntity.getChildEntities().add(attr);
- }
- createAttributeTraits(attr, tagAttr);
- }
-
-
- }
-
- /**
- * @param attr
- * @param tagAttr
- */
- protected void createAttributeTraits(final Entity attr,
- final ITagAttribute tagAttr) {
-
- createSimpleStringEntityTraitIfNecessary(attr, "description", getTagAttributeDescription(tagAttr)); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(attr, "required", getTagAttributeIsRequired(tagAttr)); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(attr, "default-value", getTagAttributeDefaultValue(tagAttr)); //$NON-NLS-1$
- }
-
- /**
- * @param tagAttr
- * @return null. subclass should override if ITagAttribute has the metadata.
- */
- protected String getTagAttributeDescription(final ITagAttribute tagAttr) {return tagAttr.getDescription();}
-
- /**
- * @param tagAttr
- * @return false. subclass should override if ITagAttribute has the metadata.
- */
- protected boolean getTagAttributeIsRequired(final ITagAttribute tagAttr) {return tagAttr.isRequired();}
-
- /**
- * @param tagAttr
- * @return null. subclass should override if ITagAttribute has the metadata.
- */
- protected String getTagAttributeDefaultValue(final ITagAttribute tagAttr) {return null;}
-
- /**
- * @param tag
- * @return false. subclass should override if ITagElement has the metadata.
- */
- protected boolean getTagIsHidden(final ITagElement tag) {return false;}
-
- /**
- * @param tag
- * @return false. subclass should override if ITagElement has the metadata.
- */
- protected boolean getTagIsExpert(final ITagElement tag) {return false;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagLargeIcon(final ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagSmallIcon(ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return null. subclass should override if ITagElement has the metadata.
- */
- protected String getTagDescription(final ITagElement tag) {return null;}
-
- /**
- * @param tag
- * @return tag.getElementName()
- */
- protected String getTagDisplayName(ITagElement tag) {return tag.getName();}
-
- /**
- * Creates standard traits for tag file entity from CMDocument metadata
- * @param ns
- */
- protected void createTagfileTraits(final Namespace ns) {
- Model model = getMergedModel();
-
- createSimpleStringEntityTraitIfNecessary(model, "display-label", getNamespaceDisplayLabel()); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(model, "description", getNamespaceDescription()); //$NON-NLS-1$
- createSimpleStringEntityTraitIfNecessary(model, "default-prefix", getNamespaceDefaultPrefix()); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(model, "expert", getNamespaceExpert()); //$NON-NLS-1$
- createSimpleBooleanObjectEntityTraitIfNecessary(model, "hidden", getNamespaceHidden()); //$NON-NLS-1$
-
- }
-
- /**
- * @return the display label to use for this model. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDisplayLabel(){
- return getMergedModel().getId();
- }
-
- /**
- * @return default prefix to use for tags. Returns null. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDefaultPrefix(){
- return null;
- }
-
- /**
- * @return description to use. Default is the URI. Subclasses should override if model has the meta data.
- */
- protected String getNamespaceDescription(){
- return getMergedModel().getId();
- }
-
- /**
- * @return false. Subclasses should override if model has the meta data.
- */
- protected boolean getNamespaceExpert() { return false;}
-
- /**
- * @return false. Subclasses should override if model has the meta data.
- */
- protected boolean getNamespaceHidden() {
-// Model model = (Model)_assistant.getMergedModel().getRoot();
-// if (model != null) {
-// return model.getChildEntities().size() == 0 ? true : false;
-// }
- return false;
- }
-
- /**
- * @return a model of all entities and traits
- */
- protected Model getMergedModel() {
- Model model = (Model)_assistant.getMergedModel().getRoot();
- if (model == null){
- //need to create model key object
- Model tld = createTLDModel();
- _assistant.getMergedModel().setRoot(tld);
- model = (Model)_assistant.getMergedModel().getRoot();
- }
- return model;
- }
-
- /**
- * @return new model
- */
- protected Model createTLDModel() {
- final Model entity = getFactory().createModel();
- entity.setId(_assistant.getMergedModel().getModelContext().getModelIdentifier());
- return entity;
- }
-
- private MetadataFactory getFactory(){
- return (MetadataFactory) MetadataPackage.eINSTANCE.getEFactoryInstance();
- }
-
-}

Back to the top