com.ibm.sbt.services.client.connections.activities.ActivityEntryPerformanceTest.java Source code

Java tutorial

Introduction

Here is the source code for com.ibm.sbt.services.client.connections.activities.ActivityEntryPerformanceTest.java

Source

/*
 *  Copyright IBM Corp. 2014
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.ibm.sbt.services.client.connections.activities;

import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.io.output.ByteArrayOutputStream;
import org.junit.Ignore;
import org.junit.Test;

import com.ibm.sbt.services.client.ClientServicesException;
import com.ibm.sbt.services.client.base.datahandlers.EntityList;

/**
 * @author mwallace
 *
 */
public class ActivityEntryPerformanceTest extends BaseActivityServiceTest {

    @Test
    @org.junit.Ignore("Issue with Mime Depdency")
    public void testCreateActivityEntries() throws ClientServicesException {

        System.setErr(new PrintStream(new ByteArrayOutputStream()));

        Activity activity = createActivity();
        String activityUuid = activity.getActivityUuid();
        String title = activity.getThemeId();

        FileField fileField = new FileField();
        fileField.setName("test_file");
        fileField.setHidden(true);
        fileField.setPosition(2000);

        byte[] bytes = new byte[Integer.valueOf(1024)];
        Arrays.fill(bytes, (byte) 0);

        StringWriter stringWriter = new StringWriter();
        PrintWriter writer = new PrintWriter(stringWriter);
        writer.println("#,NodeUUID,Time(ms)");
        for (int i = 0; i < 500; i++) {
            try {
                long start = System.currentTimeMillis();

                System.out.print(i + " ");

                ActivityNode activityNode = new ActivityNode();
                activityNode.setActivityUuid(activityUuid);
                activityNode.setTitle(title + " - " + i);
                activityNode.setType(ActivityNode.TYPE_ENTRY);
                for (int j = 0; j < 5; j++) {
                    TextField textField = new TextField();
                    textField.setName("test_text" + j);
                    textField.setPosition(1000);
                    textField.setSummary("Test_Text_Field");
                    activityNode.addField(textField);
                }
                activityNode.addField(fileField);
                activityNode.addAttachment(new ActivityAttachment("test_file", new String(bytes), "text/plain"));

                activityNode = activityService.createActivityNode(activityNode);

                long duration = System.currentTimeMillis() - start;
                writer.println(i + "," + activityNode.getActivityNodeUuid() + "," + duration);
            } catch (Exception e) {
            }
        }

        System.out.println(stringWriter.toString());

        /*
        long start = System.currentTimeMillis();
        Map<String, String> params = new HashMap<String, String>();
        params.put("page", "1");
        params.put("ps", "1");
        activityService.getActivityNodeDescendants(activityUuid, params);
        long duration = System.currentTimeMillis() - start;
        System.out.println("Reading all activity descendants took "+duration+"(ms)");
            
        start = System.currentTimeMillis();
        params.put("tag", "personal");
        activityService.getActivityNodeChildren(activityUuid, params);
        duration = System.currentTimeMillis() - start;
        System.out.println("Reading all activity children took "+duration+"(ms)");
        */
    }

}