{"push_id":799347592,"size":1,"distinct_size":1,"ref":"refs/heads/aux","head":"146d9b08f1a5d66e2456c7f4b21c142a9fdda91b","before":"d27d2e2542faa4f6fbab6b2d55349737a7e69633","commits":[{"sha":"146d9b08f1a5d66e2456c7f4b21c142a9fdda91b","author":{"email":"016834f7e2e097eae7b19eaec53c34bcfadfe2a8@gmail.com","name":"Kiuby88"},"message":"Adding CloudFoundryLocation.\n\nFor adding PaaS support, a CloudFoundryLocation is added which is based on PaasLocation.\nThis new location contains a API client for CloudFoundry Paas Services, (CloudFoundry Java Client), that allows\nto use the services of this provider.\n\nExtracting ssh behaviour from SoftwareProcessImpl: provisioning flags\n\nFor adding paas support, SoftwareProcess entities should to be agnostics in order to allows to be deployed\non SSH and PaaS locations. So, the machine behaviour and management should be decoupled of the entities\nand it should be moved to an isolate class.\n\nSoftwareProcessImpl contained a pair of method for obtaining the needed flags to create and configure a VM.\nHowever as it was mentioned previously, this entity shouldn't contain any ssh (machine) behaviour. Then, this\ncode is moved to an external class, MachineProvisioningLocationFlagsSupplier that is managed in\nSoftwareProcessImpl as a LocationFlagSupplier interface. Moreover, an equivalent class is added to represent\nthis behaviour (obtain flags location) for PaaS.\n\nSoftwareProcessImpl will select a behaviour for obtaining the flags depending on the selected location for deploying\nthe entity.\n\nAdding BehaviourFactory for selecting PaaS or SSH behaviour in run time.\n\nFollowing the previous commits, SoftwareProcessImpl entities should select PaaS or SSH behaviour in run time,\ndepending on the target location. An entity know the target location when it is started (calling to start effector), then just\nwhen this effector is called the entity will able to know the selected location, so in this moment the entity will able to find\nthe required behaviour, SSH or PaaS.\n\nThe whole behaviour is composed by several classes, then SoftwareProcessImpl uses a factory (BehaviourFactory) which is selected according\nto the target location. This factory allows to select in run time all behaviour focus in a location.\n\nAdding PaaS support to TomcatServer entity.\n\nThe drivers for CloudFoundry are added to SoftwareProcess entity and JavaWebAppSoftwareProcess implementation entity.\nThe final PaaS support is added to TomcatServer entity using a new driver which is focused on CloudFoundryPaaSLocation.\n\nA new hierarchy of drivers is added to Brooklyn, these new drivers is oriented to PaaS but they follow the hierarchy\ndefined for SSH. For example, AbstractSoftwareProcessDriver, AbstractSoftwareProcessSshDriver allow to SoftwareProcess entities\nuse drivers for location based on machines. Then, to enable the PaaS support for SoftwareProcess entities a set of drivers is added such as\nAbstractSoftwareProcessCloudFoundryDriver and AbstractApplicationCloudFoundryDriver.\n\nSeveral features in different entities are modified to allows the PaasLocation management.\n\nMinor Fix: Adding protocols management.\nSolving the URL composition.\n\nAdding implementation for stop operation for CloudFoundry Drivers.\n\nPackaging","distinct":true,"url":"https://api.github.com/repos/kiuby88/incubator-brooklyn/commits/146d9b08f1a5d66e2456c7f4b21c142a9fdda91b"}]}