Search in sources :

Example 21 with TypeToken

use of com.google.gson.reflect.TypeToken in project instructure-android by instructure.

the class AvatarUnitTest method test1.

@Test
public void test1() {
    // /users/self/avatars
    final Gson gson = CanvasRestAdapter.getGSONParser();
    final List<Avatar> list = gson.fromJson(JSON, new TypeToken<List<Avatar>>() {
    }.getType());
    for (Avatar a : list) {
        assertNotNull(a);
        assertNotNull(a.getDisplayName());
        assertNotNull(a.getUrl());
        assertNotNull(a.getToken());
        assertNotNull(a.getType());
    }
}
Also used : TypeToken(com.google.gson.reflect.TypeToken) Gson(com.google.gson.Gson) Avatar(com.instructure.canvasapi.model.Avatar) Test(org.junit.Test)

Example 22 with TypeToken

use of com.google.gson.reflect.TypeToken in project instructure-android by instructure.

the class OAuthWebLogin method eatSnickerDoodles.

/**
 * Adds a simple login method for devs. To add credentials add your snickers (credentials) to the snickers.json
 * Slide the drawer out from the right to have a handy one click login. FYI: Only works on Debug.
 * Sample Format is:
 *
 *     [
 *         {
 *         "password":"password",
 *         "subtitle":"subtitle",
 *         "title":"title",
 *         "username":"username"
 *         },
 *         ...
 *     ]
 */
@TargetApi(Build.VERSION_CODES.KITKAT)
private void eatSnickerDoodles() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
        return;
    }
    Writer writer = new StringWriter();
    try {
        InputStream is = getResources().openRawResource(getResources().getIdentifier("snickers", "raw", getPackageName()));
        char[] buffer = new char[1024];
        Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        int n;
        while ((n = reader.read(buffer)) != -1) {
            writer.write(buffer, 0, n);
        }
        is.close();
    } catch (Exception e) {
    // Do Nothing
    }
    String jsonString = writer.toString();
    if (jsonString != null && jsonString.length() > 0) {
        ArrayList<SnickerDoodle> snickerDoodles = new Gson().fromJson(jsonString, new TypeToken<ArrayList<SnickerDoodle>>() {
        }.getType());
        if (snickerDoodles.size() == 0) {
            findViewById(R.id.drawerEmptyView).setVisibility(View.VISIBLE);
            findViewById(R.id.drawerEmptyText).setVisibility(View.VISIBLE);
            return;
        }
        web.getSettings().setDomStorageEnabled(true);
        web.setWebChromeClient(new WebChromeClient());
        mDrawerRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, true));
        mDrawerRecyclerView.setAdapter(new SnickerDoodleAdapter(snickerDoodles, new SnickerDoodleAdapter.SnickerCallback() {

            @Override
            public void onClick(SnickerDoodle snickerDoodle) {
                mDrawerLayout.closeDrawers();
                final String js = "javascript: { " + "document.getElementsByName('pseudonym_session[unique_id]')[0].value = '" + snickerDoodle.username + "'; " + "document.getElementsByName('pseudonym_session[password]')[0].value = '" + snickerDoodle.password + "'; " + "document.getElementsByClassName('btn')[0].click(); " + "};";
                web.evaluateJavascript(js, new ValueCallback<String>() {

                    @Override
                    public void onReceiveValue(String s) {
                    }
                });
                new Handler().postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        runOnUiThread(new Runnable() {

                            @Override
                            public void run() {
                                final String js = "javascript: { " + "document.getElementsByClassName('btn')[0].click();" + "};";
                                web.evaluateJavascript(js, new ValueCallback<String>() {

                                    @Override
                                    public void onReceiveValue(String s) {
                                    }
                                });
                            }
                        });
                    }
                }, 750);
            }
        }));
    } else {
        findViewById(R.id.drawerEmptyView).setVisibility(View.VISIBLE);
        findViewById(R.id.drawerEmptyText).setVisibility(View.VISIBLE);
    }
}
Also used : InputStreamReader(java.io.InputStreamReader) InputStream(java.io.InputStream) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) BufferedReader(java.io.BufferedReader) SnickerDoodle(com.instructure.loginapi.login.snicker.SnickerDoodle) Gson(com.google.gson.Gson) Handler(android.os.Handler) HttpAuthHandler(android.webkit.HttpAuthHandler) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) JsonSyntaxException(com.google.gson.JsonSyntaxException) StringWriter(java.io.StringWriter) TypeToken(com.google.gson.reflect.TypeToken) WebChromeClient(android.webkit.WebChromeClient) BufferedReader(java.io.BufferedReader) SnickerDoodleAdapter(com.instructure.loginapi.login.adapter.SnickerDoodleAdapter) Writer(java.io.Writer) StringWriter(java.io.StringWriter) TargetApi(android.annotation.TargetApi)

Example 23 with TypeToken

use of com.google.gson.reflect.TypeToken in project Terasology by MovingBlocks.

the class BehaviorTreeBuilder method getCompositeNode.

private BehaviorNode getCompositeNode(JsonElement json, JsonDeserializationContext context) {
    String type;
    JsonObject obj = json.getAsJsonObject();
    Map.Entry<String, JsonElement> entry = obj.entrySet().iterator().next();
    type = entry.getKey();
    JsonElement jsonElement = entry.getValue();
    BehaviorNode node = createNode(type);
    if (actions.containsKey(type)) {
        Action action = context.deserialize(jsonElement, actions.get(type));
        addAction((ActionNode) node, action);
    } else if (decorators.containsKey(type)) {
        Action action = context.deserialize(jsonElement, decorators.get(type));
        addAction((ActionNode) node, action);
        JsonElement childJson = jsonElement.getAsJsonObject().get("child");
        BehaviorNode child = context.deserialize(childJson, BehaviorNode.class);
        node.insertChild(0, child);
    } else if (jsonElement.isJsonArray()) {
        List<BehaviorNode> children = context.deserialize(jsonElement, new TypeToken<List<BehaviorNode>>() {
        }.getType());
        for (int i = 0; i < children.size(); i++) {
            BehaviorNode child = children.get(i);
            node.insertChild(i, child);
        }
    }
    return node;
}
Also used : BehaviorAction(org.terasology.logic.behavior.BehaviorAction) JsonElement(com.google.gson.JsonElement) TypeToken(com.google.gson.reflect.TypeToken) JsonObject(com.google.gson.JsonObject) Map(java.util.Map)

Example 24 with TypeToken

use of com.google.gson.reflect.TypeToken in project YhLibraryForAndroid by android-coco.

the class JsonUitl method parseJsonArrayWithGson.

/**
 * 将Json数组解析成相应的映射对象列表
 * @param jsonData
 * @param cls
 * @param <T>
 * @return
 */
public static <T> List<T> parseJsonArrayWithGson(String jsonData, Class<T> cls) {
    Gson gson = new Gson();
    List<T> result = gson.fromJson(jsonData, new TypeToken<List<T>>() {
    }.getType());
    return result;
}
Also used : TypeToken(com.google.gson.reflect.TypeToken) Gson(com.google.gson.Gson)

Example 25 with TypeToken

use of com.google.gson.reflect.TypeToken in project vorto by eclipse.

the class DefaultModelPublisher method publish.

@Override
public ModelId publish(ModelType type, String content) throws ModelPublishException {
    String uploadModelsUrl = String.format("%s/rest/secure", getRequestContext().getBaseUrl());
    HttpPost query = new HttpPost(uploadModelsUrl);
    HttpEntity entity = MultipartEntityBuilder.create().addPart("fileName", new StringBody("vortomodel" + type.getExtension(), ContentType.DEFAULT_TEXT)).addPart("fileDescription", new StringBody("", ContentType.DEFAULT_TEXT)).addPart("file", new ByteArrayBody(content.getBytes(), ContentType.APPLICATION_OCTET_STREAM, "vortomodel" + type.getExtension())).build();
    query.setEntity(entity);
    try {
        CompletableFuture<UploadModelResponse> response = execute(query, new TypeToken<UploadModelResponse>() {
        }.getType());
        List<UploadModelResult> result = response.get().getObj();
        if (response.get().getIsSuccess()) {
            String checkinModelUrl = String.format("%s/rest/secure/%s", getRequestContext().getBaseUrl(), result.get(0).getHandleId());
            HttpPut checkInModel = new HttpPut(checkinModelUrl);
            CompletableFuture<ModelId> checkedInResult = execute(checkInModel, new TypeToken<ModelId>() {
            }.getType());
            return (ModelId) checkedInResult.get();
        } else {
            throw new ModelPublishException(result.get(0));
        }
    } catch (Throwable ex) {
        if (!(ex instanceof ModelPublishException)) {
            throw new RuntimeException(ex);
        } else {
            throw ((ModelPublishException) ex);
        }
    }
}
Also used : HttpPost(org.apache.http.client.methods.HttpPost) UploadModelResult(org.eclipse.vorto.repository.api.upload.UploadModelResult) HttpEntity(org.apache.http.HttpEntity) ModelPublishException(org.eclipse.vorto.repository.api.upload.ModelPublishException) ByteArrayBody(org.apache.http.entity.mime.content.ByteArrayBody) UploadModelResponse(org.eclipse.vorto.repository.api.upload.UploadModelResponse) HttpPut(org.apache.http.client.methods.HttpPut) StringBody(org.apache.http.entity.mime.content.StringBody) TypeToken(com.google.gson.reflect.TypeToken) ModelId(org.eclipse.vorto.repository.api.ModelId)

Aggregations

TypeToken (com.google.gson.reflect.TypeToken)419 Gson (com.google.gson.Gson)178 Test (org.junit.Test)100 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)53 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