private SiteModel convertOldToNewSiteModel()

in doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java [1110:1196]


    private SiteModel convertOldToNewSiteModel(DecorationModel oldModel) {
        SiteModel newModel = new SiteModel();
        newModel.setName(oldModel.getName());
        newModel.setCombineSelf(oldModel.getCombineSelf());
        if (oldModel.getBannerLeft() != null) {
            newModel.setBannerLeft(convertBanner(oldModel.getBannerLeft()));
        }
        if (oldModel.getBannerRight() != null) {
            newModel.setBannerRight(convertBanner(oldModel.getBannerRight()));
        }
        if (!oldModel.isDefaultPublishDate()) {
            PublishDate newPublishDate = new PublishDate();
            newPublishDate.setFormat(oldModel.getPublishDate().getFormat());
            newPublishDate.setPosition(oldModel.getPublishDate().getPosition());
            newPublishDate.setTimezone(oldModel.getPublishDate().getTimezone());
            newModel.setPublishDate(newPublishDate);
        }
        if (!oldModel.isDefaultVersion()) {
            Version newVersion = new Version();
            newVersion.setPosition(oldModel.getVersion().getPosition());
            newModel.setVersion(newVersion);
        }
        newModel.setEdit(oldModel.getEdit());
        if (oldModel.getSkin() != null) {
            Skin newSkin = new Skin();
            newSkin.setGroupId(oldModel.getSkin().getGroupId());
            newSkin.setArtifactId(oldModel.getSkin().getArtifactId());
            newSkin.setVersion(oldModel.getSkin().getVersion());
            newModel.setSkin(newSkin);
        }
        // poweredBy
        for (org.apache.maven.doxia.site.decoration.Logo oldLogo : oldModel.getPoweredBy()) {
            Logo newLogo = new Logo();
            newLogo.setName(oldLogo.getName());
            newLogo.setHref(oldLogo.getHref());
            newLogo.setTarget(oldLogo.getTarget());
            if (oldLogo.getImg() != null) {
                newLogo.setImage(convertImage(
                        oldLogo.getImg(),
                        oldLogo.getPosition(),
                        oldLogo.getHeight(),
                        oldLogo.getWidth(),
                        oldLogo.getBorder(),
                        oldLogo.getAlt()));
            }
            newModel.addPoweredBy(newLogo);
        }
        newModel.setLastModified(oldModel.getLastModified());
        if (oldModel.getBody() != null) {
            Body newBody = new Body();
            newBody.setHead(oldModel.getBody().getHead());
            for (org.apache.maven.doxia.site.decoration.LinkItem oldLink :
                    oldModel.getBody().getLinks()) {
                newBody.addLink(convertLinkItem(oldLink));
            }
            for (org.apache.maven.doxia.site.decoration.LinkItem oldBreadcrumb :
                    oldModel.getBody().getBreadcrumbs()) {
                newBody.addBreadcrumb(convertLinkItem(oldBreadcrumb));
            }

            for (org.apache.maven.doxia.site.decoration.Menu oldMenu :
                    oldModel.getBody().getMenus()) {
                Menu newMenu = new Menu();
                newMenu.setName(oldMenu.getName());
                newMenu.setInherit(oldMenu.getInherit());
                newMenu.setInheritAsRef(oldMenu.isInheritAsRef());
                newMenu.setRef(oldMenu.getRef());
                if (oldMenu.getImg() != null) {
                    newMenu.setImage(convertImage(
                            oldMenu.getImg(),
                            oldMenu.getPosition(),
                            oldMenu.getHeight(),
                            oldMenu.getWidth(),
                            oldMenu.getBorder(),
                            oldMenu.getAlt()));
                }
                newMenu.setItems(convertMenuItems(oldMenu.getItems()));
                newBody.addMenu(newMenu);
            }

            newBody.setFooter(oldModel.getBody().getFooter());
            newModel.setBody(newBody);
        }
        newModel.setCustom(oldModel.getCustom());

        return newModel;
    }