public static void setUp(DataService dataService) throws Exception {
    features0 = new ArrayList<ObservableFeature>();
    features1 = new ArrayList<ObservableFeature>();
    allEntities = new ArrayList<Entity>();
    subProtocols = new ArrayList<Protocol>();
    subProtocols1 = new ArrayList<Protocol>();
    categories = new ArrayList<Category>();

    feature0 = new ObservableFeature();
    feature0.setId(0);
    feature0.setName("featureName" + 0);
    feature0.setIdentifier("feature" + 0);

    feature1 = new ObservableFeature();
    feature1.setId(1);
    feature1.setName("featureName" + 1);
    feature1.setIdentifier("feature" + 1);

    features0.add(feature0);
    features1.add(feature1);

    protocol0 = new Protocol();
    protocol0.setDescription("description0");
    protocol0.setIdentifier("identifier0");
    protocol0.setId(0);
    protocol0.setFeatures(features0);
    protocol1 = new Protocol();
    protocol1.setDescription("description1");
    protocol1.setIdentifier("identifier1");
    protocol1.setId(1);
    protocol1.setFeatures(features1);
    subProtocols1.add(protocol1);
    protocol2 = new Protocol();
    protocol2.setDescription("description2");
    protocol2.setIdentifier("identifier2");
    protocol2.setSubprotocols(subProtocols1);
    protocol2.setId(2);
    protocol3 = new Protocol();
    protocol3.setDescription("description3");
    protocol3.setIdentifier("identifier3");
    protocol3.setSubprotocols(subProtocols1);
    protocol3.setId(3);

    allEntities.add(protocol0);
    allEntities.add(protocol1);
    allEntities.add(protocol2);
    allEntities.add(protocol3);

    subProtocols.add(protocol0);

    protocolUsed = new Protocol();
    protocolUsed.setDescription("protocolUsed_description");
    protocolUsed.setIdentifier("protocolUsed_identifier");
    protocolUsed.setId(100);
    protocolUsed.setSubprotocols(subProtocols);
    allEntities.add(protocolUsed);

    dataset = new DataSet();
    dataset.setId(0);
    dataset.setIdentifier("dataset" + 0);
    dataset.setName("datasetname" + 0);
    dataset.setProtocolUsed(protocolUsed);

    observationSet0 = new ObservationSet();
    observationSet0.setId(0);
    observationSet0.setPartOfDataSet(dataset);

    observationSets0 = new ArrayList<Entity>();
    observationSets0.add(observationSet0);

    observationSet1 = new ObservationSet();
    observationSet1.setId(1);

    ObservedValue observedValue0 = new ObservedValue();
    observedValue0.setId(0);
    observedValue0.setObservationSet(observationSet0);
    observedValue0.setValue(new Value());
    observedValue0.setFeature(feature0);
    observedValue0.setObservationSet(observationSet0);
    observedValues0 = new ArrayList<ObservedValue>();
    observedValues0.add(observedValue0);

    ObservedValue observedValue1 = new ObservedValue();
    observedValue1.setId(1);
    observedValue1.setObservationSet(observationSet1);
    Value v1 = new Value();
    v1.setId(1);
    observedValue1.setValue(v1);
    observedValue1.setFeature(feature1);
    observedValue1.setObservationSet(observationSet1);
    observedValues1 = new ArrayList<ObservedValue>();
    observedValues1.add(observedValue1);

    observationSets0 = new ArrayList<Entity>();
    observationSets0.add(observationSet0);

    category0 = new Category();
    category0.setId(0);
    category0.setIdentifier("category" + 0);
    categories.add(category0);

    List<DataSet> datasets = new ArrayList<DataSet>();
    datasets.add(dataset);

    when(dataService.findAllAsList(
            DataSet.ENTITY_NAME, new QueryImpl().eq(DataSet.IDENTIFIER, "dataset1")))
        .thenReturn(Arrays.<Entity>asList(dataset));
    when(dataService.findAllAsList(
            ObservedValue.ENTITY_NAME,
            new QueryImpl().eq(ObservedValue.OBSERVATIONSET, observationSet0)))
        .thenReturn(Arrays.<Entity>asList(observedValue0));

    when(dataService.findAllAsList(
            ObservationSet.ENTITY_NAME, new QueryImpl().eq(ObservationSet.PARTOFDATASET, 0)))
        .thenReturn(Arrays.<Entity>asList(observationSet0));
  }