You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2013/12/16 06:28:42 UTC
[2/2] git commit: making PartitonManager Singleton, efficiently
making PartitonManager Singleton, efficiently
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/902f06c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/902f06c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/902f06c6
Branch: refs/heads/master
Commit: 902f06c654331f4f96c9247946e878f67ac82d70
Parents: a1b99dd
Author: Nirmal Fernando <ni...@apache.org>
Authored: Mon Dec 16 10:16:14 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Mon Dec 16 10:17:23 2013 +0530
----------------------------------------------------------------------
.../autoscaler/partition/PartitionManager.java | 69 ++------------------
1 file changed, 7 insertions(+), 62 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/902f06c6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
index b80e46e..55205a9 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
@@ -43,39 +43,24 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
// Partitions against partitionID
private static Map<String,Partition> partitions = new HashMap<String, Partition>();
-// private List<NetworkPartitionContext> networkPartitions;
-
- /*
- * Key - partition id
- * Value - reference to NetworkPartition
- */
-// private Map<String, NetworkPartitionContext> partitionIdToNetworkPartition;
-
-
/*
* Key - network partition id
* Value - reference to NetworkPartition
*/
private Map<String, NetworkPartitionContext> networkPartitionContexts;
- private static PartitionManager instance;
+ private static class Holder {
+ static final PartitionManager INSTANCE = new PartitionManager();
+ }
+
+ public static PartitionManager getInstance(){
+ return Holder.INSTANCE;
+ }
private PartitionManager(){
networkPartitionContexts = new HashMap<String, NetworkPartitionContext>();
-// networkPartitions = new ArrayList<NetworkPartitionContext>();
-// partitionIdToNetworkPartition = new HashMap<String, NetworkPartitionContext>();
}
- public static PartitionManager getInstance(){
- if (instance == null) {
- synchronized (PartitionManager.class) {
- if (instance == null) {
- instance = new PartitionManager();
- }
- }
- }
- return instance;
- }
public boolean partitionExist(String partitionId){
return partitions.containsKey(partitionId);
@@ -110,49 +95,10 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
partitions.put(partition.getId(), partition);
}
-// public NetworkPartitionContext getNetworkPartitionOfPartition(String partitionId) {
-// return this.partitionIdToNetworkPartition.get(partitionId);
-// }
-
public NetworkPartitionContext getNetworkPartition(String networkPartitionId) {
return this.networkPartitionContexts.get(networkPartitionId);
}
-// public List<NetworkPartitionContext> getAllNetworkPartitions() {
-// return this.networkPartitions;
-// }
-
-// /**
-// * TODO make {@link NetworkPartitionContext}s extensible.
-// * @param partition
-// */
-// protected NetworkPartitionContext getOrAddNetworkPartition(Partition partition) {
-//
-// if(partition == null) {
-// return null;
-// }
-// String provider = partition.getProvider();
-// String region = null;
-// Properties properties = partition.getProperties();
-// if (properties != null) {
-// for (Property prop : properties.getProperties()) {
-// if(Constants.REGION_PROPERTY.equals(prop.getName())) {
-// region = prop.getValue();
-// break;
-// }
-// }
-// }
-// NetworkPartitionContext networkPar = new NetworkPartitionContext(provider, region);
-// if(!this.networkPartitions.contains(networkPar)){
-// this.networkPartitions.add(networkPar);
-// } else {
-// int idx = this.networkPartitions.indexOf(networkPar);
-// networkPar = this.networkPartitions.get(idx);
-// }
-//
-// return networkPar;
-// }
-
public Partition getPartitionById(String partitionId){
if(partitionExist(partitionId))
return partitions.get(partitionId);
@@ -161,7 +107,6 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
}
public Partition[] getAllPartitions(){
- //return Collections.unmodifiableList(new ArrayList<Partition>(partitions.values()));
return partitions.values().toArray(new Partition[0]);
}