List of usage examples for com.google.common.base Predicates not
public static <T> Predicate<T> not(Predicate<T> predicate)
From source file:com.eucalyptus.autoscaling.backend.AutoScalingBackendService.java
public CreateAutoScalingGroupResponseType createAutoScalingGroup(final CreateAutoScalingGroupType request) throws EucalyptusCloudException { final CreateAutoScalingGroupResponseType reply = request.getReply(); final Context ctx = Contexts.lookup(); if (request.getTags() != null) { for (final TagType tagType : request.getTags().getMember()) { final String key = tagType.getKey(); if (com.google.common.base.Strings.isNullOrEmpty(key) || key.trim().length() > 128 || isReserved(key)) { throw new ValidationErrorException( "Invalid key (max length 128, must not be empty, reserved prefixes " + reservedPrefixes + "): " + key); }/*from w w w . ja v a2s .c o m*/ } if (request.getTags().getMember().size() >= MAX_TAGS_PER_RESOURCE) { throw Exceptions.toUndeclared(new LimitExceededException("Tag limit exceeded")); } } final Supplier<AutoScalingGroup> allocator = new Supplier<AutoScalingGroup>() { @Override public AutoScalingGroup get() { try { final Integer minSize = Numbers.intValue(request.getMinSize()); final Integer maxSize = Numbers.intValue(request.getMaxSize()); final Integer desiredCapacity = Numbers.intValue(request.getDesiredCapacity()); if (desiredCapacity != null && desiredCapacity < minSize) { throw Exceptions.toUndeclared( new ValidationErrorException("DesiredCapacity must not be less than MinSize")); } if (desiredCapacity != null && desiredCapacity > maxSize) { throw Exceptions.toUndeclared( new ValidationErrorException("DesiredCapacity must not be greater than MaxSize")); } final List<String> referenceErrors = activityManager.validateReferences(ctx.getUserFullName(), request.availabilityZones(), request.loadBalancerNames()); verifyUnsupportedReferences(referenceErrors, request.getPlacementGroup(), request.getVpcZoneIdentifier()); if (!referenceErrors.isEmpty()) { throw Exceptions.toUndeclared( new ValidationErrorException("Invalid parameters " + referenceErrors)); } final AccountFullName accountFullName = ctx.getUserFullName().asAccountFullName(); final AutoScalingGroups.PersistingBuilder builder = autoScalingGroups .create(ctx.getUserFullName(), request.getAutoScalingGroupName(), verifyOwnership(accountFullName, launchConfigurations.lookup(accountFullName, request.getLaunchConfigurationName(), Functions.<LaunchConfiguration>identity())), minSize, maxSize) .withAvailabilityZones(request.availabilityZones()) .withDefaultCooldown(Numbers.intValue(request.getDefaultCooldown())) .withDesiredCapacity(desiredCapacity) .withHealthCheckGracePeriod(Numbers.intValue(request.getHealthCheckGracePeriod())) .withHealthCheckType(request.getHealthCheckType() == null ? null : HealthCheckType.valueOf(request.getHealthCheckType())) .withLoadBalancerNames( request.loadBalancerNames()) .withTerminationPolicyTypes(request.terminationPolicies() == null ? null : Collections2.filter( Collections2.transform(request.terminationPolicies(), Enums.valueOfFunction(TerminationPolicyType.class)), Predicates.not(Predicates.isNull()))) .withTags(request.getTags() == null ? null : Iterables.transform(request.getTags().getMember(), TypeMappers.lookup(TagType.class, AutoScalingGroupTag.class))); return builder.persist(); } catch (AutoScalingMetadataNotFoundException e) { throw Exceptions.toUndeclared(new ValidationErrorException( "Launch configuration not found: " + request.getLaunchConfigurationName())); } catch (IllegalArgumentException e) { throw Exceptions.toUndeclared(new ValidationErrorException( "Invalid health check type: " + request.getHealthCheckType())); } catch (Exception ex) { throw new RuntimeException(ex); } } }; try { RestrictedTypes.allocateUnitlessResource(allocator); } catch (Exception e) { handleException(e, true); } return reply; }
From source file:org.eclipse.sirius.diagram.ui.tools.internal.dialogs.DiagramElementsSelectionDialog.java
/** * Return all selected elements of the diagram that are display in the tree. * /*from w ww. java 2 s . co m*/ * @return All selected elements of the diagram that are display in the * tree. */ protected Set<Object> getAllSelectedElements() { Set<Object> treeElements = getAllChildren(diagram); return Sets.newHashSet( Iterators.filter(treeElements.iterator(), Predicates.and(isSelected, Predicates.not(isGrayed)))); }
From source file:org.eclipse.sirius.ui.tools.internal.views.common.ContextMenuFiller.java
private Collection<EObject> getEObjects(final Collection<?> selection) { Collection<EObject> eObjects = Collections.emptyList(); if (selection != null) { // Keep only EObjects, not Resources (CDOResources are EObjects). eObjects = Sets.newLinkedHashSet(Iterables.filter(Iterables.filter(selection, EObject.class), Predicates.not(Predicates.instanceOf(Resource.class)))); }//from w w w .jav a 2 s. co m return eObjects; }
From source file:fr.xebia.demo.amazon.aws.PetclinicInfrastructureEnforcer.java
/** * //from w ww . j a v a2 s .c o m * @param healthCheckUri * start with slash. E.g. "/myapp/healthcheck.jsp * @param applicationIdentifier * used to name the load balancer and to filter the instances on * their "Role" tag. * @return created load balancer description */ @Nonnull public LoadBalancerDescription createOrUpdateElasticLoadBalancer(@Nonnull String healthCheckUri, @Nonnull String applicationIdentifier) { LOGGER.info("ENFORCE LOAD BALANCER"); DescribeInstancesRequest describeInstancesWithRoleRequest = new DescribeInstancesRequest(). // withFilters(new Filter("tag:Role", Arrays.asList(applicationIdentifier))); DescribeInstancesResult describeInstancesResult = ec2.describeInstances(describeInstancesWithRoleRequest); Iterable<Instance> expectedEc2Instances = toEc2Instances(describeInstancesResult.getReservations()); Set<String> expectedAvailabilityZones = Sets .newHashSet(Iterables.transform(expectedEc2Instances, EC2_INSTANCE_TO_AVAILABILITY_ZONE)); Listener expectedListener = new Listener("HTTP", 80, 8080); String loadBalancerName = applicationIdentifier; LoadBalancerDescription actualLoadBalancerDescription; try { DescribeLoadBalancersResult describeLoadBalancers = elb .describeLoadBalancers(new DescribeLoadBalancersRequest(Arrays.asList(loadBalancerName))); if (describeLoadBalancers.getLoadBalancerDescriptions().isEmpty()) { // unexpected, this should have been a // LoadBalancerNotFoundException actualLoadBalancerDescription = null; } else { // re-query to get updated config actualLoadBalancerDescription = Iterables .getFirst(describeLoadBalancers.getLoadBalancerDescriptions(), null); } } catch (LoadBalancerNotFoundException e) { actualLoadBalancerDescription = null; } Set<String> actualAvailabilityZones; Set<String> actualInstanceIds; Policies actualPolicies; HealthCheck actualHealthCheck; ListenerDescription actualListenerDescription = null; if (actualLoadBalancerDescription == null) { CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest() // .withLoadBalancerName(loadBalancerName) // .withAvailabilityZones(expectedAvailabilityZones) // .withListeners(expectedListener); elb.createLoadBalancer(createLoadBalancerRequest); actualListenerDescription = new ListenerDescription().withListener(expectedListener); actualAvailabilityZones = expectedAvailabilityZones; actualInstanceIds = Collections.emptySet(); actualHealthCheck = new HealthCheck(); actualPolicies = new Policies(); } else { // check listeners List<ListenerDescription> actualListenerDescriptions = actualLoadBalancerDescription .getListenerDescriptions(); boolean loadBalancerMustBeRecreated; if (actualListenerDescriptions.size() == 1) { actualListenerDescription = Iterables.getOnlyElement(actualListenerDescriptions); Listener actualListener = actualListenerDescription.getListener(); if (ObjectUtils.equals(expectedListener.getProtocol(), actualListener.getProtocol()) && // ObjectUtils.equals(expectedListener.getLoadBalancerPort(), actualListener.getLoadBalancerPort()) && // ObjectUtils.equals(expectedListener.getInstancePort(), actualListener.getInstancePort())) { loadBalancerMustBeRecreated = false; } else { loadBalancerMustBeRecreated = true; } } else { loadBalancerMustBeRecreated = true; } if (loadBalancerMustBeRecreated) { LOGGER.info("Recreate miss configured load balancer actualListeners:{}, expectedListener:{}", actualListenerDescriptions, expectedListener); elb.deleteLoadBalancer(new DeleteLoadBalancerRequest(loadBalancerName)); return createOrUpdateElasticLoadBalancer(healthCheckUri, applicationIdentifier); } // actualAvailabilityZones = Sets.newHashSet(actualLoadBalancerDescription.getAvailabilityZones()); actualInstanceIds = Sets.newHashSet( Iterables.transform(actualLoadBalancerDescription.getInstances(), ELB_INSTANCE_TO_INSTANCE_ID)); actualHealthCheck = actualLoadBalancerDescription.getHealthCheck(); actualPolicies = actualLoadBalancerDescription.getPolicies(); } // HEALTH CHECK if (!healthCheckUri.startsWith("/")) { healthCheckUri = "/" + healthCheckUri; } HealthCheck expectedHealthCheck = new HealthCheck() // .withTarget("HTTP:8080" + healthCheckUri) // .withHealthyThreshold(2) // .withUnhealthyThreshold(2) // .withInterval(30) // .withTimeout(2); if (Objects.equal(expectedHealthCheck.getTarget(), actualHealthCheck.getTarget()) && // Objects.equal(expectedHealthCheck.getHealthyThreshold(), actualHealthCheck.getHealthyThreshold()) && // Objects.equal(expectedHealthCheck.getInterval(), actualHealthCheck.getInterval()) && // Objects.equal(expectedHealthCheck.getTimeout(), actualHealthCheck.getTimeout()) && // Objects.equal(expectedHealthCheck.getUnhealthyThreshold(), actualHealthCheck.getHealthyThreshold())) { // health check is ok } else { LOGGER.info("Set Healthcheck: {}", expectedHealthCheck); elb.configureHealthCheck(new ConfigureHealthCheckRequest(loadBalancerName, expectedHealthCheck)); } // AVAILABILITY ZONES // enable Iterable<String> availabilityZonesToEnable = Sets.difference(expectedAvailabilityZones, actualAvailabilityZones); LOGGER.info("Enable availability zones: {}", availabilityZonesToEnable); if (!Iterables.isEmpty(availabilityZonesToEnable)) { elb.enableAvailabilityZonesForLoadBalancer(new EnableAvailabilityZonesForLoadBalancerRequest( loadBalancerName, Lists.newArrayList(availabilityZonesToEnable))); } // disable Iterable<String> availabilityZonesToDisable = Sets.difference(actualAvailabilityZones, expectedAvailabilityZones); LOGGER.info("Disable availability zones: {}", availabilityZonesToDisable); if (!Iterables.isEmpty(availabilityZonesToDisable)) { elb.disableAvailabilityZonesForLoadBalancer(new DisableAvailabilityZonesForLoadBalancerRequest( loadBalancerName, Lists.newArrayList(availabilityZonesToDisable))); } // STICKINESS List<AppCookieStickinessPolicy> appCookieStickinessPoliciesToDelete = actualPolicies .getAppCookieStickinessPolicies(); LOGGER.info("Delete app cookie stickiness policies: {}", appCookieStickinessPoliciesToDelete); for (AppCookieStickinessPolicy appCookieStickinessPolicyToDelete : appCookieStickinessPoliciesToDelete) { elb.deleteLoadBalancerPolicy(new DeleteLoadBalancerPolicyRequest(loadBalancerName, appCookieStickinessPolicyToDelete.getPolicyName())); } final LBCookieStickinessPolicy expectedLbCookieStickinessPolicy = new LBCookieStickinessPolicy( applicationIdentifier + "-stickiness-policy", null); Predicate<LBCookieStickinessPolicy> isExpectedPolicyPredicate = new Predicate<LBCookieStickinessPolicy>() { @Override public boolean apply(LBCookieStickinessPolicy lbCookieStickinessPolicy) { return Objects.equal(expectedLbCookieStickinessPolicy.getPolicyName(), lbCookieStickinessPolicy.getPolicyName()) && // Objects.equal(expectedLbCookieStickinessPolicy.getCookieExpirationPeriod(), lbCookieStickinessPolicy.getCookieExpirationPeriod()); } }; Collection<LBCookieStickinessPolicy> lbCookieStickinessPoliciesToDelete = Collections2 .filter(actualPolicies.getLBCookieStickinessPolicies(), Predicates.not(isExpectedPolicyPredicate)); LOGGER.info("Delete lb cookie stickiness policies: {}", lbCookieStickinessPoliciesToDelete); for (LBCookieStickinessPolicy lbCookieStickinessPolicy : lbCookieStickinessPoliciesToDelete) { elb.deleteLoadBalancerPolicy(new DeleteLoadBalancerPolicyRequest(loadBalancerName, lbCookieStickinessPolicy.getPolicyName())); } Collection<LBCookieStickinessPolicy> matchingLbCookieStyckinessPolicy = Collections2 .filter(actualPolicies.getLBCookieStickinessPolicies(), isExpectedPolicyPredicate); if (matchingLbCookieStyckinessPolicy.isEmpty()) { // COOKIE STICKINESS CreateLBCookieStickinessPolicyRequest createLbCookieStickinessPolicy = new CreateLBCookieStickinessPolicyRequest() // .withLoadBalancerName(loadBalancerName) // .withPolicyName(expectedLbCookieStickinessPolicy.getPolicyName()) // .withCookieExpirationPeriod(expectedLbCookieStickinessPolicy.getCookieExpirationPeriod()); LOGGER.info("Create LBCookieStickinessPolicy: {}", createLbCookieStickinessPolicy); elb.createLBCookieStickinessPolicy(createLbCookieStickinessPolicy); } else { // what ? } // TODO verify load balancer policy is associated with the listener List<String> expectedListenerDescriptionPolicyNames = Lists .newArrayList(expectedLbCookieStickinessPolicy.getPolicyName()); boolean mustOverWriteListenerPolicy = !ObjectUtils.equals(expectedListenerDescriptionPolicyNames, actualListenerDescription.getPolicyNames()); if (mustOverWriteListenerPolicy) { SetLoadBalancerPoliciesOfListenerRequest setLoadBalancerPoliciesOfListenerRequest = new SetLoadBalancerPoliciesOfListenerRequest() // .withLoadBalancerName(loadBalancerName) // .withLoadBalancerPort(expectedListener.getLoadBalancerPort()) // .withPolicyNames(expectedLbCookieStickinessPolicy.getPolicyName()); LOGGER.debug("setLoadBalancerPoliciesOfListener: {}", setLoadBalancerPoliciesOfListenerRequest); elb.setLoadBalancerPoliciesOfListener(setLoadBalancerPoliciesOfListenerRequest); } // INSTANCES Set<String> expectedEc2InstanceIds = Sets .newHashSet(Iterables.transform(expectedEc2Instances, EC2_INSTANCE_TO_INSTANCE_ID)); // register Iterable<String> instanceIdsToRegister = Sets.difference(expectedEc2InstanceIds, actualInstanceIds); LOGGER.info("Register {} instances: {}", applicationIdentifier, instanceIdsToRegister); if (!Iterables.isEmpty(instanceIdsToRegister)) { elb.registerInstancesWithLoadBalancer(new RegisterInstancesWithLoadBalancerRequest(loadBalancerName, Lists.newArrayList(Iterables.transform(instanceIdsToRegister, INSTANCE_ID_TO_ELB_INSTANCE)))); } // deregister Iterable<String> instanceIdsToDeregister = Sets.difference(actualInstanceIds, expectedEc2InstanceIds); LOGGER.info("Deregister {} instances: {}", applicationIdentifier, instanceIdsToDeregister); if (!Iterables.isEmpty(instanceIdsToDeregister)) { elb.deregisterInstancesFromLoadBalancer(new DeregisterInstancesFromLoadBalancerRequest(loadBalancerName, Lists.newArrayList(Iterables.transform(instanceIdsToDeregister, INSTANCE_ID_TO_ELB_INSTANCE)))); } // QUERY TO GET UP TO DATE LOAD BALANCER DESCRIPTION LoadBalancerDescription elasticLoadBalancerDescription = Iterables.getOnlyElement( elb.describeLoadBalancers(new DescribeLoadBalancersRequest(Arrays.asList(loadBalancerName))) .getLoadBalancerDescriptions()); return elasticLoadBalancerDescription; }
From source file:fr.xebia.workshop.infrastructureascode.AmazonAwsPetclinicInfrastructureEnforcer.java
/** * /*www . j ava2s.c o m*/ * @param healthCheckUri * start with slash. E.g. "/myapp/healthcheck.jsp * @param applicationIdentifier * used to name the load balancer and to filter the instances on * their "Role" tag. * @return created load balancer description */ @Nonnull public LoadBalancerDescription createOrUpdateElasticLoadBalancer(@Nonnull String healthCheckUri, @Nonnull String applicationIdentifier) { logger.info("ENFORCE LOAD BALANCER"); DescribeInstancesRequest describeInstancesWithRoleRequest = new DescribeInstancesRequest(). // withFilters(new Filter("tag:Role", Arrays.asList(applicationIdentifier))); DescribeInstancesResult describeInstancesResult = ec2.describeInstances(describeInstancesWithRoleRequest); Iterable<Instance> expectedEc2Instances = toEc2Instances(describeInstancesResult.getReservations()); Set<String> expectedAvailabilityZones = Sets .newHashSet(Iterables.transform(expectedEc2Instances, EC2_INSTANCE_TO_AVAILABILITY_ZONE)); Listener expectedListener = new Listener("HTTP", 80, 8080); String loadBalancerName = applicationIdentifier; LoadBalancerDescription actualLoadBalancerDescription; try { DescribeLoadBalancersResult describeLoadBalancers = elb .describeLoadBalancers(new DescribeLoadBalancersRequest(Arrays.asList(loadBalancerName))); if (describeLoadBalancers.getLoadBalancerDescriptions().isEmpty()) { // unexpected, this should have been a // LoadBalancerNotFoundException actualLoadBalancerDescription = null; } else { // re-query to get updated config actualLoadBalancerDescription = Iterables .getFirst(describeLoadBalancers.getLoadBalancerDescriptions(), null); } } catch (LoadBalancerNotFoundException e) { actualLoadBalancerDescription = null; } Set<String> actualAvailabilityZones; Set<String> actualInstanceIds; Policies actualPolicies; HealthCheck actualHealthCheck; ListenerDescription actualListenerDescription = null; if (actualLoadBalancerDescription == null) { CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest() // .withLoadBalancerName(loadBalancerName) // .withAvailabilityZones(expectedAvailabilityZones) // .withListeners(expectedListener); elb.createLoadBalancer(createLoadBalancerRequest); actualListenerDescription = new ListenerDescription().withListener(expectedListener); actualAvailabilityZones = expectedAvailabilityZones; actualInstanceIds = Collections.emptySet(); actualHealthCheck = new HealthCheck(); actualPolicies = new Policies(); } else { // check listeners List<ListenerDescription> actualListenerDescriptions = actualLoadBalancerDescription .getListenerDescriptions(); boolean loadBalancerMustBeRecreated; if (actualListenerDescriptions.size() == 1) { actualListenerDescription = Iterables.getOnlyElement(actualListenerDescriptions); Listener actualListener = actualListenerDescription.getListener(); if (ObjectUtils.equals(expectedListener.getProtocol(), actualListener.getProtocol()) && // ObjectUtils.equals(expectedListener.getLoadBalancerPort(), actualListener.getLoadBalancerPort()) && // ObjectUtils.equals(expectedListener.getInstancePort(), actualListener.getInstancePort())) { loadBalancerMustBeRecreated = false; } else { loadBalancerMustBeRecreated = true; } } else { loadBalancerMustBeRecreated = true; } if (loadBalancerMustBeRecreated) { logger.info("Recreate miss configured load balancer actualListeners:{}, expectedListener:{}", actualListenerDescriptions, expectedListener); elb.deleteLoadBalancer(new DeleteLoadBalancerRequest(loadBalancerName)); return createOrUpdateElasticLoadBalancer(healthCheckUri, applicationIdentifier); } // actualAvailabilityZones = Sets.newHashSet(actualLoadBalancerDescription.getAvailabilityZones()); actualInstanceIds = Sets.newHashSet( Iterables.transform(actualLoadBalancerDescription.getInstances(), ELB_INSTANCE_TO_INSTANCE_ID)); actualHealthCheck = actualLoadBalancerDescription.getHealthCheck(); actualPolicies = actualLoadBalancerDescription.getPolicies(); } // HEALTH CHECK if (!healthCheckUri.startsWith("/")) { healthCheckUri = "/" + healthCheckUri; } HealthCheck expectedHealthCheck = new HealthCheck() // .withTarget("HTTP:8080" + healthCheckUri) // .withHealthyThreshold(2) // .withUnhealthyThreshold(2) // .withInterval(30) // .withTimeout(2); if (Objects.equal(expectedHealthCheck.getTarget(), actualHealthCheck.getTarget()) && // Objects.equal(expectedHealthCheck.getHealthyThreshold(), actualHealthCheck.getHealthyThreshold()) && // Objects.equal(expectedHealthCheck.getInterval(), actualHealthCheck.getInterval()) && // Objects.equal(expectedHealthCheck.getTimeout(), actualHealthCheck.getTimeout()) && // Objects.equal(expectedHealthCheck.getUnhealthyThreshold(), actualHealthCheck.getHealthyThreshold())) { // health check is ok } else { logger.info("Set Healthcheck: " + expectedHealthCheck); elb.configureHealthCheck(new ConfigureHealthCheckRequest(loadBalancerName, expectedHealthCheck)); } // AVAILABILITY ZONES // enable Iterable<String> availabilityZonesToEnable = Sets.difference(expectedAvailabilityZones, actualAvailabilityZones); logger.info("Enable availability zones: " + availabilityZonesToEnable); if (!Iterables.isEmpty(availabilityZonesToEnable)) { elb.enableAvailabilityZonesForLoadBalancer(new EnableAvailabilityZonesForLoadBalancerRequest( loadBalancerName, Lists.newArrayList(availabilityZonesToEnable))); } // disable Iterable<String> availabilityZonesToDisable = Sets.difference(actualAvailabilityZones, expectedAvailabilityZones); logger.info("Disable availability zones: " + availabilityZonesToDisable); if (!Iterables.isEmpty(availabilityZonesToDisable)) { elb.disableAvailabilityZonesForLoadBalancer(new DisableAvailabilityZonesForLoadBalancerRequest( loadBalancerName, Lists.newArrayList(availabilityZonesToDisable))); } // STICKINESS List<AppCookieStickinessPolicy> appCookieStickinessPoliciesToDelete = actualPolicies .getAppCookieStickinessPolicies(); logger.info("Delete app cookie stickiness policies:" + appCookieStickinessPoliciesToDelete); for (AppCookieStickinessPolicy appCookieStickinessPolicyToDelete : appCookieStickinessPoliciesToDelete) { elb.deleteLoadBalancerPolicy(new DeleteLoadBalancerPolicyRequest(loadBalancerName, appCookieStickinessPolicyToDelete.getPolicyName())); } final LBCookieStickinessPolicy expectedLbCookieStickinessPolicy = new LBCookieStickinessPolicy( applicationIdentifier + "-stickiness-policy", null); Predicate<LBCookieStickinessPolicy> isExpectedPolicyPredicate = new Predicate<LBCookieStickinessPolicy>() { @Override public boolean apply(LBCookieStickinessPolicy lbCookieStickinessPolicy) { return Objects.equal(expectedLbCookieStickinessPolicy.getPolicyName(), lbCookieStickinessPolicy.getPolicyName()) && // Objects.equal(expectedLbCookieStickinessPolicy.getCookieExpirationPeriod(), lbCookieStickinessPolicy.getCookieExpirationPeriod()); } }; Collection<LBCookieStickinessPolicy> lbCookieStickinessPoliciesToDelete = Collections2 .filter(actualPolicies.getLBCookieStickinessPolicies(), Predicates.not(isExpectedPolicyPredicate)); logger.info("Delete lb cookie stickiness policies: " + lbCookieStickinessPoliciesToDelete); for (LBCookieStickinessPolicy lbCookieStickinessPolicy : lbCookieStickinessPoliciesToDelete) { elb.deleteLoadBalancerPolicy(new DeleteLoadBalancerPolicyRequest(loadBalancerName, lbCookieStickinessPolicy.getPolicyName())); } Collection<LBCookieStickinessPolicy> matchingLbCookieStyckinessPolicy = Collections2 .filter(actualPolicies.getLBCookieStickinessPolicies(), isExpectedPolicyPredicate); if (matchingLbCookieStyckinessPolicy.isEmpty()) { // COOKIE STICKINESS CreateLBCookieStickinessPolicyRequest createLbCookieStickinessPolicy = new CreateLBCookieStickinessPolicyRequest() // .withLoadBalancerName(loadBalancerName) // .withPolicyName(expectedLbCookieStickinessPolicy.getPolicyName()) // .withCookieExpirationPeriod(expectedLbCookieStickinessPolicy.getCookieExpirationPeriod()); logger.info("Create LBCookieStickinessPolicy: " + createLbCookieStickinessPolicy); elb.createLBCookieStickinessPolicy(createLbCookieStickinessPolicy); } else { // what ? } // TODO verify load balancer policy is associated with the listener List<String> expectedListenerDescriptionPolicyNames = Lists .newArrayList(expectedLbCookieStickinessPolicy.getPolicyName()); boolean mustOverWriteListenerPolicy = !ObjectUtils.equals(expectedListenerDescriptionPolicyNames, actualListenerDescription.getPolicyNames()); if (mustOverWriteListenerPolicy) { SetLoadBalancerPoliciesOfListenerRequest setLoadBalancerPoliciesOfListenerRequest = new SetLoadBalancerPoliciesOfListenerRequest() // .withLoadBalancerName(loadBalancerName) // .withLoadBalancerPort(expectedListener.getLoadBalancerPort()) // .withPolicyNames(expectedLbCookieStickinessPolicy.getPolicyName()); logger.debug("setLoadBalancerPoliciesOfListener: {}", setLoadBalancerPoliciesOfListenerRequest); elb.setLoadBalancerPoliciesOfListener(setLoadBalancerPoliciesOfListenerRequest); } // INSTANCES Set<String> expectedEc2InstanceIds = Sets .newHashSet(Iterables.transform(expectedEc2Instances, EC2_INSTANCE_TO_INSTANCE_ID)); // register Iterable<String> instanceIdsToRegister = Sets.difference(expectedEc2InstanceIds, actualInstanceIds); logger.info("Register " + applicationIdentifier + " instances: " + instanceIdsToRegister); if (!Iterables.isEmpty(instanceIdsToRegister)) { elb.registerInstancesWithLoadBalancer(new RegisterInstancesWithLoadBalancerRequest(loadBalancerName, Lists.newArrayList(Iterables.transform(instanceIdsToRegister, INSTANCE_ID_TO_ELB_INSTANCE)))); } // deregister Iterable<String> instanceIdsToDeregister = Sets.difference(actualInstanceIds, expectedEc2InstanceIds); logger.info("Deregister " + applicationIdentifier + " instances: " + instanceIdsToDeregister); if (!Iterables.isEmpty(instanceIdsToDeregister)) { elb.deregisterInstancesFromLoadBalancer(new DeregisterInstancesFromLoadBalancerRequest(loadBalancerName, Lists.newArrayList(Iterables.transform(instanceIdsToDeregister, INSTANCE_ID_TO_ELB_INSTANCE)))); } // QUERY TO GET UP TO DATE LOAD BALANCER DESCRIPTION LoadBalancerDescription elasticLoadBalancerDescription = Iterables.getOnlyElement( elb.describeLoadBalancers(new DescribeLoadBalancersRequest(Arrays.asList(loadBalancerName))) .getLoadBalancerDescriptions()); return elasticLoadBalancerDescription; }
From source file:org.obeonetwork.dsl.uml2.design.api.wizards.ModelElementsSelectionDialog.java
/** * Return all selected elements of the diagram that are display in the tree. * * @return All selected elements of the diagram that are display in the tree. */// w w w .j av a2 s .com protected Set<Object> getAllSelectedElements() { final Set<Object> treeElements = getAllChildren(eObject); return Sets.newHashSet(Iterators.filter(treeElements.iterator(), Predicates.not(isGrayed))); }
From source file:com.facebook.buck.apple.AppleDescriptions.java
private static BuildRuleParams getBundleParamsWithUpdatedDeps(final BuildRuleParams params, final BuildTarget originalBinaryTarget, final Set<BuildRule> newDeps) { // Remove the unflavored binary rule and add the flavored one instead. final Predicate<BuildRule> notOriginalBinaryRule = Predicates .not(BuildRules.isBuildRuleWithTarget(originalBinaryTarget)); return params.copyWithDeps( Suppliers.ofInstance(FluentIterable.from(params.getDeclaredDeps().get()) .filter(notOriginalBinaryRule).append(newDeps).toSortedSet(Ordering.natural())), Suppliers.ofInstance(FluentIterable.from(params.getExtraDeps().get()).filter(notOriginalBinaryRule) .toSortedSet(Ordering.natural()))); }
From source file:com.google.devtools.build.lib.skyframe.ActionExecutionFunction.java
private static Iterable<Artifact> filterKnownInputs(Iterable<Artifact> newInputs, Set<Artifact> knownInputs) { return Iterables.filter(newInputs, Predicates.not(Predicates.in(knownInputs))); }
From source file:dagger2.internal.codegen.BindingGraphValidator.java
private void reportMissingBinding(Deque<ResolvedRequest> path, ValidationReport.Builder<BindingGraph> reportBuilder) { Key key = path.peek().request().key(); TypeMirror type = key.type(); String typeName = TypeNames.forTypeMirror(type).toString(); boolean requiresContributionMethod = !key.isValidImplicitProvisionKey(types); boolean requiresProvision = doesPathRequireProvisionOnly(path); StringBuilder errorMessage = new StringBuilder(); String requiresErrorMessageFormat = requiresContributionMethod ? requiresProvision ? REQUIRES_PROVIDER_FORMAT : REQUIRES_PROVIDER_OR_PRODUCER_FORMAT : requiresProvision ? REQUIRES_AT_INJECT_CONSTRUCTOR_OR_PROVIDER_FORMAT : REQUIRES_AT_INJECT_CONSTRUCTOR_OR_PROVIDER_OR_PRODUCER_FORMAT; errorMessage.append(String.format(requiresErrorMessageFormat, typeName)); if (key.isValidMembersInjectionKey() && !injectBindingRegistry.getOrFindMembersInjectionBinding(key).injectionSites().isEmpty()) { errorMessage.append(" ").append(ErrorMessages.MEMBERS_INJECTION_DOES_NOT_IMPLY_PROVISION); }//from w w w . jav a 2s. c o m ImmutableList<String> printableDependencyPath = FluentIterable.from(path) .transform(REQUEST_FROM_RESOLVED_REQUEST).transform(dependencyRequestFormatter) .filter(Predicates.not(Predicates.equalTo(""))).toList().reverse(); for (String dependency : printableDependencyPath.subList(1, printableDependencyPath.size())) { errorMessage.append("\n").append(dependency); } reportBuilder.addItem(errorMessage.toString(), path.getLast().request().requestElement()); }
From source file:io.usethesource.criterion.CalculateFootprintsHeterogeneous.java
private static String measureAndReport(final Object objectToMeasure, final String className, DataType dataType, Archetype archetype, boolean supportsStagedMutability, int size, int run, MemoryFootprintPreset preset) {/*from w w w . j av a2 s . com*/ final Predicate<Object> predicate; switch (preset) { case DATA_STRUCTURE_OVERHEAD: // TODO: create JmhLeaf // predicate = Predicates // .not(Predicates.or(Predicates.instanceOf(Integer.class), // Predicates.instanceOf(BigInteger.class), // Predicates.instanceOf(JmhValue.class), Predicates.instanceOf(PureInteger.class))); predicate = Predicates.not(Predicates.or(Predicates.instanceOf(PureInteger.class), Predicates.instanceOf(PureIntegerWithCustomHashCode.class))); break; case RETAINED_SIZE: predicate = Predicates.alwaysTrue(); break; case RETAINED_SIZE_WITH_BOXED_INTEGER_FILTER: predicate = Predicates.not(Predicates.instanceOf(Integer.class)); break; default: throw new IllegalStateException(); } return measureAndReport(objectToMeasure, className, dataType, archetype, supportsStagedMutability, size, run, predicate); }