package org.ovirt.engine.ui.uicommon.models.vms; import java.util.Collections; import org.ovirt.engine.core.compat.*; import org.ovirt.engine.ui.uicompat.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.common.vdscommands.*; import org.ovirt.engine.core.common.queries.*; import org.ovirt.engine.core.common.action.*; import org.ovirt.engine.ui.frontend.*; import org.ovirt.engine.ui.uicommon.*; import org.ovirt.engine.ui.uicommon.models.*; import org.ovirt.engine.core.common.*; import org.ovirt.engine.ui.uicommon.*; import org.ovirt.engine.ui.uicommon.models.*; @SuppressWarnings("unused") public class SpiceMenu { private java.util.List<SpiceMenuItem> items; public java.util.List<SpiceMenuItem> getItems() { if (items == null) { items = new java.util.ArrayList<SpiceMenuItem>(); } return items; } public java.util.List<SpiceMenuItem> Descendants() { java.util.ArrayList<SpiceMenuItem> list = new java.util.ArrayList<SpiceMenuItem>(); for (SpiceMenuItem item : items) { DescendantsInternal(list, item); } return list; } private void DescendantsInternal(java.util.List<SpiceMenuItem> list, SpiceMenuItem root) { list.add(root); if (root instanceof SpiceMenuContainerItem) { for (SpiceMenuItem item : ((SpiceMenuContainerItem)root).getItems()) { DescendantsInternal(list, item); } } } @Override public String toString() { StringBuilder builder = new StringBuilder(); for (SpiceMenuItem item : getItems()) { builder.append(ItemToString(item, null)); } return builder.toString(); } private String ItemToString(SpiceMenuItem item, SpiceMenuItem parent) { StringBuilder builder = new StringBuilder(); int parentID = parent != null ? parent.getId() : 0; if (item instanceof SpiceMenuCommandItem) { SpiceMenuCommandItem commandItem = (SpiceMenuCommandItem)item; builder.append(StringFormat.format("%1$s\r%2$s\r%3$s\r%4$s\n", parentID, commandItem.getId(), commandItem.getText(), (commandItem.getIsEnabled()) ? 0 : 2)); } if (item instanceof SpiceMenuContainerItem) { SpiceMenuContainerItem containerItem = (SpiceMenuContainerItem)item; builder.append(StringFormat.format("%1$s\r%2$s\r%3$s\r4\n", parentID, containerItem.getId(), containerItem.getText())); if (containerItem.getItems().size() > 0) { for (SpiceMenuItem localItem : containerItem.getItems()) { builder.append(ItemToString(localItem, containerItem)); } } } if (item instanceof SpiceMenuSeparatorItem) { builder.append(StringFormat.format("%1$s\r%2$s\r%3$s\r1\n", parentID, item.getId(), "-")); } return builder.toString(); } }