Search in sources :

Example 76 with TypeToken

use of com.google.gson.reflect.TypeToken in project structr by structr.

the class FromJsonFunction method apply.

@Override
public Object apply(final ActionContext ctx, final Object caller, final Object[] sources) {
    if (sources != null && sources.length > 0) {
        if (sources[0] == null) {
            return "";
        }
        try {
            final String source = sources[0].toString();
            final Gson gson = new GsonBuilder().create();
            List<Map<String, Object>> objects = new LinkedList<>();
            if (StringUtils.startsWith(source, "[")) {
                final List<Map<String, Object>> list = gson.fromJson(source, new TypeToken<List<Map<String, Object>>>() {
                }.getType());
                final List<GraphObjectMap> elements = new LinkedList<>();
                if (list != null) {
                    objects.addAll(list);
                }
                for (final Map<String, Object> src : objects) {
                    final GraphObjectMap destination = new GraphObjectMap();
                    elements.add(destination);
                    recursivelyConvertMapToGraphObjectMap(destination, src, 0);
                }
                return elements;
            } else if (StringUtils.startsWith(source, "{")) {
                final Map<String, Object> value = gson.fromJson(source, new TypeToken<Map<String, Object>>() {
                }.getType());
                final GraphObjectMap destination = new GraphObjectMap();
                if (value != null) {
                    recursivelyConvertMapToGraphObjectMap(destination, value, 0);
                }
                return destination;
            }
        } catch (Throwable t) {
            logException(caller, t, sources);
        }
        return "";
    } else {
        logParameterError(caller, sources, ctx.isJavaScriptContext());
    }
    return usage(ctx.isJavaScriptContext());
}
Also used : GsonBuilder(com.google.gson.GsonBuilder) Gson(com.google.gson.Gson) LinkedList(java.util.LinkedList) TypeToken(com.google.gson.reflect.TypeToken) GraphObjectMap(org.structr.core.GraphObjectMap) Map(java.util.Map) GraphObjectMap(org.structr.core.GraphObjectMap)

Example 77 with TypeToken

use of com.google.gson.reflect.TypeToken in project structr by structr.

the class QueryCommand method processMessage.

@Override
public void processMessage(final WebSocketMessage webSocketData) {
    final SecurityContext securityContext = getWebSocket().getSecurityContext();
    final Map<String, Object> nodeData = webSocketData.getNodeData();
    final String rawType = (String) nodeData.get("type");
    final String properties = (String) nodeData.get("properties");
    final Boolean exact = (Boolean) nodeData.get("exact");
    final Class type = SchemaHelper.getEntityClassForRawType(rawType);
    if (type == null) {
        getWebSocket().send(MessageBuilder.status().code(404).message("Type " + rawType + " not found").build(), true);
        return;
    }
    final String sortKey = webSocketData.getSortKey();
    final int pageSize = webSocketData.getPageSize();
    final int page = webSocketData.getPage();
    final Query query = StructrApp.getInstance(securityContext).nodeQuery(type).page(page).pageSize(pageSize);
    if (sortKey != null) {
        final PropertyKey sortProperty = StructrApp.key(type, sortKey);
        final String sortOrder = webSocketData.getSortOrder();
        query.sort(sortProperty).order("desc".equals(sortOrder));
    }
    if (properties != null) {
        try {
            final Gson gson = new GsonBuilder().create();
            final Map<String, Object> querySource = gson.fromJson(properties, new TypeToken<Map<String, Object>>() {
            }.getType());
            final PropertyMap queryMap = PropertyMap.inputTypeToJavaType(securityContext, type, querySource);
            final boolean inexactQuery = exact != null && exact == false;
            // add properties to query
            for (final Entry<PropertyKey, Object> entry : queryMap.entrySet()) {
                query.and(entry.getKey(), entry.getValue(), !inexactQuery);
            }
        } catch (FrameworkException fex) {
            logger.warn("Exception occured", fex);
            getWebSocket().send(MessageBuilder.status().code(fex.getStatus()).message(fex.getMessage()).build(), true);
            return;
        }
    }
    try {
        // do search
        final Result result = query.getResult();
        // save raw result count
        // filteredResults.size();
        int resultCountBeforePaging = result.getRawResultCount();
        // set full result list
        webSocketData.setResult(result.getResults());
        webSocketData.setRawResultCount(resultCountBeforePaging);
        // send only over local connection
        getWebSocket().send(webSocketData, true);
    } catch (FrameworkException fex) {
        logger.warn("Exception occured", fex);
        getWebSocket().send(MessageBuilder.status().code(fex.getStatus()).message(fex.getMessage()).build(), true);
    }
}
Also used : Query(org.structr.core.app.Query) FrameworkException(org.structr.common.error.FrameworkException) GsonBuilder(com.google.gson.GsonBuilder) Gson(com.google.gson.Gson) Result(org.structr.core.Result) PropertyMap(org.structr.core.property.PropertyMap) TypeToken(com.google.gson.reflect.TypeToken) SecurityContext(org.structr.common.SecurityContext) PropertyKey(org.structr.core.property.PropertyKey)

Example 78 with TypeToken

use of com.google.gson.reflect.TypeToken in project mule by mulesoft.

the class MuleExtensionModelDeclarer method declareForEach.

private void declareForEach(ExtensionDeclarer extensionDeclarer, ClassTypeLoader typeLoader) {
    ConstructDeclarer forEach = extensionDeclarer.withConstruct("foreach").describedAs("The foreach Processor allows iterating over a collection payload, or any collection obtained by an expression," + " generating a message for each element.");
    forEach.withChain();
    forEach.onDefaultParameterGroup().withOptionalParameter("collection").ofType(typeLoader.load(new TypeToken<Iterable<Object>>() {
    }.getType())).defaultingTo("#[payload]").withExpressionSupport(REQUIRED).describedAs("An expression to that returns a java collection, object array, map or DOM nodes.");
    forEach.onDefaultParameterGroup().withOptionalParameter("batchSize").ofType(typeLoader.load(Integer.class)).withExpressionSupport(NOT_SUPPORTED).describedAs("An expression to that returns a java collection, object array, map or DOM nodes.");
    forEach.onDefaultParameterGroup().withOptionalParameter("rootMessageVariableName").ofType(typeLoader.load(String.class)).defaultingTo("rootMessage").withExpressionSupport(NOT_SUPPORTED).describedAs("Property name where the parent message is stored.");
    forEach.onDefaultParameterGroup().withOptionalParameter("counterVariableName").ofType(typeLoader.load(String.class)).defaultingTo("counter").withExpressionSupport(NOT_SUPPORTED).describedAs("Property name used to store the number of message being iterated.");
}
Also used : ConstructDeclarer(org.mule.runtime.api.meta.model.declaration.fluent.ConstructDeclarer) TypeToken(com.google.gson.reflect.TypeToken)

Example 79 with TypeToken

use of com.google.gson.reflect.TypeToken in project FortniteAPI by Xilixir.

the class FortniteAPI method getFriendListData.

public Friend[] getFriendListData(String userId) throws IOException {
    // request
    GenericUrl url = new GenericUrl("https://friends-public-service-prod06.ol.epicgames.com/friends/api/public/friends/" + userId + "?includePending=true");
    HttpRequest request = factory.buildGetRequest(url);
    // headers
    request.getHeaders().setAuthorization("bearer " + this.auth.getAccessToken());
    String json = request.execute().parseAsString();
    Friend[] friends = new Gson().fromJson(json, new TypeToken<Friend[]>() {
    }.getType());
    log("Retrieved friend info");
    return friends;
}
Also used : HttpRequest(com.google.api.client.http.HttpRequest) Friend(com.xilixir.fortniteapi.v2.Epic.Friends.Friend) TypeToken(com.google.gson.reflect.TypeToken) Gson(com.google.gson.Gson) GenericUrl(com.google.api.client.http.GenericUrl)

Example 80 with TypeToken

use of com.google.gson.reflect.TypeToken in project Saiy-PS by brandall76.

the class ResolveAPIAI method unpack.

public void unpack(@NonNull final String gsonResponse) {
    if (DEBUG) {
        MyLog.i(CLS_NAME, "unpacking");
    }
    final Gson gson = new GsonBuilder().disableHtmlEscaping().create();
    final AIResponse response = gson.fromJson(gsonResponse, new TypeToken<AIResponse>() {
    }.getType());
    nluAPIAI = new NLUAPIAI(confidenceArray, resultsArray, response.getResult().getMetadata().getIntentName(), response.getResult().getParameters());
    new NLUCoerce(getNLUAPIAI(), getContext(), getSupportedLanguage(), getVRLocale(), getTTSLocale(), getConfidenceArray(), getResultsArray()).coerce();
}
Also used : AIResponse(ai.api.model.AIResponse) GsonBuilder(com.google.gson.GsonBuilder) TypeToken(com.google.gson.reflect.TypeToken) NLUCoerce(ai.saiy.android.nlu.NLUCoerce) Gson(com.google.gson.Gson)

Aggregations

TypeToken (com.google.gson.reflect.TypeToken)418 Gson (com.google.gson.Gson)178 Test (org.junit.Test)99 IOException (java.io.IOException)83 Map (java.util.Map)71 List (java.util.List)56 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)54 ArrayList (java.util.ArrayList)53 HashMap (java.util.HashMap)52 GsonBuilder (com.google.gson.GsonBuilder)45 File (java.io.File)34 Notebook (org.apache.zeppelin.notebook.Notebook)32 Type (java.lang.reflect.Type)31 FileNotFoundException (java.io.FileNotFoundException)29 Paragraph (org.apache.zeppelin.notebook.Paragraph)27 RestResponse (com.google.gerrit.acceptance.RestResponse)24 JsonElement (com.google.gson.JsonElement)24 JsonObject (com.google.gson.JsonObject)24 OutputStreamWriter (java.io.OutputStreamWriter)22 AbstractDaemonTest (com.google.gerrit.acceptance.AbstractDaemonTest)21