diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java deleted file mode 100644 index 975775f50..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/view/mapping/ViewMetadataGenerator.java +++ /dev/null @@ -1,202 +0,0 @@ -package org.eclipse.jst.jsf.designtime.internal.view.mapping; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.util.BasicExtendedMetaData; -import org.eclipse.emf.ecore.util.ExtendedMetaData; -import org.eclipse.emf.ecore.xmi.XMLHelper; -import org.eclipse.emf.ecore.xmi.XMLResource; -import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl; -import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl; -import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; -import org.eclipse.jst.jsf.common.metadata.Entity; -import org.eclipse.jst.jsf.common.metadata.MetadataFactory; -import org.eclipse.jst.jsf.common.metadata.MetadataPackage; -import org.eclipse.jst.jsf.common.metadata.Model; -import org.eclipse.jst.jsf.common.metadata.Trait; -import org.eclipse.jst.jsf.common.runtime.internal.model.types.ClassTypeInfo; -import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ClassTypeInfo_; -import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingFactory; -import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.ComponentMappingPackage; -import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagMapping; -import org.eclipse.jst.jsf.designtime.internal.view.mapping.viewmapping.TagToViewObjectMapping; - -/** - * Generates View metadata from common.runtime objects. - * - * @author cbateman - * - */ -public class ViewMetadataGenerator -{ - private final ResourceSet _resourceSet; - private final ExtendedMetaData _extendedMetadata; - private final Model _root; - private final ViewMetadataMapper _mapper; - - /** - * @param uri - */ - public ViewMetadataGenerator(final String uri) - { - _root = MetadataFactory.eINSTANCE.createModel(); - _root.setId(uri); - _root.setType("tagFile"); //$NON-NLS-1$ - _resourceSet = new ResourceSetImpl(); - _mapper = new ViewMetadataMapper(); - _extendedMetadata = new BasicExtendedMetaData(_resourceSet - .getPackageRegistry()); - - // Register the appropriate resource factory to handle all file - // extensions. - // - _resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap() - .put(Resource.Factory.Registry.DEFAULT_EXTENSION, - new XMLResourceFactoryImpl()); - } - - /** - * The format of the strings should match OSGI version: - * - * MAJOR . MINOR . BUILD . QUALIFIER - * - * @param tagName - * @param typeInfo - * @param minJSFVersion - * the minimum JSF version, null for DEFAULT. - * @param minLibVersion - * the minimum library version, null for NONE. - */ - public void addTagToViewObjectMapping(final String tagName, - final ClassTypeInfo typeInfo, final String minJSFVersion, - final String minLibVersion) - { - final ClassTypeInfo_ metadata = _mapper.mapToMetadata(typeInfo); - - if (metadata != null) - { - final TagToViewObjectMapping viewMapping = - ComponentMappingFactory.eINSTANCE.createTagToViewObjectMapping(); - if (minJSFVersion != null) - { - viewMapping.setMinJSFVersion(minJSFVersion); - } - viewMapping.setMinLibraryVersion(minLibVersion); - viewMapping.setTypeInfo(metadata); - - final TagMapping tagMapping = findOrCreateTagMapping(tagName); - tagMapping.getVersionedTagToViewMappings().add(viewMapping); - - final Trait trait = MetadataFactory.eINSTANCE.createTrait(); - trait.setId(ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID); - trait.setValue(tagMapping); - - final Entity entity = MetadataFactory.eINSTANCE.createEntity(); - entity.setId(tagName); - entity.setType("tag"); //$NON-NLS-1$ - entity.getTraits().add(trait); - - _root.getChildEntities().add(entity); - } - } - - private TagMapping findOrCreateTagMapping(final String tagName) - { - for (final Entity entity : (List<Entity>)_root.getChildEntities()) - { - if (entity.getId().equals(tagName)) - { - for (final Trait trait : (List<Trait>)entity.getTraits()) - { - if (trait.getId().equals(ViewMetadataMapper.DEFAULT_MAPPING_TRAIT_ID)) - { - return (TagMapping) trait.getValue(); - } - } - } - } - return ComponentMappingFactory.eINSTANCE.createTagMapping(); - } - - /** - * @param out - * @throws IOException - */ - public void save(final OutputStream out) throws IOException - { - final Resource res = new XMLResourceImpl() - { - @Override - protected XMLHelper createXMLHelper() - { - return new XMLHelperImpl() - { - public String getHREF(EObject obj) - { - return ComponentMappingPackage.eNS_URI; - } - - @Override - public EPackage getNoNamespacePackage() - { - return MetadataPackage.eINSTANCE; - } - }; - } - };// _resourceSet.createResource(URI.createURI("foo.xml")); - res.getContents().add(_root); - // res.setURI(uri); - // resourceSet.getResources().add(res); - // setLoadOptions(res); - Map options = new HashMap(); - options.put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE); - options.put(XMLResource.OPTION_EXTENDED_META_DATA, _extendedMetadata); - // options.put(XMLResource.OPTION_RESOURCE_HANDLER, res); - options.put(XMLResource.OPTION_LAX_FEATURE_PROCESSING, Boolean.TRUE); - options.put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.FALSE);// turning - // this - // off - // so - // that - // res.getErrors() - // has - // values - // to - // check! - // bizarre - // that - // I - // should - // need - // to - // do - // this. - res.save(out, options); - } - - // private void printHeader(final OutputStream out) throws IOException - // { - // final String header = "<md:metadatamodel \n" - // + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" - // + "xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\"" - // + - // "xmlns:md=\"http://org.eclipse.jst.jsf.common.metadata/metadata.ecore\"" - // + - // "xmlns:mdt=\"http://org.eclipse.jst.jsf.common.metadata/metadataTraitTypes.ecore\" - // " - // + - // "xmlns:viewMap=\"http://org.eclipse.jst.jsf.core/componentMapping.ecore\"" - // + "id=\"http://java.sun.com/jsf/html\"" - // + "type\"tagFile\">"; - // out.write(header.getBytes()); - // } -} |