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.netflix.astyanax.util.StringUtils.java

public static <T> String joinClassGettersValues(final T object, String name, Class<T> clazz) {
    Method[] methods = clazz.getDeclaredMethods();

    StringBuilder sb = new StringBuilder();
    sb.append(name).append("[");
    sb.append(org.apache.commons.lang.StringUtils.join(Collections2.transform(
            // Filter any field that does not start with lower case
            // (we expect constants to start with upper case)
            Collections2.filter(Arrays.asList(methods), new Predicate<Method>() {
                @Override/*from www. j a va 2  s.c  o m*/
                public boolean apply(Method method) {
                    if ((method.getModifiers() & Modifier.STATIC) == Modifier.STATIC)
                        return false;
                    return org.apache.commons.lang.StringUtils.startsWith(method.getName(), "get");
                }
            }),
            // Convert field to "name=value". value=*** on error
            new Function<Method, String>() {
                @Override
                public String apply(Method method) {
                    Object value;
                    try {
                        value = method.invoke(object);
                    } catch (Exception e) {
                        value = "***";
                    }
                    return org.apache.commons.lang.StringUtils.uncapitalize(
                            org.apache.commons.lang.StringUtils.substring(method.getName(), 3)) + "=" + value;
                }
            }), ","));
    sb.append("]");

    return sb.toString();
}

From source file:fr.vberetti.cassandra.metamodel.plugin.GenerateMojo.java

@Override
public void execute() throws MojoExecutionException, MojoFailureException {
    MetamodelGenerator generator = new MetamodelGenerator();
    generator.setBasePackage(basePackage);
    List<String> cqlFilePaths = Lists
            .newArrayList(Collections2.transform(cqlFiles, new Function<File, String>() {
                @Override//from   w  ww .  j a v a  2  s  .  c  o m
                public String apply(File input) {
                    return input.getAbsolutePath();
                }
            }));
    generator.setCqlFiles(cqlFilePaths);
    generator.getIncludeTables().addAll(includeTables);
    generator.setKeyspace(keyspace);
    generator.setOutputDirectory(outputDirectory);

    try {
        generator.generate();
    } catch (ConfigurationException | TTransportException | IOException | InterruptedException e) {
        throw new MojoFailureException("Metamodel generation failed " + e.getMessage());
    }

    getLog().info("Adding generation output directory as source ...");
    project.addCompileSourceRoot(outputDirectory);
}

From source file:org.entityapi.api.entity.mind.Attribute.java

protected T getNewEvent(final Object... args) {
    Type paramType = this.getClass().getGenericSuperclass();
    Class<?> paramClass = (Class<?>) paramType;

    Type paramEventType = paramClass.getGenericSuperclass();
    Class<T> event = (Class<T>) ((ParameterizedType) paramEventType).getActualTypeArguments()[0];

    ClassTemplate<T> template = new Reflection().reflect(event);
    final Class[] arguments = Collections2.transform(Arrays.asList(args), new Function<Object, Class>() {
        @Override//  ww  w .  j a  v  a  2 s  .co  m
        public Class apply(@Nullable Object o) {
            if (o instanceof Class)
                return (Class) o;
            else
                return o.getClass();
        }
    }).toArray(new Class[args.length]);

    try {

        List<SafeConstructor<T>> candidates = template.getSafeConstructors(new AbstractMatcher<Constructor>() {
            @Override
            public boolean matches(Constructor constructor) {
                if (constructor.getParameterTypes().length != args.length)
                    return false;

                Class[] args = constructor.getParameterTypes();
                for (int i = 0; i < args.length; i++) {
                    if (!args[i].isAssignableFrom(arguments[i]))
                        return false;
                }
                return true;
            }
        });

        SafeConstructor<T> eventConstructor;
        if (candidates.size() > 0) {
            eventConstructor = candidates.get(0);
        } else {
            throw new IllegalStateException(); // Will throw a "proper" exception
        }

        if (eventConstructor != null)
            return eventConstructor.getAccessor().invoke(args);

    } catch (Exception e) { // TODO: Should we be throwing exceptions?
        if (args.length > 0) {
            StringBuilder argBuilder = new StringBuilder(16 * args.length);
            boolean isFirst = true;
            for (Class<?> arg : arguments) {
                if (isFirst) {
                    argBuilder.append(arg.getCanonicalName());
                    isFirst = false;
                } else {
                    argBuilder.append(", " + arg.getCanonicalName());
                }
            }

            throw new RuntimeException("Failed to get the right constructor! (Event class: "
                    + event.getCanonicalName() + "\nArguments: " + argBuilder.toString());
        } else {
            throw new RuntimeException(
                    "Failed to get the right constructor! (Event class: " + event.getCanonicalName() + ")");
        }
    }

    return null;
}

From source file:org.ow2.play.governance.platform.user.service.rest.TopicService.java

@Override
public Response topics() {

    // filter the topics based on the user permissions
    // TODO : Topics per user can be found before instead of calling N times the permission checker...
    List<Topic> topics = null;
    try {//  ww  w  .ja  v  a2 s .com
        topics = userResourceAccess.getTopicsForUser(getUser());
    } catch (GovernanceExeption e) {
        e.printStackTrace();
        return error(Status.INTERNAL_SERVER_ERROR, "Can not get topics");

    }

    Collection<org.ow2.play.governance.platform.user.api.rest.bean.Topic> out = Collections2.transform(topics,
            new Function<Topic, org.ow2.play.governance.platform.user.api.rest.bean.Topic>() {
                public org.ow2.play.governance.platform.user.api.rest.bean.Topic apply(Topic input) {
                    org.ow2.play.governance.platform.user.api.rest.bean.Topic topic = new org.ow2.play.governance.platform.user.api.rest.bean.Topic();
                    topic.name = input.getName();
                    topic.ns = input.getNs();
                    topic.prefix = input.getPrefix();
                    topic.resourceUrl = getResourceURI(input);
                    return topic;
                }
            });

    return ok(out.toArray(new org.ow2.play.governance.platform.user.api.rest.bean.Topic[out.size()]));
}

From source file:org.mayocat.shop.billing.api.resource.OrderResource.java

@GET
@Authorized//from   w  w w  .j  av  a  2 s.  c  o m
public ResultSetRepresentation<OrderRepresentation> getAllOrders(
        @QueryParam("number") @DefaultValue("50") Integer number,
        @QueryParam("offset") @DefaultValue("0") Integer offset) {

    GeneralSettings settings = configurationService.getSettings(GeneralSettings.class);
    final DateTimeZone tenantTz = DateTimeZone.forTimeZone(settings.getTime().getTimeZone().getValue());
    List<Order> orders = orderStore.get().findAllPaidOrAwaitingPayment(number, offset);

    Collection<OrderRepresentation> representations = Collections2.transform(orders,
            new Function<Order, OrderRepresentation>() {
                public OrderRepresentation apply(final Order order) {
                    return new OrderRepresentation(tenantTz, order);
                }
            });

    Integer total = this.orderStore.get().countAllPaidOrAwaitingPayment();
    ResultSetRepresentation<OrderRepresentation> resultSet = new ResultSetRepresentation<>("/api/orders",
            number, offset, new ArrayList<>(representations), total);

    return resultSet;
}

From source file:org.matmaul.freeboxos.fs.FsManager.java

@SuppressWarnings("unchecked")
public FsTask mv(Collection<FileInfo> files, FileInfo dstFolder, String conflictMode) throws FreeboxException {
    JSONObject req = new JSONObject();
    req.put("files", Collections2.transform(files, new Function<FileInfo, String>() {

        public String apply(FileInfo fi) {
            return fi.getPath();
        }//from ww w.  j a va 2s . c  o m
    }));
    req.put("dst", dstFolder.getPath());
    req.put("mode", conflictMode);

    return restManager.post("fs/mv/", restManager.createJsonEntity(req), FsResponses.FsTaskResponse.class);
}

From source file:org.gradle.api.tasks.diagnostics.internal.dependencies.RenderableDependencyResult.java

public Set<RenderableDependency> getChildren() {
    return new LinkedHashSet(Collections2.transform(dependency.getSelected().getDependencies(),
            new Function<ResolvedDependencyResult, RenderableDependency>() {
                public RenderableDependency apply(ResolvedDependencyResult input) {
                    return new RenderableDependencyResult(input);
                }//w  ww  . j a  va2s . c  o m
            }));
}

From source file:org.mayocat.shop.shipping.store.jdbi.DBICarrierStore.java

public void updateCarrier(Carrier carrier) {
    carrierDAO.begin();// ww  w.ja va 2  s  .  c om
    carrierDAO.update(carrier);
    for (CarrierRule rule : carrier.getRules()) {
        if (carrierDAO.updateRule(carrier.getId(), rule) == 0) {
            carrierDAO.addRule(carrier.getId(), rule);
        }
    }
    Collection<BigDecimal> excluded = Collections2.transform(carrier.getRules(),
            new Function<CarrierRule, BigDecimal>() {
                @Override
                public BigDecimal apply(final CarrierRule rule) {
                    return rule.getUpToValue();
                }
            });
    if (excluded.size() > 0) {
        carrierDAO.removeRules(carrier.getId(), excluded);
    }
    carrierDAO.commit();
}

From source file:com.nesscomputing.cache.NamespacedCache.java

/**
 * Set many cache entries with given values and expiration date.  Note that the value byte array
 * is shared, and the cache infrastructure assumes that it owns the passed in byte array.
 * @see NessCache#set(String, Collection)
 *//*from   w  ww.  j a v  a  2  s.  c om*/
public void set(Map<String, byte[]> entries, final DateTime expiry) {
    cache.set(namespace, Collections2.transform(entries.entrySet(),
            new Function<Map.Entry<String, byte[]>, CacheStore<byte[]>>() {
                @Override
                public CacheStore<byte[]> apply(final Entry<String, byte[]> entry) {
                    return CacheStores.fromSharedBytes(entry.getKey(), entry.getValue(), expiry);
                }
            }));
}

From source file:org.jetbrains.kotlin.idea.test.DirectiveBasedActionUtils.java

public static void checkAvailableActionsAreExpected(JetFile file,
        Collection<IntentionAction> availableActions) {
    List<String> validActions = Ordering.natural().sortedCopy(Lists
            .newArrayList(InTextDirectivesUtils.findLinesWithPrefixesRemoved(file.getText(), "// ACTION:")));

    Collection<String> actualActions = Ordering.natural().sortedCopy(Lists
            .newArrayList(Collections2.transform(availableActions, new Function<IntentionAction, String>() {
                @Override/* w ww  .ja  v  a  2  s  . co m*/
                public String apply(@Nullable IntentionAction input) {
                    assert input != null;
                    return input.getText();
                }
            })));

    UsefulTestCase.assertOrderedEquals(
            "Some unexpected actions available at current position: %s. Use // ACTION: directive",
            filterOutIrrelevantActions(actualActions), filterOutIrrelevantActions(validActions));
}