本文整理汇总了Java中org.olap4j.Axis.COLUMNS属性的典型用法代码示例。如果您正苦于以下问题:Java Axis.COLUMNS属性的具体用法?Java Axis.COLUMNS怎么用?Java Axis.COLUMNS使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.olap4j.Axis
的用法示例。
在下文中一共展示了Axis.COLUMNS属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setLabelAsEmptyNoHierarchies
/**
* This method will set the header component to have the default message if
* there are no hierarchies in this axis.
*/
private void setLabelAsEmptyNoHierarchies() {
setLayout(new BorderLayout());
JPanel panel = new JPanel(new MigLayout("flowy, align 50% 50%, ins 20", "align center", ""));
panel.setBackground(Color.WHITE);
String axisString = null;
if (axis == Axis.COLUMNS) {
axisString = "Columns Axis:";
} else if (axis == Axis.ROWS) {
axisString = "Rows Axis:";
}
JLabel axisLabel = new JLabel(axisString);
axisLabel.setFont(axisLabel.getFont().deriveFont(Font.BOLD));
panel.add(axisLabel, SwingConstants.CENTER);
JLabel label = new JLabel("Drag Dimensions, Hierarchies,", SwingConstants.CENTER);
panel.add(label);
label = new JLabel("Measures, and Members here", SwingConstants.CENTER);
panel.add(label);
addGreyedButtonsToPanel(panel);
panel.setBorder(defaultBorder);
add(panel, BorderLayout.CENTER);
}
示例2: calcDropInsertIndex
private int calcDropInsertIndex(Point p) {
if (!(getComponentAt(p) instanceof HierarchyComponent)) return 0;
HierarchyComponent hc = (HierarchyComponent) getComponentAt(p);
int indexOfHC = Arrays.asList(getComponents()).indexOf(hc);
if (indexOfHC == -1) {
return 0;
} else {
Point hcRelativePos = SwingUtilities.convertPoint(
CellSetTableHeaderComponent.this, new Point(p), hc);
boolean beforeMiddle;
if (axis == Axis.ROWS) {
beforeMiddle = hcRelativePos.x < (hc.getWidth() / 2);
} else if (axis == Axis.COLUMNS) {
beforeMiddle = hcRelativePos.y < (hc.getHeight() / 2);
} else {
throw new IllegalStateException(
"I only know how to deal with ROWS and COLUMNS," +
" but this component is for " + axis);
}
if (beforeMiddle) {
return indexOfHC;
} else {
return indexOfHC + 1;
}
}
}
示例3: mousePressed
public void mousePressed(MouseEvent e) {
boolean showedPopup = maybeShowPopup(e, selectedMember);
if (!showedPopup && selectedMember != null && e.getButton() == MouseEvent.BUTTON1) {
try {
if (selectedMember instanceof Measure) {
Axis sortAxis = axis.getAxisOrdinal() == Axis.ROWS ? Axis.COLUMNS : Axis.ROWS;
SortOrder order = query.getSortOrder(sortAxis);
SortOrder newOrder;
if (order == SortOrder.ASC) {
newOrder = SortOrder.DESC;
} else {
newOrder = SortOrder.ASC;
}
query.sortBy(sortAxis, newOrder, (Measure) selectedMember);
} else {
query.toggleMember(selectedMember);
}
} catch (Exception ex) {
throw new RuntimeException("Database error while trying to execute the OLAP query", ex);
}
}
}
示例4: testInitAsLoaded
/**
* Tests the initialization of a query as though it was loaded from a file.
*/
public void testInitAsLoaded() throws Exception {
WabitOlapAxis rowsAxis = new WabitOlapAxis(Axis.ROWS);
WabitOlapDimension rowsDimension = new WabitOlapDimension("Geography");
rowsAxis.addDimension(rowsDimension);
WabitOlapInclusion rowsInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Geography].[World]");
WabitOlapExclusion rowsExclusion = new WabitOlapExclusion(Operator.MEMBER, "[Geography].[World].[Africa]");
rowsDimension.addExclusion(rowsExclusion);
rowsDimension.addInclusion(rowsInclusion);
WabitOlapAxis columnsAxis = new WabitOlapAxis(Axis.COLUMNS);
WabitOlapDimension columnsDimension = new WabitOlapDimension("Measures");
columnsAxis.addDimension(columnsDimension);
WabitOlapInclusion colInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Measures].[Life Expectancy]");
columnsDimension.addInclusion(colInclusion);
query.addAxis(columnsAxis);
query.addAxis(rowsAxis);
//This should not throw an exception
query.execute(new SPVariableHelper(query), null);
assertNotNull(rowsAxis.getQueryAxis());
assertTrue(rowsAxis.getQueryAxis().getDimensions().contains(rowsDimension.getDimension()));
assertNotNull(columnsAxis.getQueryAxis());
assertTrue(columnsAxis.getQueryAxis().getDimensions().contains(columnsDimension.getDimension()));
assertNotNull(rowsDimension.getDimension());
assertNotNull(columnsDimension.getDimension());
assertNotNull(rowsInclusion.getSelection());
assertNotNull(rowsExclusion.getSelection());
assertNotNull(colInclusion.getSelection());
}
示例5: CellSetTableHeaderComponent
/**
* Creates a CellSetTableRowHeaderComponent without a given CellSet. This is
* mainly for providing an table row header for the user to drop Members,
* Hierarchies, or Dimensions into. If the user has already dropped in a
* Member, Hierarchy, or Dimension into one header, but not the other (and
* thus does not yet have a complete query), then the header with members in
* it can display its existing hierarchies so that the user can tell what
* they have added already.
*
* @param session
* the WabitSwingSession this component belongs to. Must not be
* null.
* @param query
* The query that things dropped on the axis component should be
* added to.
* @param axis
* The {@link Axis} this component is the header for
*/
public CellSetTableHeaderComponent(OlapQuery query, Axis axis) throws QueryInitializationException {
this.query = query;
this.axis = axis;
graphic = null;
int hierarchiesSize = 0;
List<Hierarchy> hierarchies = null;
if (axis == Axis.ROWS) {
hierarchies = query.getRowHierarchies();
if (hierarchies != null) {
hierarchiesSize = hierarchies.size();
setLayout(new GridLayout(1, Math.max(1, hierarchiesSize)));
}
} else if (axis == Axis.COLUMNS) {
hierarchies = query.getColumnHierarchies();
if (hierarchies != null) {
hierarchiesSize = hierarchies.size();
setLayout(new GridLayout(Math.max(1, hierarchiesSize), 1));
}
} else {
throw new IllegalArgumentException(
"Only rows and columns axes are supported, but I got " + axis);
}
if (hierarchiesSize == 0) {
// Currently defaultBorder needs to be set before calling
// setLabelAsEmpty() because it uses defaultborder
defaultBorder = ROUNDED_DASHED_BORDER;
setLabelAsEmptyNoHierarchies();
} else {
for (int i = 0; i < hierarchiesSize; i++) {
Hierarchy hierarchy = hierarchies.get(i);
HierarchyComponent hierarchyComponent = new HierarchyComponent(hierarchy, i);
hierarchyComponent.setBackground(
ColourScheme.HEADER_COLOURS[i % ColourScheme.HEADER_COLOURS.length]);
add(hierarchyComponent);
}
defaultBorder = DEFAULT_HIERARCHYCOMP_BORDER;
}
setDropTarget(new DropTarget(this, dropTargetListener));
setBorder(defaultBorder);
}
示例6: paintComponent
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g2);
createLayout();
FontMetrics fm = g2.getFontMetrics();
int ascent = fm.getAscent();
if (axis != null && axis.getAxisOrdinal() == Axis.COLUMNS) {
OlapIcons.DIMENSION_ICON.paintIcon(this, g2, 0, 0);
Font oldFont = g2.getFont();
Font italicFont = oldFont.deriveFont(Font.ITALIC);
Color oldColor = g2.getColor();
try {
g2.setFont(italicFont);
g2.drawString(getHierarchy().getDimension().getName(), OlapIcons.DIMENSION_ICON.getIconWidth(), ascent);
g2.setColor(Color.WHITE);
g2.drawLine(0, fm.getHeight(), getWidth(), fm.getHeight());
} finally {
g2.setFont(oldFont);
g2.setColor(oldColor);
}
}
LayoutItem previousLabel = null;
List<LayoutItem> layoutItems = getLayoutItems();
for (int i = 0 ; i < layoutItems.size() ; i++) {
LayoutItem li = layoutItems.get(i);
if (previousLabel == null || !SQLPowerUtils.areEqual(previousLabel.text, li.text) ||
!previousLabel.member.getLevel().equals(li.member.getLevel())) {
if (li.member == selectedMember) {
g2.setColor(Color.BLUE);
}
if (axis != null && li.member.getChildMemberCount() > 0) {
Icon icon;
// in a crossjoin, the next layout item may contain the
// same member, so we have to check the next after.
LayoutItem next = null;
int j = i ;
while (j + 1 < layoutItems.size() && (next == null || next.member.equals(li.member))) {
j++;
next = layoutItems.get(j);
}
if (next != null && next.member.getParentMember() != null && next.member.getParentMember().equals(li.member)) {
icon = EXPANDED_TREE_ICON;
} else {
icon = COLLAPSED_TREE_ICON;
}
int x, y;
if (icon.getIconHeight() < li.bounds.getHeight()) {
y = (int) li.bounds.getCenterY() - icon.getIconHeight()/2;
} else {
y = (int) li.bounds.getY();
}
if (icon.getIconWidth() < li.bounds.getHeight()) {
x = (int) (li.bounds.getX() + (li.bounds.getHeight() - icon.getIconHeight())/2);
} else {
x = (int) li.bounds.getX();
}
icon.paintIcon(this, g2, x, y);
g2.drawString(li.text, (int) (li.bounds.getX() + Math.max(icon.getIconWidth(), li.getBounds().getHeight())), ((int) li.bounds.getY()) + ascent);
} else {
g2.drawString(li.text, (int) li.bounds.getX() + LAYOUT_ITEM_PADDING, ((int) li.bounds.getY()) + ascent);
}
if (li.member == selectedMember) {
g2.setColor(getForeground());
}
}
previousLabel = li;
}
logger.debug("maximum size = " + this.getMaximumSize());
logger.debug("x = " + this.getX() + ", " +
"y = " + this.getY() + ", " +
"location = " + this.getLocation() + ", " +
"width = " + this.getWidth() + ", " +
"height = " + this.getHeight());
}
示例7: testAddAndRemoveChildAfterInit
public void testAddAndRemoveChildAfterInit() throws Exception {
OlapQuery query = new OlapQuery(
null,
getContext(),
"Life Expectancy And GNP Correlation",
"GUI Query",
"LOCALDB",
"World",
"World Countries",
null);
WabitOlapAxis rowAxis = new WabitOlapAxis(Axis.ROWS);
WabitOlapAxis colAxis = new WabitOlapAxis(Axis.COLUMNS);
query.addAxis(rowAxis);
query.addAxis(colAxis);
query.setOlapDataSource((Olap4jDataSource)getSession().getDataSources().getDataSource("World Facts OLAP Connection"));
getWorkspace().addOlapQuery(query);
query.init();
query.updateAttributes();
Dimension dimension = query.getCurrentCube().getDimensions().get("Geography");
final Member defaultMember = dimension.getDefaultHierarchy().getDefaultMember();
query.addToAxis(0, defaultMember, rowAxis.getOrdinal());
assertEquals(1, rowAxis.getChildren().size());
WabitOlapDimension wabitDimension = (WabitOlapDimension) rowAxis.getChildren().get(0);
rowAxis.removeChild(wabitDimension);
assertFalse(rowAxis.getChildren().contains(wabitDimension));
assertEquals(0, rowAxis.getChildren().size());
rowAxis.addChild(wabitDimension, 0);
assertTrue(rowAxis.getChildren().contains(wabitDimension));
assertEquals(1, rowAxis.getChildren().size());
}
示例8: testInitAsLoadedAndExpandMember
/**
* Tests the initialization of a query as though it was loaded from a file
* and then tries to expand a member.
*/
public void testInitAsLoadedAndExpandMember() throws Exception {
WabitOlapAxis rowsAxis = new WabitOlapAxis(Axis.ROWS);
WabitOlapDimension rowsDimension = new WabitOlapDimension("Geography");
rowsAxis.addDimension(rowsDimension);
WabitOlapInclusion rowsInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Geography].[World]");
WabitOlapExclusion rowsExclusion = new WabitOlapExclusion(Operator.MEMBER, "[Geography].[World].[Africa]");
rowsDimension.addExclusion(rowsExclusion);
rowsDimension.addInclusion(rowsInclusion);
WabitOlapAxis columnsAxis = new WabitOlapAxis(Axis.COLUMNS);
WabitOlapDimension colDimension = new WabitOlapDimension("Measures");
columnsAxis.addDimension(colDimension);
WabitOlapInclusion colInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Measures].[Life Expectancy]");
colDimension.addInclusion(colInclusion);
query.addAxis(columnsAxis);
query.addAxis(rowsAxis);
//What a train wreck.
Cube cube = connectionMapping.createConnection(ds).getSchema().getCubes().get("World Countries");
Member worldMember = cube.getDimensions().get("Geography").getHierarchies().get("Geography").getLevels().get(0).getMembers().get(0);
assertEquals("World", worldMember.getName());
query.execute(new SPVariableHelper(query), null);
query.toggleMember(worldMember);
WabitOlapAxis afterRowsAxis = null;
for (WabitOlapAxis axis : query.getAxes()) {
if (axis.getOrdinal() == Axis.ROWS) {
afterRowsAxis = axis;
break;
}
}
WabitOlapDimension afterRowsDimension = null;
for (WabitOlapDimension dimension : afterRowsAxis.getDimensions()) {
if (dimension.getName().equals("Geography")) {
afterRowsDimension = dimension;
break;
}
}
assertEquals(2, afterRowsDimension.getInclusions().size());
WabitOlapInclusion inclusion1 = afterRowsDimension.getInclusions().get(0);
assertEquals("[Geography].[World]", inclusion1.getUniqueMemberName());
WabitOlapInclusion inclusion2 = afterRowsDimension.getInclusions().get(1);
assertEquals("[Geography].[World]", inclusion2.getUniqueMemberName());
}
示例9: testAddAndRemoveChild
/**
* Tests that children can be added to and removed from this query. Although
* the children of the query are maintained internally and an axis of a
* query cannot actually be removed from the query itself the children
* wrapping the axis of a query need to be addable and removable for the
* undo manager.
*/
public void testAddAndRemoveChild() throws Exception {
WabitOlapAxis rowsAxis = new WabitOlapAxis(Axis.ROWS);
WabitOlapDimension rowsDimension = new WabitOlapDimension("Geography");
rowsAxis.addDimension(rowsDimension);
WabitOlapInclusion rowsInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Geography].[World]");
WabitOlapExclusion rowsExclusion = new WabitOlapExclusion(Operator.MEMBER, "[Geography].[World].[Africa]");
rowsDimension.addExclusion(rowsExclusion);
rowsDimension.addInclusion(rowsInclusion);
WabitOlapAxis columnsAxis = new WabitOlapAxis(Axis.COLUMNS);
WabitOlapDimension columnsDimension = new WabitOlapDimension("Measures");
columnsAxis.addDimension(columnsDimension);
WabitOlapInclusion colInclusion = new WabitOlapInclusion(Operator.MEMBER, "[Measures].[Life Expectancy]");
columnsDimension.addInclusion(colInclusion);
query.addAxis(columnsAxis);
query.addAxis(rowsAxis);
//This should not throw an exception
query.execute(new SPVariableHelper(query), null);
assertEquals(2, query.getChildren().size());
WabitOlapAxis axis = (WabitOlapAxis) query.getChildren().get(0);
query.removeChild(axis);
assertEquals(1, query.getChildren().size());
assertFalse(query.getChildren().contains(axis));
query.addChild(axis, 1);
assertEquals(2, query.getChildren().size());
assertEquals(axis, query.getChildren().get(1));
try {
query.addChild(axis, 0);
fail();
} catch (IllegalArgumentException e) {
//trying to add the same axis multiple times should fail.
}
}