/* * $Id$ * * Copyright 2008 Glencoe Software, Inc. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.server.itests.update; import java.util.Collections; import java.util.Set; import ome.model.IObject; import ome.model.containers.Dataset; import ome.model.core.Image; import ome.model.core.Pixels; import ome.parameters.Parameters; import ome.testing.ObjectFactory; import org.testng.annotations.Test; public class PostAnnotationsUpdateTest extends AbstractUpdateTest { @Test public void testUpdateReloadsAfterMerge() { Pixels pix = ObjectFactory.createPixelGraph(null); Image i = new Image("size"); Dataset d = new Dataset("size"); i.addPixels(pix); i = iUpdate.saveAndReturnObject(i); if (i.sizeOfPixels() < 0) { throw new RuntimeException("pixlels"); } Pixels p = i.getPrimaryPixels(); if (p.sizeOfChannels() < 0) { throw new RuntimeException("channel"); } d.linkImage(i); d = iUpdate.saveAndReturnObject(d); Set<IObject> s = iContainer.loadContainerHierarchy(Dataset.class, Collections.singleton(d.getId()), new Parameters().leaves()); d = (Dataset) s.iterator().next(); i = d.linkedImageList().get(0); p = i.getPrimaryPixels(); assertTrue(p.isLoaded()); // assertTrue(p.unmodifiableChannels().iterator().next().isLoaded()); s = iContainer.loadContainerHierarchy(Dataset.class, Collections .singleton(d.getId()), new Parameters().noLeaves()); d = (Dataset) s.iterator().next(); assertTrue(d.sizeOfImageLinks() < 0); } @Test public void testUpdateReloadsAfterMergeOfArray() { Image[] imgs = new Image[2]; imgs[0] = new Image("arr"); imgs[0].addPixels(ObjectFactory.createPixelGraph(null)); imgs[1] = new Image("arr"); imgs[1].addPixels(ObjectFactory.createPixelGraph(null)); IObject[] objs = iUpdate.saveAndReturnArray(imgs); imgs[0] = (Image) objs[0]; imgs[1] = (Image) objs[1]; assertTrue(imgs[0].isLoaded()); assertTrue(imgs[0].getPrimaryPixels().isLoaded()); assertTrue(imgs[0].getPrimaryPixels().getPrimaryChannel().isLoaded()); } }