Plaintypes needed as well. Also only generate imports if it is in a package. That allows us to drop "java.lang." for common property types such as String and Integer, as well as shortform types in the same package.
Signed-off-by: niclas <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/718fa57c Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/718fa57c Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/718fa57c Branch: refs/heads/develop Commit: 718fa57ca9485b0d34c484682c08ae46f38a7cb0 Parents: 7bec0f0 Author: niclas <[email protected]> Authored: Tue Apr 18 09:58:12 2017 +0800 Committer: niclas <[email protected]> Committed: Tue Apr 18 09:58:12 2017 +0800 ---------------------------------------------------------------------- tools/generator-polygene/app/index.js | 4 ++- .../DomainLayer/DomainModule/Configuration.tmpl | 8 ++--- .../DomainLayer/DomainModule/Crud.tmpl | 7 ++-- .../DomainLayer/DomainModule/Entity.tmpl | 3 +- .../DomainLayer/DomainModule/Object.tmpl | 8 +++++ .../DomainLayer/DomainModule/Plain.tmpl | 37 ++++++++++++++++++++ .../DomainLayer/DomainModule/Service.tmpl | 3 +- .../DomainLayer/DomainModule/Transient.tmpl | 3 +- .../DomainLayer/DomainModule/Value.tmpl | 3 +- .../DomainLayer/DomainModule/module.js | 1 + 10 files changed, 65 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/index.js ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/index.js b/tools/generator-polygene/app/index.js index 3829a8f..a4a4702 100644 --- a/tools/generator-polygene/app/index.js +++ b/tools/generator-polygene/app/index.js @@ -369,10 +369,11 @@ function assignFunctions(polygene) { var imported = {}; var props = current.clazz.configuration; if (props) { + imported["org.apache.polygene.api.property.Property"] = true; for (var idx in props) { var prop = props[idx]; state.push('Property' + '<' + polygene.typeNameOnly(prop.type) + "> " + prop.name + "();"); - imported[prop.type] = imported[prop.type]; + imported[prop.type] = true; var yamlDefault; if (prop.type === "java.lang.String") { yamlDefault = '""'; @@ -398,6 +399,7 @@ function assignFunctions(polygene) { yaml.push(prop.name + " : " + yamlDefault); } } else { + imported["org.apache.polygene.api.property.Property"] = true; state.push('Property<String> name(); // TODO: remove sample property'); yaml.push('name : "sample config value"'); } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Configuration.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Configuration.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Configuration.tmpl index 6498640..b7acd94 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Configuration.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Configuration.tmpl @@ -18,11 +18,11 @@ * -%> package <%= polygene.packageName %>.model.<%= polygene.current.name %>; - <% -for( var prop in polygene.current.imported ) { - if( !prop.startsWith( "java.lang" )) { - %><%- "import " + prop + ";"; %> +for( var imp in polygene.current.imported ) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { + %><%- "import " + imp + ";"; %> <% } } %> http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Crud.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Crud.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Crud.tmpl index cbb7e5d..60d7528 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Crud.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Crud.tmpl @@ -22,9 +22,10 @@ package <%= polygene.packageName %>.model.<%= polygene.current.name %>; import org.apache.polygene.api.injection.scope.This; import org.apache.polygene.api.mixin.Mixins; <% -for( var prop in polygene.current.imported ) { - if( !prop.startsWith( "java.lang" )) { - %><%- "import " + prop + ";"; %> +for( var imp in polygene.current.imported ) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { + %><%- "import " + imp + ";"; %> <% } } %> http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Entity.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Entity.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Entity.tmpl index 4c30883..60d7528 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Entity.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Entity.tmpl @@ -23,7 +23,8 @@ import org.apache.polygene.api.injection.scope.This; import org.apache.polygene.api.mixin.Mixins; <% for( var imp in polygene.current.imported ) { - if( !imp.startsWith( "java.lang" )) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { %><%- "import " + imp + ";"; %> <% } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Object.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Object.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Object.tmpl index d51cdf5..fb8908b 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Object.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Object.tmpl @@ -23,6 +23,14 @@ import org.apache.polygene.api.injection.scope.Structure; import org.apache.polygene.api.injection.scope.Uses; import org.apache.polygene.api.mixin.Mixins; import org.apache.polygene.api.value.ValueBuilderFactory; +<% +for( var imp in polygene.current.imported ) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { + %><%- "import " + imp + ";"; %> +<% + } +} %> public class <%= polygene.current.clazz.name %> { http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Plain.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Plain.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Plain.tmpl new file mode 100644 index 0000000..c7a1c04 --- /dev/null +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Plain.tmpl @@ -0,0 +1,37 @@ +<%# + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * +-%> +package <%= polygene.packageName %>.model.<%= polygene.current.name %>; +<% +for( var imp in polygene.current.imported ) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { + %><%- "import " + imp + ";"; %> +<% + } +} %> + +public <%- polygene.current.clazz.type %> <%= polygene.current.clazz.name %> +{<% +if( polygene.current.clazz.type === 'enum' ) { +%> + <%- polygene.current.clazz.values %> +<% +} +%>} http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Service.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Service.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Service.tmpl index a4028ca..b5fafdb 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Service.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Service.tmpl @@ -27,7 +27,8 @@ import org.apache.polygene.api.unitofwork.UnitOfWorkFactory; import org.apache.polygene.api.value.ValueBuilderFactory; <% for( var imp in polygene.current.imported ) { - if( !imp.startsWith( "java.lang" )) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { %><%- "import " + imp + ";"; %> <% } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Transient.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Transient.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Transient.tmpl index 3b49522..c8012ba 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Transient.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Transient.tmpl @@ -23,7 +23,8 @@ import org.apache.polygene.api.injection.scope.Uses; import org.apache.polygene.api.mixin.Mixins; <% for( var imp in polygene.current.imported ) { - if( !imp.startsWith( "java.lang" )) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { %><%- "import " + imp + ";"; %> <% } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Value.tmpl ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Value.tmpl b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Value.tmpl index cf15d92..beae662 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Value.tmpl +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/Value.tmpl @@ -23,7 +23,8 @@ import org.apache.polygene.api.injection.scope.This; import org.apache.polygene.api.mixin.Mixins; <% for( var imp in polygene.current.imported ) { - if( !imp.startsWith( "java.lang" )) { + if( !imp.startsWith( "java.lang" ) + && imp.includes(".") ) { %><%- "import " + imp + ";"; %> <% } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/718fa57c/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js ---------------------------------------------------------------------- diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js index 27b0a4f..03e2040 100644 --- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js +++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js @@ -28,6 +28,7 @@ function copyPolygeneDomainModule(p, moduleName, moduleDef) { copyComposites(p, moduleDef.transients, "Transient"); copyComposites(p, moduleDef.objects, "Object"); copyComposites(p, moduleDef.services, "Service"); + copyComposites(p, moduleDef.plainTypes, "Plain"); copyComposites(p, moduleDef.services, "Configuration"); copyConfigurationYaml(p, moduleDef.services )
