View Javadoc

1   /*
2    * Copyright  1999-2004 The Apache Software Foundation.
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   *
16   */
17  
18  package org.apache.savan.util;
19  
20  import org.apache.savan.SavanConstants;
21  import org.apache.savan.SavanException;
22  import org.apache.savan.SavanMessageContext;
23  import org.apache.savan.configuration.ConfigurationManager;
24  import org.apache.savan.configuration.Protocol;
25  
26  /***
27   * Utility class to extract the Protocol type from a MessageContext
28   */
29  public class ProtocolManager {
30  
31  	public static Protocol getMessageProtocol (SavanMessageContext smc) throws SavanException {
32  		//TODO to this depending on Protocol rules. //TODO make this algorithm efficient
33  		
34  		ConfigurationManager configurationManager = (ConfigurationManager) smc.getConfigurationContext().getProperty(SavanConstants.CONFIGURATION_MANAGER);
35  		if (configurationManager==null)
36  			throw new SavanException ("Cant find the Configuration Manager");
37  		
38  		return (Protocol) configurationManager.getProtocolMap().get("eventing");
39  		
40  	}
41  	
42  }