PublicPersonalProfile: Anlegen neuer Navigations-Items und Löschen derselben funktioniert jetzt.

git-svn-id: https://svn.libreccm.org/ccm/trunk@1034 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-07-28 15:47:05 +00:00
parent b5a0cbb11e
commit 233e1e991f
9 changed files with 296 additions and 70 deletions

View File

@ -7,7 +7,8 @@
webapp="ROOT"> webapp="ROOT">
<ccm:dependencies> <ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" release="ge"/> <ccm:requires name="ccm-core" version="6.6.0" release="ge"/>
<ccm:requires name="ccm-cms" version="6.6.0" release="ge"/> <ccm:requires name="ccm-cms" version="6.6.0" release="ge"/>
<ccm:requires name="ccm-cms-assets-relatedlink" version="6.6.0" release="ge"/>
</ccm:dependencies> </ccm:dependencies>
<ccm:directories> <ccm:directories>
<ccm:directory name="pdl"/> <ccm:directory name="pdl"/>

View File

@ -3,7 +3,9 @@
<table name="inits"/> <table name="inits"/>
<table name="acs_objects"/> <table name="acs_objects"/>
<table name="cms_items"/> <table name="cms_items"/>
<table name="cms_related_links"/>
<initalizer class="com.arsdigita.cms.Initializer"/> <initalizer class="com.arsdigita.cms.Initializer"/>
<initalizer class="com.arsdigita.cms.contentassets.RelatedLinkInitializer"/>
</requires> </requires>
<provides> <provides>
<table name="ct_public_personal_profiles"/> <table name="ct_public_personal_profiles"/>

View File

@ -18,6 +18,7 @@ public class PublicPersonalProfile extends ContentPage {
public static final String OWNER = "owner"; public static final String OWNER = "owner";
public static final String PROFILE_URL = "profileUrl"; public static final String PROFILE_URL = "profileUrl";
public static final String LINK_LIST_NAME = "publicPersonalProfileNavItems";
public static final String BASE_DATA_OBJECT_TYPE = public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.contenttypes.PublicPersonalProfile"; "com.arsdigita.cms.contenttypes.PublicPersonalProfile";

View File

@ -20,7 +20,7 @@ public class PublicPersonalProfileNavItem extends DomainObject {
public static final String ORDER = "navItemOrder"; public static final String ORDER = "navItemOrder";
public static final String GENERATOR_CLASS = "generatorClass"; public static final String GENERATOR_CLASS = "generatorClass";
public static final String BASE_DATA_OBJECT_TYPE = public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.cms.PublicPersonalProfileNavItem"; "com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem";
public PublicPersonalProfileNavItem() { public PublicPersonalProfileNavItem() {
this(BASE_DATA_OBJECT_TYPE); this(BASE_DATA_OBJECT_TYPE);

View File

@ -44,7 +44,7 @@ public class PublicPersonalProfileNavItemCollection extends DomainCollection {
} }
public final void addLanguageFilter(final String language) { public final void addLanguageFilter(final String language) {
languageFilter = this.addEqualsFilter(PublicPersonalProfileNavItem.KEY, languageFilter = this.addEqualsFilter(PublicPersonalProfileNavItem.LANG,
language); language);
} }

View File

@ -1,7 +1,9 @@
package com.arsdigita.cms.contenttypes.ui; package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormProcessListener;
@ -11,10 +13,19 @@ import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel; import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ContentBundle;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contentassets.RelatedLink;
import com.arsdigita.cms.contenttypes.Link;
import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem;
import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItemCollection;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ui.authoring.BasicItemForm; import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.dispatcher.DispatcherHelper;
import com.arsdigita.mimetypes.MimeType;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -37,8 +48,17 @@ public class PublicPersonalProfileNavigationAddForm
private SimpleEditStep editStep; private SimpleEditStep editStep;
public PublicPersonalProfileNavigationAddForm( public PublicPersonalProfileNavigationAddForm(
ItemSelectionModel itemModel, final ItemSelectionModel itemModel,
SimpleEditStep editStep) { final SimpleEditStep editStep) {
this("PublicPersonalProfileNavAddForm", itemModel, editStep);
this.itemModel = itemModel;
this.editStep = editStep;
}
public PublicPersonalProfileNavigationAddForm(
final String formName,
final ItemSelectionModel itemModel,
final SimpleEditStep editStep) {
super("PublicPersonalProfileNavAddForm", itemModel); super("PublicPersonalProfileNavAddForm", itemModel);
this.itemModel = itemModel; this.itemModel = itemModel;
this.editStep = editStep; this.editStep = editStep;
@ -46,24 +66,41 @@ public class PublicPersonalProfileNavigationAddForm
@Override @Override
public void addWidgets() { public void addWidgets() {
add(new Label((String) PublicPersonalProfileGlobalizationUtil. add(new Label((String) PublicPersonalProfileGlobalizationUtil.globalize(
globalize("publicpersonalprofile.ui.nav.select_nav_item"). "publicpersonalprofile.ui.nav.select_nav_item").
localize())); localize()));
ParameterModel navItemModel = new StringParameter("navItemName"); ParameterModel navItemModel =
new StringParameter(PublicPersonalProfileNavItem.KEY);
SingleSelect navItemSelect = new SingleSelect(navItemModel); SingleSelect navItemSelect = new SingleSelect(navItemModel);
navItemSelect.addValidationListener(new NotNullValidationListener()); navItemSelect.addValidationListener(new NotNullValidationListener());
final String[] mockNav = new String[]{"Allgemein", "Beruflich",
"Forschung", "Lehre", "Projekte", PublicPersonalProfileNavItemCollection navItems =
"Publikationen"}; new PublicPersonalProfileNavItemCollection();
for (String nav : mockNav) { navItems.addLanguageFilter(DispatcherHelper.getNegotiatedLocale().
navItemSelect.addOption(new Option(nav)); getLanguage());
if (showGenerated()) {
navItems.addFilter("generatorClass is not null");
} else {
navItems.addFilter("generatorClass is null");
} }
add(new Label((String) PublicPersonalProfileGlobalizationUtil. PublicPersonalProfileNavItem navItem;
globalize("publicpersonalprofile.ui.nav.select_target"). while (navItems.next()) {
localize())); navItem = navItems.getNavItem();
itemSearch = new ItemSearchWidget(ITEM_SEARCH);
add(this.itemSearch); navItemSelect.addOption(new Option(navItem.getKey(),
navItem.getLabel()));
}
add(navItemSelect);
if (!showGenerated()) {
add(new Label((String) PublicPersonalProfileGlobalizationUtil.
globalize(
"publicpersonalprofile.ui.nav.select_target").
localize()));
itemSearch = new ItemSearchWidget(ITEM_SEARCH);
add(this.itemSearch);
}
} }
@Override @Override
@ -72,5 +109,53 @@ public class PublicPersonalProfileNavigationAddForm
@Override @Override
public void process(FormSectionEvent fse) throws FormProcessException { public void process(FormSectionEvent fse) throws FormProcessException {
PageState state = fse.getPageState();
FormData data = fse.getFormData();
String navKey = (String) data.get(PublicPersonalProfileNavItem.KEY);
PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
getSelectedObject(state);
RelatedLink link = new RelatedLink();
link.setLinkListName(PublicPersonalProfile.LINK_LIST_NAME);
link.setLinkOwner(profile);
link.setResourceSize("");
link.setResourceType(MimeType.loadMimeType("text/html"));
PublicPersonalProfileNavItemCollection navItems =
new PublicPersonalProfileNavItemCollection();
navItems.addLanguageFilter(DispatcherHelper.getNegotiatedLocale().
getLanguage());
navItems.addKeyFilter(navKey);
navItems.next();
PublicPersonalProfileNavItem navItem = navItems.getNavItem();
link.setTitle(navItem.getKey());
link.setDescription("");
link.setOrder(navItem.getOrder());
link.setTargetType(Link.INTERNAL_LINK);
ContentItem targetItem;
if (showGenerated()) {
//For generated content the target is the profile itself.
targetItem = profile;
} else {
targetItem = (ContentItem) data.get(ITEM_SEARCH);
}
if (targetItem.getParent() instanceof ContentBundle) {
targetItem = (ContentItem) targetItem.getParent();
}
link.setTargetItem(targetItem);
link.setTargetWindow("");
link.save();
}
protected boolean showGenerated() {
return false;
} }
} }

View File

@ -0,0 +1,23 @@
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class PublicPersonalProfileNavigationGeneratedAddForm extends PublicPersonalProfileNavigationAddForm {
public PublicPersonalProfileNavigationGeneratedAddForm(
final ItemSelectionModel itemModel,
final SimpleEditStep editStep) {
super("PublicPersonalProfileNavGeneratedAddForm", itemModel, editStep);
}
@Override
public boolean showGenerated() {
return true;
}
}

View File

@ -12,32 +12,47 @@ import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
* @version $Id$ * @version $Id$
*/ */
public class PublicPersonalProfileNavigationStep extends SimpleEditStep { public class PublicPersonalProfileNavigationStep extends SimpleEditStep {
public static final String EDIT_NAV_SHEET_NAME = "editNav"; public static final String EDIT_NAV_ITEM_SHEET_NAME = "editNavItem";
public static final String EDIT_NAV_GENERATED_ITEM_SHEET_NAME =
"editGeneratedNavItem";
public PublicPersonalProfileNavigationStep( public PublicPersonalProfileNavigationStep(
final ItemSelectionModel itemModel, final ItemSelectionModel itemModel,
final AuthoringKitWizard parent) { final AuthoringKitWizard parent) {
this(itemModel, parent, null); this(itemModel, parent, null);
} }
public PublicPersonalProfileNavigationStep( public PublicPersonalProfileNavigationStep(
final ItemSelectionModel itemModel, final ItemSelectionModel itemModel,
final AuthoringKitWizard parent, final AuthoringKitWizard parent,
final String prefix) { final String prefix) {
super(itemModel, parent, prefix); super(itemModel, parent, prefix);
BasicItemForm editNavSheet = new PublicPersonalProfileNavigationAddForm(itemModel, this); BasicItemForm editNavItemSheet =
add(EDIT_NAV_SHEET_NAME, new PublicPersonalProfileNavigationAddForm(itemModel,
(String) PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile.nav_add").localize(), this);
new WorkflowLockedComponentAccess(editNavSheet, itemModel), add(EDIT_NAV_ITEM_SHEET_NAME,
editNavSheet.getSaveCancelSection().getCancelButton()); (String) PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile.content.add").localize(),
PublicPersonalProfileNavigationTable navTable = new PublicPersonalProfileNavigationTable(itemModel, this); new WorkflowLockedComponentAccess(editNavItemSheet, itemModel),
setDisplayComponent(navTable); editNavItemSheet.getSaveCancelSection().getCancelButton());
}
BasicItemForm editGeneratedNavItemSheet =
new PublicPersonalProfileNavigationGeneratedAddForm(
itemModel,
this);
add(EDIT_NAV_GENERATED_ITEM_SHEET_NAME,
(String) PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile.generated_content.add").
localize(),
new WorkflowLockedComponentAccess(editGeneratedNavItemSheet,
itemModel),
editGeneratedNavItemSheet.getSaveCancelSection().getCancelButton());
PublicPersonalProfileNavigationTable navTable =
new PublicPersonalProfileNavigationTable(
itemModel, this);
setDisplayComponent(navTable);
}
} }

View File

@ -1,7 +1,9 @@
package com.arsdigita.cms.contenttypes.ui; package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.Link;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table; import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.event.TableActionEvent; import com.arsdigita.bebop.event.TableActionEvent;
@ -11,10 +13,23 @@ import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel; import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel; import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder; import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contentassets.RelatedLink;
import com.arsdigita.cms.contenttypes.PublicPersonalProfile;
import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItem;
import com.arsdigita.cms.contenttypes.PublicPersonalProfileNavItemCollection;
import com.arsdigita.cms.dispatcher.ItemResolver;
import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.dispatcher.DispatcherHelper;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.util.LockableImpl; import com.arsdigita.util.LockableImpl;
import java.math.BigDecimal;
import java.math.BigInteger;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -29,18 +44,19 @@ public class PublicPersonalProfileNavigationTable
private static final Logger logger = Logger.getLogger( private static final Logger logger = Logger.getLogger(
PublicPersonalProfileNavigationTable.class); PublicPersonalProfileNavigationTable.class);
private final String TABLE_COL_EDIT = "table_col_edit"; private final String TABLE_COL_EDIT = "table_col_edit";
private final String TABLE_COL_TARGET = "table_col_target";
private final String TABLE_COL_DEL = "table_col_del"; private final String TABLE_COL_DEL = "table_col_del";
private ItemSelectionModel itemModel; private ItemSelectionModel itemModel;
private SimpleEditStep editStep; private SimpleEditStep editStep;
public PublicPersonalProfileNavigationTable(ItemSelectionModel itemModel, public PublicPersonalProfileNavigationTable(ItemSelectionModel itemModel,
SimpleEditStep editStep) { SimpleEditStep editStep) {
super(); super();
this.itemModel = itemModel; this.itemModel = itemModel;
this.editStep = editStep; this.editStep = editStep;
setEmptyView(new Label(PublicPersonalProfileGlobalizationUtil. setEmptyView(new Label(PublicPersonalProfileGlobalizationUtil.globalize(
globalize("publicpersonalprofile.ui.nav.empty"))); "publicpersonalprofile.ui.nav.empty")));
TableColumnModel colModel = getColumnModel(); TableColumnModel colModel = getColumnModel();
colModel.add(new TableColumn( colModel.add(new TableColumn(
@ -48,9 +64,16 @@ public class PublicPersonalProfileNavigationTable
PublicPersonalProfileGlobalizationUtil.globalize( PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.target").localize(), "publicpersonalprofile.ui.nav.target").localize(),
TABLE_COL_EDIT)); TABLE_COL_EDIT));
colModel.add(new TableColumn( colModel.add(new TableColumn(
1, 1,
PublicPersonalProfileGlobalizationUtil.globalize( PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.targetitem").localize(),
TABLE_COL_TARGET));
colModel.add(new TableColumn(
2,
PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.remove").localize(), "publicpersonalprofile.ui.nav.remove").localize(),
TABLE_COL_DEL)); TABLE_COL_DEL));
@ -58,7 +81,8 @@ public class PublicPersonalProfileNavigationTable
itemModel)); itemModel));
colModel.get(0).setCellRenderer(new EditCellRenderer()); colModel.get(0).setCellRenderer(new EditCellRenderer());
colModel.get(1).setCellRenderer(new DeleteCellRenderer()); colModel.get(1).setCellRenderer(new TargetCellRenderer());
colModel.get(2).setCellRenderer(new DeleteCellRenderer());
addTableActionListener(this); addTableActionListener(this);
} }
@ -77,7 +101,10 @@ public class PublicPersonalProfileNavigationTable
@Override @Override
public TableModel makeModel(Table table, PageState state) { public TableModel makeModel(Table table, PageState state) {
table.getRowSelectionModel().clearSelection(state); table.getRowSelectionModel().clearSelection(state);
return new PublicPersonalProfileNavigationTableModel(table, state); PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
getSelectedObject(state);
return new PublicPersonalProfileNavigationTableModel(
table, state, profile);
} }
} }
@ -90,10 +117,16 @@ public class PublicPersonalProfileNavigationTable
"Publikationen"}; "Publikationen"};
private int index = -1; private int index = -1;
private String mockNavItem; private String mockNavItem;
private PublicPersonalProfile profile;
private DataCollection linkCollection;
private PublicPersonalProfileNavItemCollection navItems;
public PublicPersonalProfileNavigationTableModel(Table table, public PublicPersonalProfileNavigationTableModel(
PageState state) { Table table, PageState state, PublicPersonalProfile profile) {
this.table = table; this.table = table;
linkCollection = RelatedLink.getRelatedLinks(
profile, PublicPersonalProfile.LINK_LIST_NAME);
navItems = new PublicPersonalProfileNavItemCollection();
} }
@Override @Override
@ -103,20 +136,38 @@ public class PublicPersonalProfileNavigationTable
@Override @Override
public boolean nextRow() { public boolean nextRow() {
if (index < (mockNav.length - 1)) { /*if (index < (mockNav.length - 1)) {
index++; index++;
return true; return true;
} else { } else {
return false; return false;
} }*/
return linkCollection.next();
} }
@Override @Override
public Object getElementAt(int columnIndex) { public Object getElementAt(int columnIndex) {
RelatedLink link = new RelatedLink(linkCollection.getDataObject());
String key = link.getTitle();
ContentItem targetItem = link.getTargetItem();
PublicPersonalProfileNavItem navItem;
navItem = navItems.getNavItem(key, DispatcherHelper.
getNegotiatedLocale().
getLanguage());
navItems.reset();
switch (columnIndex) { switch (columnIndex) {
case 0: case 0:
return mockNav[index]; //return mockNav[index];
return navItem.getLabel();
case 1: case 1:
if (navItem.getGeneratorClass() == null) {
return targetItem;
} else {
return null;
}
case 2:
return PublicPersonalProfileGlobalizationUtil.globalize( return PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.nav.remove").localize(); "publicpersonalprofile.ui.nav.remove").localize();
default: default:
@ -126,7 +177,8 @@ public class PublicPersonalProfileNavigationTable
@Override @Override
public Object getKeyAt(int columnIndex) { public Object getKeyAt(int columnIndex) {
return index; RelatedLink link = new RelatedLink(linkCollection.getDataObject());
return link.getID();
} }
} }
@ -148,6 +200,47 @@ public class PublicPersonalProfileNavigationTable
} }
} }
private class TargetCellRenderer
extends LockableImpl
implements TableCellRenderer {
public Component getComponent(Table table,
PageState state,
Object value,
boolean isSelected,
Object key,
int row,
int column) {
if (value == null) {
return new Label("");
} else {
final ContentPage item = (ContentPage) value;
com.arsdigita.cms.SecurityManager securityManager = Utilities.
getSecurityManager(state);
final boolean canEdit = securityManager.canAccess(
state.getRequest(),
com.arsdigita.cms.SecurityManager.EDIT_ITEM,
item);
if (canEdit) {
final ContentSection section = CMS.getContext().
getContentSection();
ItemResolver resolver = section.getItemResolver();
Link link = new Link(item.getTitle(),
resolver.generateItemURL(
state, item, section, item.getVersion()));
return link;
} else {
return new Label(item.getTitle());
}
}
}
}
private class DeleteCellRenderer private class DeleteCellRenderer
extends LockableImpl extends LockableImpl
implements TableCellRenderer { implements TableCellRenderer {
@ -162,25 +255,25 @@ public class PublicPersonalProfileNavigationTable
int col) { int col) {
com.arsdigita.cms.SecurityManager securityManager = com.arsdigita.cms.SecurityManager securityManager =
Utilities.getSecurityManager(state); Utilities.getSecurityManager(state);
/*Publication publication = (Publication) m_itemModel. PublicPersonalProfile profile = (PublicPersonalProfile) itemModel.
getSelectedObject(state); getSelectedObject(
state);
boolean canDelete = securityManager.canAccess( boolean canDelete = securityManager.canAccess(
state.getRequest(), state.getRequest(),
SecurityManager.DELETE_ITEM, com.arsdigita.cms.SecurityManager.DELETE_ITEM,
publication); profile);
if (canDelete) { if (canDelete) {
ControlLink link = new ControlLink(value.toString()); ControlLink link = new ControlLink(value.toString());
link.setConfirmation((String) PublicationGlobalizationUtil. link.setConfirmation((String) PublicPersonalProfileGlobalizationUtil.
globalize( globalize("publicpersonalprofile.ui.nav.remove.confirm").
"publications.ui.authors.author.confirm_remove"). localize());
localize()); return link;
return link; } else {
} else {*/ Label label = new Label(value.toString());
Label label = new Label(value.toString()); return label;
return label; }
//}
} }
} }
@ -193,6 +286,12 @@ public class PublicPersonalProfileNavigationTable
if (TABLE_COL_EDIT.equals(column.getHeaderKey().toString())) { if (TABLE_COL_EDIT.equals(column.getHeaderKey().toString())) {
} else if (TABLE_COL_DEL.equals(column.getHeaderKey().toString())) { } else if (TABLE_COL_DEL.equals(column.getHeaderKey().toString())) {
final BigDecimal linkId = new BigDecimal(
event.getRowKey().toString());
RelatedLink link = new RelatedLink(linkId);
link.delete();
} }
} }