use of com.agiletec.plugins.jacms.aps.system.services.content.model.extraAttribute.LinkAttribute in project entando-core by entando.
the class TestContentLinkAction method testJoinContentLink_1.
public void testJoinContentLink_1() throws Throwable {
String contentOnSessionMarker = this.extractSessionMarker("ART1", ApsAdminSystemConstants.EDIT);
this.initJoinLinkTest("admin", "ART1", "VediAnche", "it");
this.initContentAction("/do/jacms/Content/Link", "joinContentLink", contentOnSessionMarker);
this.addParameter("contentId", "ART1");
String result = this.executeAction();
assertEquals(Action.SUCCESS, result);
Content content = this.getContentOnEdit(contentOnSessionMarker);
LinkAttribute attribute = (LinkAttribute) content.getAttribute("VediAnche");
SymbolicLink symbolicLink = attribute.getSymbolicLink();
assertNotNull(symbolicLink);
assertNull(symbolicLink.getPageDest());
assertEquals("ART1", symbolicLink.getContentDest());
}
use of com.agiletec.plugins.jacms.aps.system.services.content.model.extraAttribute.LinkAttribute in project entando-core by entando.
the class TestUrlLinkAction method testJoinContentLink_1.
public void testJoinContentLink_1() throws Throwable {
String contentOnSessionMarker = this.initJoinLinkTest("ART1", "VediAnche", "it");
this.initContentAction("/do/jacms/Content/Link", "joinUrlLink", contentOnSessionMarker);
this.addParameter("url", "http://www.japsportal.org");
String result = this.executeAction();
assertEquals(Action.SUCCESS, result);
Content content = this.getContentOnEdit(contentOnSessionMarker);
LinkAttribute attribute = (LinkAttribute) content.getAttribute("VediAnche");
SymbolicLink symbolicLink = attribute.getSymbolicLink();
assertNotNull(symbolicLink);
assertNull(symbolicLink.getPageDest());
assertNull(symbolicLink.getContentDest());
assertEquals("http://www.japsportal.org", symbolicLink.getUrlDest());
}
use of com.agiletec.plugins.jacms.aps.system.services.content.model.extraAttribute.LinkAttribute in project entando-core by entando.
the class LinkAttributeActionHelper method initSessionParams.
@Override
public void initSessionParams(ILinkAttributeAction action, HttpServletRequest request) {
AttributeInterface attribute = null;
HttpSession session = request.getSession();
if (null != action.getParentAttributeName()) {
attribute = (AttributeInterface) getContent(request).getAttribute(action.getParentAttributeName());
session.setAttribute(ATTRIBUTE_NAME_SESSION_PARAM, action.getParentAttributeName());
session.setAttribute(INCLUDED_ELEMENT_NAME_SESSION_PARAM, action.getAttributeName());
} else {
attribute = (AttributeInterface) getContent(request).getAttribute(action.getAttributeName());
session.setAttribute(ATTRIBUTE_NAME_SESSION_PARAM, action.getAttributeName());
}
if (action.getElementIndex() >= 0) {
session.setAttribute(LIST_ELEMENT_INDEX_SESSION_PARAM, new Integer(action.getElementIndex()));
}
session.setAttribute(LINK_LANG_CODE_SESSION_PARAM, action.getLangCode());
LinkAttribute linkAttribute = (LinkAttribute) getLinkAttribute(attribute, request);
session.setAttribute(SYMBOLIC_LINK_SESSION_PARAM, linkAttribute.getSymbolicLink());
}
use of com.agiletec.plugins.jacms.aps.system.services.content.model.extraAttribute.LinkAttribute in project entando-core by entando.
the class LinkAttributeActionHelper method updateLink.
protected void updateLink(AttributeInterface currentAttribute, String[] destinations, int destType) {
if (destinations.length != 3) {
throw new RuntimeException("Destinazioni non riconosciute");
}
SymbolicLink symbolicLink = new SymbolicLink();
switch(destType) {
case (SymbolicLink.CONTENT_TYPE):
symbolicLink.setDestinationToContent(destinations[1]);
break;
case (SymbolicLink.CONTENT_ON_PAGE_TYPE):
symbolicLink.setDestinationToContentOnPage(destinations[1], destinations[2]);
break;
case SymbolicLink.PAGE_TYPE:
symbolicLink.setDestinationToPage(destinations[2]);
break;
case SymbolicLink.URL_TYPE:
symbolicLink.setDestinationToUrl(destinations[0]);
break;
default:
symbolicLink.setDestinationToContent("");
break;
}
((LinkAttribute) currentAttribute).setSymbolicLink(symbolicLink);
}
use of com.agiletec.plugins.jacms.aps.system.services.content.model.extraAttribute.LinkAttribute in project entando-core by entando.
the class LinkAttributeActionHelper method getLinkAttribute.
protected AttributeInterface getLinkAttribute(AttributeInterface attribute, HttpServletRequest request) {
HttpSession session = request.getSession();
if (attribute instanceof CompositeAttribute) {
String includedAttributeName = (String) session.getAttribute(INCLUDED_ELEMENT_NAME_SESSION_PARAM);
AttributeInterface includedAttribute = ((CompositeAttribute) attribute).getAttribute(includedAttributeName);
return getLinkAttribute(includedAttribute, request);
} else if (attribute instanceof MonoListAttribute) {
Integer elementIndex = (Integer) session.getAttribute(LIST_ELEMENT_INDEX_SESSION_PARAM);
AttributeInterface attributeElement = ((MonoListAttribute) attribute).getAttribute(elementIndex.intValue());
return getLinkAttribute(attributeElement, request);
} else if (attribute instanceof LinkAttribute) {
return attribute;
} else {
throw new RuntimeException("Caso non gestito : Atttributo tipo " + attribute.getClass());
}
}
Aggregations