Home | History | Annotate | Download | only in sasl
      1 /*
      2  *
      3  * Licensed to the Apache Software Foundation (ASF) under one
      4  * or more contributor license agreements.  See the NOTICE file
      5  * distributed with this work for additional information
      6  * regarding copyright ownership.  The ASF licenses this file
      7  * to you under the Apache License, Version 2.0 (the
      8  * "License"); you may not use this file except in compliance
      9  * with the License.  You may obtain a copy of the License at
     10  *
     11  *   http://www.apache.org/licenses/LICENSE-2.0
     12  *
     13  * Unless required by applicable law or agreed to in writing,
     14  * software distributed under the License is distributed on an
     15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     16  * KIND, either express or implied.  See the License for the
     17  * specific language governing permissions and limitations
     18  * under the License.
     19  *
     20  */
     21 package org.apache.qpid.management.common.sasl;
     22 
     23 import org.apache.harmony.javax.security.auth.callback.CallbackHandler;
     24 import org.apache.harmony.javax.security.sasl.SaslClient;
     25 import org.apache.harmony.javax.security.sasl.SaslClientFactory;
     26 import org.apache.harmony.javax.security.sasl.SaslException;
     27 import java.util.Map;
     28 
     29 public class ClientSaslFactory implements SaslClientFactory
     30 {
     31     public SaslClient createSaslClient(String[] mechs, String authorizationId, String protocol,
     32                                        String serverName, Map props, CallbackHandler cbh)
     33     throws SaslException
     34     {
     35         for (int i = 0; i < mechs.length; i++)
     36         {
     37             if (mechs[i].equals("PLAIN"))
     38             {
     39                 return new PlainSaslClient(authorizationId, cbh);
     40             }
     41         }
     42         return null;
     43     }
     44 
     45     /**
     46      * Simple-minded implementation that ignores props
     47      */
     48     public String[] getMechanismNames(Map props)
     49     {
     50         return new String[]{"PLAIN"};
     51     }
     52 
     53 }
     54