View Javadoc

1   /***
2    * 
3    * Copyright 2004 Hiram Chirino
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.activeio.oneport;
19  
20  import org.omg.PortableInterceptor.ORBInitInfo;
21  import org.openorb.orb.pi.FeatureInitInfo;
22  import org.openorb.orb.pi.FeatureInitializer;
23  
24  /***
25   * Used to hook in the OpenORBOpenPortSocketFactory into the ORB.
26   */
27  public class OpenORBOpenPortFeatureInitializer implements FeatureInitializer {
28      
29      static final private ThreadLocal socketFatory = new ThreadLocal();
30      
31      static public void setContextSocketFactory( OpenORBOpenPortSocketFactory sf ) {
32          socketFatory.set(sf);
33      }
34      
35      public void init(ORBInitInfo orbinfo, FeatureInitInfo featureinfo) {
36          OpenORBOpenPortSocketFactory sf = (OpenORBOpenPortSocketFactory) socketFatory.get();
37          if( sf!=null ) {
38              featureinfo.setFeature("IIOP.SocketFactory", sf);                    
39          }
40      }
41  }