/** * Returns the link objects represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return a list of link objects represented by this XML content value */ public List<CmsLink> getLinks(CmsObject cms) { List<CmsLink> result = new ArrayList<CmsLink>(); @SuppressWarnings("unchecked") List<Element> linkElements = m_element.elements(CmsXmlPage.NODE_LINK); for (Element linkElement : linkElements) { if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } } CmsLinkUpdateUtil.updateType(linkElement, getRelationType(getPath())); CmsLink link = new CmsLink(linkElement); link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { continue; } result.add(link); } return result; }
return m_cms.getRequestContext().removeSiteRoot(link.getTarget()); } else {
return m_cms.getRequestContext().removeSiteRoot(link.getTarget()); } else {
/** * Returns the link object represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return the link object represented by this XML content value (will return null for an empty link) */ public CmsLink getLink(CmsObject cms) { Element linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { return null; } } CmsLinkUpdateUtil.updateType(linkElement, getRelationType(getPath())); CmsLink link = new CmsLink(linkElement); link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { return null; } return link; }
/** * Returns the link object represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return the link object represented by this XML content value */ public CmsLink getLink(CmsObject cms) { Element linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { return null; } } CmsLinkUpdateUtil.updateType(linkElement, getContentDefinition().getContentHandler().getRelationType(this)); CmsLink link = new CmsLink(linkElement); // link management check link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { return null; } return link; }
CmsLink link = (CmsLink)itLinks.next(); if (link.isInternal()) { // only update internal links if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { try { CmsResource target = readResource(dbc, link.getTarget(), CmsResourceFilter.ALL); originalRelation = new CmsRelation(resource, target, link.getType()); } catch (Exception e) { resource.getRootPath(), CmsUUID.getNullUUID(), link.getTarget(), link.getType());
if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) {
/** * Updates the link node in the underlying XML page document.<p> * * @param link the link to update * @param element the <link> element to update * @param updateOnly if set and the element has no {@link CmsLink#NODE_TARGET} subelement, so no action if executed at all */ public static void updateXml(CmsLink link, Element element, boolean updateOnly) { // if element is not null if (element != null) { if (!updateOnly || (element.element(CmsLink.NODE_TARGET) != null)) { String strId = (link.getStructureId() == null ? null : link.getStructureId().toString()); updateNode(element, CmsLink.NODE_TARGET, link.getTarget(), true); updateNode(element, CmsLink.NODE_UUID, strId, false); updateNode(element, CmsLink.NODE_ANCHOR, link.getAnchor(), true); updateNode(element, CmsLink.NODE_QUERY, link.getQuery(), true); } } }
if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) {
/** * Updates the link node in the underlying XML page document.<p> * * @param link the link to update * @param element the <link> element to update * @param updateOnly if set and the element has no {@link CmsLink#NODE_TARGET} subelement, so no action if executed at all */ public static void updateXml(CmsLink link, Element element, boolean updateOnly) { // if element is not null if (element != null) { if (!updateOnly || (element.element(CmsLink.NODE_TARGET) != null)) { String strId = (link.getStructureId() == null ? null : link.getStructureId().toString()); // there may still be entities in the target, so we decode it updateNode(element, CmsLink.NODE_TARGET, link.getTarget(), true); updateNode(element, CmsLink.NODE_UUID, strId, false); updateNode(element, CmsLink.NODE_ANCHOR, link.getAnchor(), true); updateNode(element, CmsLink.NODE_QUERY, link.getQuery(), true); } } }
while (i.hasNext()) { CmsLink link = (CmsLink)i.next(); String target = link.getTarget();
String sitePath = cms.getRequestContext().removeSiteRoot(link.getTarget()); CmsSite site = OpenCms.getSiteManager().getSiteForRootPath(link.getTarget()); res = rootCms.readResource(link.getTarget(), CmsResourceFilter.IGNORE_EXPIRATION); } else { res = cms.readResource(sitePath, CmsResourceFilter.IGNORE_EXPIRATION);
String sitePath = cms.getRequestContext().removeSiteRoot(link.getTarget());
defaultModelTarget = link.getTarget(); } else { isDefaultValue.setStringValue(m_cms, Boolean.FALSE.toString());