Есть оригинальный класс: bitel.billing.server.contract.object.action.ActionObjectTable
Мне его нужно немного переделать через dynaction.
Скопипастил с оригинала, но скомпилировать никак не получается....
Код:
package ru.bitel.bgbilling.modules.contract.action;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.object.action.base.ActionBase;
import bitel.billing.server.contract.object.bean.ContractObject;
import bitel.billing.server.contract.object.bean.ObjectManager;
import bitel.billing.server.contract.object.bean.ObjectType;
import bitel.billing.server.contract.object.bean.ObjectTypeManager;
import java.sql.SQLException;
import java.util.Map;
import org.w3c.dom.Element;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.common.BGIllegalArgumentException;
import ru.bitel.common.XMLUtils;
import ru.bitel.common.model.Page;
import ru.bitel.common.model.SearchResult;
public class ActionObjectTable
extends bitel.billing.server.contract.object.action.ActionObjectTable
{
@Override
public void doAction()
throws SQLException, BGException
{
if (this.cid <= 0)
{
throw new BGIllegalArgumentException();
}
Page page = getPage();
Element table = createElement(this.rootNode, "table");
Element data = createElement(table, "data");
Map typeMap = new ObjectTypeManager(this.con).getTypeMap();
SearchResult searchResult = new SearchResult();
searchResult.setPage(page);
new ObjectManager(this.con).findObjectList(searchResult, this.cid, getIntParameter("filterTypeId", -1), getParameter("filterTitle"));
for ( ContractObject object : searchResult.getList() )
{
Element row = createElement(data, "row");
row.setAttribute("id", String.valueOf(object.getId()));
row.setAttribute("title", object.getTitle());
ObjectType type = (ObjectType)typeMap.get(Integer.valueOf(object.getTypeId()));
if (type != null)
{
row.setAttribute("type", type.getTitle());
}
else
{
row.setAttribute("type", "???");
}
row.setAttribute("type_id", String.valueOf(object.getTypeId()));
row.setAttribute("period", TimeUtils.formatPeriod(object.getDate1(), object.getDate2()));
}
setPageAttribute(table, page);
if (getBooleanParameter("loadObjectTypes", false))
{
XMLUtils.createListElement(this.rootNode, "types", new ObjectTypeManager(this.con).getTypeList(false), ObjectType.class, new String[] { "id", "title" });
}
}
}
Мне нужно отфильтровать вывод вот этого куска (список типов объектов в договоре):
Код:
if (getBooleanParameter("loadObjectTypes", false))
{
XMLUtils.createListElement(this.rootNode, "types", new ObjectTypeManager(this.con).getTypeList(false), ObjectType.class, new String[] { "id", "title" });
}
Но сначала нужно минимум получить тоже самое....
Ошибка следующая...
Код:
./dyn/ru/bitel/bgbilling/modules/contract/action/ActionObjectTable.java:41: incompatible types
found : java.lang.Object
required: bitel.billing.server.contract.object.bean.ContractObject
for ( ContractObject object : searchResult.getList() )
^
Note: ./dyn/ru/bitel/bgbilling/modules/contract/action/ActionObjectTable.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error