1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.cloudloadbalancers.functions;
20
21 import org.jclouds.cloudloadbalancers.domain.LoadBalancer;
22 import org.jclouds.cloudloadbalancers.domain.LoadBalancer.Builder;
23
24 import com.google.common.base.Function;
25 import com.google.common.collect.Iterables;
26
27
28
29
30 public class ConvertLB implements Function<LB, LoadBalancer> {
31
32 private final String region;
33
34 ConvertLB(String region) {
35 this.region = region.toUpperCase();
36 }
37
38 @Override
39 public LoadBalancer apply(LB lb) {
40 Builder builder = LoadBalancer.builder().region(region).name(lb.getName()).port(lb.getPort()).protocol(
41 lb.getProtocol()).algorithm(lb.getAlgorithm()).nodes(lb.getNodes()).id(lb.id).status(lb.status)
42 .virtualIPs(lb.virtualIps);
43 if (lb.cluster.size() == 1)
44 builder.clusterName(Iterables.get(lb.cluster.values(), 0));
45 if (lb.sessionPersistence.size() == 1)
46 builder.sessionPersistenceType(Iterables.get(lb.sessionPersistence.values(), 0));
47 if (lb.created.size() == 1)
48 builder.created(Iterables.get(lb.created.values(), 0));
49 if (lb.updated.size() == 1)
50 builder.updated(Iterables.get(lb.updated.values(), 0));
51 if (lb.connectionLogging.size() == 1)
52 builder.connectionLoggingEnabled(Iterables.get(lb.connectionLogging.values(), 0));
53 return builder.build();
54 }
55
56 }