Skip to content

Commit a9d93d2

Browse files
committed
Add sample project structure
0 parents  commit a9d93d2

25 files changed

+710
-0
lines changed

.editorconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Unix-style newlines with a newline ending every file
7+
[*]
8+
end_of_line = lf
9+
insert_final_newline = true
10+
11+
# Matches multiple files with brace expansion notation
12+
# Set default charset
13+
[*.{js,py}]
14+
charset = utf-8
15+
16+
# 4 space indentation
17+
[*.{groovy,java}]
18+
indent_style = space
19+
indent_size = 4

.gitignore

+271
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
2+
# Created by https://www.gitignore.io/api/linux,macos,maven,gradle,windows,eclipse,intellij+all,visualstudiocode
3+
# Edit at https://www.gitignore.io/?templates=linux,macos,maven,gradle,windows,eclipse,intellij+all,visualstudiocode
4+
5+
### Eclipse ###
6+
.metadata
7+
bin/
8+
tmp/
9+
*.tmp
10+
*.bak
11+
*.swp
12+
*~.nib
13+
local.properties
14+
.settings/
15+
.loadpath
16+
.recommenders
17+
18+
# External tool builders
19+
.externalToolBuilders/
20+
21+
# Locally stored "Eclipse launch configurations"
22+
*.launch
23+
24+
# PyDev specific (Python IDE for Eclipse)
25+
*.pydevproject
26+
27+
# CDT-specific (C/C++ Development Tooling)
28+
.cproject
29+
30+
# CDT- autotools
31+
.autotools
32+
33+
# Java annotation processor (APT)
34+
.factorypath
35+
36+
# PDT-specific (PHP Development Tools)
37+
.buildpath
38+
39+
# sbteclipse plugin
40+
.target
41+
42+
# Tern plugin
43+
.tern-project
44+
45+
# TeXlipse plugin
46+
.texlipse
47+
48+
# STS (Spring Tool Suite)
49+
.springBeans
50+
51+
# Code Recommenders
52+
.recommenders/
53+
54+
# Annotation Processing
55+
.apt_generated/
56+
57+
# Scala IDE specific (Scala & Java development for Eclipse)
58+
.cache-main
59+
.scala_dependencies
60+
.worksheet
61+
62+
### Eclipse Patch ###
63+
# Eclipse Core
64+
.project
65+
66+
# JDT-specific (Eclipse Java Development Tools)
67+
.classpath
68+
69+
# Annotation Processing
70+
.apt_generated
71+
72+
.sts4-cache/
73+
74+
### Intellij+all ###
75+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
76+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
77+
78+
# User-specific stuff
79+
.idea/**/workspace.xml
80+
.idea/**/tasks.xml
81+
.idea/**/usage.statistics.xml
82+
.idea/**/dictionaries
83+
.idea/**/shelf
84+
85+
# Generated files
86+
.idea/**/contentModel.xml
87+
88+
# Sensitive or high-churn files
89+
.idea/**/dataSources/
90+
.idea/**/dataSources.ids
91+
.idea/**/dataSources.local.xml
92+
.idea/**/sqlDataSources.xml
93+
.idea/**/dynamic.xml
94+
.idea/**/uiDesigner.xml
95+
.idea/**/dbnavigator.xml
96+
97+
# Gradle
98+
.idea/**/gradle.xml
99+
.idea/**/libraries
100+
101+
# Gradle and Maven with auto-import
102+
# When using Gradle or Maven with auto-import, you should exclude module files,
103+
# since they will be recreated, and may cause churn. Uncomment if using
104+
# auto-import.
105+
# .idea/modules.xml
106+
# .idea/*.iml
107+
# .idea/modules
108+
# *.iml
109+
# *.ipr
110+
111+
# CMake
112+
cmake-build-*/
113+
114+
# Mongo Explorer plugin
115+
.idea/**/mongoSettings.xml
116+
117+
# File-based project format
118+
*.iws
119+
120+
# IntelliJ
121+
out/
122+
123+
# mpeltonen/sbt-idea plugin
124+
.idea_modules/
125+
126+
# JIRA plugin
127+
atlassian-ide-plugin.xml
128+
129+
# Cursive Clojure plugin
130+
.idea/replstate.xml
131+
132+
# Crashlytics plugin (for Android Studio and IntelliJ)
133+
com_crashlytics_export_strings.xml
134+
crashlytics.properties
135+
crashlytics-build.properties
136+
fabric.properties
137+
138+
# Editor-based Rest Client
139+
.idea/httpRequests
140+
141+
# Android studio 3.1+ serialized cache file
142+
.idea/caches/build_file_checksums.ser
143+
144+
### Intellij+all Patch ###
145+
# Ignores the whole .idea folder and all .iml files
146+
# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
147+
148+
.idea/
149+
150+
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
151+
152+
*.iml
153+
modules.xml
154+
.idea/misc.xml
155+
*.ipr
156+
157+
# Sonarlint plugin
158+
.idea/sonarlint
159+
160+
### Linux ###
161+
*~
162+
163+
# temporary files which can be created if a process still has a handle open of a deleted file
164+
.fuse_hidden*
165+
166+
# KDE directory preferences
167+
.directory
168+
169+
# Linux trash folder which might appear on any partition or disk
170+
.Trash-*
171+
172+
# .nfs files are created when an open file is removed but is still being accessed
173+
.nfs*
174+
175+
### macOS ###
176+
# General
177+
.DS_Store
178+
.AppleDouble
179+
.LSOverride
180+
181+
# Icon must end with two \r
182+
Icon
183+
184+
# Thumbnails
185+
._*
186+
187+
# Files that might appear in the root of a volume
188+
.DocumentRevisions-V100
189+
.fseventsd
190+
.Spotlight-V100
191+
.TemporaryItems
192+
.Trashes
193+
.VolumeIcon.icns
194+
.com.apple.timemachine.donotpresent
195+
196+
# Directories potentially created on remote AFP share
197+
.AppleDB
198+
.AppleDesktop
199+
Network Trash Folder
200+
Temporary Items
201+
.apdisk
202+
203+
### Maven ###
204+
target/
205+
pom.xml.tag
206+
pom.xml.releaseBackup
207+
pom.xml.versionsBackup
208+
pom.xml.next
209+
release.properties
210+
dependency-reduced-pom.xml
211+
buildNumber.properties
212+
.mvn/timing.properties
213+
.mvn/wrapper/maven-wrapper.jar
214+
215+
### VisualStudioCode ###
216+
.vscode/*
217+
!.vscode/settings.json
218+
!.vscode/tasks.json
219+
!.vscode/launch.json
220+
!.vscode/extensions.json
221+
222+
### VisualStudioCode Patch ###
223+
# Ignore all local history of files
224+
.history
225+
226+
### Windows ###
227+
# Windows thumbnail cache files
228+
Thumbs.db
229+
Thumbs.db:encryptable
230+
ehthumbs.db
231+
ehthumbs_vista.db
232+
233+
# Dump file
234+
*.stackdump
235+
236+
# Folder config file
237+
[Dd]esktop.ini
238+
239+
# Recycle Bin used on file shares
240+
$RECYCLE.BIN/
241+
242+
# Windows Installer files
243+
*.cab
244+
*.msi
245+
*.msix
246+
*.msm
247+
*.msp
248+
249+
# Windows shortcuts
250+
*.lnk
251+
252+
### Gradle ###
253+
.gradle
254+
build/
255+
256+
# Ignore Gradle GUI config
257+
gradle-app.setting
258+
259+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
260+
!gradle-wrapper.jar
261+
262+
# Cache of project
263+
.gradletasknamecache
264+
265+
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
266+
# gradle/wrapper/gradle-wrapper.properties
267+
268+
### Gradle Patch ###
269+
**/build/
270+
271+
# End of https://www.gitignore.io/api/linux,macos,maven,gradle,windows,eclipse,intellij+all,visualstudiocode

README.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# <Extension name\>This extension ....
2+
3+
- Extensions: 1
4+
- Utilities: 0
5+
- Size: Small
6+
- Complexity: Simple
7+
8+
# Extension logic
9+
## Triggers
10+
Trigger definition can be found in [metadata file](src/main/resources/metadata.yaml).
11+
12+
## Workflow
13+
The extension perform following actions:
14+
- Retrieve info from xxx
15+
- Calculate yyy
16+
- Set return value to zzz
17+
18+
# Dependencies
19+
## M3 Data
20+
The extension needs freight information in xxxx
21+
22+
## Utilities
23+
The extension uses a utility for ...
24+
25+
## Java/Groovy libraries
26+
The extension uses following Java libraries
27+
- `groovy.json.JsonSlurper`
28+
29+
## Others
30+
N/A
31+
32+
# Caveats
33+
The extension does not have support for xx

lib/DBActionAPI.groovy

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
interface DBActionAPI<T> {
2+
boolean read(DBContainerAPI container)
3+
boolean readLock(DBContainerAPI container, Closure<?> callback)
4+
int readAll(DBContainerAPI keyContainer, int nrOfKeys, Closure<?> callback)
5+
boolean insert(DBContainerAPI container)
6+
boolean insert(DBContainerAPI container, Closure<?> callback)
7+
DBContainerAPI createContainer()
8+
DBContainerAPI getContainer()
9+
}

lib/DBContainerAPI.groovy

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
interface DBContainerAPI<T> {
2+
3+
}

lib/DatabaseAPI.groovy

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
interface DatabaseAPI<T> {
2+
DatabaseAPI<T> index(String lf)
3+
DatabaseAPI<T> table(String table)
4+
DatabaseAPI<T> selection(String... columns)
5+
DatabaseAPI<T> matching(ExpressionFactoryAPI exp)
6+
DBActionAPI<T> build()
7+
ExpressionFactoryAPI getExpressionFactory(String table)
8+
DBContainerAPI createContainer(String table)
9+
DBContainerAPI getContainer(String table)
10+
}

lib/DisplayAPI.groovy

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
interface DisplayAPI {
2+
Map<Object, Object> getFields()
3+
void setFocus(String fieldName)
4+
}

lib/Expression.groovy

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
interface Expression {
2+
3+
}

lib/ExpressionFactoryAPI.groovy

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
interface ExpressionFactoryAPI {
2+
ExpressionFactoryAPI eq(String columnName, String value)
3+
ExpressionFactoryAPI gt(String columnName, String value)
4+
ExpressionFactoryAPI lt(String columnName, String value)
5+
ExpressionFactoryAPI ge(String columnName, String value)
6+
ExpressionFactoryAPI le(String columnName, String value)
7+
ExpressionFactoryAPI ne(String columnName, String value)
8+
ExpressionFactoryAPI like(String columnName, String value)
9+
ExpressionFactoryAPI between(String columnName, String fromValue, String toValue)
10+
ExpressionFactoryAPI and(ExpressionFactoryAPI rightExp)
11+
ExpressionFactoryAPI or(ExpressionFactoryAPI rightExp)
12+
Expression getExpression()
13+
}

lib/ExtensionAPI.groovy

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
interface ExtensionAPI {
2+
String getName()
3+
String getCreator()
4+
String getLastModifiedBy()
5+
}

lib/IndicatorAPI.groovy

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
interface IndicatorAPI {
2+
boolean get(int indicatorNumber)
3+
}

lib/InteractiveAPI.groovy

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
interface InteractiveAPI {
2+
DisplayAPI getDisplay()
3+
void showInfo(String messageId)
4+
void showInfo(String messageId, String messageData)
5+
void showCustomInfo(String message)
6+
void showError(String fieldName, String messageId, String messageData)
7+
void showError(String fieldName, String messageId)
8+
void showCustomError(String fieldName, String message)
9+
String getMode()
10+
String getSelectedListOption()
11+
void showWarningDialog(String message)
12+
boolean showOkDialog(String message)
13+
boolean showOkCancelDialog(String message)
14+
boolean showYesNoDialog(String message)
15+
}

0 commit comments

Comments
 (0)