Adds a new model page to the model page view.<p>

@param modelPageData the data for the new model page
@param isModelGroup in case of a model group page
964836
public void displayNewModelPage(CmsModelPageEntry modelPageData, boolean isModelGroup) {

        CmsModelPageTreeItem treeItem = new CmsModelPageTreeItem(modelPageData, isModelGroup, false);
        CmsSitemapHoverbar.installOn(
            m_controller,
            treeItem,
            modelPageData.getStructureId(),
            modelPageData.getSitePath(),
            modelPageData.getSitePath() != null);
        m_modelPageTreeItems.put(modelPageData.getStructureId(), treeItem);
        if (isModelGroup) {
            m_modelGroupRoot.addChild(treeItem);
        } else {
            m_modelPageRoot.addChild(treeItem);
        }
    }
102920
@Override
    public void setModel(final TableModel dataModel) {
        super.setModel(dataModel);
        if (_panel != null) {
            _panel.updateUI();
        }
    }
726142
public final void setModel(PixelModel newModel) {
		if (newModel == null) throw new NullPointerException();
		
		if (model != newModel) {
			if (model != null)
				model.removeChangeListener(modelListener);
			model = newModel;
			model.addChangeListener(modelListener);
			update();
		}
	}
577586
public void setControllerModel(GVRSceneObject controllerModel)
    {
        if (mControllerModel != null)
        {
            mControllerGroup.removeChildObject(mControllerModel);
        }
        mControllerModel = controllerModel;
        mControllerGroup.addChildObject(mControllerModel);
        mControllerModel.setEnable(mShowControllerModel);
    }
88764
private void processModel(final Model readModel) {
        this.model = readModel;
        
        Parent parent = readModel.getParent();

        if (this.groupId == null) {
            this.groupId = readModel.getGroupId();
            if (this.groupId == null && parent != null) {
                this.groupId = parent.getGroupId();
            }
        }
        if (this.artifactId == null) {
            this.artifactId = readModel.getArtifactId();
        }
        if (this.version == null) {
            this.version = readModel.getVersion();
            if (this.version == null && parent != null) {
                this.version = parent.getVersion();
            }
        }
        if (this.packaging == null) {
            this.packaging = readModel.getPackaging();
        }
    }
1255687
public void doShowPageModel(final UniqueKey<? extends Model> pageModelKey, final String stackName, final Wave wave) {

        if (getStackName() != null && getStackName().equals(stackName)) {
            showPage(pageModelKey, wave);
        }

    }
773041
private void showPage(final UniqueKey<? extends Model> pageModelKey, final Wave wave) {
        if (pageModelKey != null && !pageModelKey.equals(this.currentModelKey)) {

            LOGGER.info("Show Page Model: " + pageModelKey.toString());

            // Create the Wave Bean that will hold all data processed by chained commands
            final DisplayModelWaveBean waveBean = DisplayModelWaveBean.create()
                                                                      // Define the placeholder that will receive the content
                                                                      .childrenPlaceHolder(view().node().getChildren())
                                                                      // Allow to add element behind the stack to allow transition
                                                                      .appendChild(false)
                                                                      .showModelKey(pageModelKey)
                                                                      .hideModelKey(this.currentModelKey);

            this.currentModelKey = waveBean.showModelKey();

            if (wave != null) {
                // The method was called after having received a wave
                // It will show the next page by sending a regular command, processed asynchronously into JAT after a JIT cycle
                // This call is non-blocking
                sendWave(WBuilder.callCommand(ShowFadingModelCommand.class)
                                 .waveBean(waveBean)
                                 .relatedWave(wave)
                                 .addWaveListener(new RelatedWaveListener()));
            } else {
                // The showPage method has been called programmatically without any wave provided
                // This is the first call used to initialize the stack so we perform the show transition immediately
                final Wave showWave = WBuilder.callCommand(ShowFadingModelCommand.class)
                                              .waveBean(waveBean)
                                              .addDatas(JRebirthWaves.FORCE_SYNC);
                // Run synchronously into JAT immediately without a waiting a JIT cycle
                // This call will block current thread until page is shown
                getCommand(ShowFadingModelCommand.class, showWave.wUID()).run(showWave);

            }

        } else {
            LOGGER.debug("Page Model currently displayed: " + pageModelKey.toString());
        }
    }
215065
private boolean hasModelGroupAncestor(CmsJspStandardContextBean standardContext) {

        boolean result = false;
        if (!standardContext.isModelGroupPage()) {
            CmsContainerElementWrapper parent = standardContext.getElement();
            while ((parent != null) && !result) {
                result = parent.isModelGroup();
                parent = parent.getParent();
            }
        }
        return result;
    }
721115
private void setModellistByModel(ModelListForm listForm, PageIterator pageIterator, HttpServletRequest request) {
		Collection c = null;
		try {
			listForm.setAllCount(pageIterator.getAllCount());
			if (pageIterator.getCount() != 0)
				listForm.setCount(pageIterator.getCount());
			c = new ArrayList(pageIterator.getSize());
			while (pageIterator.hasNext()) {
				Object o = pageIterator.next();
				if (o != null)
					c.add(o);
			}
			Debug.logVerbose("[JdonFramework] listForm 's property: getList size is " + c.size(), module);
			pageIterator.reset();
		} catch (Exception e) {
			Debug.logError(" setModellistByModel error " + e, module);
			c = new ArrayList();
		}
		listForm.setList(c);
	}
1199961
public void setModelPackageSummaryList(java.util.Collection<ModelPackageSummary> modelPackageSummaryList) {
        if (modelPackageSummaryList == null) {
            this.modelPackageSummaryList = null;
            return;
        }

        this.modelPackageSummaryList = new java.util.ArrayList<ModelPackageSummary>(modelPackageSummaryList);
    }
613065
private void applyChangeToModelPages(CmsSitemapChangeEvent changeEvent) {

        CmsSitemapChange change = changeEvent.getChange();
        switch (change.getChangeType()) {
            case delete:

                CmsModelPageTreeItem deleteItem = m_modelPageTreeItems.get(change.getEntryId());
                if (deleteItem != null) {
                    deleteItem.removeFromParent();
                }

                break;

            case undelete:
            case create:
                String typeName = m_controller.getGalleryType(
                    new Integer(change.getNewResourceTypeId())).getResourceType();
                if (typeName != null) {
                    CmsModelPageEntry modelPage = new CmsModelPageEntry();
                    modelPage.setSitePath(change.getSitePath());
                    modelPage.setResourceType(typeName);
                    modelPage.setStructureId(change.getEntryId());
                    modelPage.setOwnProperties(change.getOwnProperties());
                    CmsModelPageTreeItem folderItem = new CmsModelPageTreeItem(modelPage, false, false);
                    CmsSitemapHoverbar.installOn(m_controller, folderItem, modelPage.getStructureId());
                    m_modelPageRoot.addChild(folderItem);
                    m_modelPageTreeItems.put(modelPage.getStructureId(), folderItem);
                }
                break;

            case modify:
                CmsModelPageTreeItem changeItem = m_modelPageTreeItems.get(change.getEntryId());
                if (changeItem != null) {
                    CmsListItemWidget widget = changeItem.getListItemWidget();
                    for (CmsPropertyModification mod : change.getPropertyChanges()) {
                        if (mod.getName().equals(CmsClientProperty.PROPERTY_TITLE)) {
                            widget.setTitleLabel(mod.getValue());
                        }
                    }
                    String oldPath = changeItem.getSitePath();
                    if ((change.getName() != null) && !oldPath.endsWith("/" + change.getName())) {
                        String newPath = CmsResource.getParentFolder(oldPath) + change.getName() + "/";
                        changeItem.updateSitePath(newPath);
                    }

                }
                break;
            case bumpDetailPage:
            case clipboardOnly:
            case remove:
            default:
                // nothing to do
        }
    }
210138
public void loadModelPages() {

        CmsRpcAction<CmsModelInfo> action = new CmsRpcAction<CmsModelInfo>() {

            @Override
            public void execute() {

                start(500, false);
                getService().getModelInfos(m_data.getRoot().getId(), this);

            }

            @Override
            protected void onResponse(CmsModelInfo result) {

                stop(false);
                CmsSitemapView.getInstance().displayModelPages(result);
            }
        };
        action.execute();
    }
335537
@RequestMapping(value = "group/{groupId}", method = RequestMethod.GET)
    public String editGroup(Model model, @PathVariable int groupId) throws Exception {
        model.addAttribute("groupName",
                pathOverrideService.getGroupNameFromId(groupId));
        model.addAttribute("groupId", groupId);
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(pluginManager.getMethodsNotInGroup(groupId));
        model.addAttribute("methodsNotInGroup",
                json);

        return "editGroup";
    }
700811
private void printPageModels(final String tag) {
        for (int i = 0; i < PAGE_COUNT; i++) {
            printPageModel(tag, mPageModels[i], i);
        }
    }
676125
public void disableModelPage(final CmsUUID id, final boolean disable) {

        CmsRpcAction<Void> action = new CmsRpcAction<Void>() {

            @Override
            public void execute() {

                start(200, true);
                getService().disableModelPage(getEntryPoint(), id, disable, this);

            }

            @Override
            protected void onResponse(Void result) {

                stop(false);
                CmsSitemapView.getInstance().updateModelPageDisabledState(id, disable);
            }
        };
        action.execute();

    }
1214119
public void createAndEditNewElement(
        final org.opencms.ade.containerpage.client.ui.CmsContainerPageElementPanel element,
        final CmsUUID modelResourceStructureId) {

        CmsRpcAction<CmsContainerElement> action = new CmsRpcAction<CmsContainerElement>() {

            @Override
            public void execute() {

                getContainerpageService().createNewElement(
                    CmsCoreProvider.get().getStructureId(),
                    element.getId(),
                    element.getNewType(),
                    modelResourceStructureId,
                    getLocale(),
                    this);

            }

            @Override
            protected void onResponse(CmsContainerElement result) {

                openEditorForNewElement(element, result, false);

            }
        };
        action.execute();
    }
310604
private void addAttributeGroup(XsdAttributeGroup attributeGroup) {
        String interfaceName = firstToUpper(attributeGroup.getName());

        if (!attributeGroupInterfaces.containsKey(interfaceName)){
            List<XsdAttribute> ownElements = attributeGroup.getXsdElements()
                    .filter(attribute -> attribute.getParent().equals(attributeGroup))
                    .map(attribute -> (XsdAttribute) attribute)
                    .collect(Collectors.toList());

            List<String> parentNames = attributeGroup.getAttributeGroups().stream().map(XsdNamedElements::getName).collect(Collectors.toList());
            AttributeHierarchyItem attributeHierarchyItemItem = new AttributeHierarchyItem(parentNames, ownElements);

            attributeGroupInterfaces.put(interfaceName, attributeHierarchyItemItem);

            attributeGroup.getAttributeGroups().forEach(this::addAttributeGroup);
        }
    }