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 package com.unitesk.atp.treedl;
33
34 import com.unitesk.atp.tool.Plugin;
35 import com.unitesk.atp.messages.*;
36
37 public class CreatorAction extends FileGeneratorAction
38 {
39 /***
40 * {@inheritDoc}
41 */
42 public String getVersion()
43 {
44 return getRevision( "$Revision: 1.7 $" );
45 }
46
47 public void process( com.unitesk.atp.tree.tool.Tree tree )
48 {
49 setCurrentTree( tree );
50
51 process( getProperty( "check.action", "check" ) );
52
53
54
55 String output_dir = getProperty( "output.dir", "." );
56
57 boolean update_mode = getProperty( "update", "true" ).equals( "true" );
58
59 String action_name = getName();
60 String language_name = ((TDL_Module)tree).getLanguage().getName();
61 String generator_name = language_name + "_" + action_name + "_interface";
62
63 String interfaceCreatorName = getProperty( "interface.name" );
64
65 if( interfaceCreatorName != null )
66 {
67 TextGenerator interfaceCreatorGenerator
68 = (TextGenerator)getPlugin( generator_name );
69
70 if( interfaceCreatorGenerator == null )
71 {
72 mbox.error( new NameNotFoundMessage( null
73 , null
74 , mbox
75 .getStringManager()
76 .getString( TextGenerator.class
77 , "message.generator"
78 )
79 , generator_name
80 )
81 );
82 return;
83 }
84
85 interfaceCreatorGenerator.setOutClassName( interfaceCreatorName );
86 interfaceCreatorGenerator.setOutDir( output_dir );
87 interfaceCreatorGenerator.setActionName( action_name );
88
89 generateFile( interfaceCreatorGenerator.getOutFile()
90 , update_mode
91 , interfaceCreatorGenerator
92 );
93 }
94
95 generator_name = language_name + "_" + action_name + "_null";
96
97 String nullCreatorName = getProperty( "null.name" );
98
99 if( nullCreatorName != null )
100 {
101 if( interfaceCreatorName == null )
102 {
103 mbox.error( new NameNotFoundMessage( null
104 , null
105 , mbox
106 .getStringManager()
107 .getString( Plugin.class
108 , "message.plugin_property"
109 )
110 , "interface.name"
111 )
112 );
113 return;
114 }
115 TextGenerator nullCreatorGenerator
116 = (TextGenerator)getPlugin( generator_name );
117 if( nullCreatorGenerator == null )
118 {
119 mbox.error( new NameNotFoundMessage( null
120 , null
121 , mbox
122 .getStringManager()
123 .getString( TextGenerator.class
124 , "message.generator"
125 )
126 , generator_name
127 )
128 );
129 return;
130 }
131 nullCreatorGenerator.setOutClassName( nullCreatorName );
132 nullCreatorGenerator.addImplementedInterface( interfaceCreatorName );
133 nullCreatorGenerator.setOutDir( output_dir );
134 nullCreatorGenerator.setActionName( action_name );
135
136 generateFile( nullCreatorGenerator.getOutFile()
137 , update_mode
138 , nullCreatorGenerator
139 );
140 }
141
142 generator_name = language_name + "_" + action_name + "_node";
143 String nodeCreatorName = getProperty( "node.name" );
144
145 if( nodeCreatorName != null )
146 {
147 if( interfaceCreatorName == null )
148 {
149 mbox.error( new NameNotFoundMessage( null
150 , null
151 , mbox
152 .getStringManager()
153 .getString( Plugin.class
154 , "message.plugin_property"
155 )
156 , "interface.name"
157 )
158 );
159 return;
160 }
161 TextGenerator nodeCreatorGenerator
162 = (TextGenerator)getPlugin( generator_name );
163 if( nodeCreatorGenerator == null )
164 {
165 mbox.error( new NameNotFoundMessage( null
166 , null
167 , mbox
168 .getStringManager()
169 .getString( TextGenerator.class
170 , "message.generator"
171 )
172 , generator_name
173 )
174 );
175 return;
176 }
177 nodeCreatorGenerator.setOutClassName( nodeCreatorName );
178 nodeCreatorGenerator.addImplementedInterface( interfaceCreatorName );
179 nodeCreatorGenerator.setOutDir( output_dir );
180 nodeCreatorGenerator.setActionName( action_name );
181
182 generateFile( nodeCreatorGenerator.getOutFile()
183 , update_mode
184 , nodeCreatorGenerator
185 );
186 }
187 }
188 }