/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ /** * */ package org.ebayopensource.turmeric.repositorysystem.imp.impl; import java.io.File; import java.io.InputStream; import java.util.List; import javax.xml.bind.JAXB; import org.ebayopensource.turmeric.common.config.LibraryType; import org.ebayopensource.turmeric.common.config.ReferredType; import org.ebayopensource.turmeric.common.config.ReferredTypeLibraryType; import org.ebayopensource.turmeric.common.config.TypeDependencyType; import org.ebayopensource.turmeric.common.config.TypeLibraryDependencyType; import org.ebayopensource.turmeric.common.config.TypeLibraryType; import org.ebayopensource.turmeric.eclipse.maven.core.repositorysystem.AbstractMavenTypeRegistryBridge; import org.ebayopensource.turmeric.eclipse.soatools.Activator; import org.ebayopensource.turmeric.eclipse.utils.collections.ListUtil; import org.ebayopensource.turmeric.repositorysystem.imp.utils.TurmericConstants; import org.ebayopensource.turmeric.tools.library.SOAGlobalRegistryFactory; import org.ebayopensource.turmeric.tools.library.SOATypeRegistry; import org.ebayopensource.turmeric.tools.library.TypeDependencyParser; import org.osgi.framework.Bundle; /** * The Class TurmericTypeRegistryBridge. * * @author yayu */ public class TurmericTypeRegistryBridge extends AbstractMavenTypeRegistryBridge { /** * Instantiates a new turmeric type registry bridge. */ public TurmericTypeRegistryBridge() { super(); } /** * {@inheritDoc} */ public String getTypeDependencyWsdlTypeName() { return TurmericConstants.TYPE_NAME_CONST_FOR_ALL_WSDL; } /** * {@inheritDoc} */ public List<Bundle> getPluginBundles() { return ListUtil.arrayList( Activator.getDefault().getBundle()); } /** * {@inheritDoc} */ public SOATypeRegistry getSOATypeRegistry() { return SOAGlobalRegistryFactory.getSOATypeRegistryInstance(); } /** * {@inheritDoc} */ public void processTypeDepXMLFile(String libraryName) throws Exception { TypeDependencyParser.getInstance().processTypeDepXMLFile(libraryName); } /** * {@inheritDoc} */ public LibraryType createLibraryTypeInstance() { return new LibraryType(); } /** * {@inheritDoc} */ public TypeDependencyType createTypeDependencyTypeInstance() { return new TypeDependencyType(); } /** * {@inheritDoc} */ public ReferredType createReferredTypeInstance() { return new ReferredType(); } /** * {@inheritDoc} */ public ReferredTypeLibraryType createReferredTypeLibraryTypeInstance() { return new ReferredTypeLibraryType(); } /** * {@inheritDoc} */ public TypeLibraryDependencyType unmarshalTypeLibraryDependencyType( InputStream inputStream) { return JAXB.unmarshal(inputStream, TypeLibraryDependencyType.class); } /** * {@inheritDoc} */ public TypeLibraryType unmarshalTypeInformationType(InputStream inputStream) { return JAXB.unmarshal(inputStream, TypeLibraryType.class); } /** * {@inheritDoc} */ public void marshalTypeLibraryDependencyType( TypeLibraryDependencyType type, File xmlFile) { JAXB.marshal(type, xmlFile); } /** * {@inheritDoc} */ public TypeLibraryDependencyType createTypeLibraryDependencyTypeInstance() { return new TypeLibraryDependencyType(); } }