| 1 | /** | 
| 2 |  * | 
| 3 |  * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com> | 
| 4 |  * | 
| 5 |  * ==================================================================== | 
| 6 |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
| 7 |  * you may not use this file except in compliance with the License. | 
| 8 |  * You may obtain a copy of the License at | 
| 9 |  * | 
| 10 |  * http://www.apache.org/licenses/LICENSE-2.0 | 
| 11 |  * | 
| 12 |  * Unless required by applicable law or agreed to in writing, software | 
| 13 |  * distributed under the License is distributed on an "AS IS" BASIS, | 
| 14 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| 15 |  * See the License for the specific language governing permissions and | 
| 16 |  * limitations under the License. | 
| 17 |  * ==================================================================== | 
| 18 |  */ | 
| 19 | package org.jclouds.compute; | 
| 20 |   | 
| 21 | import static org.jclouds.Constants.PROPERTY_API_VERSION; | 
| 22 | import static org.jclouds.Constants.PROPERTY_ENDPOINT; | 
| 23 | import static org.jclouds.Constants.PROPERTY_IDENTITY; | 
| 24 |   | 
| 25 | import java.util.List; | 
| 26 | import java.util.Properties; | 
| 27 |   | 
| 28 | import org.jclouds.PropertiesBuilder; | 
| 29 | import org.jclouds.compute.config.StandaloneComputeServiceClientModule; | 
| 30 |   | 
| 31 | import com.google.inject.Module; | 
| 32 |   | 
| 33 | /** | 
| 34 |  *  | 
| 35 |  * @author Adrian Cole | 
| 36 |  */ | 
| 37 | public class StandaloneComputeServiceContextBuilder<D> extends ComputeServiceContextBuilder<D, D> { | 
| 38 |   | 
| 39 |    public StandaloneComputeServiceContextBuilder(Class<D> driverClass, Properties props) { | 
| 40 |       super(driverClass, driverClass, props); | 
| 41 |       if (properties.size() == 0) | 
| 42 |          properties.putAll(new PropertiesBuilder().build()); | 
| 43 |       if (!properties.containsKey("jclouds.provider")) | 
| 44 |          properties.setProperty("jclouds.provider", "standalone"); | 
| 45 |       if (!properties.containsKey(PROPERTY_ENDPOINT)) | 
| 46 |          properties.setProperty(PROPERTY_ENDPOINT, "standalone"); | 
| 47 |       if (!properties.containsKey(PROPERTY_API_VERSION)) | 
| 48 |          properties.setProperty(PROPERTY_API_VERSION, "1"); | 
| 49 |       if (!properties.containsKey(PROPERTY_IDENTITY)) | 
| 50 |          properties.setProperty(PROPERTY_IDENTITY, System.getProperty("user.name")); | 
| 51 |    } | 
| 52 |   | 
| 53 |    @Override | 
| 54 |    protected void addClientModule(List<Module> modules) { | 
| 55 |       modules.add(new StandaloneComputeServiceClientModule<D>(syncClientType)); | 
| 56 |    } | 
| 57 |   | 
| 58 | } |