List of usage examples for org.apache.commons.lang3 ArrayUtils toPrimitive
public static boolean[] toPrimitive(final Boolean[] array)
Converts an array of object Booleans to primitives.
This method returns null for a null input array.
From source file:at.tugraz.sss.serv.util.SSFileU.java
public static String readImageToBase64Str(final String filePath, final Integer transmissionSize) throws SSErr { try {/*from w ww . j a v a2 s .c o m*/ final DataInputStream fileReader = new DataInputStream(new FileInputStream(new File(filePath))); final List<Byte> bytes = new ArrayList<>(); byte[] chunk = new byte[transmissionSize]; int fileChunkLength; while (true) { fileChunkLength = fileReader.read(chunk); if (fileChunkLength == -1) { break; } for (int counter = 0; counter < fileChunkLength; counter++) { bytes.add(chunk[counter]); } } return "data:image/png;base64," + DatatypeConverter .printBase64Binary(ArrayUtils.toPrimitive(bytes.toArray(new Byte[bytes.size()]))); } catch (Exception error) { SSServErrReg.regErrThrow(error); return null; } }
From source file:de.hpi.isg.mdms.benchmark.ConstraintInsertPerfomanceBenchmark.java
@Test public void testInsertUniqueColumnCombinationsIntoRDBMSMetadataStore() throws Exception { LOGGER.info("Creating RDBMS metadata store..."); File metadataStoreFile = createTempFile("sqlite"); MetadataStore metadataStore = RDBMSMetadataStore .createNewInstance(SQLiteInterface.createForFile(metadataStoreFile)); LOGGER.info("Creating schema..."); int numTables = 1000; int numColumnsPerTable = 100; int numColumns = numTables * numColumnsPerTable; Schema schema = createSchema(metadataStore, numTables, numColumnsPerTable); metadataStore.flush();//www . j a v a2s . c om LOGGER.info("Generating UCCs..."); int numDesiredInds = 100000; double indProbablity = numDesiredInds / Math.pow(numTables * numColumnsPerTable, 2); // Boost probablity to speed up generation. indProbablity = Math.sqrt(indProbablity); Collection<Column[]> inclusionDependencies = new LinkedList<Column[]>(); Random random = new Random(); OuterLoop: for (final Table table1 : schema.getTables()) { for (final Table table2 : schema.getTables()) { for (final Column column1 : table1.getColumns()) { for (final Column column2 : table2.getColumns()) { if (column1 != column2 && random.nextDouble() <= indProbablity) { inclusionDependencies.add(new Column[] { column1, column2 }); if (inclusionDependencies.size() >= numDesiredInds) { break OuterLoop; } } } } } } LOGGER.info("Inserting the {} generated UCCs...", inclusionDependencies.size()); long startTimeGross = System.currentTimeMillis(); ConstraintCollection<UniqueColumnCombination> constraintCollection = metadataStore .createConstraintCollection(null, UniqueColumnCombination.class); long startTimeNet = System.currentTimeMillis(); for (Column[] columnPair : inclusionDependencies) { Collection<Column> uniqueColumns = Collections.singleton(columnPair[0]); List<Integer> ids = new ArrayList<>(); for (Column c : uniqueColumns) { ids.add(c.getId()); } int[] intArray = ArrayUtils.toPrimitive(ids.toArray(new Integer[ids.size()])); final UniqueColumnCombination.Reference reference = new UniqueColumnCombination.Reference(intArray); UniqueColumnCombination.buildAndAddToCollection(reference, constraintCollection); } long endTimeNet = System.currentTimeMillis(); metadataStore.flush(); long endTimeGross = System.currentTimeMillis(); double numInsertsPerSecGross = 1000d * numColumns / (endTimeGross - startTimeGross); double numInsertsPerSecNet = 1000d * numColumns / (endTimeNet - startTimeNet); LOGGER.info("[gross] Inserted in {} ms ({} inserts/s)", endTimeGross - startTimeGross, numInsertsPerSecGross); LOGGER.info("[net] Inserted in {} ms ({} inserts/s)", endTimeNet - startTimeNet, numInsertsPerSecNet); LOGGER.info("File size: {} MB", metadataStoreFile.length() / (1024 * 1024)); }
From source file:com.cdd.bao.importer.ImportControlledVocab.java
private int[] mostSimilarAssignments(String name) { int[] sim = new int[assignments.length]; for (int n = 0; n < assignments.length; n++) sim[n] = stringSimilarity(name, assignments[n].name); Integer[] idx = new Integer[assignments.length]; for (int n = 0; n < assignments.length; n++) idx[n] = n;/*from w ww. ja va 2 s.c om*/ Arrays.sort(idx, (i1, i2) -> sim[i1] - sim[i2]); /*Util.writeln("["+name+"]:"); for (int n = 0; n < idx.length && n < 50; n++) Util.writeln("sim="+sim[idx[n]]+" : [" + assignments[idx[n]].name + "]");*/ return ArrayUtils.toPrimitive(idx); }
From source file:com.github.jessemull.microflex.math.mathdouble.DivisionDoubleTest.java
/** * Tests the division of an array to a well using indices. *///w w w .j ava 2s.c om @Test public void testWellArrayIndices() { PlateDouble[] plates1 = arrays1.get(0); PlateDouble[] plates2 = arrays2.get(0); PlateDouble[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellDouble[] well1 = plates1[i].dataSet().toWellArray(); WellDouble[] well2 = plates2[i].dataSet().toWellArray(); WellDouble[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Double> list1 = well1[j].data(); List<Double> list2 = well2[j].data(); double[] array = ArrayUtils.toPrimitive(list2.toArray(new Double[list2.size()])); List<Double> unevenList = wellUneven[j].data(); double[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Double[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Double> result = new ArrayList<Double>(); List<Double> resultUneven = new ArrayList<Double>(); List<Double> returned = division.wells(well1[j], array, begin, end - begin); List<Double> returnedUneven = division.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) / array[k]); resultUneven.add(list1.get(k) / arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathdouble.AdditionDoubleTest.java
/** * Tests the addition of an array to a well using indices. *///from ww w . ja v a 2 s .c om @Test public void testWellArrayIndices() { PlateDouble[] plates1 = arrays1.get(0); PlateDouble[] plates2 = arrays2.get(0); PlateDouble[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellDouble[] well1 = plates1[i].dataSet().toWellArray(); WellDouble[] well2 = plates2[i].dataSet().toWellArray(); WellDouble[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Double> list1 = well1[j].data(); List<Double> list2 = well2[j].data(); double[] array = ArrayUtils.toPrimitive(list2.toArray(new Double[list2.size()])); List<Double> unevenList = wellUneven[j].data(); double[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Double[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Double> result = new ArrayList<Double>(); List<Double> resultUneven = new ArrayList<Double>(); List<Double> returned = addition.wells(well1[j], array, begin, end - begin); List<Double> returnedUneven = addition.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) + array[k]); resultUneven.add(list1.get(k) + arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathinteger.ORIntegerTest.java
/** * Tests the OR operation using an array, a well and indices. *//*from w w w. j a v a 2s .com*/ @Test public void testWellArrayIndices() { PlateInteger[] plates1 = arrays1.get(0); PlateInteger[] plates2 = arrays2.get(0); PlateInteger[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellInteger[] well1 = plates1[i].dataSet().toWellArray(); WellInteger[] well2 = plates2[i].dataSet().toWellArray(); WellInteger[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Integer> list1 = well1[j].data(); List<Integer> list2 = well2[j].data(); int[] array = ArrayUtils.toPrimitive(list2.toArray(new Integer[list2.size()])); List<Integer> unevenList = wellUneven[j].data(); int[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Integer[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Integer> result = new ArrayList<Integer>(); List<Integer> resultUneven = new ArrayList<Integer>(); List<Integer> returned = or.wells(well1[j], array, begin, end - begin); List<Integer> returnedUneven = or.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) | array[k]); resultUneven.add(list1.get(k) | arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathdouble.ModulusDoubleTest.java
/** * Tests the modulus operation using an array, a well and indices. *///from ww w.ja va 2 s . c om @Test public void testWellArrayIndices() { PlateDouble[] plates1 = arrays1.get(0); PlateDouble[] plates2 = arrays2.get(0); PlateDouble[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellDouble[] well1 = plates1[i].dataSet().toWellArray(); WellDouble[] well2 = plates2[i].dataSet().toWellArray(); WellDouble[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Double> list1 = well1[j].data(); List<Double> list2 = well2[j].data(); double[] array = ArrayUtils.toPrimitive(list2.toArray(new Double[list2.size()])); List<Double> unevenList = wellUneven[j].data(); double[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Double[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Double> result = new ArrayList<Double>(); List<Double> resultUneven = new ArrayList<Double>(); List<Double> returned = modulus.wells(well1[j], array, begin, end - begin); List<Double> returnedUneven = modulus.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) % array[k]); resultUneven.add(list1.get(k) % arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathinteger.ANDIntegerTest.java
/** * Tests the AND operation using an array, a well and indices. *//*from ww w . ja v a2s . c om*/ @Test public void testWellArrayIndices() { PlateInteger[] plates1 = arrays1.get(0); PlateInteger[] plates2 = arrays2.get(0); PlateInteger[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellInteger[] well1 = plates1[i].dataSet().toWellArray(); WellInteger[] well2 = plates2[i].dataSet().toWellArray(); WellInteger[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Integer> list1 = well1[j].data(); List<Integer> list2 = well2[j].data(); int[] array = ArrayUtils.toPrimitive(list2.toArray(new Integer[list2.size()])); List<Integer> unevenList = wellUneven[j].data(); int[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Integer[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Integer> result = new ArrayList<Integer>(); List<Integer> resultUneven = new ArrayList<Integer>(); List<Integer> returned = and.wells(well1[j], array, begin, end - begin); List<Integer> returnedUneven = and.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) & array[k]); resultUneven.add(list1.get(k) & arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathinteger.XORIntegerTest.java
/** * Tests the XOR operation using an array, a well and indices. *//*from www . jav a 2 s .c o m*/ @Test public void testWellArrayIndices() { PlateInteger[] plates1 = arrays1.get(0); PlateInteger[] plates2 = arrays2.get(0); PlateInteger[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellInteger[] well1 = plates1[i].dataSet().toWellArray(); WellInteger[] well2 = plates2[i].dataSet().toWellArray(); WellInteger[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Integer> list1 = well1[j].data(); List<Integer> list2 = well2[j].data(); int[] array = ArrayUtils.toPrimitive(list2.toArray(new Integer[list2.size()])); List<Integer> unevenList = wellUneven[j].data(); int[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Integer[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Integer> result = new ArrayList<Integer>(); List<Integer> resultUneven = new ArrayList<Integer>(); List<Integer> returned = xor.wells(well1[j], array, begin, end - begin); List<Integer> returnedUneven = xor.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) ^ array[k]); resultUneven.add(list1.get(k) ^ arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }
From source file:com.github.jessemull.microflex.math.mathdouble.SubtractionDoubleTest.java
/** * Tests the subtraction of an array to a well using indices. *//*w w w.j a v a 2 s.c o m*/ @Test public void testWellArrayIndices() { PlateDouble[] plates1 = arrays1.get(0); PlateDouble[] plates2 = arrays2.get(0); PlateDouble[] unevenPlates = uneven.get(0); for (int i = 0; i < plates1.length; i++) { WellDouble[] well1 = plates1[i].dataSet().toWellArray(); WellDouble[] well2 = plates2[i].dataSet().toWellArray(); WellDouble[] wellUneven = unevenPlates[i].dataSet().toWellArray(); for (int j = 0; j < well1.length; j++) { List<Double> list1 = well1[j].data(); List<Double> list2 = well2[j].data(); double[] array = ArrayUtils.toPrimitive(list2.toArray(new Double[list2.size()])); List<Double> unevenList = wellUneven[j].data(); double[] arrayUneven = ArrayUtils.toPrimitive(unevenList.toArray(new Double[unevenList.size()])); int begin = 1 + random.nextInt(list1.size() - 1); int end = begin + random.nextInt(list1.size() - begin); List<Double> result = new ArrayList<Double>(); List<Double> resultUneven = new ArrayList<Double>(); List<Double> returned = subtraction.wells(well1[j], array, begin, end - begin); List<Double> returnedUneven = subtraction.wells(well1[j], arrayUneven, begin, end - begin); for (int k = begin; k < end; k++) { result.add(list1.get(k) - array[k]); resultUneven.add(list1.get(k) - arrayUneven[k]); } for (int l = list1.size(); l < end; l++) { resultUneven.add(arrayUneven[l]); } assertEquals(result, returned); assertEquals(resultUneven, returnedUneven); } } }