.getContextConceptConfig().getContextModelConfig()
.getConceptConfig(neighborConcept);
final String neighborDisplayType = neighborConceptConfig
.getDisplayType();
NeighborNameLabelLinkPair neighborNameLabelLinkPair = new NeighborNameLabelLinkPair();
String neighborKey = conceptCode + "."
+ neighborConfig.getCode();
String neighborName = getLocalizer().getString(neighborKey,
this);
Label neighborNameLabel = new Label("neighborName",
neighborName);
neighborNameLabelLinkPair
.setNeighborNameLabel(neighborNameLabel);
Link neighborLink;
IDomainModel domainModel = app.getDomainModel();
IOrderedEntities neighborEntities = (IOrderedEntities) domainModel
.getModelMeta().getNeighborEntities(entity,
neighborConfig.getCode());
final ModelContext neighborModelContext = new ModelContext(
modelContext);
neighborModelContext.setContextEntities(entities);
neighborModelContext.setContextEntity(entity);
neighborModelContext.setEntities(neighborEntities);
final ViewContext neighborViewContext = new ViewContext(
viewContext);
neighborLink = new PageLink("neighbor", new IPageLink() {
static final long serialVersionUID = 200471L;
WebPage neighborPage;
public Page getPage() {
if (neighborDisplayType.equals("table")) {
neighborPage = app.getViewMeta().getPage(
"EntityDisplayTablePage",
neighborModelContext,
neighborViewContext);
} else if (neighborDisplayType.equals("list")) {
neighborPage = app.getViewMeta().getPage(
"EntityDisplayListPage",
neighborModelContext,
neighborViewContext);
} else if (neighborDisplayType.equals("slide")) {
neighborPage = app.getViewMeta().getPage(
"EntityDisplaySlidePage",
neighborModelContext,
neighborViewContext);
}
return neighborPage;
}
Class neighborPageClass;
public Class getPageIdentity() {
if (neighborDisplayType.equals("table")) {
neighborPageClass = app.getViewMeta()
.getPageClass("EntityDisplayTablePage",
neighborModelContext,
neighborViewContext);
} else if (neighborDisplayType.equals("list")) {
neighborPageClass = app.getViewMeta()
.getPageClass("EntityDisplayListPage",
neighborModelContext,
neighborViewContext);
} else if (neighborDisplayType.equals("slide")) {
neighborPageClass = app.getViewMeta()
.getPageClass("EntityDisplaySlidePage",
neighborModelContext,
neighborViewContext);
}
return neighborPageClass;
}
});
if (!app.isNeighborDisplayAllowed(getAppSession(),
neighborConfig)) {
neighborLink.setVisible(false);
}
neighborNameLabelLinkPair.setNeighborLink(neighborLink);
neighborNameLabelLinkPairs.add(neighborNameLabelLinkPair);
} // end if child
} // end for
item.add(new NeighborNameLabelLinkListView(