Example usage for com.google.common.collect Collections2 transform

List of usage examples for com.google.common.collect Collections2 transform

Introduction

In this page you can find the example usage for com.google.common.collect Collections2 transform.

Prototype

public static <F, T> Collection<T> transform(Collection<F> fromCollection, Function<? super F, T> function) 

Source Link

Document

Returns a collection that applies function to each element of fromCollection .

Usage

From source file:com.isotrol.impe3.idx.feedburner.FeedBurnerIndexer.java

/**
 * Initializing method, instances conversor function.
 *///w w  w .  ja  va2s .  c  om
public void init() {
    this.conversor = new Function<SyndEntryImpl, Document>() {

        public Document apply(SyndEntryImpl input) {
            final DocumentBuilder builder = new DocumentBuilder();

            final nu.xom.Document xml = getXmlDocument(input);

            @SuppressWarnings("unchecked")
            final List<SyndCategoryImpl> categories = input.getCategories();
            final Set<String> channels = splitCategories ? splitChannels(categories)
                    : Sets.newHashSet(Collections2.transform(categories, CAT));

            final String id = ISO9075.encode(input.getUri());
            final UUID nodeType = getContentType(channels, defaultContent);
            if (nodeType == null) {
                return null;
            }
            final Date date = input.getPublishedDate();
            final String title = input.getTitle();
            final String description = input.getDescription().getValue();

            @SuppressWarnings("unchecked")
            final List<SyndContentImpl> contents = input.getContents();

            final Set<UUID> cmapped = mappingsService.getCategories(null, null, channels, xml);
            final Set<String> smapped = mappingsService.getSets(null, null, channels, xml);

            builder.setNodeKey(NodeKey.of(nodeType, id));
            builder.setField(FeedBurnerSchema.ID, id, true, false);
            builder.setTitle(title);
            builder.setDate(date);

            builder.setExpirationDate(Schema.getMaxCalendar());
            builder.setReleaseDate(date);

            if (description != null) {
                builder.setDescription(description);
                builder.setText(description);
            }
            builder.addLocale("es"); // TODO

            for (String set : smapped) {
                builder.addSet(set);
            }

            for (UUID categoryKey : cmapped) {
                builder.addCategory(categoryKey);
            }

            for (String catName : channels) {
                builder.setField(FeedBurnerSchema.CATEGORY, catName, true, false);
            }

            if (contents != null && !contents.isEmpty()) {
                final StringBuilder sb = new StringBuilder();

                for (SyndContentImpl content : contents) {
                    sb.append(content.getValue());
                }

                builder.setBytes(sb.toString().getBytes(), true);
            }

            return builder.get();
        }

        private Set<String> splitChannels(List<SyndCategoryImpl> categories) {
            final Set<String> channels = Sets.newHashSet();

            for (SyndCategoryImpl category : categories) {
                final String c = category.getName();
                final StringTokenizer st = new StringTokenizer(c, " ");

                while (st.hasMoreElements()) {
                    channels.add((String) st.nextElement());
                }

            }

            return channels;
        }

        private nu.xom.Document getXmlDocument(SyndEntryImpl input) {
            final Element item = new Element("item");

            final Element title = new Element("title");
            title.appendChild(input.getTitle());
            item.appendChild(title);

            final Element author = new Element("author");
            author.appendChild(input.getAuthor());
            item.appendChild(author);

            final Element link = new Element("link");
            link.appendChild(input.getLink());
            item.appendChild(link);

            final Element uri = new Element("uri");
            uri.appendChild(input.getUri());
            item.appendChild(uri);

            final Element publishedDate = new Element("publishedDate");
            publishedDate.appendChild(String.valueOf(input.getPublishedDate().getTime()));
            item.appendChild(publishedDate);

            final SyndContent description = input.getDescription();

            if (description != null) {
                final Element desc = new Element("description");
                if (description.getType() != null) {
                    desc.addAttribute(new Attribute("type", description.getType()));
                }
                desc.appendChild(description.getValue());
                item.appendChild(desc);
            }

            @SuppressWarnings("unchecked")
            final List<SyndCategory> categories = input.getCategories();

            if (categories != null) {
                final Element cats = new Element("categories");

                for (SyndCategory category : categories) {
                    final Element cat = new Element("category");
                    cat.appendChild(category.getName());
                    cats.appendChild(cat);
                }

                item.appendChild(cats);
            }

            return new nu.xom.Document(item);
        }

        private UUID getContentType(final Set<String> categories, final String defaultContent) {
            for (String category : categories) {
                final UUID uuid = mappingsService.getContentType(category);
                if (uuid != null) {
                    return uuid;
                }
            }
            return mappingsService.getContentType(defaultContent);
        }
    };
}

From source file:de.cosmocode.palava.workqueue.ConfigurableDelayQueue.java

@Override
public boolean remove(Object o) {
    return Collections2.transform(queue, extractor).remove(o);
}

From source file:org.polarsys.reqcycle.repository.connector.local.ReqCycleContributionItem.java

@Override
protected IContributionItem[] getContributionItems() {

    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    Set<EClass> classes = new HashSet<EClass>();
    if (window != null) {
        ISelection selection = window.getSelectionService().getSelection();
        if (selection instanceof IStructuredSelection) {
            Object firstElement = ((IStructuredSelection) selection).getFirstElement();
            selectedElement = null;// w w w.  j  a  va2  s .c o  m
            if (firstElement instanceof EObject) {
                selectedElement = (EObject) firstElement;
                classes = getDataEClasses(selectedElement);
            }
        }
    }

    Collection<IContributionItem> menuContributionList = Collections2.transform(classes,
            new Function<EClass, IContributionItem>() {

                @Override
                public IContributionItem apply(final EClass arg0) {
                    ContributionItem contributionItem = new ContributionItem() {

                        @Override
                        public void fill(Menu menu, int index) {
                            MenuItem menuItem = new MenuItem(menu, SWT.None);
                            menuItem.setText(arg0.getName());
                            menuItem.addSelectionListener(new SelectionAdapter() {

                                @Override
                                public void widgetSelected(SelectionEvent e) {

                                    try {

                                        EObject object = arg0.getEPackage().getEFactoryInstance().create(arg0);
                                        AbstractElement element;

                                        if (object instanceof AbstractElement) {
                                            element = (AbstractElement) object;
                                        } else {
                                            throw new Exception(
                                                    "Error while creating a " + arg0.getName() + " element.");
                                        }

                                        if (selectedElement instanceof RequirementSource) {
                                            dataManager.addElementsToSource((RequirementSource) selectedElement,
                                                    element);
                                        }

                                        if (selectedElement instanceof Section) {
                                            dataManager.addElementsToSection((Section) selectedElement,
                                                    element);
                                        }

                                        dataManager.notifyChange(IDataTopics.NEW_ELEMENT, element);

                                        // FIXME : set element scope

                                    } catch (Exception e1) {
                                        e1.printStackTrace();
                                    }

                                }
                            });
                        }
                    };
                    return contributionItem;
                }
            });

    IContributionItem[] array = new IContributionItem[menuContributionList.size()];
    return menuContributionList.toArray(array);
}

From source file:org.zanata.action.DashboardAction.java

public String getUserLanguageTeams() {
    HAccount account = accountDAO.findById(authenticatedAccount.getId());
    return StringUtils.join(Collections2.transform(account.getPerson().getLanguageMemberships(),
            new Function<HLocale, Object>() {

                @Nullable/*from  www.  j  av  a 2s .com*/
                @Override
                public Object apply(@Nonnull HLocale locale) {
                    if (locale == null) {
                        throw new NullPointerException("locale");
                    }
                    return locale.retrieveDisplayName();
                }
            }), ", ");
}

From source file:org.obm.provisioning.resources.GroupResource.java

@GET
@Produces(JSON_WITH_UTF8)//from   w  w w . ja  va 2 s  .  com
@Transactional(readOnly = true)
public Collection<GroupIdentifier> listPublicGroups() throws DaoException {
    ResourceAuthorizationHelper.assertAuthorized(domain, groups_read);

    Set<Group> groups = groupDao.listPublicGroups(domain);

    if (groups == null) {
        return Collections.emptySet();
    }

    return Collections2.transform(groups, new Function<Group, GroupIdentifier>() {
        @Override
        public GroupIdentifier apply(Group group) {
            return GroupIdentifier.builder().id(group.getExtId()).domainUuid(domain.getUuid()).build();
        }
    });
}

From source file:com.netflix.turbine.discovery.AwsUtil.java

/**
 * Convert from AWS ASG Instances to Turbine Instances
 * //from  w ww . ja v a2s.  c om
 * @param asgName
 * @return list of Turbine Instances (not AWS Instances)
 */
public List<Instance> getTurbineInstances(String asgName) {
    List<com.amazonaws.services.autoscaling.model.Instance> awsInstances = getAutoScalingGroup(asgName)
            .getInstances();

    Collection<String> instanceIds = Collections2.transform(awsInstances,
            new Function<com.amazonaws.services.autoscaling.model.Instance, String>() {
                @Override
                public String apply(com.amazonaws.services.autoscaling.model.Instance asgInstance) {
                    return asgInstance.getInstanceId();
                }
            });

    DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();
    describeInstancesRequest.withInstanceIds(instanceIds);

    DescribeInstancesResult describeInstancesResult = ec2Client.describeInstances(describeInstancesRequest);
    List<Reservation> reservations = describeInstancesResult.getReservations();
    List<Instance> turbineInstances = new ArrayList<Instance>();

    // add all instances from each of the reservations - after converting to Turbine instance
    for (Reservation reservation : reservations) {
        List<com.amazonaws.services.ec2.model.Instance> ec2Instances = reservation.getInstances();
        for (com.amazonaws.services.ec2.model.Instance ec2Instance : ec2Instances) {
            String hostname = ec2Instance.getPublicDnsName();

            String statusName = ec2Instance.getState().getName();
            boolean status = statusName.equals("running"); // see com.amazonaws.services.ec2.model.InstanceState for values

            Instance turbineInstance = new Instance(hostname, asgName, status);
            turbineInstance.getAttributes().put("asg", asgName);

            turbineInstances.add(turbineInstance);
        }
    }

    return turbineInstances;
}

From source file:gt.org.ms.controller.usuarios.handlers.ModificarUsHandler.java

@Override
public UsuarioDto execute(final UsuarioDto request) {
    List<Usuario> ls = usuarios.findAll(new Specification() {
        @Override/* w  ww.ja  v a2s .  c o m*/
        public Predicate toPredicate(Root root, CriteriaQuery cq, CriteriaBuilder cb) {
            return cb.equal(root.get("id"), request.getUsuario());
        }
    });
    if (ls.isEmpty()) {
        throw ExceptionsManager.newValidationException("usuario_no_existe",
                new String[] { "usuario,El usuario no existe!" });
    }
    if (request.isResetClave() && (request.getClave() == null || request.getClave().isEmpty())) {
        throw ExceptionsManager.newValidationException("clave_vacia",
                new String[] { "usuario,Clave no puede ser vacia!" });
    }
    if (request.isResetClave()
            && (request.getConfirmacionClave() == null || request.getConfirmacionClave().isEmpty())) {
        throw ExceptionsManager.newValidationException("clave_vacia",
                new String[] { "usuario,Clave confirmacion no puede ser vacia" });
    }
    if (request.isResetClave() && !request.getConfirmacionClave().equalsIgnoreCase(request.getClave())) {
        throw ExceptionsManager.newValidationException("clave_no_coincide",
                new String[] { "usuario,Clave confirmacion y clave deben coincidir!" });
    }

    UsuarioDtoConverter bc = new UsuarioDtoConverter();
    final Usuario dbUser = ls.get(0); //usuarios.findOne(request.getUsuario());
    if (!isNull(request.getCui()) && !request.getCui().isEmpty()) {
        dbUser.setFkPersona(personas.findOne(request.getCui()));
    }
    List<UsuarioRoles> lsRoles = new ArrayList<UsuarioRoles>(
            Collections2.transform(request.getRoles(), new Function<RoleDto, UsuarioRoles>() {
                @Override
                public UsuarioRoles apply(RoleDto f) {
                    Role role = roles.findOne(f.getId());
                    UsuarioRoles urs = new UsuarioRoles();
                    urs.setFkRole(role);
                    urs.setFkUsuario(dbUser);
                    if (isNull(role)) {
                        throw ExceptionsManager.newValidationException("invalid_role",
                                new String[] { "role,Role es invalido o no existe" });
                    }
                    return urs;
                }
            }));
    if (!lsRoles.isEmpty()) {
        uRoles.deleteInBatch((List) dbUser.getUsuarioRolesCollection());
        dbUser.setUsuarioRolesCollection(lsRoles);
    }

    if (request.isResetClave()) {
        String newPass = new String(DigestUtils.md5Digest(request.getClave().getBytes()));
        dbUser.setClave(newPass);
    }

    EntitiesHelper.setDateUpdatedInfo(dbUser);
    dbUser.setNombres(request.getNombres());
    dbUser.setApellidos(request.getApellidos());
    dbUser.setEstado(Estado.ACTIVO);

    usuarios.save(dbUser);

    return bc.toDTO(dbUser);

}

From source file:com.yammer.collections.transforming.TransformingCollection.java

@SuppressWarnings("unchecked")
@Override/*from   w ww  .ja v a 2  s . c  o  m*/
public boolean containsAll(Collection<?> c) {
    return backingCollection
            .containsAll(Collections2.transform(checkNotNull(c), (Function<Object, Object>) toFunction));
}

From source file:io.v.baku.toolkit.blessings.BlessingsUtils.java

public static AccessList blessingsToAcl(final VContext ctx, final Blessings blessings) {
    return new AccessList(
            ImmutableList.copyOf(/* w  w w.j  a  va  2s  .  co  m*/
                    Collections2.transform(getBlessingNames(ctx, blessings), s -> new BlessingPattern(s))), //method reference confuses Android Studio
            ImmutableList.of());
}

From source file:org.apache.pig.impl.util.avro.AvroMapWrapper.java

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override//from   w ww .j  a va 2 s .c  o m
public Collection<Object> values() {
    return Collections2.transform(innerMap.values(), new Function() {
        @Override
        public Object apply(final Object v) {
            return AvroTupleWrapper.getPigObject(v);
        }
    });
}