Bug 200979 BIRT Cross tab - Better error messages
In general the error messages are very generic - either "Cube does not exist" followed by stack trace or - stack trace. From the error message it is difficult to fix the problem in the report design. I have attached a couple of report design, in which case the error messages are so difficult to follow. We need to show user friendly error messages. ( This bug applies to data engine errors and engine errors ).
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/data/impl/facttable/FactTableAccessor.java
dimensionPosition[i] = dimensionSeekers[i].find( currentRow.getDimensionKeys()[i] );
				if ( dimensionPosition[i] < 0 )
				{
					String[] args = new String[2];
					args[0] = currentRow.toString( );
					args[1] = dimensions[i].getName( );
					throw new DataException( ResourceConstants.INVALID_DIMENSIONPOSITION_OF_FACTTABLEROW,
							args );
				}
			}
			int[] subDimensionIndex = getSubDimensionIndex( dimensionPosition,
					subDimensions );
			String FTSUDocName = FTSUDocumentObjectNamingUtil.getDocumentObjectName( 
					NamingUtil.getFactTableName( factTableName ),
					subDimensionIndex );
			helper.add( FTSUDocName );
			
			IDocumentObject documentObject = documentObjectManager.getIDocumentObject( FTSUDocName );
			documentObject.writeBytes( new Bytes( combinedPositionCalculator.
					calculateCombinedPosition( subDimensionIndex, dimensionPosition ).toByteArray( ) ) );
			for( int i=0;i<measureInfo.length;i++)
			{
				DocumentObjectUtil.writeValue( documentObject,
						measureInfo[i].dataType,
						currentRow.getMeasures()[i] );
			}
			popObject = sortedFactTableRows.pop( );
			lastRow = currentRow;
		}
		helper.save( );