package org.jzy3d.demos.drawing.vbo.barmodel.generators;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.jzy3d.io.KeyVal;
import org.jzy3d.io.KeyVal.ValueGenerator;

public class GeneratorKeyValue {
    public List>> vip(int nPivot, int nPivotCol, int nCpCcCat, int nCpCcCol) {
        List>> rows = new ArrayList>>(nPivot);

        for (int i = 0; i < nPivot; i++) {
            rows.add(vipRow(nPivot, nPivotCol, nCpCcCat, nCpCcCol));
        }

        return rows;
    }

    public List> vipRow(int nPivot, int nPivotCol, int nCpCcCat, int nCpCcCol) {
        List> row = new ArrayList>();

        row.add(new KeyVal("0.pivot.id", (float) continuousId.value()));

        for (int i = 0; i < nPivotCol; i++) {
            float value = randomValue.value();
            value *= i * 100 * randomValue.value();
            row.add(new KeyVal(i + "pivot.col" + i, value));
        }

        for (int i = 0; i < nCpCcCat; i++) {
            if (Math.random() > 0.33) {
                for (int j = 0; j < nCpCcCol; j++) {
                    float value = randomValue.value();
                    value *= i*j*1000;
                    row.add(new KeyVal(nPivotCol + "." + i + ".cpcc" + i + ".col" + j, value));
                }
            }
        }

        return row;
    }

    ValueGenerator randomValue = new ValueGenerator() {
        public Float value(String key) {
            return (float) Math.random();
        }

        public Float value() {
            return (float) Math.random();
        }
    };

    ValueGenerator continuousId = new ValueGenerator() {
        int n = 0;

        public Integer value(String key) {
            return n++;
        }

        public Integer value() {
            return n++;
        }
    };

    /* */

    @SuppressWarnings("unchecked")
    public void rows7() {
        List>> rows = new ArrayList>>();
        rows.add(rw(kv("id", 0f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 0f)));
        rows.add(rw(kv("id", 1f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 10f)));
        rows.add(rw(kv("id", 2f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 20f)));
        rows.add(rw(kv("id", 3f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 30f)));
        rows.add(rw(kv("id", 4f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 40f)));
        rows.add(rw(kv("id", 5f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 50f)));
        rows.add(rw(kv("id", 6f), kv("value", 0f), kv("app1.id", 0f), kv("app1.value", 60f)));
    }

    /* */

    static KeyVal kv(String key, Float value) {
        return new KeyVal(key, value);
    }

    static List> rw(KeyVal... keys) {
        List> row = Arrays.asList(keys);// new
                                                              // ArrayList>();
        return row;
    }
}

 

Ads help maintain this website.