RolapMember member,
RolapCube baseCube)
{
List<RolapStar.Column> columnList = new ArrayList<RolapStar.Column>();
while (true) {
RolapLevel level = member.getLevel();
RolapStar.Column column = null;
if (level instanceof RolapCubeLevel) {
column = ((RolapCubeLevel)level)
.getBaseStarKeyColumn(baseCube);
} else {
(new Exception()).printStackTrace();
}
if (columnBitKey == null) {
columnBitKey =
BitKey.Factory.makeBitKey(
column.getStar().getColumnCount());
columnBitKey.clear();
}
columnBitKey.set(column.getBitPosition());
columnList.add(0, column);
if (level.isUnique()) {
return columnList;
}
member = member.getParentMember();
}
}