I've been working on the editor today and had some thoughts.
1. it would be nice to trigger the auto-completion when the user hits
"space" - I didn't see an easy way to do it in the editor class
2. it would be nice to further filter the auto-completion so it only
shows the phrases for that particular object. right now I show all
matching phrases. In order to be able to filter by object, the DSL
format would need to be extended to include more metadata. currently
each entry looks like this.
[when]- is empty=userId == userid, recommendation == null
In the example I created, userId is an attribute of many objects and is
used to to join between them. if we extend the format so that
object.attribute mappings have extra metadata like below, the DSL
utility can then group the mappings by object type.
[when][com.my.Reponse]- is empty=userId == userid, recommendation == null
The response object looks like this
public class Response {
private String userId;
private Recommendation recommendation;
}
the customer object
public class Customer {
private String first;
private String middle;
private String last;
private String userId;
private String emailAddress;
}
obviously, if the format is extended, it could cause backward compatability issues.
peter