test_class.declarator: view
test_class.modifier: @Mock
test_class.original_string: @Mock
      NavTilesWidget.View view;
test_class.type: NavTilesWidget.View
test_class.var_name: view
test_class.declarator: pluginManager
test_class.modifier: @Mock
test_class.original_string: @Mock
      PerspectivePluginManager pluginManager;
test_class.type: PerspectivePluginManager
test_class.var_name: pluginManager
test_class.declarator: navigationManager
test_class.modifier: @Mock
test_class.original_string: @Mock
      NavigationManager navigationManager;
test_class.type: NavigationManager
test_class.var_name: navigationManager
test_class.declarator: beanManager
test_class.modifier: @Mock
test_class.original_string: @Mock
      SyncBeanManager beanManager;
test_class.type: SyncBeanManager
test_class.var_name: beanManager
test_class.declarator: placeManager
test_class.modifier: @Mock
test_class.original_string: @Mock
      PlaceManager placeManager;
test_class.type: PlaceManager
test_class.var_name: placeManager
test_class.declarator: tileWidgetBeanDef
test_class.modifier: @Mock
test_class.original_string: @Mock
      SyncBeanDef<NavItemTileWidget> tileWidgetBeanDef;
test_class.type: SyncBeanDef<NavItemTileWidget>
test_class.var_name: tileWidgetBeanDef
test_class.declarator: tileWidget
test_class.modifier: @Mock
test_class.original_string: @Mock
      NavItemTileWidget tileWidget;
test_class.type: NavItemTileWidget
test_class.var_name: tileWidget
test_class.declarator: presenter
test_class.original_string: NavTilesWidget presenter;
test_class.type: NavTilesWidget
test_class.var_name: presenter
test_class.declarator: tree
test_class.original_string: NavTree tree;
test_class.type: NavTree
test_class.var_name: tree
test_class.file: dashbuilder-client/dashbuilder-navigation-client/src/test/java/org/dashbuilder/client/navigation/widget/NavTilesWidgetTest.java
test_class.identifier: NavTilesWidgetTest
test_case.body: @Test
      public void testOpenItem() {
          NavItem navItem = tree.getItemById("A");
          presenter.openItem(navItem);
          assertEquals(presenter.getNavItemStack().size(), 2);
  
          verify(view, times(3)).addTileWidget(tileWidget);
          verify(view).clearBreadcrumb();
          verify(view).addBreadcrumbItem(eq("Home"), any());
          verify(view).addBreadcrumbItem(eq("A"));
  
          reset(view);
          navItem = tree.getItemById("A3");
          presenter.openItem(navItem);
          assertEquals(presenter.getNavItemStack().size(), 3);
  
          verify(view, times(1)).addTileWidget(tileWidget);
          verify(view).clearBreadcrumb();
          verify(view).addBreadcrumbItem(eq("Home"), any());
          verify(view).addBreadcrumbItem(eq("A"), any());
          verify(view).addBreadcrumbItem(eq("A3"));
      }
test_case.class_method_signature: NavTilesWidgetTest.testOpenItem()
test_case.full_signature: @Test public void testOpenItem()
test_case.identifier: testOpenItem
test_case.invocations: getItemById openItem assertEquals size getNavItemStack addTileWidget verify times clearBreadcrumb verify addBreadcrumbItem verify eq any addBreadcrumbItem verify eq reset getItemById openItem assertEquals size getNavItemStack addTileWidget verify times clearBreadcrumb verify addBreadcrumbItem verify eq any addBreadcrumbItem verify eq any addBreadcrumbItem verify eq
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testOpenItem()
focal_class.declarator: view
focal_class.original_string: View view;
focal_class.type: View
focal_class.var_name: view
focal_class.declarator: perspectivePluginManager
focal_class.original_string: PerspectivePluginManager perspectivePluginManager;
focal_class.type: PerspectivePluginManager
focal_class.var_name: perspectivePluginManager
focal_class.declarator: placeManager
focal_class.original_string: PlaceManager placeManager;
focal_class.type: PlaceManager
focal_class.var_name: placeManager
focal_class.declarator: beanManager
focal_class.original_string: SyncBeanManager beanManager;
focal_class.type: SyncBeanManager
focal_class.var_name: beanManager
focal_class.declarator: currentPerspectiveNavItem = null
focal_class.original_string: NavItem currentPerspectiveNavItem = null;
focal_class.type: NavItem
focal_class.var_name: currentPerspectiveNavItem
focal_class.declarator: navItemStack = new Stack<>()
focal_class.original_string: Stack<NavItem> navItemStack = new Stack<>();
focal_class.type: Stack<NavItem>
focal_class.var_name: navItemStack
focal_class.file: dashbuilder-client/dashbuilder-navigation-client/src/main/java/org/dashbuilder/client/navigation/widget/NavTilesWidget.java
focal_class.identifier: NavTilesWidget
focal_class.class_method_signature: NavTilesWidget.NavTilesWidget(View view,
                            NavigationManager navigationManager,
                            PerspectivePluginManager perspectivePluginManager,
                            PlaceManager placeManager,
                            SyncBeanManager beanManager)
focal_class.full_signature: @Inject public  NavTilesWidget(View view,
                            NavigationManager navigationManager,
                            PerspectivePluginManager perspectivePluginManager,
                            PlaceManager placeManager,
                            SyncBeanManager beanManager)
focal_class.identifier: NavTilesWidget
focal_class.modifiers: @Inject public
focal_class.parameters: (View view,
                            NavigationManager navigationManager,
                            PerspectivePluginManager perspectivePluginManager,
                            PlaceManager placeManager,
                            SyncBeanManager beanManager)
focal_class.signature:  NavTilesWidget(View view,
                            NavigationManager navigationManager,
                            PerspectivePluginManager perspectivePluginManager,
                            PlaceManager placeManager,
                            SyncBeanManager beanManager)
focal_class.class_method_signature: NavTilesWidget.getNavItemStack()
focal_class.full_signature: public Stack<NavItem> getNavItemStack()
focal_class.identifier: getNavItemStack
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Stack<NavItem>
focal_class.signature: Stack<NavItem> getNavItemStack()
focal_class.class_method_signature: NavTilesWidget.show(NavGroup navGroup)
focal_class.full_signature: @Override public void show(NavGroup navGroup)
focal_class.identifier: show
focal_class.modifiers: @Override public
focal_class.parameters: (NavGroup navGroup)
focal_class.return: void
focal_class.signature: void show(NavGroup navGroup)
focal_class.class_method_signature: NavTilesWidget.show(List<NavItem> itemList)
focal_class.full_signature: @Override public void show(List<NavItem> itemList)
focal_class.identifier: show
focal_class.modifiers: @Override public
focal_class.parameters: (List<NavItem> itemList)
focal_class.return: void
focal_class.signature: void show(List<NavItem> itemList)
focal_class.class_method_signature: NavTilesWidget.show(NavGroup navGroup, boolean clearBreadcrumb)
focal_class.full_signature: public void show(NavGroup navGroup, boolean clearBreadcrumb)
focal_class.identifier: show
focal_class.modifiers: public
focal_class.parameters: (NavGroup navGroup, boolean clearBreadcrumb)
focal_class.return: void
focal_class.signature: void show(NavGroup navGroup, boolean clearBreadcrumb)
focal_class.class_method_signature: NavTilesWidget.showItem(NavItem navItem)
focal_class.full_signature: @Override protected void showItem(NavItem navItem)
focal_class.identifier: showItem
focal_class.modifiers: @Override protected
focal_class.parameters: (NavItem navItem)
focal_class.return: void
focal_class.signature: void showItem(NavItem navItem)
focal_class.class_method_signature: NavTilesWidget.showGroup(NavGroup navGroup)
focal_class.full_signature: @Override protected void showGroup(NavGroup navGroup)
focal_class.identifier: showGroup
focal_class.modifiers: @Override protected
focal_class.parameters: (NavGroup navGroup)
focal_class.return: void
focal_class.signature: void showGroup(NavGroup navGroup)
focal_class.class_method_signature: NavTilesWidget.openItem(NavItem navItem)
focal_class.full_signature: public void openItem(NavItem navItem)
focal_class.identifier: openItem
focal_class.modifiers: public
focal_class.parameters: (NavItem navItem)
focal_class.return: void
focal_class.signature: void openItem(NavItem navItem)
focal_class.class_method_signature: NavTilesWidget.openPerspective(NavItem perspectiveItem)
focal_class.full_signature: protected void openPerspective(NavItem perspectiveItem)
focal_class.identifier: openPerspective
focal_class.modifiers: protected
focal_class.parameters: (NavItem perspectiveItem)
focal_class.return: void
focal_class.signature: void openPerspective(NavItem perspectiveItem)
focal_class.class_method_signature: NavTilesWidget.onInfiniteRecursion(LayoutRecursionIssue issue)
focal_class.full_signature: public void onInfiniteRecursion(LayoutRecursionIssue issue)
focal_class.identifier: onInfiniteRecursion
focal_class.modifiers: public
focal_class.parameters: (LayoutRecursionIssue issue)
focal_class.return: void
focal_class.signature: void onInfiniteRecursion(LayoutRecursionIssue issue)
focal_class.class_method_signature: NavTilesWidget.updateBreadcrumb()
focal_class.full_signature: protected void updateBreadcrumb()
focal_class.identifier: updateBreadcrumb
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void updateBreadcrumb()
focal_class.class_method_signature: NavTilesWidget.gotoBreadcrumbItem(NavItem navItem)
focal_class.full_signature: public void gotoBreadcrumbItem(NavItem navItem)
focal_class.identifier: gotoBreadcrumbItem
focal_class.modifiers: public
focal_class.parameters: (NavItem navItem)
focal_class.return: void
focal_class.signature: void gotoBreadcrumbItem(NavItem navItem)
focal_class.class_method_signature: NavTilesWidget.onPerspectiveChanged(@Observes PluginSaved event)
focal_class.full_signature: private void onPerspectiveChanged(@Observes PluginSaved event)
focal_class.identifier: onPerspectiveChanged
focal_class.modifiers: private
focal_class.parameters: (@Observes PluginSaved event)
focal_class.return: void
focal_class.signature: void onPerspectiveChanged(@Observes PluginSaved event)
focal_class.superclass: extends BaseNavWidget
focal_method.body: public void openItem(NavItem navItem) {
          NavItem parent = navItem.getParent();
          if (navItemStack.isEmpty()) {
              if (parent != null) {
                  navItemStack.add(parent);
                  navItemStack.add(navItem);
              }
          } else {
              navItemStack.add(navItem);
          }
          this.updateBreadcrumb();
  
          if (navItem instanceof NavGroup) {
              this.show((NavGroup) navItem, false);
          }
          else {
              NavWorkbenchCtx navCtx = NavWorkbenchCtx.get(navItem);
              String resourceId = navCtx.getResourceId();
              if (resourceId != null && ActivityResourceType.PERSPECTIVE.equals(navCtx.getResourceType())) {
  
                  // Runtime perspectives are displayed inline
                  if (perspectivePluginManager.isRuntimePerspective(resourceId)) {
                      openPerspective(navItem);
                  }
                  // Classic UF perspectives take over the entire window
                  else {
                      placeManager.goTo(resourceId);
                  }
              }
          }
      }
focal_method.class_method_signature: NavTilesWidget.openItem(NavItem navItem)
focal_method.full_signature: public void openItem(NavItem navItem)
focal_method.identifier: openItem
focal_method.invocations: getParent isEmpty add add add updateBreadcrumb show get getResourceId equals getResourceType isRuntimePerspective openPerspective goTo
focal_method.modifiers: public
focal_method.parameters: (NavItem navItem)
focal_method.return: void
focal_method.signature: void openItem(NavItem navItem)