RLiferayTool 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ODFiMWVkNzBiM2JkNmUyOWJiNWYyMWRjYzFjNjQ1YTk5ZGFkZmZjMQ==
5
+ data.tar.gz: !binary |-
6
+ YzE1NTgzZDkyZWY3ZjU0OGJhNGFjYzBmMTViMTEwMzMzYWUzMjQwZg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZWY5NzVhMTJmNGFhNzZiZDhhMzBlNmFiMWE0MTJhZDdjZmVmMWE3NTk5NDgz
10
+ YWFkYjhhZDU4YjM2ZGJmMTY3OWJmNDU3ODY4ZDYwZGQ4MjJiNjc4NDA1ZGEy
11
+ NmFmY2RlMGM2YmY5MTE3MzViMjNkNDY0ZmE0NDkyZTNhZmYwM2Y=
12
+ data.tar.gz: !binary |-
13
+ NzRjMDUwMWM5NTA5NjY4NGIyZjYyMWY3OWY1YTVlMjFjODc5YjUzNmE0ZWU4
14
+ YWZjMDIwNmNmYTQxMGVlNTUyYzU5ZjZjMDM3M2JiZTNlYjM3YTU2ZWM2Mjcx
15
+ OWU3Y2EzYTFhZjg2ODMxOGExYjdkODJlMmMwNjI2NDUzMjcwOWQ=
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ source_root = File.expand_path("..", File.dirname(__FILE__))
3
+ $LOAD_PATH.unshift("#{source_root}/lib")
4
+
5
+ require 'r_liferay_tool'
6
+
7
+ RLiferayTool.start
8
+
@@ -0,0 +1,81 @@
1
+ require 'thor'
2
+ require 'nokogiri'
3
+
4
+ require_relative 'r_liferay_lib/prepare_portlet_service'
5
+ require_relative 'r_liferay_lib/read_service'
6
+ require_relative 'r_liferay_lib/read_pom'
7
+
8
+ class RLiferayTool < Thor
9
+
10
+ desc "update_portlet_service", "Generate code files from a Liferay Service xml file."
11
+ #method_option :project_name, :type => :string, :required => true, :desc => "You must enter a name for the project"
12
+ #method_option :project_version, :type => :string, :required => true, :desc => "You must enter a project version"
13
+ #method_option :service_xml_file, :type => :string, :required => true, :desc => "Specify the location of the service.xml file in your project"
14
+ #method_option :platform, :aliases => "-p", :type => :string, :required => true, :default => 'rails', :desc => "Choose which platform you are targeting for code generation."
15
+ default_task :update_portlet_service
16
+
17
+ def update_portlet_service()
18
+
19
+ has_error=false
20
+
21
+ base_directory = f = File.expand_path File.dirname(__FILE__)
22
+
23
+ project_name = File.basename(Dir.pwd)
24
+
25
+ target_directory = project_name + '-portlet'
26
+
27
+ pom_file = './pom.xml'
28
+
29
+ if !Dir.exist? target_directory
30
+ has_error = true
31
+ say "You are not in a Liferay portlet service directory.", :red
32
+ end
33
+
34
+ if !File.exist? pom_file
35
+ has_error = true
36
+ say "You are not in a valid maven project directory.", :red
37
+ end
38
+
39
+
40
+ template_directory = base_directory + '/r_liferay_lib/portlet_service_templates'
41
+
42
+ service_xml = target_directory + "/src/main/webapp/WEB-INF/service.xml"
43
+
44
+
45
+
46
+ if has_error
47
+ return
48
+ else
49
+ read_service = RLiferayLib::ReadService.new(service_xml)
50
+ read_pom = RLiferayLib::ReadPOM.new(pom_file)
51
+
52
+
53
+ template_variables = read_service.entities[read_service.entities.keys[0]]
54
+ template_variables['project_name'] = project_name
55
+ template_variables['project_version'] = read_pom.version
56
+ prepare_portlet_service = RLiferayLib::PreparePortletService.new(template_directory, target_directory, template_variables)
57
+ end
58
+ end
59
+
60
+
61
+
62
+
63
+
64
+
65
+ private
66
+
67
+
68
+
69
+
70
+ def say_error(error)
71
+ say 'Internal RLiferayTool Error', :red
72
+ say '-------------------------', :red
73
+ say error.message, :red
74
+ unless error.backtrace.nil?
75
+ error.backtrace.each do | line |
76
+ say line, :red
77
+ end
78
+ end
79
+ end
80
+ end
81
+
@@ -0,0 +1,9 @@
1
+ name=Cyber Tools
2
+ module-group-id=ikrome-framework
3
+ module-incremental-version=2.01.004
4
+ tags=
5
+ short-description=
6
+ change-log=
7
+ page-url=http://www.liferay.com
8
+ author=Liferay, Inc.
9
+ licenses=EE
data/test/pom.xml ADDED
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3
+ <modelVersion>4.0.0</modelVersion>
4
+ <parent>
5
+ <artifactId>ikrome-portlet-hook-parent</artifactId>
6
+ <groupId>mil.army.hrc.ikrome</groupId>
7
+ <version>3.00.000</version>
8
+ </parent>
9
+ <groupId>mil.army.hrc.ikrome.test</groupId>
10
+ <artifactId>bob-list</artifactId>
11
+ <packaging>pom</packaging>
12
+ <name>bob-list</name>
13
+ <version>3.00.000</version>
14
+ <build>
15
+ <plugins>
16
+ <plugin>
17
+ <groupId>com.liferay.maven.plugins</groupId>
18
+ <artifactId>liferay-maven-plugin</artifactId>
19
+ <version>${liferay.maven.plugin.version}</version>
20
+ <configuration>
21
+ <autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir>
22
+ <appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir>
23
+ <appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir>
24
+ <appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir>
25
+ <liferayVersion>${liferay.version}</liferayVersion>
26
+ <pluginName>bob-list-portlet</pluginName>
27
+ <pluginType>portlet</pluginType>
28
+ </configuration>
29
+ </plugin>
30
+ <plugin>
31
+ <artifactId>maven-compiler-plugin</artifactId>
32
+ <version>2.5</version>
33
+ <configuration>
34
+ <encoding>UTF-8</encoding>
35
+ <source>1.6</source>
36
+ <target>1.6</target>
37
+ </configuration>
38
+ </plugin>
39
+ <plugin>
40
+ <artifactId>maven-resources-plugin</artifactId>
41
+ <version>2.5</version>
42
+ <configuration>
43
+ <encoding>UTF-8</encoding>
44
+ </configuration>
45
+ </plugin>
46
+ </plugins>
47
+ </build>
48
+ <modules>
49
+ <module>bob-list-portlet</module>
50
+ <module>bob-list-portlet-service</module>
51
+ </modules>
52
+ </project>
data/test/portlet.xml ADDED
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0"?>
2
+ <portlet-app schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
3
+ <portlet>
4
+ <portlet-name>bob-list</portlet-name>
5
+ <display-name>bob-list</display-name>
6
+ <portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
7
+ <init-param>
8
+ <name>view-template</name>
9
+ <value>/view.jsp</value>
10
+ </init-param>
11
+ <expiration-cache>0</expiration-cache>
12
+ <supports>
13
+ <mime-type>text/html</mime-type>
14
+ </supports>
15
+ <portlet-info>
16
+ <title>bob-list</title>
17
+ <short-title>bob-list</short-title>
18
+ <keywords>bob-list</keywords>
19
+ </portlet-info>
20
+ <security-role-ref>
21
+ <role-name>administrator</role-name>
22
+ </security-role-ref>
23
+ <security-role-ref>
24
+ <role-name>guest</role-name>
25
+ </security-role-ref>
26
+ <security-role-ref>
27
+ <role-name>power-user</role-name>
28
+ </security-role-ref>
29
+ <security-role-ref>
30
+ <role-name>user</role-name>
31
+ </security-role-ref>
32
+ </portlet>
33
+ </portlet-app>
@@ -0,0 +1,14 @@
1
+ module RLiferayLib
2
+ module BuildupMixin
3
+ def build_up
4
+ _build_up
5
+ end
6
+
7
+
8
+ def _build_up
9
+ FileUtils.mkpath(TestFiles::WEB_INF_DIR)
10
+ FileUtils.mkpath(TestFiles::JSP_DIR)
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ module RLiferayLib
2
+ module CleanupMixin
3
+ def clean_up
4
+ _clean_up
5
+ end
6
+
7
+
8
+ def _clean_up
9
+ Dir[TestFiles::TEMP_DIR + '/*'].each { | file_name |
10
+ FileUtils.rm_rf(file_name)
11
+ }
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,109 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative 'cleanup_mixin'
4
+ require_relative 'buildup_mixin'
5
+ require_relative '../../lib/r_liferay_lib/prepare_portlet_service'
6
+ require_relative '../../lib/r_liferay_lib/read_service'
7
+
8
+ module RLiferayLib
9
+ class TestPreparePortletService < Minitest::Test
10
+ include RLiferayLib::CleanupMixin
11
+ include RLiferayLib::BuildupMixin
12
+
13
+
14
+
15
+ def setup
16
+ clean_up
17
+ build_up
18
+ end
19
+
20
+ def teardown
21
+ # clean_up
22
+ end
23
+
24
+ def test_generate_portlet_xml_content
25
+ assert_equal(true,File.exist?(TestFiles::TEMP_PORTLET_XML),"Portlet.xml file is missing.")
26
+ portlet_xml_content = File.read(TestFiles::TEMP_PORTLET_XML)
27
+ assert_equal(true,portlet_xml_content.include?("mil.army.hrc.ikrome.#{@template_variables['project_name']}"),"Portlet xml file content was not updated.")
28
+ end
29
+
30
+ def test_generate_plugin_package_properties
31
+ assert_equal(true,File.exist?(TestFiles::TEMP_PLUGIN_PACKAGE_FILE),"Plugin properites file is missing.")
32
+ properties_content = File.read(TestFiles::TEMP_PLUGIN_PACKAGE_FILE)
33
+ assert_equal(true,properties_content.include?("name=#{@template_variables['project_name']}"),"Plugin properties file content was not updated.")
34
+ end
35
+
36
+ def test_generate_view_jsp
37
+ assert_equal(true,File.exist?(TestFiles::TEMP_VIEW_JSP),"View.jsp file is missing.")
38
+ properties_content = File.read(TestFiles::TEMP_VIEW_JSP)
39
+ check_value = "keyProperty=\"responseId\""
40
+ assert_equal(true,properties_content.include?(check_value),"View.jsp file content was not updated. #{check_value}")
41
+ end
42
+
43
+ def test_generate_init_jsp
44
+ assert_equal(true,File.exist?(TestFiles::TEMP_INIT_JSP),"Init.jsp file is missing.")
45
+ properties_content = File.read(TestFiles::TEMP_INIT_JSP)
46
+ check_value = "mil.army.hrc.ikrome.test.service.ChatResponseLocalServiceUtil"
47
+ assert_equal(true,properties_content.include?(check_value),"Init.jsp file content was not updated. #{check_value}")
48
+ end
49
+
50
+ def test_generate_edit_jsp
51
+ assert_equal(true,File.exist?(TestFiles::TEMP_EDIT_JSP),"Edit.jsp file is missing.")
52
+ properties_content = File.read(TestFiles::TEMP_EDIT_JSP)
53
+ check_value = 'aui:input type="number" name="createdByUserId" label="createdByUserId" value="${param.createdByUserId}"'
54
+ assert_equal(true,properties_content.include?(check_value),"Edit.jsp file content was not updated. #{check_value}")
55
+ end
56
+
57
+ def test_generate_add_jsp
58
+ assert_equal(true,File.exist?(TestFiles::TEMP_ADD_JSP),"Add.jsp file is missing.")
59
+ properties_content = File.read(TestFiles::TEMP_ADD_JSP)
60
+ check_value = 'aui:input type="text" name="firstContent" label="firstContent"'
61
+ assert_equal(true,properties_content.include?(check_value),"Add.jsp file content was not updated. #{check_value}")
62
+ end
63
+
64
+ def test_generate_controller
65
+ file_name = @java_portlet_path + '/' + RLiferayLib::PreparePortletService::CONTROLLER_NAME
66
+ assert_equal(true,File.exist?(file_name),"Controller class file is missing.")
67
+ properties_content = File.read(file_name)
68
+ check_value = 'List<ChatResponse> allItems = ChatResponseLocalServiceUtil.getChatResponses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);'
69
+ assert_equal(true,properties_content.include?(check_value),"Controller class file content was not updated. #{check_value}")
70
+ end
71
+
72
+ def test_generate_local_impl
73
+ file_name = "#{@java_service_path}/#{@template_variables['name']}#{RLiferayLib::PreparePortletService::LOCAL_IMPL_NAME}"
74
+ assert_equal(true,File.exist?(file_name),"Local impl class file is missing.")
75
+ properties_content = File.read(file_name)
76
+ check_value = "add#{@template_variables['name']}"
77
+ assert_equal(true,properties_content.include?(check_value),"Local impl class file content was not updated. #{check_value}")
78
+ end
79
+
80
+ def test_generate_remote_impl
81
+ file_name = "#{@java_service_path}/#{@template_variables['name']}#{RLiferayLib::PreparePortletService::REMOTE_IMPL_NAME}"
82
+ assert_equal(true,File.exist?(file_name),"Remote impl class file is missing.")
83
+ properties_content = File.read(file_name)
84
+ check_value = "add#{@template_variables['name']}"
85
+ assert_equal(true,properties_content.include?(check_value),"Remote impl class file content was not updated. #{check_value}")
86
+ end
87
+
88
+
89
+ def build_up
90
+ _build_up
91
+ read_service = ReadService.new(TestFiles::SERVICE_XML)
92
+ @template_variables = read_service.entities[read_service.entities.keys[0]]
93
+ @template_variables['name'] = read_service.entities.keys[0]
94
+ @template_variables['project_name'] = 'test'
95
+ @template_variables['project_version'] = '1.00.000'
96
+
97
+ @java_portlet_path=TestFiles::JAVA_DIR + '/' + @template_variables['project_name'].downcase + '/portlet'
98
+ @java_service_path=TestFiles::JAVA_DIR + '/' + @template_variables['project_name'].downcase + '/service/impl'
99
+
100
+ FileUtils.mkpath(@java_portlet_path)
101
+ FileUtils.mkpath(@java_service_path)
102
+
103
+
104
+ @test_object = PreparePortletService.new(TestFiles::TEMPLATE_DIR, TestFiles::TEMP_DIR , @template_variables)
105
+ @test_class_constant = PreparePortletService
106
+ end
107
+
108
+ end
109
+ end
@@ -0,0 +1,28 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative 'buildup_mixin'
4
+ require_relative 'cleanup_mixin'
5
+ require_relative '../../lib/r_liferay_tool'
6
+
7
+ module RLiferayLib
8
+ class TestPreparePortletService < Minitest::Test
9
+ include RLiferayLib::BuildupMixin
10
+ include RLiferayLib::CleanupMixin
11
+
12
+ def setup
13
+ clean_up
14
+ build_up
15
+ end
16
+
17
+ def teardown
18
+ clean_up
19
+ end
20
+
21
+ def test_command_line
22
+ RLiferayTool.start
23
+ end
24
+
25
+
26
+
27
+ end
28
+ end
@@ -0,0 +1,23 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative '../../lib/r_liferay_lib/read_pom'
4
+
5
+ module RLiferayLib
6
+ class TestReadPOM < Minitest::Test
7
+
8
+ def setup
9
+ @test_object = ReadPOM.new(TestFiles::POM_XML)
10
+ @test_class_constant = ReadPOM
11
+ end
12
+
13
+ def teardown
14
+ end
15
+
16
+ def test_version
17
+ version = '3.00.000'
18
+
19
+ assert_equal(true,@test_object.version.include?(version),"Did not vind the version")
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative '../../lib/r_liferay_lib/read_service'
4
+
5
+ module RLiferayLib
6
+ class TestReadService < Minitest::Test
7
+
8
+ def setup
9
+ @test_object = ReadService.new(TestFiles::SERVICE_XML)
10
+ @test_class_constant = ReadService
11
+ end
12
+
13
+ def teardown
14
+ end
15
+
16
+ def test_entities
17
+ entity_name = 'ChatResponse'
18
+
19
+ assert_equal(true,@test_object.entities.include?(entity_name),"Did not find Foo entity")
20
+ assert_equal('responseId',@test_object.entities[entity_name]['primary_key'],"Did not find primary key responseId")
21
+ column_name='title'
22
+ assert_equal(true,@test_object.entities[entity_name]['columns'].include?(column_name),"Did not find column #{column_name}")
23
+ assert_equal('String',@test_object.entities[entity_name]['columns'][column_name].column_type,"Did not find column #{column_name}'s type which is String")
24
+
25
+ column_name='companyId'
26
+ assert_equal(false,@test_object.entities[entity_name]['columns'].include?(column_name),"Did not find column #{column_name}")
27
+
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,63 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative 'buildup_mixin'
4
+ require_relative 'cleanup_mixin'
5
+ require_relative '../../lib/r_liferay_lib/read_service'
6
+ require_relative '../../lib/r_liferay_lib/template_utility'
7
+
8
+ module RLiferayLib
9
+ class TestTemplateUtility < Minitest::Test
10
+ include RLiferayLib::CleanupMixin
11
+ include RLiferayLib::BuildupMixin
12
+
13
+
14
+ def setup
15
+ clean_up
16
+ build_up
17
+ end
18
+
19
+ def teardown
20
+ #clean_up
21
+ end
22
+
23
+ def test_erb_results
24
+ assert_equal(true,File.exist?(@target_file_name),"File #{@target_file_name} was not created.")
25
+ begin
26
+ f = File.open(@target_file_name)
27
+ contents = f.read
28
+
29
+ string_contained = "mil.army.hrc.ikrome.#{@template_variables['project_name']}.model.ChatResponse"
30
+ assert_equal(true,contents.include?(string_contained),"File did not contain #{string_contained}")
31
+
32
+ string_contained = 'keyProperty="responseId"'
33
+ assert_equal(true,contents.include?(string_contained),"File did not contain #{string_contained}")
34
+
35
+ string_contained = 'value="${item.responseId}"'
36
+ assert_equal(true,contents.include?(string_contained),"File did not contain #{string_contained}")
37
+ ensure
38
+ f.close()
39
+ end
40
+ end
41
+
42
+ def test_file_backup
43
+ assert_equal(true,File.exist?(@target_file_name),"File #{@target_file_name} was not created.")
44
+ build_up
45
+ assert_equal(true,Dir[@target_file_name + '\.[0-9]*'].length > 0, 'Did not find any backed up files.')
46
+ end
47
+
48
+
49
+ private
50
+
51
+ def build_up
52
+ _build_up
53
+ @target_name = 'test_view.jsp'
54
+ @target_file_name = TestFiles::TEMP_DIR + '/' + @target_name
55
+ read_service = ReadService.new(TestFiles::SERVICE_XML)
56
+ @template_variables = read_service.entities[read_service.entities.keys[0]]
57
+ @template_variables['project_name'] = 'test'
58
+ @test_object = TemplateUtility.new(TestFiles::VIEW_JSP, TestFiles::TEMP_DIR, @target_name , @template_variables)
59
+ @test_class_constant = TemplateUtility
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,37 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../test_helper'
3
+ require_relative 'buildup_mixin'
4
+ require_relative 'cleanup_mixin'
5
+ require_relative '../../lib/r_liferay_lib/xml_utility'
6
+
7
+ module RLiferayLib
8
+ class TestXMLUtility < Minitest::Test
9
+ include RLiferayLib::CleanupMixin
10
+ include RLiferayLib::BuildupMixin
11
+
12
+ def setup
13
+ clean_up
14
+ build_up
15
+ FileUtils.copy_file(TestFiles::PORTLET_XML,TestFiles::TEMP_PORTLET_XML)
16
+ @test_object = XMLUtility.new(TestFiles::TEMP_PORTLET_XML)
17
+ @test_class_constant = XMLUtility
18
+ end
19
+
20
+ def teardown
21
+ #clean_up
22
+ end
23
+
24
+ def test_read_file_returns_content
25
+ refute_nil @test_object.xml_content
26
+ end
27
+
28
+ def test_write_file
29
+ FileUtils.remove(TestFiles::TEMP_PORTLET_XML)
30
+ assert_equal(false,File.exist?(TestFiles::TEMP_PORTLET_XML),"XML content file was not deleted.")
31
+ @test_object.write_xml_content
32
+ assert_equal(true,File.exist?(TestFiles::TEMP_PORTLET_XML),"XMLUtility did not write file")
33
+ end
34
+
35
+
36
+ end
37
+ end
data/test/service.xml ADDED
@@ -0,0 +1,233 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd">
3
+ <service-builder
4
+ package-path="mil.army.hrc.ikrome.cybertools.dataaccess">
5
+ <author>rowebs</author>
6
+ <namespace>cybertools</namespace>
7
+
8
+ <entity name="ChatResponse" local-service="true" remote-service="true">
9
+
10
+ <!-- PK fields -->
11
+
12
+ <column name="responseId" type="long" primary="true" />
13
+
14
+ <!-- Audit fields -->
15
+
16
+ <column name="companyId" type="long" />
17
+ <column name="createdByUserId" type="long" />
18
+ <column name="createdByUserName" type="String" />
19
+ <column name="createDate" type="Date" />
20
+ <column name="modifiedDate" type="Date" />
21
+ <column name="modifiedByUserId" type="long" />
22
+ <column name="modifiedByUserName" type="String" />
23
+
24
+ <!-- Other fields -->
25
+
26
+ <column name="title" type="String" />
27
+ <column name="firstContent" type="String" />
28
+ <column name="secondContent" type="String" />
29
+ <column name="viewCount" type="long" />
30
+ <column name="viewedDate" type="Date" />
31
+
32
+ <!-- Order -->
33
+
34
+ <order by="asc">
35
+ <order-column name="title" />
36
+ </order>
37
+
38
+ <!-- Finder methods -->
39
+
40
+ <finder name="modifiedDateLessThan" return-type="Collection">
41
+ <finder-column name="modifiedDate" comparator="&lt;=" />
42
+ </finder>
43
+ <finder name="LastViewDateOlderThan" return-type="Collection">
44
+ <finder-column name="viewedDate" comparator="&lt;=" />
45
+ </finder>
46
+
47
+ <finder name="contentLike" return-type="Collection">
48
+ <finder-column name="firstContent" comparator="LIKE" />
49
+ <finder-column name="secondContent" comparator="LIKE" />
50
+ </finder>
51
+ </entity>
52
+ <entity name="CyberToolsProperty" local-service="true" remote-service="true">
53
+
54
+ <!-- PK fields -->
55
+
56
+ <column name="propertyName" type="String" primary="true" />
57
+
58
+ <!-- Audit fields -->
59
+
60
+ <column name="companyId" type="long" />
61
+ <column name="createDate" type="Date" />
62
+ <column name="modifiedDate" type="Date" />
63
+ <column name="modifiedByUserId" type="long" />
64
+
65
+
66
+ <!-- Other fields -->
67
+
68
+ <column name="propertyValue" type="String" />
69
+
70
+ <!-- Order -->
71
+
72
+ <order by="asc">
73
+ <order-column name="propertyName" />
74
+ </order>
75
+
76
+ <!-- Finder methods -->
77
+
78
+
79
+
80
+ </entity>
81
+ <entity name="MOSKeyword" local-service="true" remote-service="true">
82
+ <column name="keyword" type="String" primary ="true" />
83
+
84
+ <!-- Audit fields -->
85
+
86
+ <order by="asc">
87
+ <order-column name="keyword" />
88
+ </order>
89
+ </entity>
90
+
91
+ <entity name="MOSData" local-service="true" remote-service="true">
92
+
93
+ <!-- PK fields -->
94
+ <column name="mosDataId" type="long" primary="true" />
95
+ <column name="mosId" type="String" />
96
+
97
+ <!-- Audit fields -->
98
+
99
+ <column name="keywords" type="String" />
100
+ <column name="createDate" type="Date" />
101
+ <column name="modifiedDate" type="Date" />
102
+ <column name="modifiedByUserId" type="long" />
103
+ <column name="companyId" type="long" />
104
+
105
+
106
+ <!-- Other fields -->
107
+
108
+ <column name="title" type="String" />
109
+ <column name="notes" type="String" />
110
+ <column name="term" type="int" />
111
+ <column name="clearance" type="String" />
112
+ <column name="citizenship" type="String" />
113
+ <column name="vision" type="String" />
114
+ <column name="driversLicense" type="String" />
115
+ <column name="gender" type="String" />
116
+ <column name="ait" type="String" />
117
+ <column name="length" type="String" />
118
+ <column name="linkData" type="String" />
119
+
120
+ <!-- Test Scores -->
121
+ <column name="gt" type="int" />
122
+ <column name="gm" type="int" />
123
+ <column name="el" type="int" />
124
+ <column name="cl" type="int" />
125
+ <column name="mm" type="int" />
126
+ <column name="sc" type="int" />
127
+ <column name="co" type="int" />
128
+ <column name="fa" type="int" />
129
+ <column name="ofscore" type="int" />
130
+ <column name="st" type="int" />
131
+
132
+
133
+ <!-- Order -->
134
+
135
+ <order by="asc">
136
+ <order-column name="mosId" />
137
+ </order>
138
+
139
+ <!-- Finder methods -->
140
+ <finder name="Category" return-type="Collection">
141
+ <finder-column name="keywords" />
142
+ </finder>
143
+ <finder name="name" return-type="MOSData">
144
+ <finder-column name="mosId" />
145
+ </finder>
146
+
147
+
148
+ </entity>
149
+
150
+ <entity name="ReferenceArea" local-service="true" remote-service="true">
151
+ <column name="referenceAreaId" primary="true" type="long"></column>
152
+ <column name="name" type="String"></column>
153
+ <order>
154
+ <order-column name="name" order-by="asc"></order-column>
155
+ </order>
156
+ <finder name="RefName" return-type="Collection">
157
+ <finder-column name="name" />
158
+ </finder>
159
+ </entity>
160
+ <entity name="ReferenceInfo" local-service="true" remote-service="true">
161
+ <column name="referenceInfoId" type="long" primary="true"></column>
162
+ <column name="referenceAreaId" type="long"></column>
163
+ <column name="title" type="String"></column>
164
+ <column name="createdDate" type="Date"></column>
165
+ <column name="createdBy" type="String"></column>
166
+ <column name="lastModifiedDate" type="Date"></column>
167
+ <column name="lastModifiedBy" type="String"></column>
168
+ <column name="documentId" type="String"></column>
169
+ <column name="data" type="String"></column>
170
+ <column name="viewCount" type="long"></column>
171
+ <column name="lastViewDate" type="Date"></column>
172
+ <order by="asc">
173
+ <order-column name="title"></order-column>
174
+ <order-column name="referenceAreaId"></order-column>
175
+ </order>
176
+ <finder name="AreaId" return-type="Collection">
177
+ <finder-column name="referenceAreaId"/>
178
+ </finder>
179
+ <finder name="LastViewDateOlderThan" return-type="Collection">
180
+ <finder-column name="lastViewDate" comparator="&lt;=" />
181
+ </finder>
182
+ </entity>
183
+
184
+ <entity name="GirthEntry" table="HEIGHT_WEIGHT_VIEW" local-service="true" remote-service="true"
185
+ data-source="lemaDataSource" session-factory="lemaSessionFactory"
186
+ tx-manager="lemaTransactionManager">
187
+
188
+ <!-- PK fields -->
189
+
190
+ <column name="Height" type="int" primary="true" />
191
+
192
+ <column name="MaxWeight" type="int" />
193
+ <column name="NPSMaxWeight" type="int" />
194
+ <column name="Sex" type="String" primary="true"/>
195
+ <column name="FromAge" type="int" primary="true" />
196
+ <column name="ToAge" type="int" />
197
+ <column name="MinWeight" type="int" />
198
+ <column name="NPSMinWeight" type="int" />
199
+ <column name="BFM_PERCENT" type="int" />
200
+ <column name="NPS_BFM_PERCENT" type="int" />
201
+
202
+ <order by="asc">
203
+ <order-column name="Height" />
204
+ </order>
205
+
206
+ <!-- Finder methods -->
207
+ <finder name="ageheightg" return-type="Collection">
208
+ <finder-column name="Height" />
209
+ <finder-column name="FromAge" comparator="&lt;="/>
210
+ <finder-column name="ToAge" comparator="&gt;="/>
211
+ <finder-column name="Sex" />
212
+ </finder>
213
+ </entity>
214
+
215
+ <!-- We only use local service here, as we only ever read. -->
216
+ <entity name="BasePayEntry" local-service="true" remote-service="false" data-source="lemaDataSource" session-factory="lemaSessionFactory" tx-manager="lemaTransactionManager" table="BASE_PAY_VIEW">
217
+ <column name="rank" type="String" primary="true"/>
218
+ <column name="armyType" type="String" primary="true" />
219
+ <column name="trainingType" type="String" primary="true" />
220
+ <column name="compensation" type="double" />
221
+ <column name="yearsActive" type="int" primary="true" />
222
+
223
+ <order by="asc">
224
+ <order-column name="armyType" order-by="asc" />
225
+ <order-column name="trainingType" order-by="desc" />
226
+ </order>
227
+
228
+ <finder name="RankAndYis" return-type="Collection">
229
+ <finder-column name="rank" />
230
+ <finder-column name="yearsActive" />
231
+ </finder>
232
+ </entity>
233
+ </service-builder>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0"?>
2
+ <portlet-app schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
3
+ <portlet>
4
+ <portlet-name>bob-list</portlet-name>
5
+ <display-name>bob-list</display-name>
6
+ <portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
7
+ <init-param>
8
+ <name>view-template</name>
9
+ <value>/view.jsp</value>
10
+ </init-param>
11
+ <expiration-cache>0</expiration-cache>
12
+ <supports>
13
+ <mime-type>text/html</mime-type>
14
+ </supports>
15
+ <portlet-info>
16
+ <title>bob-list</title>
17
+ <short-title>bob-list</short-title>
18
+ <keywords>bob-list</keywords>
19
+ </portlet-info>
20
+ <security-role-ref>
21
+ <role-name>administrator</role-name>
22
+ </security-role-ref>
23
+ <security-role-ref>
24
+ <role-name>guest</role-name>
25
+ </security-role-ref>
26
+ <security-role-ref>
27
+ <role-name>power-user</role-name>
28
+ </security-role-ref>
29
+ <security-role-ref>
30
+ <role-name>user</role-name>
31
+ </security-role-ref>
32
+ </portlet>
33
+ </portlet-app>
@@ -0,0 +1,32 @@
1
+ require_relative '../lib/r_liferay_lib/prepare_portlet_service'
2
+
3
+ class TestFiles
4
+
5
+ TEMP_DIR = './test/temp'
6
+
7
+ TEMPLATE_DIR = './lib/r_liferay_lib/portlet_service_templates/'
8
+
9
+ WEB_INF_DIR = TEMP_DIR + '/' + RLiferayLib::PreparePortletService::WEB_INF_DIR
10
+ JSP_DIR = TEMP_DIR + '/' + RLiferayLib::PreparePortletService::JSP_DIR
11
+ JAVA_DIR = TEMP_DIR + '/' + RLiferayLib::PreparePortletService::JAVA_DIR
12
+
13
+ PORTLET_XML = './test/portlet.xml'
14
+ TEMP_PORTLET_XML = "#{WEB_INF_DIR}/portlet.xml"
15
+
16
+ TEMP_PLUGIN_PACKAGE_FILE = "#{WEB_INF_DIR}/liferay-plugin-package.properties"
17
+
18
+ TEMP_VIEW_JSP = "#{JSP_DIR}/view.jsp"
19
+ TEMP_INIT_JSP = "#{JSP_DIR}/init.jsp"
20
+ TEMP_EDIT_JSP = "#{JSP_DIR}/edit.jsp"
21
+ TEMP_ADD_JSP = "#{JSP_DIR}/add.jsp"
22
+
23
+ SERVICE_XML = './test/service.xml'
24
+
25
+ POM_XML = './test/pom.xml'
26
+
27
+ VIEW_JSP = './lib/r_liferay_lib/portlet_service_templates/view.jsp.erb'
28
+ INIT_JSP = './lib/r_liferay_lib/portlet_service_templates/init.jsp.erb'
29
+
30
+ end
31
+
32
+
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: RLiferayTool
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Chris Lynch, Mike Zanchi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.17'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '0.17'
69
+ description: A tool to generate opinionated code for a Liferay maven portlet-service
70
+ project. You must be in the root folder of the Liferay Maven Portlet-Service project.
71
+ email: chrislynch42@yahoo.com
72
+ executables:
73
+ - r_liferay_tool
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - lib/r_liferay_tool.rb
78
+ - test/liferay-plugin-package.properties
79
+ - test/pom.xml
80
+ - test/portlet.xml
81
+ - test/r_liferay_lib/buildup_mixin.rb
82
+ - test/r_liferay_lib/cleanup_mixin.rb
83
+ - test/r_liferay_lib/test_prepare_portlet.rb
84
+ - test/r_liferay_lib/test_r_liferay_tool.rb
85
+ - test/r_liferay_lib/test_read_pom.rb
86
+ - test/r_liferay_lib/test_read_service.rb
87
+ - test/r_liferay_lib/test_template_utility.rb
88
+ - test/r_liferay_lib/test_xml_utility.rb
89
+ - test/service.xml
90
+ - test/temp/src/main/webapp/WEB-INF/portlet.xml
91
+ - test/test_helper.rb
92
+ - bin/r_liferay_tool
93
+ homepage: https://github.com/ChrisLynch42/RLiferayTool
94
+ licenses:
95
+ - GPL v3
96
+ metadata: {}
97
+ post_install_message:
98
+ rdoc_options: []
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubyforge_project:
113
+ rubygems_version: 2.1.10
114
+ signing_key:
115
+ specification_version: 4
116
+ summary: A tool to generate opinionated code for a Liferay maven portlet-service project.
117
+ test_files:
118
+ - test/liferay-plugin-package.properties
119
+ - test/pom.xml
120
+ - test/portlet.xml
121
+ - test/r_liferay_lib/buildup_mixin.rb
122
+ - test/r_liferay_lib/cleanup_mixin.rb
123
+ - test/r_liferay_lib/test_prepare_portlet.rb
124
+ - test/r_liferay_lib/test_r_liferay_tool.rb
125
+ - test/r_liferay_lib/test_read_pom.rb
126
+ - test/r_liferay_lib/test_read_service.rb
127
+ - test/r_liferay_lib/test_template_utility.rb
128
+ - test/r_liferay_lib/test_xml_utility.rb
129
+ - test/service.xml
130
+ - test/temp/src/main/webapp/WEB-INF/portlet.xml
131
+ - test/test_helper.rb