My favorites | Sign in
Project Home Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/**
* Create the default {@model Event}s for {@model Accessible} and {@model Changeable} elements.
*/
#created on: 4/11/2008
package org.openiaml.model.drools.rules.events

#list any import classes here.
import org.openiaml.model.drools.*;

import org.openiaml.model.inference.*;
import org.openiaml.model.model.*;
import org.openiaml.model.model.impl.*;
import org.openiaml.model.model.wires.*;
import org.openiaml.model.model.visual.*;
import org.openiaml.model.model.operations.*;
import org.openiaml.model.model.domain.*;

#declare any global variables here
global OverridableCreateElementsHelper handler;
global DroolsInsertionQueue queue;
global DroolsHelperFunctions functions;

/**
* @inference Changeable,Event
* {@model Changeable} elements have an {@model Event} named {@model Changeable#onChange}.
*/
rule "Create 'onChange' event trigger for Changeable things"
when
f : Changeable( )
g : GeneratesElements ( this == f )
not (event : Event( f.onChange == event ))

eval ( handler.veto( g ))

then
Event event = handler.generatedEventOnChange(g, f);
queue.add(event, drools);

end

/**
* @inference Accessible,Event
* {@model Accessible} elements have an {@model Event} named {@model Accessible#onAccess}.
*/
rule "Create 'onAccess' event trigger for Accessible things"
when
f : Accessible( )
g : GeneratesElements ( this == f )
not (event : Event( f.onAccess == event ))

eval ( handler.veto( g ))

then
handler.veto(g);
Event event = handler.generatedEventOnAccess(g, f);
queue.add(event, drools);

end

Change log

r3149 by soundasleep on Oct 13, 2011   Diff
improving model completion rule
documentation for Event, BuiltinOperation,
BuiltinProperty
Email.onFailure and Email.onSent were not
being generated automatically
Go to: 
Project members, sign in to write a code review

Older revisions

r3087 by soundasleep on Sep 15, 2011   Diff
improving the grammar and structure of
the model completion rules
documentation
r2947 by soundasleep on May 19, 2011   Diff
 issue 240 : updating more rule packages
with inference modeldoc
r2833 by soundasleep on May 6, 2011   Diff
 issue 244 : updating inference rules
All revisions of this file

File info

Size: 1632 bytes, 58 lines
Powered by Google Project Hosting