📄 cmselementcomparisonlist.java
字号:
return m_paramVersion1;
}
/**
* Returns the paramOldversionid.<p>
*
* @return the paramOldversionid
*/
public String getParamVersion2() {
return m_paramVersion2;
}
/**
* Sets the paramPath1.<p>
*
* @param paramPath1 the paramPath1 to set
*/
public void setParamPath1(String paramPath1) {
m_paramPath1 = paramPath1;
}
/**
* Sets the paramPath2.<p>
*
* @param paramPath2 the paramPath2 to set
*/
public void setParamPath2(String paramPath2) {
m_paramPath2 = paramPath2;
}
/**
* Sets the paramTagId1.<p>
*
* @param paramTagId1 the paramTagId1 to set
*/
public void setParamTagId1(String paramTagId1) {
m_paramTagId1 = paramTagId1;
}
/**
* Sets the paramTagId2.<p>
*
* @param paramTagId2 the paramTagId2 to set
*/
public void setParamTagId2(String paramTagId2) {
m_paramTagId2 = paramTagId2;
}
/**
* Sets the paramNewversionid.<p>
*
* @param paramNewversionid the paramNewversionid to set
*/
public void setParamVersion1(String paramNewversionid) {
m_paramVersion1 = paramNewversionid;
}
/**
* Sets the paramOldversionid.<p>
*
* @param paramOldversionid the paramOldversionid to set
*/
public void setParamVersion2(String paramOldversionid) {
m_paramVersion2 = paramOldversionid;
}
/**
* @see org.opencms.workplace.list.A_CmsListDialog#fillDetails(java.lang.String)
*/
protected void fillDetails(String detailId) {
// no-op
}
/**
* @see org.opencms.workplace.list.A_CmsListDialog#getListItems()
*/
protected List getListItems() throws CmsException {
List result = new ArrayList();
CmsFile resource1 = CmsResourceComparisonDialog.readFile(
getCms(),
getParamPath1(),
getParamVersion1(),
Integer.parseInt(getParamTagId1()));
CmsFile resource2 = CmsResourceComparisonDialog.readFile(
getCms(),
getParamPath2(),
getParamVersion2(),
Integer.parseInt(getParamTagId2()));
Iterator diffs = new CmsXmlDocumentComparison(getCms(), resource1, resource2).getElements().iterator();
while (diffs.hasNext()) {
CmsElementComparison comparison = (CmsElementComparison)diffs.next();
String locale = comparison.getLocale();
String attribute = comparison.getName();
CmsListItem item = getList().newItem(locale + attribute);
item.set(LIST_COLUMN_LOCALE, locale);
item.set(LIST_COLUMN_ATTRIBUTE, attribute);
if (comparison instanceof CmsXmlContentElementComparison) {
m_xmlContentComparisonMode = true;
item.set(LIST_COLUMN_TYPE, ((CmsXmlContentElementComparison)comparison).getType());
}
if (CmsResourceComparison.TYPE_ADDED.equals(comparison.getStatus())) {
item.set(LIST_COLUMN_STATUS, key(Messages.GUI_COMPARE_ADDED_0));
} else if (CmsResourceComparison.TYPE_REMOVED.equals(comparison.getStatus())) {
item.set(LIST_COLUMN_STATUS, key(Messages.GUI_COMPARE_REMOVED_0));
} else if (CmsResourceComparison.TYPE_CHANGED.equals(comparison.getStatus())) {
item.set(LIST_COLUMN_STATUS, key(Messages.GUI_COMPARE_CHANGED_0));
} else {
if (!getList().getMetadata().getItemDetailDefinition(LIST_IACTION_SHOW).isVisible()) {
// do not display entry
continue;
} else {
item.set(LIST_COLUMN_STATUS, key(Messages.GUI_COMPARE_UNCHANGED_0));
}
}
item.set(LIST_COLUMN_VERSION_1, CmsStringUtil.escapeHtml(CmsStringUtil.substitute(CmsStringUtil.trimToSize(
comparison.getVersion1(),
CmsPropertyComparisonList.TRIM_AT_LENGTH), "\n", "")));
item.set(LIST_COLUMN_VERSION_2, CmsStringUtil.escapeHtml(CmsStringUtil.substitute(CmsStringUtil.trimToSize(
comparison.getVersion2(),
CmsPropertyComparisonList.TRIM_AT_LENGTH), "\n", "")));
result.add(item);
}
getList().getMetadata().getColumnDefinition(LIST_COLUMN_VERSION_1).setName(
Messages.get().container(Messages.GUI_COMPARE_VERSION_1, getParamVersion1()));
getList().getMetadata().getColumnDefinition(LIST_COLUMN_VERSION_2).setName(
Messages.get().container(Messages.GUI_COMPARE_VERSION_1, getParamVersion2()));
return result;
}
/**
* @see org.opencms.workplace.list.A_CmsListDialog#setColumns(org.opencms.workplace.list.CmsListMetadata)
*/
protected void setColumns(CmsListMetadata metadata) {
// create column for icon
CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON);
iconCol.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_ICON_0));
iconCol.setWidth("20");
iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER);
iconCol.setSorteable(true);
// add state error action
CmsListDirectAction addedAction = new CmsListDirectAction(CmsResourceComparison.TYPE_ADDED) {
public boolean isVisible() {
String type = getItem().get(LIST_COLUMN_STATUS).toString();
return key(Messages.GUI_COMPARE_ADDED_0).equals(type);
}
};
addedAction.setName(Messages.get().container(Messages.GUI_COMPARE_ELEM_ADDED_0));
addedAction.setIconPath("tools/ex_history/buttons/added.png");
addedAction.setEnabled(true);
iconCol.addDirectAction(addedAction);
// add state error action
CmsListDirectAction removedAction = new CmsListDirectAction(CmsResourceComparison.TYPE_REMOVED) {
public boolean isVisible() {
String type = getItem().get(LIST_COLUMN_STATUS).toString();
return key(Messages.GUI_COMPARE_REMOVED_0).equals(type);
}
};
removedAction.setName(Messages.get().container(Messages.GUI_COMPARE_ELEM_REMOVED_0));
removedAction.setIconPath("tools/ex_history/buttons/removed.png");
removedAction.setEnabled(true);
iconCol.addDirectAction(removedAction);
// add state error action
CmsListDirectAction changedAction = new CmsListDirectAction(CmsResourceComparison.TYPE_CHANGED) {
public boolean isVisible() {
String type = getItem().get(LIST_COLUMN_STATUS).toString();
return key(Messages.GUI_COMPARE_CHANGED_0).equals(type);
}
};
changedAction.setName(Messages.get().container(Messages.GUI_COMPARE_ELEM_CHANGED_0));
changedAction.setIconPath("tools/ex_history/buttons/changed.png");
changedAction.setEnabled(true);
iconCol.addDirectAction(changedAction);
// add state error action
CmsListDirectAction unchangedAction = new CmsListDirectAction(CmsResourceComparison.TYPE_UNCHANGED) {
public boolean isVisible() {
String type = getItem().get(LIST_COLUMN_STATUS).toString();
return key(Messages.GUI_COMPARE_UNCHANGED_0).equals(type);
}
};
unchangedAction.setName(Messages.get().container(Messages.GUI_COMPARE_ELEM_UNCHANGED_0));
unchangedAction.setIconPath("tools/ex_history/buttons/unchanged.png");
unchangedAction.setEnabled(true);
iconCol.addDirectAction(unchangedAction);
metadata.addColumn(iconCol);
iconCol.setPrintable(false);
// add column for type
CmsListColumnDefinition statusCol = new CmsListColumnDefinition(LIST_COLUMN_STATUS);
statusCol.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_STATUS_0));
statusCol.setWidth("10%");
metadata.addColumn(statusCol);
CmsListDefaultAction statusColAction = new CmsListDefaultAction(LIST_ACTION_STATUS);
statusColAction.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_STATUS_0));
statusColAction.setEnabled(true);
statusCol.addDefaultAction(statusColAction);
metadata.addColumn(statusCol);
statusCol.setPrintable(true);
// add column for locale
CmsListColumnDefinition localeCol = new CmsListColumnDefinition(LIST_COLUMN_LOCALE);
localeCol.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_LOCALE_0));
localeCol.setWidth("10%");
metadata.addColumn(localeCol);
localeCol.setPrintable(true);
// add column for element name
CmsListColumnDefinition attCol = new CmsListColumnDefinition(LIST_COLUMN_ATTRIBUTE);
attCol.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_NAME_0));
attCol.setWidth("10%");
metadata.addColumn(attCol);
attCol.setPrintable(true);
CmsListColumnDefinition typeCol = new CmsListColumnDefinition(LIST_COLUMN_TYPE);
typeCol.setName(Messages.get().container(Messages.GUI_COMPARE_COLS_TYPE_0));
typeCol.setWidth("10%");
// display column only if xml content is compared
typeCol.setVisible(m_xmlContentComparisonMode);
metadata.addColumn(typeCol);
typeCol.setPrintable(true);
// add column for first value
CmsListColumnDefinition version1Col = new CmsListColumnDefinition(LIST_COLUMN_VERSION_1);
version1Col.setName(Messages.get().container(Messages.GUI_COMPARE_VERSION_1, getParamVersion1()));
version1Col.setWidth("35%");
version1Col.setSorteable(false);
metadata.addColumn(version1Col);
version1Col.setPrintable(true);
// add column for second value
CmsListColumnDefinition version2Col = new CmsListColumnDefinition(LIST_COLUMN_VERSION_2);
version2Col.setName(Messages.get().container(Messages.GUI_COMPARE_VERSION_1, getParamVersion2()));
version2Col.setWidth("35%");
version2Col.setSorteable(false);
metadata.addColumn(version2Col);
version2Col.setPrintable(true);
}
/**
* @see org.opencms.workplace.list.A_CmsListDialog#setIndependentActions(org.opencms.workplace.list.CmsListMetadata)
*/
protected void setIndependentActions(CmsListMetadata metadata) {
CmsListIndependentAction compare = new CmsListIndependentAction(LIST_IACTION_COMPARE_ALL);
compare.setName(Messages.get().container(Messages.GUI_COMPARE_COMPARE_ALL_0));
compare.setIconPath("tools/ex_history/buttons/compare.png");
compare.setEnabled(true);
metadata.addIndependentAction(compare);
// add event details
CmsListItemDetails eventDetails = new CmsListItemDetails(LIST_IACTION_SHOW);
eventDetails.setVisible(false);
eventDetails.setShowActionName(Messages.get().container(Messages.GUI_COMPARE_SHOW_ALL_ELEMENTS_0));
eventDetails.setHideActionName(Messages.get().container(Messages.GUI_COMPARE_HIDE_IDENTICAL_ELEMENTS_0));
metadata.addItemDetails(eventDetails);
}
/**
* @see org.opencms.workplace.list.A_CmsListDialog#setMultiActions(org.opencms.workplace.list.CmsListMetadata)
*/
protected void setMultiActions(CmsListMetadata metadata) {
// no-op
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -