//----------------------------------------------------------------------------//
// //
// B a s i c T e s t //
// //
//----------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr"> //
// Copyright (C) Hervé Bitteur 2000-2011. All rights reserved. //
// This software is released under the GNU General Public License. //
// Goto http://kenai.com/projects/audiveris to report bugs or suggestions. //
//----------------------------------------------------------------------------//
// </editor-fold>
package omr.jaxb.basic;
import omr.Main;
import omr.util.BaseTestCase;
import java.awt.Point;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import javax.xml.bind.*;
/**
* DOCUMENT ME!
*
* @author Hervé Bitteur
* @version $Id$
*/
public class BasicTest
extends BaseTestCase
{
//~ Methods ----------------------------------------------------------------
public static void main (String... args)
throws JAXBException, FileNotFoundException
{
new BasicTest().play(args[0]);
}
public void play (String fileName)
throws JAXBException, FileNotFoundException
{
JAXBContext jaxbContext = JAXBContext.newInstance(Waiter.class);
Waiter waiter = new Waiter();
waiter.id = 456;
waiter.firstName = "Robert";
waiter.location = new Point(1234, 5678);
ArrayList<Day> days = new ArrayList<>();
Day d1 = new Day();
d1.label = Weekday.FRIDAY;
Meeting m1 = new Meeting(8, 9);
Meeting m2 = new Meeting(10, 12);
d1.meetings = Arrays.asList(m1, m2);
Day d2 = new Day();
d2.label = Weekday.THURSDAY;
Meeting m3 = new Meeting(8, 9);
Meeting m4 = new Meeting(15, 17);
d2.meetings = Arrays.asList(m3, m4);
waiter.setDays(Arrays.asList(d1, d2));
waiter.purse = new Purse();
waiter.titles = new String[] { "One", "Two", "Three" };
waiter.results = new double[] { 1d, 2d, 4d, 67d };
double[][] matrix = new double[2][];
for (int row = 0; row < matrix.length; row++) {
double[] vector = new double[3];
matrix[row] = vector;
for (int col = 0; col < vector.length; col++) {
vector[col] = (row * 10) + col;
}
}
waiter.mat = matrix;
// Unmarshaller um;
// um = jaxbContext.createUnmarshaller();
//
// Waiter waiter = (Waiter) um.unmarshal(new File(fileName));
Main.dumping.dump(waiter);
System.out.println("\ntips:");
for (double e : waiter.purse.tips) {
System.out.println(e);
}
System.out.println("Marshalling ...");
Marshaller m = jaxbContext.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(waiter, new FileOutputStream(fileName));
System.out.println("Marshalled to " + fileName);
}
public void testMarshall ()
throws JAXBException, FileNotFoundException
{
File dir = new File("data/temp");
dir.mkdirs();
play(new File(dir, "basic-data.xml").toString());
}
}