View Javadoc

1   /*
2    * $Id: SocketEndpointBuilder.java 7976 2007-08-21 14:26:13Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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  
11  package org.mule.impl.endpoint;
12  
13  import org.mule.umo.endpoint.MalformedEndpointException;
14  
15  import java.net.URI;
16  import java.util.Properties;
17  
18  /**
19   * <code>SocketEndpointBuilder</code> builds an endpointUri based on host and port
20   * only
21   */
22  public class SocketEndpointBuilder extends AbstractEndpointBuilder
23  {
24      protected void setEndpoint(URI uri, Properties props) throws MalformedEndpointException
25      {
26          // set the endpointUri to be a proper url if host and port are set
27          if (uri.getPort() == -1)
28          {
29              // try the form tcp://6666
30              try
31              {
32                  int port = Integer.parseInt(uri.getHost());
33                  this.address = uri.getScheme() + "://localhost:" + port;
34              }
35              catch (NumberFormatException e)
36              {
37                  // ignore
38              }
39          }
40  
41          if (address == null)
42          {
43              this.address = uri.getScheme() + "://" + uri.getHost();
44              if (uri.getPort() != -1)
45              {
46                  this.address += ":" + uri.getPort();
47              }
48          }
49      }
50  }