Example usage for org.apache.commons.lang BooleanUtils toBooleanObject

List of usage examples for org.apache.commons.lang BooleanUtils toBooleanObject

Introduction

In this page you can find the example usage for org.apache.commons.lang BooleanUtils toBooleanObject.

Prototype

public static Boolean toBooleanObject(String str) 

Source Link

Document

Converts a String to a Boolean.

'true', 'on' or 'yes' (case insensitive) will return true.

Usage

From source file:jp.primecloud.auto.process.zabbix.ZabbixHostProcess.java

protected void removeTemplateHostgroup(ZabbixProcessClient zabbixProcessClient, Instance instance,
        Component component, String hostid) {
    // ????/*ww  w.  j a v a 2s.c o  m*/
    List<Hostgroup> hostgroups = zabbixProcessClient.getHostgroupsByHostid(hostid);
    List<String> groupids = new ArrayList<String>();
    for (Hostgroup hostgroup : hostgroups) {
        groupids.add(hostgroup.getGroupid());
    }

    // ???????
    Farm farm = farmDao.read(instance.getFarmNo());
    User user = userDao.read(farm.getUserNo());
    Platform platform = platformDao.read(instance.getPlatformNo());
    String hostgroupName = getHostgroupName(user, farm, component);

    // ????????????????????
    // TODO: ????64??Zabbix????
    List<ComponentInstance> componentInstances = componentInstanceDao
            .readByInstanceNo(instance.getInstanceNo());
    for (ComponentInstance componentInstance : componentInstances) {
        if (component.getComponentNo().equals(componentInstance.getComponentNo())) {
            continue;
        }

        Component component2 = componentDao.read(componentInstance.getComponentNo());
        String hostgroupName2 = getHostgroupName(user, farm, component2);

        if (StringUtils.equals(hostgroupName, hostgroupName2)) {
            return;
        }
    }

    // ?
    Hostgroup hostgroup = zabbixProcessClient.getHostgroupByName(hostgroupName);

    // ????????
    if (hostgroup != null && groupids.contains(hostgroup.getGroupid())) {
        for (int i = 0; i < hostgroups.size(); i++) {
            if (StringUtils.equals(hostgroup.getGroupid(), hostgroups.get(i).getGroupid())) {
                hostgroups.remove(i);
                break;
            }
        }

        //???
        String hostname = getHostName(instance.getFqdn());
        //IP/DNS?
        Boolean useIp = BooleanUtils.toBooleanObject(Config.getProperty("zabbix.useIp"));
        //ZabbixID?
        String proxyHostid = getProxyHostid(zabbixProcessClient);
        //IP
        String zabbixListenIp = getZabbixListenIp(zabbixProcessClient, instance, platform);
        zabbixProcessClient.updateHost(hostid, hostname, instance.getFqdn(), hostgroups, null, useIp,
                zabbixListenIp, proxyHostid);
    }
}

From source file:fr.hoteia.qalingo.web.service.impl.WebBackofficeServiceImpl.java

private CatalogCategoryVirtualAttribute buildProductCategoryVirtualAttribute(final MarketArea currentMarketArea,
        final Localization currentLocalization, final String attributeKey, final String attributeValue,
        boolean isGlobal) {

    //TODO : denis : 20130125 : add cache

    AttributeDefinition attributeDefinition = attributeService.getAttributeDefinitionByCode(attributeKey);
    CatalogCategoryVirtualAttribute productCategoryVirtualAttribute = new CatalogCategoryVirtualAttribute();
    productCategoryVirtualAttribute.setAttributeDefinition(attributeDefinition);
    productCategoryVirtualAttribute.setLocalizationCode(currentLocalization.getCode());
    productCategoryVirtualAttribute.setMarketAreaId(currentMarketArea.getId());
    productCategoryVirtualAttribute.setStartDate(new Date());

    if (AttributeDefinition.ATTRIBUTE_TYPE_STRING == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setStringValue(attributeValue);
    } else if (AttributeDefinition.ATTRIBUTE_TYPE_DOUBLE == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setDoubleValue(Double.parseDouble(attributeValue));
    } else if (AttributeDefinition.ATTRIBUTE_TYPE_FLOAT == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setFloatValue(Float.parseFloat(attributeValue));
    } else if (AttributeDefinition.ATTRIBUTE_TYPE_INTEGER == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setIntegerValue(Integer.parseInt(attributeValue));
    } else if (AttributeDefinition.ATTRIBUTE_TYPE_BLOB == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setBlobValue(attributeValue.getBytes());
    } else if (AttributeDefinition.ATTRIBUTE_TYPE_BOOLEAN == attributeDefinition.getAttributeType()) {
        productCategoryVirtualAttribute.setBooleanValue(BooleanUtils.toBooleanObject(attributeValue));
    }//from w  w  w .java2 s . co  m
    return productCategoryVirtualAttribute;
}

From source file:jp.primecloud.auto.service.impl.LoadBalancerServiceImpl.java

/**
 * {@inheritDoc}//from   ww w.  j  a  v  a  2 s.c  o  m
 */
@Override
public Long createAwsLoadBalancer(Long farmNo, String loadBalancerName, String comment, Long platformNo,
        Long componentNo, boolean internal) {
    // ?
    if (farmNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "farmNo");
    }
    if (loadBalancerName == null || loadBalancerName.length() == 0) {
        throw new AutoApplicationException("ECOMMON-000003", "loadBalancerName");
    }
    if (platformNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "platformNo");
    }
    if (componentNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "componentNo");
    }

    // ??
    if (!Pattern.matches("^[0-9a-z]|[0-9a-z][0-9a-z-]*[0-9a-z]$", loadBalancerName)) {
        throw new AutoApplicationException("ECOMMON-000012", "loadBalancerName");
    }

    // TODO: ??

    // ??
    Platform platform = platformDao.read(platformNo);
    if (PCCConstant.PLATFORM_TYPE_AWS.equals(platform.getPlatformType()) == false) {
        throw new AutoApplicationException("ESERVICE-000606", platformNo);
    }

    // ??
    Image image = null;
    List<Image> images = imageDao.readAll();
    for (Image image2 : images) {
        if (image2.getPlatformNo().equals(platformNo.longValue())
                && PCCConstant.IMAGE_NAME_ELB.equals(image2.getImageName())) {
            image = image2;
            break;
        }
    }
    if (image == null) {
        // aws?????
        throw new AutoApplicationException("ESERVICE-000631", platformNo);
    }

    // ??????
    LoadBalancer checkLoadBalancer = loadBalancerDao.readByFarmNoAndLoadBalancerName(farmNo, loadBalancerName);
    if (checkLoadBalancer != null) {
        // ????????
        throw new AutoApplicationException("ESERVICE-000601", loadBalancerName);
    }

    // ????
    Instance checkInstance = instanceDao.readByFarmNoAndInstanceName(farmNo, loadBalancerName);
    if (checkInstance != null) {
        // ???????
        throw new AutoApplicationException("ESERVICE-000626", loadBalancerName);
    }

    // ??
    Farm farm = farmDao.read(farmNo);
    if (farm == null) {
        throw new AutoApplicationException("ESERVICE-000602", farmNo);
    }

    // ????
    long countComponent = componentDao.countByComponentNo(componentNo);
    if (countComponent == 0) {
        // ???????
        throw new AutoApplicationException("ESERVICE-000607", componentNo);
    }

    //AWS???
    AwsCertificate awsCertificate = awsCertificateDao.read(farm.getUserNo(), platformNo);

    //?()??
    PlatformAws platformAws = platformAwsDao.read(platformNo);
    String subnetId = null;
    String availabilityZone = null;
    if (platformAws.getVpc() && StringUtils.isNotEmpty(awsCertificate.getDefLbSubnet())) {
        //VPC ?? ?(?)???
        List<String> defLbSubnets = new ArrayList<String>();
        for (String lbSubnet : awsCertificate.getDefLbSubnet().split(",")) {
            defLbSubnets.add(lbSubnet.trim());
        }
        List<String> zones = new ArrayList<String>();
        StringBuffer subnetBuffer = new StringBuffer();
        StringBuffer zoneBuffer = new StringBuffer();
        List<SubnetDto> subnetDtos = iaasDescribeService.getSubnets(farm.getUserNo(), platformNo,
                platformAws.getVpcId());
        for (SubnetDto subnetDto : subnetDtos) {
            if (defLbSubnets.contains(subnetDto.getSubnetId())
                    && zones.contains(subnetDto.getZoneid()) == false) {
                subnetBuffer.append(
                        subnetBuffer.length() > 0 ? "," + subnetDto.getSubnetId() : subnetDto.getSubnetId());
                zoneBuffer
                        .append(zoneBuffer.length() > 0 ? "," + subnetDto.getZoneid() : subnetDto.getZoneid());
                zones.add(subnetDto.getZoneid());
            }
        }
        //??
        subnetId = subnetBuffer.toString();
        availabilityZone = zoneBuffer.toString();
    }

    //??
    String groupName = null;
    if (platformAws.getVpc()) {
        //VPC??
        List<SecurityGroupDto> securityGroupDtos = iaasDescribeService.getSecurityGroups(farm.getUserNo(),
                platformNo, platformAws.getVpcId());
        for (SecurityGroupDto securityGroupDto : securityGroupDtos) {
            if ("default".equals(securityGroupDto.getGroupName())) {
                //default?????default?
                groupName = securityGroupDto.getGroupName();
                break;
            }
        }
        if (groupName == null && securityGroupDtos.size() > 0) {
            //default????1
            groupName = securityGroupDtos.get(0).getGroupName();
        }
    }

    // ???
    LoadBalancer loadBalancer = new LoadBalancer();
    loadBalancer.setFarmNo(farmNo);
    loadBalancer.setLoadBalancerName(loadBalancerName);
    loadBalancer.setComment(comment);
    loadBalancer.setFqdn(loadBalancerName + "." + farm.getDomainName());
    loadBalancer.setPlatformNo(platformNo);
    loadBalancer.setType(PCCConstant.LOAD_BALANCER_ELB);
    loadBalancer.setEnabled(false);
    loadBalancer.setStatus(LoadBalancerStatus.STOPPED.toString());
    loadBalancer.setComponentNo(componentNo);
    loadBalancerDao.create(loadBalancer);

    Long loadBalancerNo = loadBalancer.getLoadBalancerNo();

    // AWS???
    AwsLoadBalancer awsLoadBalancer = new AwsLoadBalancer();
    awsLoadBalancer.setLoadBalancerNo(loadBalancerNo);
    awsLoadBalancer.setName(loadBalancerName + "-" + loadBalancerNo);
    awsLoadBalancer.setDnsName(null);
    awsLoadBalancer.setSubnetId(subnetId);
    awsLoadBalancer.setSecurityGroups(groupName);
    awsLoadBalancer.setAvailabilityZone(availabilityZone);
    awsLoadBalancer.setInternal(internal);
    awsLoadBalancerDao.create(awsLoadBalancer);

    // ???
    createDefaultHealthCheck(loadBalancer);

    // ??
    createDefaultAutoScalingConf(loadBalancer);

    // ??
    registerInstances(loadBalancer);

    // ??
    Boolean useZabbix = BooleanUtils.toBooleanObject(Config.getProperty("zabbix.useZabbix"));
    if (BooleanUtils.isTrue(useZabbix)) {
        elbZabbixHostProcess.createElbHostgroup(loadBalancerNo);
    }

    // 
    eventLogger.log(EventLogLevel.INFO, farmNo, farm.getFarmName(), null, null, null, null,
            "LoadBalancerCreate", null, null,
            new Object[] { loadBalancerName, platform.getPlatformName(), PCCConstant.LOAD_BALANCER_ELB });

    return loadBalancerNo;
}

From source file:jp.primecloud.auto.service.impl.InstanceServiceImpl.java

/**
 * {@inheritDoc}//w  w w .  j a va  2  s. c om
 */
@Override
public List<InstanceDto> getInstances(Long farmNo) {
    // ?
    List<Instance> instances = new ArrayList<Instance>();
    List<Instance> allInstances = instanceDao.readByFarmNo(farmNo);
    for (Instance instance : allInstances) {
        // ???
        if (BooleanUtils.isTrue(instance.getLoadBalancer())) {
            continue;
        }
        instances.add(instance);
    }

    // ????
    List<Long> instanceNos = new ArrayList<Long>();
    for (Instance instance : instances) {
        instanceNos.add(instance.getInstanceNo());
    }

    // ZabbixInstance?
    List<ZabbixInstance> zabbixInstances = zabbixInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, ZabbixInstance> zabbixInstanceMap = new LinkedHashMap<Long, ZabbixInstance>();
    for (ZabbixInstance zabbixInstance : zabbixInstances) {
        zabbixInstanceMap.put(zabbixInstance.getInstanceNo(), zabbixInstance);
    }

    // ?
    List<Platform> platforms = platformDao.readAll();
    Map<Long, Platform> platformMap = new LinkedHashMap<Long, Platform>();
    for (Platform platform : platforms) {
        platformMap.put(platform.getPlatformNo(), platform);
    }

    // ?
    List<Image> images = imageDao.readAll();
    Map<Long, Image> imageMap = new LinkedHashMap<Long, Image>();
    for (Image image : images) {
        imageMap.put(image.getImageNo(), image);
    }

    // ??????
    Map<Long, List<ComponentInstance>> componentInstanceMap = new LinkedHashMap<Long, List<ComponentInstance>>();
    for (Long instanceNo : instanceNos) {
        componentInstanceMap.put(instanceNo, new ArrayList<ComponentInstance>());
    }
    List<ComponentInstance> tmpComponentInstances = componentInstanceDao.readInInstanceNos(instanceNos);
    for (ComponentInstance componentInstance : tmpComponentInstances) {
        // ?????????
        if (BooleanUtils.isNotTrue(componentInstance.getAssociate())) {
            ComponentInstanceStatus status = ComponentInstanceStatus.fromStatus(componentInstance.getStatus());
            if (status == ComponentInstanceStatus.STOPPED) {
                continue;
            }
        }
        componentInstanceMap.get(componentInstance.getInstanceNo()).add(componentInstance);
    }

    // ???
    Map<Long, Component> componentMap = new HashMap<Long, Component>();
    Set<Long> componentNos = new HashSet<Long>();
    for (ComponentInstance componentInstance : tmpComponentInstances) {
        componentNos.add(componentInstance.getComponentNo());
    }
    List<Component> components = componentDao.readInComponentNos(componentNos);
    for (Component component : components) {
        componentMap.put(component.getComponentNo(), component);
    }

    // TODO CLOUD BRANCHING
    // AWS 
    // AWS?
    List<PlatformAws> platformAwss = platformAwsDao.readAll();
    Map<Long, PlatformAws> platformAwsMap = new LinkedHashMap<Long, PlatformAws>();
    for (PlatformAws platformAws : platformAwss) {
        platformAwsMap.put(platformAws.getPlatformNo(), platformAws);
    }

    // AWS?
    List<ImageAws> imageAwss = imageAwsDao.readAll();
    Map<Long, ImageAws> imageAwsMap = new LinkedHashMap<Long, ImageAws>();
    for (ImageAws imageAws : imageAwss) {
        imageAwsMap.put(imageAws.getImageNo(), imageAws);
    }

    // AWS?
    List<AwsInstance> awsInstances = awsInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, AwsInstance> awsInstanceMap = new LinkedHashMap<Long, AwsInstance>();
    for (AwsInstance awsInstance : awsInstances) {
        awsInstanceMap.put(awsInstance.getInstanceNo(), awsInstance);
    }

    // AWS?
    Farm farm = farmDao.read(farmNo);
    List<AwsAddress> awsAddresses = awsAddressDao.readByUserNo(farm.getUserNo());
    Map<Long, AwsAddress> awsAddressMap = new LinkedHashMap<Long, AwsAddress>();
    for (AwsAddress awsAddress : awsAddresses) {
        if (awsAddress.getInstanceNo() != null) {
            awsAddressMap.put(awsAddress.getInstanceNo(), awsAddress);
        }
    }

    // AWS?
    List<AwsVolume> farmAwsVolumes = awsVolumeDao.readByFarmNo(farmNo);
    Map<Long, List<AwsVolume>> awsVolumesMap = new LinkedHashMap<Long, List<AwsVolume>>();
    for (AwsVolume awsVolume : farmAwsVolumes) {
        Long instanceNo = awsVolume.getInstanceNo();
        if (instanceNo != null) {
            List<AwsVolume> awsVolumes = awsVolumesMap.get(instanceNo);
            if (awsVolumes == null) {
                awsVolumes = new ArrayList<AwsVolume>();
                awsVolumesMap.put(instanceNo, awsVolumes);
            }
            awsVolumes.add(awsVolume);
        }
    }

    // AWS??
    List<AwsCertificate> awsCertificates = awsCertificateDao.readByUserNo(farm.getUserNo());
    Map<Long, AwsCertificate> awsCertificateMap = new LinkedHashMap<Long, AwsCertificate>();
    for (AwsCertificate awsCertificate : awsCertificates) {
        awsCertificateMap.put(awsCertificate.getPlatformNo(), awsCertificate);
    }

    // CloudStack 
    // CloudStack?
    List<PlatformCloudstack> platformCloudstacks = platformCloudstackDao.readAll();
    Map<Long, PlatformCloudstack> platformCloudstackMap = new LinkedHashMap<Long, PlatformCloudstack>();
    for (PlatformCloudstack platformCloudstack : platformCloudstacks) {
        platformCloudstackMap.put(platformCloudstack.getPlatformNo(), platformCloudstack);
    }

    // CloudStack?
    List<ImageCloudstack> imageCloudstacks = imageCloudstackDao.readAll();
    Map<Long, ImageCloudstack> imageCloudstackMap = new LinkedHashMap<Long, ImageCloudstack>();
    for (ImageCloudstack imageCloudstack : imageCloudstacks) {
        imageCloudstackMap.put(imageCloudstack.getImageNo(), imageCloudstack);
    }

    // CloudStack?
    List<CloudstackInstance> cloudstackInstances = cloudstackInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, CloudstackInstance> cloudstackInstanceMap = new LinkedHashMap<Long, CloudstackInstance>();
    for (CloudstackInstance cloudstackInstance : cloudstackInstances) {
        cloudstackInstanceMap.put(cloudstackInstance.getInstanceNo(), cloudstackInstance);
    }

    // CloudStack?
    List<CloudstackAddress> cloudstackAddresses = cloudstackAddressDao.readByAccount(farm.getUserNo());
    Map<Long, CloudstackAddress> cloudstackAddressMap = new LinkedHashMap<Long, CloudstackAddress>();
    for (CloudstackAddress cloudstackAddress : cloudstackAddresses) {
        if (cloudstackAddress.getInstanceNo() != null) {
            cloudstackAddressMap.put(cloudstackAddress.getInstanceNo(), cloudstackAddress);
        }
    }

    // CloudStack?
    List<CloudstackVolume> farmCloudstackVolumes = cloudstackVolumeDao.readByFarmNo(farmNo);
    Map<Long, List<CloudstackVolume>> cloudstackVolumesMap = new LinkedHashMap<Long, List<CloudstackVolume>>();
    for (CloudstackVolume cloudstackVolume : farmCloudstackVolumes) {
        Long instanceNo = cloudstackVolume.getInstanceNo();
        if (instanceNo != null) {
            List<CloudstackVolume> cloudstackVolumes = cloudstackVolumesMap.get(instanceNo);
            if (cloudstackVolumes == null) {
                cloudstackVolumes = new ArrayList<CloudstackVolume>();
                cloudstackVolumesMap.put(instanceNo, cloudstackVolumes);
            }
            cloudstackVolumes.add(cloudstackVolume);
        }
    }

    // VMware 
    // VMWare?
    List<PlatformVmware> platformVmwares = platformVmwareDao.readAll();
    Map<Long, PlatformVmware> platformVmwareMap = new LinkedHashMap<Long, PlatformVmware>();
    for (PlatformVmware platformVmware : platformVmwares) {
        platformVmwareMap.put(platformVmware.getPlatformNo(), platformVmware);
    }

    // VMware?
    List<ImageVmware> imageVmwares = imageVmwareDao.readAll();
    Map<Long, ImageVmware> imageVmwareMap = new LinkedHashMap<Long, ImageVmware>();
    for (ImageVmware imageVmware : imageVmwares) {
        imageVmwareMap.put(imageVmware.getImageNo(), imageVmware);
    }

    // VMware?
    List<VmwareInstance> vmwareInstances = vmwareInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, VmwareInstance> vmwareInstanceMap = new LinkedHashMap<Long, VmwareInstance>();
    for (VmwareInstance vmwareInstance : vmwareInstances) {
        vmwareInstanceMap.put(vmwareInstance.getInstanceNo(), vmwareInstance);
    }

    // VMwareAddress?
    Map<Long, VmwareAddress> vmwareAddressMap = new LinkedHashMap<Long, VmwareAddress>();
    List<VmwareAddress> vmwareAddresses = vmwareAddressDao.readByUserNo(farm.getUserNo());
    for (VmwareAddress vmwareAddress : vmwareAddresses) {
        if (vmwareAddress.getInstanceNo() != null) {
            vmwareAddressMap.put(vmwareAddress.getInstanceNo(), vmwareAddress);
        }
    }

    // VMware?
    Map<Long, VmwareKeyPair> vmwareKeyPairMap = new LinkedHashMap<Long, VmwareKeyPair>();
    if (!vmwareInstanceMap.isEmpty()) {
        List<VmwareKeyPair> vmwareKeyPairs = vmwareKeyPairDao.readByUserNo(farm.getUserNo());
        for (VmwareKeyPair vmwareKeyPair : vmwareKeyPairs) {
            vmwareKeyPairMap.put(vmwareKeyPair.getKeyNo(), vmwareKeyPair);
        }
    }

    // VMware?
    List<VmwareDisk> farmVmwareDisks = vmwareDiskDao.readByFarmNo(farmNo);
    Map<Long, List<VmwareDisk>> vmwareDisksMap = new LinkedHashMap<Long, List<VmwareDisk>>();
    for (VmwareDisk vmwareDisk : farmVmwareDisks) {
        Long instanceNo = vmwareDisk.getInstanceNo();
        if (instanceNo != null) {
            List<VmwareDisk> vmwareDisks = vmwareDisksMap.get(instanceNo);
            if (vmwareDisks == null) {
                vmwareDisks = new ArrayList<VmwareDisk>();
                vmwareDisksMap.put(instanceNo, vmwareDisks);
            }
            vmwareDisks.add(vmwareDisk);
        }
    }

    // Nifty 
    // Nifty?
    List<PlatformNifty> platformNifties = platformNiftyDao.readAll();
    Map<Long, PlatformNifty> platformNiftyMap = new LinkedHashMap<Long, PlatformNifty>();
    for (PlatformNifty platformNifty : platformNifties) {
        platformNiftyMap.put(platformNifty.getPlatformNo(), platformNifty);
    }

    // Nifty?
    List<ImageNifty> imageNifties = imageNiftyDao.readAll();
    Map<Long, ImageNifty> imageNiftyMap = new LinkedHashMap<Long, ImageNifty>();
    for (ImageNifty imageNifty : imageNifties) {
        imageNiftyMap.put(imageNifty.getImageNo(), imageNifty);
    }

    // Nifty?
    List<NiftyInstance> niftyInstances = niftyInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, NiftyInstance> niftyInstanceMap = new LinkedHashMap<Long, NiftyInstance>();
    for (NiftyInstance niftyInstance : niftyInstances) {
        niftyInstanceMap.put(niftyInstance.getInstanceNo(), niftyInstance);
    }

    // Nifty?
    Map<Long, NiftyKeyPair> niftyKeyPairMap = new LinkedHashMap<Long, NiftyKeyPair>();
    if (!niftyInstanceMap.isEmpty()) {
        List<NiftyKeyPair> niftyKeyPairs = niftyKeyPairDao.readByUserNo(farm.getUserNo());
        for (NiftyKeyPair niftyKeyPair : niftyKeyPairs) {
            niftyKeyPairMap.put(niftyKeyPair.getKeyNo(), niftyKeyPair);
        }
    }

    // Nifty?
    List<NiftyVolume> farmNiftyVolumes = niftyVolumeDao.readByFarmNo(farmNo);
    Map<Long, List<NiftyVolume>> niftyVolumesMap = new LinkedHashMap<Long, List<NiftyVolume>>();
    for (NiftyVolume niftyVolume : farmNiftyVolumes) {
        Long instanceNo = niftyVolume.getInstanceNo();
        if (instanceNo != null) {
            List<NiftyVolume> niftyVolumes = niftyVolumesMap.get(instanceNo);
            if (niftyVolumes == null) {
                niftyVolumes = new ArrayList<NiftyVolume>();
                niftyVolumesMap.put(instanceNo, niftyVolumes);
            }
            niftyVolumes.add(niftyVolume);
        }
    }

    // VCloud 
    // VCloudPlatform?
    List<PlatformVcloud> platformVclouds = platformVcloudDao.readAll();
    Map<Long, PlatformVcloud> platformVcloudMap = new LinkedHashMap<Long, PlatformVcloud>();
    for (PlatformVcloud platformVcloud : platformVclouds) {
        platformVcloudMap.put(platformVcloud.getPlatformNo(), platformVcloud);
    }

    // VCloudImage?
    List<ImageVcloud> imageVclouds = imageVcloudDao.readAll();
    Map<Long, ImageVcloud> imageVcloudMap = new LinkedHashMap<Long, ImageVcloud>();
    for (ImageVcloud imageVcloud : imageVclouds) {
        imageVcloudMap.put(imageVcloud.getImageNo(), imageVcloud);
    }

    // VCloudInstance?
    List<VcloudInstance> vcloudInstances = vcloudInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, VcloudInstance> vcloudInstanceMap = new LinkedHashMap<Long, VcloudInstance>();
    for (VcloudInstance vcloudInstance : vcloudInstances) {
        vcloudInstanceMap.put(vcloudInstance.getInstanceNo(), vcloudInstance);
    }

    // VCloudKeyPair?
    Map<Long, VcloudKeyPair> vcloudKeyPairMap = new LinkedHashMap<Long, VcloudKeyPair>();
    List<VcloudKeyPair> vcloudKeyPairs = vcloudKeyPairDao.readByUserNo(farm.getUserNo());
    for (VcloudKeyPair vcloudKeyPair : vcloudKeyPairs) {
        vcloudKeyPairMap.put(vcloudKeyPair.getKeyNo(), vcloudKeyPair);
    }

    // VCloudDisk?
    List<VcloudDisk> farmVcloudDisks = vcloudDiskDao.readByFarmNo(farmNo);
    Map<Long, List<VcloudDisk>> vcloudDiskMap = new LinkedHashMap<Long, List<VcloudDisk>>();
    for (VcloudDisk vcloudDisk : farmVcloudDisks) {
        Long instanceNo = vcloudDisk.getInstanceNo();
        if (instanceNo != null) {
            List<VcloudDisk> vcloudDisks = vcloudDiskMap.get(instanceNo);
            if (vcloudDisks == null) {
                vcloudDisks = new ArrayList<VcloudDisk>();
            }
            vcloudDisks.add(vcloudDisk);
            vcloudDiskMap.put(instanceNo, vcloudDisks);
        }
    }

    //VCloudNetwork?
    List<VcloudInstanceNetwork> allVcloudInstanceNetworks = vcloudInstanceNetworkDao.readByFarmNo(farmNo);
    Map<Long, List<VcloudInstanceNetwork>> vcloudInstanceNetworkMap = new LinkedHashMap<Long, List<VcloudInstanceNetwork>>();
    for (VcloudInstanceNetwork vcloudInstanceNetwork : allVcloudInstanceNetworks) {
        List<VcloudInstanceNetwork> instanceNetworks = vcloudInstanceNetworkMap
                .get(vcloudInstanceNetwork.getInstanceNo());
        if (instanceNetworks == null) {
            instanceNetworks = new ArrayList<VcloudInstanceNetwork>();
        }
        instanceNetworks.add(vcloudInstanceNetwork);
        vcloudInstanceNetworkMap.put(vcloudInstanceNetwork.getInstanceNo(), instanceNetworks);
    }

    //PlatformVcloudStorageType?
    List<PlatformVcloudStorageType> platformVcloudStorageTypes = platformVcloudStorageTypeDao.readAll();
    Map<Long, PlatformVcloudStorageType> platformVcloudStorageTypeMap = new LinkedHashMap<Long, PlatformVcloudStorageType>();
    for (PlatformVcloudStorageType platformVcloudStorageType : platformVcloudStorageTypes) {
        platformVcloudStorageTypeMap.put(platformVcloudStorageType.getStorageTypeNo(),
                platformVcloudStorageType);
    }

    // Azure 
    // Azure?
    List<PlatformAzure> platformAzures = platformAzureDao.readAll();
    Map<Long, PlatformAzure> platformAzureMap = new LinkedHashMap<Long, PlatformAzure>();
    for (PlatformAzure platformAzure : platformAzures) {
        platformAzureMap.put(platformAzure.getPlatformNo(), platformAzure);
    }

    // Azure?
    List<ImageAzure> imageAzures = imageAzureDao.readAll();
    Map<Long, ImageAzure> imageAzureMap = new LinkedHashMap<Long, ImageAzure>();
    for (ImageAzure imageAzure : imageAzures) {
        imageAzureMap.put(imageAzure.getImageNo(), imageAzure);
    }

    // Azure?
    List<AzureInstance> azureInstances = azureInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, AzureInstance> azureInstanceMap = new LinkedHashMap<Long, AzureInstance>();
    for (AzureInstance azureInstance : azureInstances) {
        azureInstanceMap.put(azureInstance.getInstanceNo(), azureInstance);
    }

    // Azure??   ??????????
    //        List<AzureSubnet> azureAddresses = azureSubnetDao.readByAccount(farm.getUserNo());
    //        Map<Long, AzureSubnet> azureAddressMap = new LinkedHashMap<Long, AzureSubnet>();
    //        for (CloudstackAddress azureAddress : azureAddresses) {
    //            if (azureAddress.getInstanceNo() != null) {
    //                cloudstackAddressMap.put(azureAddress.getInstanceNo(), azureAddress);
    //            }
    //        }

    // Azure?
    List<AzureDisk> farmAzureDisks = azureDiskDao.readByFarmNo(farmNo);
    Map<Long, List<AzureDisk>> azureDisksMap = new LinkedHashMap<Long, List<AzureDisk>>();
    for (AzureDisk azureDisk : farmAzureDisks) {
        Long instanceNo = azureDisk.getInstanceNo();
        if (instanceNo != null) {
            List<AzureDisk> azureDisks = azureDisksMap.get(instanceNo);
            if (azureDisks == null) {
                azureDisks = new ArrayList<AzureDisk>();
                azureDisksMap.put(instanceNo, azureDisks);
            }
            azureDisks.add(azureDisk);
        }
    }

    // OpenStack 
    // OpenStack?
    List<PlatformOpenstack> platformOpenstacks = platformOpenstackDao.readAll();
    Map<Long, PlatformOpenstack> platformOpenstackMap = new LinkedHashMap<Long, PlatformOpenstack>();
    for (PlatformOpenstack platformOpenstack : platformOpenstacks) {
        platformOpenstackMap.put(platformOpenstack.getPlatformNo(), platformOpenstack);
    }

    // OpenStack?
    List<ImageOpenstack> imageOpenstacks = imageOpenstackDao.readAll();
    Map<Long, ImageOpenstack> imageOpenstackMap = new LinkedHashMap<Long, ImageOpenstack>();
    for (ImageOpenstack imageOpenstack : imageOpenstacks) {
        imageOpenstackMap.put(imageOpenstack.getImageNo(), imageOpenstack);
    }

    // OpenStack?
    List<OpenstackInstance> openstackInstances = openstackInstanceDao.readInInstanceNos(instanceNos);
    Map<Long, OpenstackInstance> openstackInstanceMap = new LinkedHashMap<Long, OpenstackInstance>();
    for (OpenstackInstance openstackInstance : openstackInstances) {
        openstackInstanceMap.put(openstackInstance.getInstanceNo(), openstackInstance);
    }

    // ????????
    List<InstanceDto> dtos = new ArrayList<InstanceDto>();
    for (Instance instance : instances) {
        ZabbixInstance zabbixInstance = zabbixInstanceMap.get(instance.getInstanceNo());

        PlatformDto platformDto = new PlatformDto();
        ImageDto imageDto = new ImageDto();

        Platform platform = platformMap.get(instance.getPlatformNo());
        platformDto.setPlatform(platform);

        Image image = imageMap.get(instance.getImageNo());
        imageDto.setImage(image);
        // TODO CLOUD BRANCHING
        if (PCCConstant.PLATFORM_TYPE_AWS.equals(platform.getPlatformType())) {
            platformDto.setPlatformAws(platformAwsMap.get(instance.getPlatformNo()));
            imageDto.setImageAws(imageAwsMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_CLOUDSTACK.equals(platform.getPlatformType())) {
            platformDto.setPlatformCloudstack(platformCloudstackMap.get(instance.getPlatformNo()));
            imageDto.setImageCloudstack(imageCloudstackMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_VMWARE.equals(platform.getPlatformType())) {
            platformDto.setPlatformVmware(platformVmwareMap.get(instance.getPlatformNo()));
            imageDto.setImageVmware(imageVmwareMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_NIFTY.equals(platform.getPlatformType())) {
            platformDto.setPlatformNifty(platformNiftyMap.get(instance.getPlatformNo()));
            imageDto.setImageNifty(imageNiftyMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_VCLOUD.equals(platform.getPlatformType())) {
            platformDto.setPlatformVcloud(platformVcloudMap.get(instance.getPlatformNo()));
            imageDto.setImageVcloud(imageVcloudMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_AZURE.equals(platform.getPlatformType())) {
            platformDto.setPlatformAzure(platformAzureMap.get(instance.getPlatformNo()));
            imageDto.setImageAzure(imageAzureMap.get(instance.getImageNo()));
        } else if (PCCConstant.PLATFORM_TYPE_OPENSTACK.equals(platform.getPlatformType())) {
            platformDto.setPlatformOpenstack(platformOpenstackMap.get(instance.getPlatformNo()));
            imageDto.setImageOpenstack(imageOpenstackMap.get(instance.getImageNo()));
        }

        List<InstanceConfig> instanceConfigs = instanceConfigDao.readByInstanceNo(instance.getInstanceNo());

        List<ComponentInstanceDto> componentInstances = new ArrayList<ComponentInstanceDto>();
        for (ComponentInstance componentInstance : componentInstanceMap.get(instance.getInstanceNo())) {
            ComponentInstanceDto componentInstanceDto = new ComponentInstanceDto();
            componentInstanceDto.setComponentInstance(componentInstance);

            Component component = componentMap.get(componentInstance.getComponentNo());
            String url;
            Boolean showPublicIp = BooleanUtils.toBooleanObject(Config.getProperty("ui.showPublicIp"));
            if (BooleanUtils.isTrue(showPublicIp)) {
                //ui.showPublicIp = true ???URL?PublicIp
                url = createUrl(instance.getPublicIp(), component.getComponentTypeNo());
            } else {
                //ui.showPublicIp = false ???URL?PrivateIp
                url = createUrl(instance.getPrivateIp(), component.getComponentTypeNo());
            }
            componentInstanceDto.setUrl(url);
            componentInstances.add(componentInstanceDto);
        }

        // ?????
        InstanceStatus instanceStatus = InstanceStatus.fromStatus(instance.getStatus());
        if (BooleanUtils.isTrue(instance.getEnabled())) {
            if (instanceStatus == InstanceStatus.STOPPED) {
                instance.setStatus(InstanceStatus.STARTING.toString());
            }
        } else {
            if (instanceStatus == InstanceStatus.RUNNING || instanceStatus == InstanceStatus.WARNING) {
                instance.setStatus(InstanceStatus.STOPPING.toString());
            }
        }

        // ???
        //    ? ?   ??
        //        Running         Coodinating            Configuring
        //        Running         Warning                Warning
        instanceStatus = InstanceStatus.fromStatus(instance.getStatus());
        InstanceCoodinateStatus insCoodiStatus = InstanceCoodinateStatus
                .fromStatus(instance.getCoodinateStatus());
        // ?(Running)???(Coodinating)Configuring?
        if (instanceStatus == InstanceStatus.RUNNING && insCoodiStatus == InstanceCoodinateStatus.COODINATING) {
            instance.setStatus(InstanceStatus.CONFIGURING.toString());
            // ?(Running)???(Warning)Warning?
        } else if (instanceStatus == InstanceStatus.RUNNING
                && insCoodiStatus == InstanceCoodinateStatus.WARNING) {
            instance.setStatus(InstanceStatus.WARNING.toString());
        }

        // ????????
        instanceStatus = InstanceStatus.fromStatus(instance.getStatus());
        for (ComponentInstanceDto componentInstanceDto : componentInstances) {
            ComponentInstance componentInstance = componentInstanceDto.getComponentInstance();
            ComponentInstanceStatus status = ComponentInstanceStatus.fromStatus(componentInstance.getStatus());
            if (BooleanUtils.isTrue(componentInstance.getEnabled())) {
                if (status == ComponentInstanceStatus.STOPPED) {
                    if (instanceStatus == InstanceStatus.WARNING) {
                        // ?Waring??????Warning??
                        componentInstance.setStatus(ComponentInstanceStatus.WARNING.toString());
                    } else if (BooleanUtils.isTrue(farm.getScheduled())) {
                        componentInstance.setStatus(ComponentInstanceStatus.STARTING.toString());
                    }
                }
            } else {
                if (status == ComponentInstanceStatus.RUNNING || status == ComponentInstanceStatus.WARNING) {
                    if (BooleanUtils.isTrue(farm.getScheduled())) {
                        // ??????Stopping??
                        componentInstance.setStatus(ComponentInstanceStatus.STOPPING.toString());
                    }
                }
            }
        }

        AwsInstance awsInstance = awsInstanceMap.get(instance.getInstanceNo());
        AwsAddress awsAddress = awsAddressMap.get(instance.getInstanceNo());
        List<AwsVolume> awsVolumes = awsVolumesMap.get(instance.getInstanceNo());
        AwsCertificate awsCertificate = awsCertificateMap.get(instance.getPlatformNo());

        CloudstackInstance cloudstackInstance = cloudstackInstanceMap.get(instance.getInstanceNo());
        CloudstackAddress cloudstackAddress = cloudstackAddressMap.get(instance.getInstanceNo());
        List<CloudstackVolume> cloudstackVolumes = cloudstackVolumesMap.get(instance.getInstanceNo());

        VmwareInstance vmwareInstance = vmwareInstanceMap.get(instance.getInstanceNo());
        VmwareAddress vmwareAddress = vmwareAddressMap.get(instance.getInstanceNo());
        VmwareKeyPair vmwareKeyPair = null;
        if (vmwareInstance != null) {
            vmwareKeyPair = vmwareKeyPairMap.get(vmwareInstance.getKeyPairNo());
        }
        List<VmwareDisk> vmwareDisks = vmwareDisksMap.get(instance.getInstanceNo());

        NiftyInstance niftyInstance = niftyInstanceMap.get(instance.getInstanceNo());
        NiftyKeyPair niftyKeyPair = null;
        if (niftyInstance != null) {
            niftyKeyPair = niftyKeyPairMap.get(niftyInstance.getKeyPairNo());
        }
        List<NiftyVolume> niftyVolumes = niftyVolumesMap.get(instance.getInstanceNo());

        VcloudInstance vcloudInstance = vcloudInstanceMap.get(instance.getInstanceNo());
        VcloudKeyPair vcloudKeyPair = null;
        if (vcloudInstance != null) {
            vcloudKeyPair = vcloudKeyPairMap.get(vcloudInstance.getKeyPairNo());
        }
        List<VcloudDisk> vcloudDisks = vcloudDiskMap.get(instance.getInstanceNo());
        List<VcloudInstanceNetwork> vcloudInstanceNetworks = vcloudInstanceNetworkMap
                .get(instance.getInstanceNo());
        if (vcloudInstanceNetworks != null) {
            Collections.sort(vcloudInstanceNetworks, Comparators.COMPARATOR_VCLOUD_INSTANCE_NETWORK);
        }
        PlatformVcloudStorageType platformVcloudStorageType = null;
        if (vcloudInstance != null) {
            platformVcloudStorageType = platformVcloudStorageTypeMap.get(vcloudInstance.getStorageTypeNo());
        }

        AzureInstance azureInstance = azureInstanceMap.get(instance.getInstanceNo());
        List<AzureDisk> azureDisks = azureDisksMap.get(instance.getInstanceNo());

        OpenstackInstance openstackInstance = openstackInstanceMap.get(instance.getInstanceNo());

        // 
        Collections.sort(componentInstances, Comparators.COMPARATOR_COMPONENT_INSTANCE_DTO);

        InstanceDto dto = new InstanceDto();
        dto.setInstance(instance);
        dto.setZabbixInstance(zabbixInstance);
        dto.setPlatform(platformDto);
        dto.setImage(imageDto);
        dto.setInstanceConfigs(instanceConfigs);
        dto.setComponentInstances(componentInstances);

        dto.setAwsInstance(awsInstance);
        dto.setAwsAddress(awsAddress);
        dto.setAwsVolumes(awsVolumes);
        dto.setAwsCertificate(awsCertificate);

        dto.setCloudstackInstance(cloudstackInstance);
        dto.setCloudstackAddress(cloudstackAddress);
        dto.setCloudstackVolumes(cloudstackVolumes);

        dto.setVmwareInstance(vmwareInstance);
        dto.setVmwareAddress(vmwareAddress);
        dto.setVmwareKeyPair(vmwareKeyPair);
        dto.setVmwareDisks(vmwareDisks);

        dto.setNiftyInstance(niftyInstance);
        dto.setNiftyKeyPair(niftyKeyPair);
        dto.setNiftyVolumes(niftyVolumes);

        dto.setVcloudInstance(vcloudInstance);
        dto.setVcloudKeyPair(vcloudKeyPair);
        dto.setVcloudDisks(vcloudDisks);
        dto.setVcloudInstanceNetworks(vcloudInstanceNetworks);
        dto.setPlatformVcloudStorageType(platformVcloudStorageType);

        dto.setAzureInstance(azureInstance);
        dto.setAzureDisks(azureDisks);

        dto.setOpenstackInstance(openstackInstance);

        dtos.add(dto);
    }

    // 
    Collections.sort(dtos, Comparators.COMPARATOR_INSTANCE_DTO);

    return dtos;
}

From source file:jp.primecloud.auto.service.impl.InstanceServiceImpl.java

protected Long createInstance(Long farmNo, String instanceName, Long platformNo, String comment, Long imageNo) {
    // ?//  ww w.j  a v  a  2 s.  c  o  m
    if (farmNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "farmNo");
    }
    if (instanceName == null || instanceName.length() == 0) {
        throw new AutoApplicationException("ECOMMON-000003", "instanceName");
    }
    if (platformNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "platformNo");
    }
    if (imageNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "imageNo");
    }

    // ??
    if (!Pattern.matches("^[0-9a-z]|[0-9a-z][0-9a-z-]*[0-9a-z]$", instanceName)) {
        throw new AutoApplicationException("ECOMMON-000012", "instanceName");
    }

    // ???
    Image image = imageDao.read(imageNo);
    Platform platform = platformDao.read(platformNo);
    if (platformNo.equals(image.getPlatformNo()) == false) {
        throw new AutoApplicationException("ESERVICE-000405", imageNo, platform.getPlatformName());
    }

    // TODO: ??

    // ?????
    Instance checkInstance = instanceDao.readByFarmNoAndInstanceName(farmNo, instanceName);
    if (checkInstance != null) {
        // ???????
        throw new AutoApplicationException("ESERVICE-000401", instanceName);
    }

    // ?????
    LoadBalancer checkLoadBalancer = loadBalancerDao.readByFarmNoAndLoadBalancerName(farmNo, instanceName);
    if (checkLoadBalancer != null) {
        // ????????
        throw new AutoApplicationException("ESERVICE-000417", instanceName);
    }

    // ??
    Farm farm = farmDao.read(farmNo);
    if (farm == null) {
        throw new AutoApplicationException("ESERVICE-000406", farmNo);
    }

    // fqdn???
    String fqdn = instanceName + "." + farm.getDomainName();
    if (fqdn.length() > 63) {
        throw new AutoApplicationException("ESERVICE-000418", fqdn);
    }

    // TODO: ??

    // VMware??Windows???VMware??????Windows????????
    // TODO: OS??
    if (PCCConstant.PLATFORM_TYPE_VMWARE.equals(platform.getPlatformType())
            && StringUtils.startsWithIgnoreCase(image.getOs(), PCCConstant.OS_NAME_WIN)) {
        List<Instance> allInstances = instanceDao.readAll();
        for (Instance instance2 : allInstances) {
            if (StringUtils.equals(instanceName, instance2.getInstanceName())) {
                Platform platform2 = platformDao.read(instance2.getPlatformNo());
                if (PCCConstant.PLATFORM_TYPE_VMWARE.equals(platform2.getPlatformType())) {
                    Image image2 = imageDao.read(instance2.getImageNo());
                    if (StringUtils.startsWithIgnoreCase(image2.getOs(), PCCConstant.OS_NAME_WIN)) {
                        // VMware?????Windows???
                        throw new AutoApplicationException("ESERVICE-000419", instanceName);
                    }
                }
            }
        }
    }

    // ??
    String instanceCode = passwordGenerator.generate(20);

    // ??
    Instance instance = new Instance();
    instance.setFarmNo(farmNo);
    instance.setInstanceName(instanceName);
    instance.setPlatformNo(platformNo);
    instance.setImageNo(imageNo);
    instance.setEnabled(false);
    instance.setComment(comment);
    instance.setFqdn(fqdn);
    instance.setInstanceCode(instanceCode);
    instance.setStatus(InstanceStatus.STOPPED.toString());
    instanceDao.create(instance);

    // TODO: OS??
    if (!StringUtils.startsWithIgnoreCase(image.getOs(), PCCConstant.OS_NAME_WIN)
            || (StringUtils.startsWithIgnoreCase(image.getOs(), PCCConstant.OS_NAME_WIN)
                    && PCCConstant.PLATFORM_TYPE_VMWARE.equals(platform.getPlatformType()))
            || (StringUtils.startsWithIgnoreCase(image.getOs(), PCCConstant.OS_NAME_WIN)
                    && PCCConstant.PLATFORM_TYPE_AZURE.equals(platform.getPlatformType()))
            || (StringUtils.startsWithIgnoreCase(image.getOs(), PCCConstant.OS_NAME_WIN)
                    && PCCConstant.PLATFORM_TYPE_OPENSTACK.equals(platform.getPlatformType()))) {
        // OpenStack?Puppet?????
        //if (!PCCConstant.PLATFORM_TYPE_OPENSTACK.equals(platform.getPlatformType())) {
        // Puppet??
        PuppetInstance puppetInstance = new PuppetInstance();
        puppetInstance.setInstanceNo(instance.getInstanceNo());
        puppetInstanceDao.create(puppetInstance);
        //}
    }

    Boolean useZabbix = BooleanUtils.toBooleanObject(Config.getProperty("zabbix.useZabbix"));
    if (BooleanUtils.isTrue(useZabbix)) {
        // Zabbix??
        ZabbixInstance zabbixInstance = new ZabbixInstance();
        zabbixInstance.setInstanceNo(instance.getInstanceNo());
        zabbixInstanceDao.create(zabbixInstance);
    }

    return instance.getInstanceNo();
}

From source file:jp.primecloud.auto.service.impl.InstanceServiceImpl.java

private void makeVcloudData(Farm farm, Long instanceNo, String instanceName, String instanceType,
        PlatformVcloud platformVcloud) {

    // VCloud??//w  w w.j  a  v a  2 s.  com
    VcloudInstance vcloudInstance = new VcloudInstance();
    vcloudInstance.setInstanceNo(instanceNo);

    //VM??
    //????????????NULL
    //(VCloud???????????)
    vcloudInstance.setVmName(null);

    //
    //???????
    List<VcloudKeyPair> vcloudKeyPairs = vcloudKeyPairDao.readByUserNoAndPlatformNo(farm.getUserNo(),
            platformVcloud.getPlatformNo());
    Long keyPairNo = vcloudKeyPairs.get(0).getKeyNo();
    vcloudInstance.setKeyPairNo(keyPairNo);

    //
    List<PlatformVcloudStorageType> storageTypes = platformVcloudStorageTypeDao
            .readByPlatformNo(platformVcloud.getPlatformNo());
    Collections.sort(storageTypes, Comparators.COMPARATOR_PLATFORM_VCLOUD_STORAGE_TYPE);
    vcloudInstance.setStorageTypeNo(storageTypes.get(0).getStorageTypeNo());

    //
    vcloudInstance.setInstanceType(instanceType);

    //VCLOUD_INSTANCE?
    vcloudInstanceDao.create(vcloudInstance);

    //?
    //???PCC??????
    //IaasGateWay???PCC????
    //VCLOUD_INSTANCE_NETWORKPCC???
    Boolean showPublicIp = BooleanUtils.toBooleanObject(Config.getProperty("ui.showPublicIp"));
    List<NetworkDto> networkDtos = iaasDescribeService.getNetworks(farm.getUserNo(),
            platformVcloud.getPlatformNo());
    for (int i = 0; i < networkDtos.size(); i++) {
        NetworkDto networkDto = networkDtos.get(i);
        //PCC?? ????
        //???IaasGateWay?????NULL
        //IP???????IaasGateWay?????NULL
        //PCC?????????1???
        if (networkDto.isPcc() || (!networkDto.isPcc()
                && StringUtils.equals(networkDto.getNetworkName(), platformVcloud.getDefNetwork()))) {
            VcloudInstanceNetwork vcloudInstanceNetwork = new VcloudInstanceNetwork();
            vcloudInstanceNetwork.setPlatformNo(platformVcloud.getPlatformNo());
            vcloudInstanceNetwork.setInstanceNo(instanceNo);
            vcloudInstanceNetwork.setFarmNo(farm.getFarmNo());
            vcloudInstanceNetwork.setNetworkName(networkDto.getNetworkName());
            vcloudInstanceNetwork.setNetworkIndex(null);
            vcloudInstanceNetwork.setIpMode("POOL");
            vcloudInstanceNetwork.setIpAddress(null);
            //config.properties?showPublicIp?= true   PCC??
            //config.properties?showPublicIp?= false  ?(?)?
            if (networkDto.isPcc()) {
                vcloudInstanceNetwork.setIsPrimary(BooleanUtils.isTrue(showPublicIp));
            } else if (StringUtils.equals(networkDto.getNetworkName(), platformVcloud.getDefNetwork())) {
                vcloudInstanceNetwork.setIsPrimary(BooleanUtils.isNotTrue(showPublicIp));
            }
            //VCLOUD_INSTANCE_NETWORK?
            vcloudInstanceNetworkDao.create(vcloudInstanceNetwork);
        }
    }
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private String getAddSql(final List<ResultsetColumnHeaderData> columnHeaders, final String datatable,
        final String fkName, final Long appTableId, final Map<String, String> queryParams) {

    final Map<String, String> affectedColumns = getAffectedColumns(columnHeaders, queryParams, fkName);

    String pValueWrite = "";
    String addSql = "";
    final String singleQuote = "'";

    String insertColumns = "";
    String selectColumns = "";
    String columnName = "";
    String pValue = null;//from w  w w  .j av a  2 s.c  o  m
    for (final ResultsetColumnHeaderData pColumnHeader : columnHeaders) {
        final String key = pColumnHeader.getColumnName();
        if (affectedColumns.containsKey(key)) {
            pValue = affectedColumns.get(key);
            if (StringUtils.isEmpty(pValue)) {
                pValueWrite = "null";
            } else {
                if ("bit".equalsIgnoreCase(pColumnHeader.getColumnType())) {
                    pValueWrite = BooleanUtils.toString(BooleanUtils.toBooleanObject(pValue), "1", "0", "null");
                } else {
                    pValueWrite = singleQuote
                            + this.genericDataService.replace(pValue, singleQuote, singleQuote + singleQuote)
                            + singleQuote;
                }

            }
            columnName = "`" + key + "`";
            insertColumns += ", " + columnName;
            selectColumns += "," + pValueWrite + " as " + columnName;
        }
    }

    addSql = "insert into `" + datatable + "` (`" + fkName + "` " + insertColumns + ")" + " select "
            + appTableId + " as id" + selectColumns;

    logger.info(addSql);

    return addSql;
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private String getUpdateSql(List<ResultsetColumnHeaderData> columnHeaders, final String datatable,
        final String keyFieldName, final Long keyFieldValue, final Map<String, Object> changedColumns) {

    // just updating fields that have changed since pre-update read - though
    // its possible these values are different from the page the user was
    // looking at and even different from the current db values (if some
    // other update got in quick) - would need a version field for
    // completeness but its okay to take this risk with additional fields
    // data//from   w ww  .  j a  v  a2  s . c o m

    if (changedColumns.size() == 0) {
        return null;
    }

    String pValue = null;
    String pValueWrite = "";
    final String singleQuote = "'";
    boolean firstColumn = true;
    String sql = "update `" + datatable + "` ";
    for (final ResultsetColumnHeaderData pColumnHeader : columnHeaders) {
        final String key = pColumnHeader.getColumnName();
        if (changedColumns.containsKey(key)) {
            if (firstColumn) {
                sql += " set ";
                firstColumn = false;
            } else {
                sql += ", ";
            }

            pValue = (String) changedColumns.get(key);
            if (StringUtils.isEmpty(pValue)) {
                pValueWrite = "null";
            } else {
                if ("bit".equalsIgnoreCase(pColumnHeader.getColumnType())) {
                    pValueWrite = BooleanUtils.toString(BooleanUtils.toBooleanObject(pValue), "1", "0", "null");
                } else {
                    pValueWrite = singleQuote
                            + this.genericDataService.replace(pValue, singleQuote, singleQuote + singleQuote)
                            + singleQuote;
                }
            }
            sql += "`" + key + "` = " + pValueWrite;
        }
    }

    sql += " where " + keyFieldName + " = " + keyFieldValue;

    return sql;
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private String validateColumn(final ResultsetColumnHeaderData columnHeader, final String pValue,
        final String dateFormat, final Locale clientApplicationLocale) {

    String paramValue = pValue;//  www  .j  av a 2 s . c  o  m
    if (columnHeader.isDateDisplayType() || columnHeader.isDateTimeDisplayType()
            || columnHeader.isIntegerDisplayType() || columnHeader.isDecimalDisplayType()
            || columnHeader.isBooleanDisplayType()) {
        // only trim if string is not empty and is not null.
        // throws a NULL pointer exception if the check below is not applied
        paramValue = StringUtils.isNotEmpty(paramValue) ? paramValue.trim() : paramValue;
    }

    if (StringUtils.isEmpty(paramValue) && columnHeader.isMandatory()) {

        final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
        final ApiParameterError error = ApiParameterError.parameterError("error.msg.column.mandatory",
                "Mandatory", columnHeader.getColumnName());
        dataValidationErrors.add(error);
        throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
                "Validation errors exist.", dataValidationErrors);
    }

    if (StringUtils.isNotEmpty(paramValue)) {

        if (columnHeader.hasColumnValues()) {
            if (columnHeader.isCodeValueDisplayType()) {

                if (columnHeader.isColumnValueNotAllowed(paramValue)) {
                    final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
                    final ApiParameterError error = ApiParameterError.parameterError(
                            "error.msg.invalid.columnValue", "Value not found in Allowed Value list",
                            columnHeader.getColumnName(), paramValue);
                    dataValidationErrors.add(error);
                    throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
                            "Validation errors exist.", dataValidationErrors);
                }

                return paramValue;
            } else if (columnHeader.isCodeLookupDisplayType()) {

                final Integer codeLookup = Integer.valueOf(paramValue);
                if (columnHeader.isColumnCodeNotAllowed(codeLookup)) {
                    final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
                    final ApiParameterError error = ApiParameterError.parameterError(
                            "error.msg.invalid.columnValue", "Value not found in Allowed Value list",
                            columnHeader.getColumnName(), paramValue);
                    dataValidationErrors.add(error);
                    throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
                            "Validation errors exist.", dataValidationErrors);
                }

                return paramValue;
            } else {
                throw new PlatformDataIntegrityException("error.msg.invalid.columnType.",
                        "Code: " + columnHeader.getColumnName() + " - Invalid Type "
                                + columnHeader.getColumnType() + " (neither varchar nor int)");
            }
        }

        if (columnHeader.isDateDisplayType()) {
            final LocalDate tmpDate = JsonParserHelper.convertFrom(paramValue, columnHeader.getColumnName(),
                    dateFormat, clientApplicationLocale);
            if (tmpDate == null) {
                paramValue = null;
            } else {
                paramValue = tmpDate.toString();
            }
        } else if (columnHeader.isDateTimeDisplayType()) {
            final LocalDateTime tmpDateTime = JsonParserHelper.convertDateTimeFrom(paramValue,
                    columnHeader.getColumnName(), dateFormat, clientApplicationLocale);
            if (tmpDateTime == null) {
                paramValue = null;
            } else {
                paramValue = tmpDateTime.toString();
            }
        } else if (columnHeader.isIntegerDisplayType()) {
            final Integer tmpInt = this.helper.convertToInteger(paramValue, columnHeader.getColumnName(),
                    clientApplicationLocale);
            if (tmpInt == null) {
                paramValue = null;
            } else {
                paramValue = tmpInt.toString();
            }
        } else if (columnHeader.isDecimalDisplayType()) {
            final BigDecimal tmpDecimal = this.helper.convertFrom(paramValue, columnHeader.getColumnName(),
                    clientApplicationLocale);
            if (tmpDecimal == null) {
                paramValue = null;
            } else {
                paramValue = tmpDecimal.toString();
            }
        } else if (columnHeader.isBooleanDisplayType()) {

            final Boolean tmpBoolean = BooleanUtils.toBooleanObject(paramValue);
            if (tmpBoolean == null) {
                final ApiParameterError error = ApiParameterError.parameterError(
                        "validation.msg.invalid.boolean.format", "The parameter " + columnHeader.getColumnName()
                                + " has value: " + paramValue + " which is invalid boolean value.",
                        columnHeader.getColumnName(), paramValue);
                final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
                dataValidationErrors.add(error);
                throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
                        "Validation errors exist.", dataValidationErrors);
            }
            paramValue = tmpBoolean.toString();
        } else if (columnHeader.isString()) {
            if (paramValue.length() > columnHeader.getColumnLength()) {
                final ApiParameterError error = ApiParameterError.parameterError(
                        "validation.msg.datatable.entry.column.exceeds.maxlength",
                        "The column `" + columnHeader.getColumnName() + "` exceeds its defined max-length ",
                        columnHeader.getColumnName(), paramValue);
                final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
                dataValidationErrors.add(error);
                throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
                        "Validation errors exist.", dataValidationErrors);
            }
        }
    }

    return paramValue;
}

From source file:jp.primecloud.auto.service.impl.InstanceServiceImpl.java

/**
 * {@inheritDoc}/*  w  ww .java2 s.  co m*/
 */
@Override
public void enableZabbixMonitoring(Long instanceNo) {
    // ?
    if (instanceNo == null) {
        throw new AutoApplicationException("ECOMMON-000003", "instanceNo");
    }

    // ??
    Instance instance = instanceDao.read(instanceNo);
    if (instance == null) {
        // ?????
        throw new AutoApplicationException("ESERVICE-000403", instanceNo);
    }

    // ZABBIX_INSTANCE??
    ZabbixInstance zabbixInstance = zabbixInstanceDao.read(instanceNo);
    if (zabbixInstance == null) {
        // ?????
        throw new AutoApplicationException("ESERVICE-000422", instanceNo);
    }

    // Zabbix(config.properties?zabbix.useZabbix)??
    Boolean useZabbix = BooleanUtils.toBooleanObject(Config.getProperty("zabbix.useZabbix"));
    if (BooleanUtils.isNotTrue(useZabbix)) {
        // Zabbix?true?
        throw new AutoApplicationException("ESERVICE-000423", instanceNo);
    }

    // ?OS??
    InstanceStatus instanceStatus = getInstanceStatus(instance);
    if (instanceStatus != InstanceStatus.RUNNING) {
        // ?OS?RUNNING?
        throw new AutoApplicationException("ESERVICE-000424", instance.getInstanceName());
    }

    // Zabbix??
    ZabbixInstanceStatus zabbixInstanceStatus = ZabbixInstanceStatus.fromStatus(zabbixInstance.getStatus());
    if (zabbixInstanceStatus != ZabbixInstanceStatus.UN_MONITORING) {
        // Zabbix??UN_MONITORING?
        throw new AutoApplicationException("ESERVICE-000425", instance.getInstanceName());
    }

    // Zabbix
    zabbixHostProcess.startHost(instanceNo);
}