[savara-commits] savara SVN: r545 - in branches/experimental/2.0.x/bundles/org.savara.contract: META-INF and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Jan 7 11:53:40 EST 2011


Author: objectiser
Date: 2011-01-07 11:53:40 -0500 (Fri, 07 Jan 2011)
New Revision: 545

Added:
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGenerator.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGeneratorFactory.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/Messages.properties
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/osgi/
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/osgi/Activator.java
Removed:
   branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/model/osgi/
Modified:
   branches/experimental/2.0.x/bundles/org.savara.contract/.classpath
   branches/experimental/2.0.x/bundles/org.savara.contract/.project
   branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF
   branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml
Log:
Moved org.savara.protoco.contract (plugin) code into org.savara.contract bundle.

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/.classpath
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/.classpath	2011-01-07 16:36:08 UTC (rev 544)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/.classpath	2011-01-07 16:53:40 UTC (rev 545)
@@ -6,4 +6,5 @@
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.common/2.0.0-SNAPSHOT/org.scribble.common-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/scribble/bundles/org.scribble.protocol/2.0.0-SNAPSHOT/org.scribble.protocol-2.0.0-SNAPSHOT-sources.jar"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="src" path="/org.savara.core"/>
 </classpath>
\ No newline at end of file

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/.project
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/.project	2011-01-07 16:36:08 UTC (rev 544)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/.project	2011-01-07 16:53:40 UTC (rev 545)
@@ -1,5 +1,5 @@
 <projectDescription>
-  <name>org.savara.contract.model</name>
+  <name>org.savara.contract</name>
   <comment>The SAVARA project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
   <projects/>
   <buildSpec>

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF	2011-01-07 16:36:08 UTC (rev 544)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/META-INF/MANIFEST.MF	2011-01-07 16:53:40 UTC (rev 545)
@@ -1,11 +1,12 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: SAVARA Contract Model
-Bundle-SymbolicName: org.savara.contract.model
-Bundle-Version: 2.0.0.qualifier
-Bundle-Activator: org.savara.contract.model.osgi.Activator
+Bundle-Name: SAVARA Contract
+Bundle-SymbolicName: org.savara.contract
+Bundle-Version: 2.0.0.SNAPSHOT
+Bundle-Activator: org.savara.contract.osgi.Activator
 Bundle-Vendor: www.savara.org
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.osgi.framework
-Require-Bundle: org.scribble.common
+Require-Bundle: org.scribble.common,
+ org.savara.core
 Export-Package: org.savara.contract.model

Modified: branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml	2011-01-07 16:36:08 UTC (rev 544)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/pom.xml	2011-01-07 16:53:40 UTC (rev 545)
@@ -2,10 +2,10 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.savara.bundles</groupId>
-	<artifactId>org.savara.contract.model</artifactId> 
+	<artifactId>org.savara.contract</artifactId> 
 	<version>2.0.0-SNAPSHOT</version>
 	<packaging>jar</packaging>
-	<name>Savara::Bundles::ContractModel</name>
+	<name>Savara::Bundles::Contract</name>
 
 	<parent>
 		<groupId>org.savara</groupId>

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGenerator.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGenerator.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGenerator.java	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.savara.contract.generator;
+
+import org.savara.contract.model.Contract;
+import org.scribble.protocol.model.Protocol;
+
+/**
+ * This interface represents the capability that generates a contract
+ * from a protocol associated with a particular interacting role.
+ * 
+ */
+public interface ContractGenerator {
+
+	/**
+	 * This method generates a contract associated with a supplied located
+	 * protocol.
+	 * 
+	 * @param cm The protocol
+	 * @return The contract
+	 */
+	public Contract generate(Protocol cm) throws IllegalArgumentException;
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGeneratorFactory.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGeneratorFactory.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/ContractGeneratorFactory.java	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.savara.contract.generator;
+
+import org.savara.contract.generator.impl.ContractGeneratorImpl;
+
+/**
+ * This class provides access to a contract generator.
+ * 
+ */
+public class ContractGeneratorFactory {
+
+	/**
+	 * This method returns an instance of the ContractGenerator
+	 * interface.
+	 * 
+	 * @return The contract generator
+	 */
+	public static ContractGenerator getContractGenerator() {
+		return(new ContractGeneratorImpl());
+	}
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/Messages.properties
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/Messages.properties	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/Messages.properties	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,20 @@
+#/*
+# * JBoss, Home of Professional Open Source
+# * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+# * by the @authors tag. All rights reserved.
+# * See the copyright.txt in the distribution for a
+# * full listing of individual contributors.
+# * This copyrighted material is made available to anyone wishing to use,
+# * modify, copy, or redistribute it subject to the terms and conditions
+# * of the GNU Lesser General Public License, v. 2.1.
+# * This program is distributed in the hope that it will be useful, but WITHOUT A
+# * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+# * You should have received a copy of the GNU Lesser General Public License,
+# * v.2.1 along with this distribution; if not, write to the Free Software
+# * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# * MA  02110-1301, USA.
+# */
+
+SAVARAPC-00001=Protocol must be supplied
+SAVARAPC-00002=Contract generation requires a protocol that represents the local behaviour associated with a particular role

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractGeneratorImpl.java	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.savara.contract.generator.impl;
+
+import java.text.MessageFormat;
+
+import org.savara.contract.model.Contract;
+import org.savara.contract.generator.ContractGenerator;
+import org.scribble.protocol.model.Protocol;
+
+/**
+ * This class generates a contract from a protocol defining the behaviour of
+ * multiple interacting roles.
+ * 
+ */
+public class ContractGeneratorImpl implements ContractGenerator {
+
+	/**
+	 * This method generates a contract associated with a supplied located
+	 * protocol.
+	 * 
+	 * @param cm The protocol
+	 * @return The contract
+	 */
+	public Contract generate(Protocol cm) throws IllegalArgumentException {
+		
+		// Check parameters
+		if (cm == null) {
+			throw new IllegalArgumentException(MessageFormat.format(
+					java.util.PropertyResourceBundle.getBundle(
+						"org.savara.protocol.contract.Messages").
+							getString("SAVARAPC-00001"), (Object)null));
+			
+		} else if (cm.getRole() == null) {
+			throw new IllegalArgumentException(MessageFormat.format(
+					java.util.PropertyResourceBundle.getBundle(
+						"org.savara.protocol.contract.Messages").
+							getString("SAVARAPC-00002"), (Object)null));
+		}
+		
+		ContractIntrospector introspector=new ContractIntrospector(cm);
+		
+		introspector.process();
+		
+		return(introspector.getContract());
+	}
+	
+}

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/generator/impl/ContractIntrospector.java	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.savara.contract.generator.impl;
+
+import java.text.MessageFormat;
+import java.util.logging.Logger;
+
+import org.savara.contract.model.Contract;
+import org.savara.contract.model.Interface;
+import org.savara.contract.model.MessageExchangePattern;
+import org.savara.contract.model.OneWayRequestMEP;
+import org.savara.contract.model.RequestResponseMEP;
+import org.savara.contract.model.Type;
+import org.savara.contract.model.TypeDefinition;
+import org.savara.model.util.InteractionUtil;
+import org.scribble.protocol.model.AbstractModelObjectVisitor;
+import org.scribble.protocol.model.Protocol;
+import org.scribble.protocol.model.Interaction;
+import org.scribble.protocol.model.Run;
+import org.scribble.protocol.model.ModelObject;
+import org.scribble.protocol.model.Role;
+import org.scribble.protocol.model.TypeReference;
+
+/**
+ * This class examines a protocol to determine the contract that represents
+ * the static functional interface to the role's behaviour.
+ *
+ */
+public class ContractIntrospector extends AbstractModelObjectVisitor {
+
+	private Contract m_contract=new Contract();
+	private java.util.Set<Protocol> m_processedProtocols=null;
+	private Role m_role=null;
+	private Protocol m_protocol=null;
+	
+	private static Logger logger = Logger.getLogger(ContractIntrospector.class.getName());	
+	
+	/**
+	 * Constructor for the contract introspector.
+	 * 
+	 * @param protocol The protocol to introspect
+	 */
+	public ContractIntrospector(Protocol protocol) {
+		this(protocol, null, null);
+	}
+	
+	/**
+	 * Constructor for the contract introspector.
+	 * 
+	 * @param protocol The protocol being introspected
+	 * @param contract The optional contract being derived
+	 * @param processed The optional set of protocols currently processed
+	 */
+	public ContractIntrospector(Protocol protocol, Contract contract,
+						java.util.Set<Protocol> processed) {
+		m_contract = contract;
+		
+		if (m_contract == null) {
+			m_contract = new Contract();
+		}
+		
+		if (processed != null) {
+			m_processedProtocols = processed;
+		} else {
+			m_processedProtocols = new java.util.HashSet<Protocol>();
+		}
+		
+		m_protocol = protocol;
+		
+		if (protocol != null) {
+			m_role = protocol.getRole();
+		}
+	}
+	
+	/**
+	 * This method returns the contract being derived.
+	 * 
+	 * @return The contract
+	 */
+	public Contract getContract() {
+		return(m_contract);
+	}
+	
+	/**
+	 * This method returns the interface.
+	 * 
+	 * @return The interface
+	 */
+	public Interface getInterface() {
+		Interface ret=getContract().getInterface(m_role.getName());
+		
+		if (ret == null) {
+			// Create interface for the role
+			ret = new Interface();
+			ret.setName(m_role.getName());
+			
+			getContract().getInterfaces().add(ret);
+		}
+		
+		return(ret);
+	}
+	
+	/**
+	 * This method returns the set of processed protocols.
+	 * 
+	 * @return The processed protocols
+	 */
+	public java.util.Set<Protocol> getProcessedProtocols() {
+		return(m_processedProtocols);
+	}
+	
+	/**
+	 * This method introspects the supplied protocol to derive information
+	 * that can be used to define the functional contract for the role
+	 * associated with the protocol.
+	 * 
+	 * @param conv The located protocol
+	 */
+	public void process() throws IllegalStateException {
+		
+		if (m_protocol == null) {
+			throw new IllegalStateException(MessageFormat.format(
+					java.util.PropertyResourceBundle.getBundle(
+						"org.savara.protocol.contract.Messages").
+							getString("SAVARAPC-00001"), (Object)null));
+		}
+		
+		m_protocol.visit(this);
+	}
+	
+	public boolean process(ModelObject obj) {
+		boolean f_visitChildren=true;
+		
+		if (obj.getClass() == Protocol.class) {
+			
+			// Only visit children if same protocol that is being visited
+			f_visitChildren = (obj == m_protocol);
+			
+		} else if (obj.getClass() == Run.class) {
+			Run run=(Run)obj;
+			
+			Protocol toProtocol=run.getProtocol();
+			
+			// Check if protocol already processed to avoid stack overflow
+			if (m_processedProtocols.contains(toProtocol) == false) {
+				m_processedProtocols.add(toProtocol);
+
+				ContractIntrospector ci=new ContractIntrospector(toProtocol,
+							getContract(), getProcessedProtocols());
+					
+				ci.process();
+			} else {
+				logger.fine("Invoked definition not found for "+run.getProtocolReference());
+			}
+		} else if (obj.getClass() == Interaction.class) {
+			accept((Interaction)obj);
+		}
+		
+		return(f_visitChildren);
+	}
+
+	/**
+	 * This method introspects the supplied interaction to generate Message Exchange
+	 * Patterns on the contract interface.
+	 * 
+	 * @param interaction The interaction
+	 */
+	public void accept(Interaction interaction) {
+		
+		// Check if the interacton is being received
+		if (interaction.getFromRole() != null &&
+				interaction.getFromRole().equals(m_role) == false) {
+			
+			// Received by the role, but need to check if its replyTo
+			// has been set, indicating it is receiving a response
+			if (InteractionUtil.getReplyToLabel(interaction) == null ||
+					InteractionUtil.getReplyToLabel(interaction).trim().length() == 0) {
+				
+				// Receiving a request - so record this in the contract
+				Interface intf=getInterface();
+				
+				if (interaction.getMessageSignature().getOperation() != null) {
+					
+					// Check if message exchange pattern exists for operation
+					MessageExchangePattern mep=intf.getMessageExchangePatternForOperation(
+								interaction.getMessageSignature().getOperation());
+					
+					if (mep == null) {
+						// Create new MEP
+						if (InteractionUtil.getRequestLabel(interaction) != null) {
+							mep = new RequestResponseMEP();
+						} else {
+							mep = new OneWayRequestMEP();
+						}
+						
+						mep.setOperation(interaction.getMessageSignature().getOperation());
+						
+						for (int i=0; i < interaction.getMessageSignature().getTypeReferences().size(); i++) {
+							mep.getTypes().add(convertType(interaction.getMessageSignature().getTypeReferences().get(i)));
+						}
+						
+						intf.getMessageExchangePatterns().add(mep);
+					}
+				}
+
+			} else {
+				
+			}
+		}
+	}
+	
+	/**
+	 * This method converts a protocol type reference into a contract model type.
+	 * 
+	 * @param tref The protocol type reference
+	 * @return The type
+	 */
+	public Type convertType(TypeReference tref) {
+		Type ret=new Type();
+		
+		TypeDefinition td=new TypeDefinition();
+		td.setName(tref.getLocalpart());
+		td.setNamespace(tref.getNamespace());
+		//td.setTypeSystem(typeSystem);
+		
+		ret.getTypeDefinitions().add(td);
+		ret.setName(td.getName());
+		
+		return(ret);
+	}
+}

Added: branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/osgi/Activator.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/osgi/Activator.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.contract/src/main/java/org/savara/contract/osgi/Activator.java	2011-01-07 16:53:40 UTC (rev 545)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.savara.contract.osgi;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+	}
+
+}



More information about the savara-commits mailing list