/** @param e */
private void doActionForUldProfileRecordGrid(ListSelectionEvent e)
{
Object source = e.getSource();
if ((uldProfileTab.getRecordsGrid() != null) && (source == uldProfileTab.getRecordsGrid().getSelectionModel()))
{
try
{
if (uldProfileTab.getRecordsGrid() != null)
{
UldProfileRec data = (UldProfileRec) getDataVector().elementAt(uldProfileTab.getRecordsGrid()
.getActiveRow());
if ((data != null) && Str.isNotEmpty(data.contourGroup))
{
ContourGroup contourGroup = ContourGroupServiceCallUtil.getContourGroup(data.contourGroup);
if ((uldProfileTab.getRecordsGrid().getActiveRow()
== (uldProfileTab.getRecordsGrid().getRowCount() - 1)))
{
data = new UldProfileRec();
getDataVector().addElement(data);
}
if (contourGroup != null)
{
data.setBaseWeight(contourGroup.defaultWeight());
data.setBaseVolume(contourGroup.defaultVolume());
data.deck(contourGroup.getDeckDescription());
}
}
if (data != null)
{
setWeightVolume(data, data.position());
}
}
}
catch (VerifyException ve)
{
LOGGER.warn(ve.getLocalizedMessage(), ve);
}
} // end if
}
答案 0 :(得分:2)
您应该重构代码,并将孤立的逻辑分离为单独的较小方法,这将在两个方面为您提供帮助:
作为副产品,这些方法的认知复杂性也将降低。
例如:
通过此方法:
private void doActionForUldProfileRecordGrid(ListSelectionEvent e)
{
Object source = e.getSource();
if ((uldProfileTab.getRecordsGrid() != null) && (source == uldProfileTab.getRecordsGrid().getSelectionModel()))
{
try
{
if (uldProfileTab.getRecordsGrid() != null)
{
UldProfileRec data = (UldProfileRec) getDataVector().elementAt(uldProfileTab.getRecordsGrid()
.getActiveRow());
if ((data != null) && Str.isNotEmpty(data.contourGroup))
{
**ContourGroup contourGroup = ContourGroupServiceCallUtil.getContourGroup(data.contourGroup);
if ((uldProfileTab.getRecordsGrid().getActiveRow()
== (uldProfileTab.getRecordsGrid().getRowCount() - 1)))
{
data = new UldProfileRec();
getDataVector().addElement(data);
}
if (contourGroup != null)
{
data.setBaseWeight(contourGroup.defaultWeight());
data.setBaseVolume(contourGroup.defaultVolume());
data.deck(contourGroup.getDeckDescription());
}**
}
if (data != null)
{
setWeightVolume(data, data.position());
}
}
}
catch (VerifyException ve)
{
LOGGER.warn(ve.getLocalizedMessage(), ve);
}
} // end if
您可以重构突出显示的部分,可以将其移动到单独的方法中。