public static void writeIndexCoding(IndexCoding indexCoding, NVariable variable) throws IOException { final String[] indexNames = indexCoding.getIndexNames(); final int[] indexValues = new int[indexNames.length]; final StringBuilder meanings = new StringBuilder(); for (int i = 0; i < indexValues.length; i++) { String name = indexNames[i]; meanings.append(name).append(" "); indexValues[i] = indexCoding.getIndexValue(name); } variable.addAttribute(FLAG_MEANINGS, meanings.toString().trim()); variable.addAttribute(FLAG_VALUES, Array.factory(indexValues)); }
public void testIndexCoding() { final IndexCoding ic = new IndexCoding("IC"); ic.addIndex("I1", 100, ""); ic.addIndex("I2", 300, ""); assertEquals(2, ic.getNumAttributes()); assertEquals(100, ic.getIndexValue("I1")); assertEquals(300, ic.getIndexValue("I2")); testIntValuesAllowedOnly(ic); testScalarValuesAllowedOnly(ic); }