Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/rxm.git

Implemented obtaining JOIN clause table name.

AuthorDave Jarvis <email>
Date2015-03-14 14:45:46 GMT-0700
Commit23f348a7f70e760cca74b813c31ea5ffd9f04fa7
Parent85ba2fa
source/java/com/whitemagicsoftware/rxm/tree/xml/InnerMapContext.java
}
+ /**
+ * Returns the JOIN qualifier keyword.
+ *
+ * @return "INNER";
+ */
+ @Override
public String getJoinType() {
return "INNER";
+ }
+
+ @Override
+ protected QueryParser.TableColumnContext tableColumn() {
+ return ((QueryParser.InnerMapContext)getParserRuleContext()).tableColumn(0);
}
}
source/java/com/whitemagicsoftware/rxm/tree/xml/JoinMapContext.java
*/
public JoinMapContext( Payload initPayload ) {
- super( initPayload);
+ super( initPayload );
}
public Token getStart() {
ParserRuleContext ctx = getParserRuleContext();
+
+ String table = getTableName();
+ return new Token( String.format( "%s JOIN %s", getJoinType(), table ) );
+ }
+ private String getTableName() {
+ return table().getText();
+ }
- return new Token( String.format( "%s JOIN %s", getJoinType(), ctx.getText() ) );
+ private String getColumnName() {
+ return column().getText();
+ }
+
+ protected QueryParser.TableContext table() {
+ return tableColumn().table();
+ }
+
+ protected QueryParser.ColumnContext column() {
+ return tableColumn().column();
}
+
+ protected abstract QueryParser.TableColumnContext tableColumn();
/**
source/java/com/whitemagicsoftware/rxm/tree/xml/OuterMapContext.java
}
+ /**
+ * Returns the JOIN qualifier keyword.
+ *
+ * @return "OUTER";
+ */
+ @Override
public String getJoinType() {
return "OUTER";
+ }
+
+ @Override
+ protected QueryParser.TableColumnContext tableColumn() {
+ return ((QueryParser.OuterMapContext)getParserRuleContext()).tableColumn(0);
}
}
source/java/com/whitemagicsoftware/rxm/tree/xml/PayloadParserRuleContext.java
/**
- * Returns the table instance for the table map context.
+ * Returns the table associated with the payload.
+ */
+ protected QueryParser.TableContext table() {
+ return getTableMapContext().table();
+ }
+
+ /**
+ * Returns the nearest parent table instance to this context.
*/
protected QueryParser.TableContext parentTable() {
Delta50 lines added, 3 lines removed, 47-line increase