View Javadoc

1   /*
2    * $Id: ConnectorPropertyEditor.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.config.spring.editors;
11  
12  import org.mule.api.MuleContext;
13  import org.mule.api.transport.Connector;
14  import org.mule.config.i18n.CoreMessages;
15  
16  import java.beans.PropertyEditorSupport;
17  
18  /**
19   * Translates a connector name property into the corresponding {@link org.mule.api.transport.Connector}
20   * instance.
21   *
22   * TODO - Why isn't this simply a reference?
23   */
24  public class ConnectorPropertyEditor extends PropertyEditorSupport
25  {
26      private MuleContext muleContext;
27  
28      public ConnectorPropertyEditor(MuleContext muleContext)
29      {
30          this.muleContext = muleContext;
31      }
32  
33      public void setAsText(String text)
34      {
35  
36          Connector connector = muleContext.getRegistry().lookupConnector(text);
37  
38          if (connector == null)
39          {
40              throw new IllegalArgumentException(CoreMessages.objectNotRegistered("Connector", text).getMessage());
41          }
42          setValue(connector);
43      }
44  }