X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fmodel%2FVirtualFolder.java;h=1218060ebebf42ee5e66265a81fa43bea41de35d;hb=018795e1c7fb82445c43dcb28fdc515e8cb624ac;hp=5a6bc77ceb3022454a03ccf69ab669dbb377e228;hpb=d50c0fe50cd69947bc7146991afa0826a8c8f53b;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/model/VirtualFolder.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/model/VirtualFolder.java index 5a6bc77ce..1218060eb 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/model/VirtualFolder.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/model/VirtualFolder.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2012 Mathieu Baudier + * Copyright (C) 2007-2012 Argeo GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,35 +15,45 @@ */ package org.argeo.slc.client.ui.model; +import java.util.List; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.slc.SlcException; +import org.argeo.slc.jcr.SlcNames; +import org.argeo.slc.jcr.SlcTypes; + /** - * UI Tree component. Virtual folder to list either other folders and/or a list - * of results. Keeps a reference to its parent that might be null if the . + * UI Tree component. Virtual folder to list a list of results. Keeps a + * reference to its parent that might be null. It also keeps a reference to all + * nodes that must be displayed as children of the current virtual folder. */ public class VirtualFolder extends ResultParent { - ResultParent[] children; + List displayedNodes; - public VirtualFolder(VirtualFolder parent, ResultParent[] children, + public VirtualFolder(VirtualFolder parent, List displayedNodes, String name) { super(name); setParent(parent); - this.children = children; - } - - @Override - public synchronized void dispose() { - super.dispose(); + this.displayedNodes = displayedNodes; } @Override protected void initialize() { - if (children != null) - for (ResultParent child : children) - addChild(child); - } - - public void resetChildren(ResultParent[] children) { - clearChildren(); - this.children = children; - initialize(); + try { + for (Node currNode : displayedNodes) { + if (currNode.isNodeType(SlcTypes.SLC_TEST_RESULT)) { + SingleResultNode srn = new SingleResultNode(this, currNode, + currNode.getProperty(SlcNames.SLC_TEST_CASE) + .getString()); + addChild(srn); + } + } + } catch (RepositoryException re) { + throw new SlcException( + "Unexpected error while initializing ParentNodeFolder : " + + getName(), re); + } } } \ No newline at end of file