Compare commits

...

2210 commits

Author SHA1 Message Date
38181e8e00
Update repo URL 2025-03-01 19:32:20 +01:00
8adbd23569
Bump year of copyright notice 2025-03-01 19:32:06 +01:00
e3a7732837
Escape HTML elements in commit messages 2025-03-01 19:21:42 +01:00
d9d3c9b863
Add release notes generated with git-cliff
All checks were successful
Release / release (push) Successful in 31s
2025-03-01 16:57:02 +01:00
808bc48ab9
Run the build workflow when itself has changed
All checks were successful
Build / build (push) Successful in 23s
2025-02-28 22:15:00 +01:00
6ebdd6aa31
Leave aside compiling for different Java versions for now 2025-02-28 22:15:00 +01:00
2ff29317e5
Gradle is installed on the runner 2025-02-28 22:09:55 +01:00
84333d05cd
Use fully qualified URL for setup-java action 2025-02-28 22:04:48 +01:00
3a8997ca5c
Initial commit
Some checks failed
Build / build (11) (push) Failing after 0s
Build / build (17) (push) Failing after 0s
Build / build (21) (push) Failing after 0s
2025-02-28 21:58:08 +01:00
8212600d40
Add deploy script usable with rsync and a restricted SSH key 2025-02-28 21:43:19 +01:00
1bb5a093da
Re-enable creating the release at Github after install of gh client
All checks were successful
Release / build (push) Successful in 26s
2025-02-15 19:49:13 +01:00
2c6dd96cd7
Merge branch 'main' into renovate/commons-codec-commons-codec-1.x 2025-02-15 18:39:26 +01:00
6f6ea55b7b Update dependency com.google.code.gson:gson to v2.12.1 2025-02-15 17:36:51 +00:00
b1a14ad87b Update dependency commons-logging:commons-logging to v1.3.5 2025-02-15 17:36:40 +00:00
d1ead6e081 Update Jetty packages to v9.4.57.v20241219 2025-02-15 17:36:29 +00:00
94557dd28e Update dependency gradle to v8.12.1 2025-02-15 17:35:46 +00:00
5bfcd0b6ea
Distinguish the (currently bogus) GitHub release workflows by name
All checks were successful
Release / build (push) Successful in 26s
2025-02-15 16:43:05 +01:00
70337bda40
Add a custom name for the release workflow 2025-02-15 16:43:05 +01:00
ff4b4b0f07
Set the release title to today’s date as formatted string 2025-02-15 16:43:05 +01:00
156db3ee98
Try Forgejo action to create a release 2025-02-15 15:25:36 +01:00
45adacd5cd
Use name and URL of actual production environment 2025-02-15 15:25:13 +01:00
dd9e473310
Fix botched test of required Java version 2025-02-09 13:23:21 +01:00
e2e67cf2cc Update dependency commons-codec:commons-codec to v1.18.0 2025-01-27 18:13:44 +00:00
f7add5ec47
Looks like setting the LOG_LEVEL variable in the env section does not work
Setting it before the npx command does
2025-01-03 16:20:01 +01:00
0fc7d91348
Always save the Renovate log 2025-01-03 16:16:27 +01:00
1341c241bd
Replace Renovate autodiscovery with explicitly setting the repository 2025-01-03 16:16:27 +01:00
6d355fc5bd
Allow manual trigger of Renovate workflow 2025-01-03 15:55:49 +01:00
d18513fb76
Downgrade upload-artifact action again
v4 causes an error
2025-01-03 15:55:09 +01:00
d10f8d6d90
Replace elaborate checks for Java version with single one for Java 11 2025-01-03 15:54:42 +01:00
66fa98353e
Add the actual version string to helma.main.Server again 2025-01-03 15:54:42 +01:00
c2b37a8243
Update workflows for Forgejo runner 2025-01-03 13:35:33 +01:00
0c9b00dbb1 Merge pull request 'Update actions/upload-artifact action to v4' (#122) from renovate/major-github-artifact-actions into helma-🐜
Reviewed-on: #122
2025-01-03 12:01:15 +00:00
c1e9371f6b Update .github/workflows/renovate.yml 2025-01-03 11:59:50 +00:00
3284a1ca19 Update actions/upload-artifact action to v4 2025-01-03 11:57:30 +00:00
cbb6599ce0 Add Renovate workflow 2025-01-03 11:46:46 +00:00
49c1be97bb
Merge pull request #75 from antville/renovate/org.mozilla-rhino-1.x
Update dependency org.mozilla:rhino to v1.8.0
2025-01-03 11:08:53 +01:00
31bdcc6c27
Merge remote-tracking branch 'origin/renovate/org.mozilla-rhino-1.x' into renovate/org.mozilla-rhino-1.x 2025-01-03 11:01:24 +01:00
bdd4f7e280
Merge remote-tracking branch 'origin/helma-🐜' into helma-🐜 2025-01-03 10:49:14 +01:00
154a4a916a
Merge pull request #117 from antville/renovate/gradle-8.x
Update dependency gradle to v8.12
2025-01-03 10:44:22 +01:00
renovate[bot]
28887aaccd
Update dependency org.mozilla:rhino to v1.8.0 2025-01-03 09:32:00 +00:00
a00e2f730a
Merge pull request #118 from antville/renovate/jetty-packages
Update Jetty packages to v9.4.56.v20240826
2025-01-03 10:31:18 +01:00
9c2c603d4a
Merge pull request #110 from antville/renovate/com.github.jk1.dependency-license-report-2.x
Update plugin com.github.jk1.dependency-license-report to v2.9
2025-01-03 10:24:46 +01:00
b0260259ea
Merge pull request #111 from antville/renovate/commons-net-commons-net-3.x
Update dependency commons-net:commons-net to v3.11.1
2025-01-03 10:18:45 +01:00
renovate[bot]
d3098c892f
Update dependency commons-net:commons-net to v3.11.1 2025-01-03 09:12:13 +00:00
a5fa58dc3d
Merge pull request #119 from antville/renovate/commons-logging-commons-logging-1.x
Update dependency commons-logging:commons-logging to v1.3.4
2025-01-03 10:11:30 +01:00
20ea2a8fb9
Merge pull request #120 from antville/renovate/commons-codec-commons-codec-1.x
Update dependency commons-codec:commons-codec to v1.17.1
2025-01-03 10:09:28 +01:00
de34e49fc0
Merge pull request #121 from antville/renovate/gradle-actions-4.x
Update gradle/actions action to v4
2025-01-03 10:03:26 +01:00
f7fe09a294
Switch to rhino-all.jar, Helma needs the full Rhino experience 2025-01-03 09:53:53 +01:00
renovate[bot]
4ebbcb01ae
Update dependency org.mozilla:rhino to v1.8.0 2025-01-03 08:07:29 +00:00
renovate[bot]
e93c501149
Update dependency gradle to v8.12 2024-12-20 17:56:06 +00:00
renovate[bot]
3809198380
Update Jetty packages to v9.4.56.v20240826 2024-09-03 19:04:35 +00:00
renovate[bot]
65ac2df0ba
Update dependency commons-logging:commons-logging to v1.3.4 2024-08-19 14:24:50 +00:00
renovate[bot]
12e7f298ad
Update plugin com.github.jk1.dependency-license-report to v2.9 2024-08-15 18:27:04 +00:00
3365a2ef58
Fix ExecReload setting in service configuration 2024-08-08 23:00:08 +02:00
44f2375749
Update URL of stage environment 2024-08-08 19:35:22 +02:00
renovate[bot]
a975930192
Update gradle/actions action to v4 2024-08-03 22:55:47 +00:00
renovate[bot]
a54b27c4aa
Update dependency commons-codec:commons-codec to v1.17.1 2024-07-16 02:34:32 +00:00
608fd695c4
Switch to tasks.register() to define custom tasks 2024-06-15 23:08:45 +02:00
87675fd6cd
Fix deprecation warning for Java plugin conventions 2024-06-15 23:01:45 +02:00
efb7ad89b3
Add static fields for build date and commit hash 2024-06-15 22:43:26 +02:00
5de4616df0
Use main website as environment 2024-06-15 21:37:17 +02:00
bd70d2fb62
Disable automatic deployment 2024-06-15 21:37:17 +02:00
0f8bace3dd
Keep the lib/ext directory around 2024-06-15 21:37:17 +02:00
c1ad40ef72
Remove over-complicated launch and tasks configuration in favor of Gradle plugin
Starting run/debug tasks with the plugin works out of the box;
one just has to avoid the default “Run and Debug” button.
2024-06-15 21:37:17 +02:00
6b694a83ed
Add setup for Gradle debugging in VS Codium 2024-06-15 21:37:16 +02:00
79b7e8092b
Decouple update task from install
Now that Gradle runs Helma with the configured dependencies, updating the installation directory has become less crucial
2024-06-15 21:37:16 +02:00
196794cd93
Reorder the tasks 2024-06-15 21:37:16 +02:00
ed56cf72f7
Slightly modify the version string (still a date representation) 2024-06-15 21:37:16 +02:00
3a9c14898b
Update run configuration to always use the correct dependencies 2024-06-15 21:37:16 +02:00
82c32bb448
Slightly modify the format of the build date 2024-06-15 21:37:16 +02:00
def303c069
Define Java versions in a more general way 2024-06-15 12:19:28 +02:00
64bcb63e4a
Merge pull request #116 from antville/revert-112-renovate/gradle-8.x
Revert "Update dependency gradle to v8.8"
2024-06-14 23:01:39 +02:00
55dbc0359c
Revert "Update dependency gradle to v8.8" 2024-06-14 23:00:48 +02:00
f2feef4332
Use generic name for the staging server 2024-06-01 22:28:24 +02:00
14ccdf0691
Add deployment workflow 2024-06-01 20:54:35 +02:00
4ae840d3c9
Add reusable workflow for setting up SSH agent 2024-06-01 20:21:36 +02:00
132f8f4d7d
Revert "Bump minimum Java version to 17 (LTS)"
This reverts commit ebf9b22f55.
2024-06-01 18:56:08 +02:00
048cdc39f5
Merge pull request #112 from antville/renovate/gradle-8.x
Update dependency gradle to v8.8
2024-06-01 15:52:15 +02:00
renovate[bot]
6d7774fd2e
Update dependency gradle to v8.8 2024-05-31 23:22:22 +00:00
0e8ce1d7a7
Slightly reconfigure, reword and format workflow config 2024-05-31 13:14:34 +02:00
57642f6f10
Use today’s date as release title 2024-05-30 20:25:44 +02:00
dd0bdc62ec
Fix setup of GitHub token 2024-05-30 20:22:14 +02:00
renovate[bot]
656a023b27
Update dependency com.google.code.gson:gson to v2.11.0 2024-05-30 20:22:13 +02:00
7c52b6ba46
Add release action 2024-05-30 20:22:13 +02:00
47f7b19fe9
Merge remote-tracking branch 'origin/helma-🐜' into helma-🐜 2024-05-30 18:48:34 +02:00
ebf9b22f55
Bump minimum Java version to 17 (LTS) 2024-05-25 19:34:10 +02:00
399f81c1dc
Merge pull request #107 from antville/resolve-java-warnings
Resolve java warnings
2024-05-25 18:52:37 +02:00
d02dd85a45
Merge pull request #108 from antville/fix-javadoc-warnings
Fix JavaDoc warnings
2024-05-25 18:52:36 +02:00
0bfa585cb9
Replace new Boolean() with Boolean.valueOf()
Signed-off-by: Tobi Schäfer <interface@p3k.org>
2024-05-25 18:52:35 +02:00
8ffb7b0b08
Replace new Integer() with Integer.valueOf()
Signed-off-by: Tobi Schäfer <interface@p3k.org>
2024-05-25 18:52:34 +02:00
a68c478dd5
Replace new Double() with Double.valueOf()
Signed-off-by: Tobi Schäfer <interface@p3k.org>
2024-05-25 18:52:34 +02:00
77ea53d949
Fix JavaDoc warnings 2024-05-25 18:52:33 +02:00
2ff75f7879
Replace new Long() with Long.valueOf()
Signed-off-by: Tobi Schäfer <interface@p3k.org>
2024-05-25 18:52:33 +02:00
052bfc0db1
Update README.md
Minor edits
2024-05-25 18:52:32 +02:00
63c5aec4df
Add tasks to set up SSH agent and publish installation 2024-05-25 18:50:11 +02:00
cfbfea51d7
Create staging.yml 2024-05-25 18:50:10 +02:00
bca560e577
Do not run the update task in CI context 2024-05-25 18:50:09 +02:00
7f8c776c57
Upgrade the project dir only selectively on install 2024-05-25 18:50:08 +02:00
7fa9b805d6
Update renovate.json
Group Lucene packages
2024-05-25 18:50:08 +02:00
renovate[bot]
2ecd5b4e36
Update dependency gradle to v8.7 2024-05-25 18:50:07 +02:00
d23268095a
Gradle has an issue with the date-based version string 2024-05-25 18:50:06 +02:00
daf8da61b1 Add tasks to set up SSH agent and publish installation 2024-05-19 01:22:13 +02:00
db4dfd0ba7 Create staging.yml 2024-05-18 23:31:25 +02:00
f0ac6cdb5f Do not run the update task in CI context 2024-05-18 23:31:25 +02:00
d7f9882596 Upgrade the project dir only selectively on install 2024-05-18 23:11:45 +02:00
d6b7c97518 Update renovate.json
Group Lucene packages
2024-05-18 23:11:45 +02:00
renovate[bot]
b984877877 Update dependency gradle to v8.7 2024-05-18 23:11:45 +02:00
1a1b676604 Gradle has an issue with the date-based version string 2024-05-18 17:34:32 +02:00
46dd4a2c31
Merge pull request #102 from antville/renovate/jetty-packages
Update Jetty packages to v9.4.54.v20240208
2024-05-18 17:29:47 +02:00
renovate[bot]
ee2384f35a
Update Jetty packages to v9.4.54.v20240208 2024-05-18 15:19:19 +00:00
d25b8d207e
Update renovate.json
Group Jetty packages
2024-05-18 17:18:31 +02:00
f4cd065c59
Merge pull request #95 from antville/renovate/commons-codec-commons-codec-1.x
Update dependency commons-codec:commons-codec to v1.17.0
2024-05-18 17:12:42 +02:00
4b7f3b216d
Merge pull request #99 from antville/renovate/com.github.jk1.dependency-license-report-2.x
Update plugin com.github.jk1.dependency-license-report to v2.7
2024-05-18 17:07:36 +02:00
23f09d2d4f
Merge pull request #100 from antville/renovate/commons-logging-commons-logging-1.x
Update dependency commons-logging:commons-logging to v1.3.2
2024-05-18 17:01:09 +02:00
renovate[bot]
b6ed068e26
Update plugin com.github.jk1.dependency-license-report to v2.7 2024-05-18 14:51:24 +00:00
e96c224abc
Merge pull request #101 from antville/renovate/maven-dom4j-dom4j-vulnerability
Update dependency dom4j:dom4j to v20040902 [SECURITY]
2024-05-18 16:51:23 +02:00
renovate[bot]
519adc3d37
Update dependency commons-codec:commons-codec to v1.17.0 2024-05-18 14:49:57 +00:00
renovate[bot]
7d57badb94
Update dependency commons-logging:commons-logging to v1.3.2 2024-05-18 14:49:48 +00:00
renovate[bot]
b0e319f3dd
Update dependency dom4j:dom4j to v20040902 [SECURITY] 2024-05-18 14:49:45 +00:00
b8abe5a355
Fix Gradle task dependencies 2024-05-18 16:47:39 +02:00
7fa3f48cff
Pin dependency to version number 2024-05-18 16:47:38 +02:00
d64ca1c7a8
Do not exclude apps directory in Codium 2024-05-18 16:47:37 +02:00
eae2848e9e
Update Codium extensions for Java support 2024-05-18 16:47:36 +02:00
581b17bc72
Update renovate.json 2024-03-24 14:05:18 +01:00
ab116b2af9
Update renovate.json 2024-03-24 14:01:21 +01:00
d7ab9ff461
Update renovate.json 2024-03-24 13:45:44 +01:00
renovate[bot]
fd15c4703f
Update dependency dom4j:dom4j to v20040902 [SECURITY] (#96)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 22:17:28 +00:00
5e1435433a
Add vulnerability alerts 2024-02-10 22:51:46 +01:00
958a3c1cfc Merge remote-tracking branch 'origin/helma-🐜' into helma-🐜 2024-01-07 00:19:24 +01:00
5a4ad8eeda JSDoc issue seems to be fixed 2024-01-07 00:16:06 +01:00
54b9002bf4
Merge pull request #91 from antville/renovate/gradle-8.x
Update dependency gradle to v8.5
2024-01-06 21:33:57 +01:00
2e45fa4b6a
Merge pull request #89 from antville/renovate/org.eclipse.jetty-jetty-servlet-9.x
Update dependency org.eclipse.jetty:jetty-servlet to v9.4.53.v20231009
2024-01-06 21:19:48 +01:00
0fec3244e3
Merge pull request #76 from antville/renovate/commons-codec-commons-codec-1.x
Update dependency commons-codec:commons-codec to v1.16.0
2024-01-06 21:19:07 +01:00
renovate[bot]
aafd5f8a4c
Update dependency org.eclipse.jetty:jetty-servlet to v9.4.53.v20231009 2024-01-06 20:16:57 +00:00
752e4a0df7
Merge pull request #90 from antville/renovate/org.eclipse.jetty-jetty-xml-9.x
Update dependency org.eclipse.jetty:jetty-xml to v9.4.53.v20231009
2024-01-06 21:16:34 +01:00
bf29398ade
Merge pull request #92 from antville/renovate/commons-net-commons-net-3.x
Update dependency commons-net:commons-net to v3.10.0
2024-01-06 21:16:21 +01:00
renovate[bot]
7555411cdc
Update dependency commons-net:commons-net to v3.10.0 2024-01-06 20:16:12 +00:00
2f34fb5e05
Merge pull request #93 from antville/renovate/commons-logging-commons-logging-1.x
Update dependency commons-logging:commons-logging to v1.3.0
2024-01-06 21:15:55 +01:00
6eb1feb5cd
Update helma.service 2024-01-05 21:52:35 +01:00
6eaf097aef Add support for images in webp format 2023-12-30 15:11:41 +01:00
renovate[bot]
48ddd69f19
Update dependency commons-logging:commons-logging to v1.3.0 2023-12-01 05:25:09 +00:00
renovate[bot]
0223cb4ffe
Update dependency gradle to v8.5 2023-11-30 05:38:49 +00:00
renovate[bot]
1fa13b9fef
Update dependency org.eclipse.jetty:jetty-xml to v9.4.53.v20231009 2023-10-10 04:56:08 +00:00
3ccf0af87b
Update renovate.json 2023-08-28 21:10:36 +02:00
0774054470
Update renovate.json 2023-08-28 20:59:58 +02:00
e6a893a52e Remove Dependabot configuration 2023-08-28 19:46:09 +02:00
renovate[bot]
50ef602d42
fix(deps): update dependency commons-codec:commons-codec to v1.16.0 2023-08-27 11:13:38 +00:00
2cff9188cb
Replace Dependabot with Renovate 2023-08-27 13:12:53 +02:00
1540c5d24f
Merge pull request #74 from antville/renovate/configure
Configure Renovate
2023-08-27 12:53:35 +02:00
renovate[bot]
db966fb4e8
Add renovate.json 2023-08-27 10:50:25 +00:00
b04b1cf4bf
Merge pull request #68 from antville/rewrite-for-each-with-for-of
Rewrite `for…each` with `for…of`
2023-08-27 12:13:56 +02:00
d2e09554cd
Merge pull request #73 from antville/jetty-xml-9.4.51-upgrade
Upgrade Jetty XML package to version 9.4.51
2023-08-27 12:11:24 +02:00
647ca18d7b Upgrade Jetty XML package to same version as Jetty servlet 2023-08-27 12:10:26 +02:00
a580f08c17 Upgrade Gradle to latest version 2023-08-27 12:06:10 +02:00
94d6b2d1a1
Merge pull request #71 from antville/dependabot/gradle/com.github.jk1.dependency-license-report-2.5
build(deps): bump com.github.jk1.dependency-license-report from 2.2 to 2.5
2023-08-27 11:36:50 +02:00
d80ad0bf33
Merge pull request #70 from antville/dependabot/gradle/commons-net-commons-net-3.9.0
build(deps): bump commons-net:commons-net from 3.8.0 to 3.9.0
2023-08-27 11:36:42 +02:00
dependabot[bot]
dbb0b6bcfd
build(deps): bump com.github.jk1.dependency-license-report
Bumps com.github.jk1.dependency-license-report from 2.2 to 2.5.

---
updated-dependencies:
- dependency-name: com.github.jk1.dependency-license-report
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-27 09:29:35 +00:00
dependabot[bot]
d419342ee9
build(deps): bump commons-net:commons-net from 3.8.0 to 3.9.0
Bumps commons-net:commons-net from 3.8.0 to 3.9.0.

---
updated-dependencies:
- dependency-name: commons-net:commons-net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-27 09:29:34 +00:00
a7ee467cdc
Group Jetty packages in Dependabot PRs 2023-08-27 11:29:05 +02:00
b812b33213 Merge branch 'helma-🐜' into rewrite-for-each-with-for-of 2023-08-26 23:26:09 +02:00
0e8f04c0f5 Replace for..each loops with for..of 2023-08-26 22:32:44 +02:00
d601ec689d
Merge pull request #65 from antville/dependabot/gradle/org.eclipse.jetty-jetty-servlet-9.4.51.v20230217
build(deps): bump org.eclipse.jetty:jetty-servlet from 9.4.50.v20221201 to 9.4.51.v20230217
2023-08-26 21:44:38 +02:00
6d5288f94b
Merge pull request #64 from antville/dependabot/gradle/com.google.code.gson-gson-2.10.1
build(deps): bump com.google.code.gson:gson from 2.8.9 to 2.10.1
2023-08-26 21:40:37 +02:00
7eae3ba273
Merge pull request #66 from antville/dependabot/gradle/commons-fileupload-commons-fileupload-1.5
build(deps): bump commons-fileupload:commons-fileupload from 1.4 to 1.5
2023-08-26 21:38:29 +02:00
796a6e7337 Enable ES6 features in Rhino 2023-08-26 21:29:54 +02:00
dependabot[bot]
4ca91f5b2e
build(deps): bump commons-fileupload:commons-fileupload from 1.4 to 1.5
Bumps commons-fileupload:commons-fileupload from 1.4 to 1.5.

---
updated-dependencies:
- dependency-name: commons-fileupload:commons-fileupload
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 09:57:57 +00:00
dependabot[bot]
fb4b11a426
build(deps): bump org.eclipse.jetty:jetty-servlet
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.50.v20221201 to 9.4.51.v20230217.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.50.v20221201...jetty-9.4.51.v20230217)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 09:57:54 +00:00
dependabot[bot]
7fbad44166
build(deps): bump com.google.code.gson:gson from 2.8.9 to 2.10.1
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.8.9 to 2.10.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.9...gson-parent-2.10.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 09:57:44 +00:00
e61b654238 Reduce rsync arguments to become more compatible 2023-05-21 12:26:38 +02:00
a19eb278c7 Disable DocLint for now
Too strict, causing too many errors
2023-05-21 12:26:37 +02:00
6701ac8095
Merge pull request #41 from antville/dependabot/gradle/xerces-xercesImpl-2.12.2
build(deps): bump xercesImpl from 2.12.1 to 2.12.2
2023-05-19 15:35:13 +02:00
1b4624d437
Merge pull request #62 from antville/dependabot/gradle/com.github.jk1.dependency-license-report-2.2
build(deps): bump com.github.jk1.dependency-license-report from 2.0 to 2.2
2023-05-19 15:31:58 +02:00
5bd6e521ce
Merge pull request #52 from antville/dependabot/gradle/org.eclipse.jetty-jetty-servlet-9.4.50.v20221201
build(deps): bump jetty-servlet from 9.4.27.v20200227 to 9.4.50.v20221201
2023-05-19 15:29:31 +02:00
dependabot[bot]
090afa9656
build(deps): bump xercesImpl from 2.12.1 to 2.12.2
Bumps xercesImpl from 2.12.1 to 2.12.2.

---
updated-dependencies:
- dependency-name: xerces:xercesImpl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 12:51:02 +00:00
dependabot[bot]
6c61b9a02b
build(deps): bump com.github.jk1.dependency-license-report
Bumps com.github.jk1.dependency-license-report from 2.0 to 2.2.

---
updated-dependencies:
- dependency-name: com.github.jk1.dependency-license-report
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 12:50:52 +00:00
58d893f044
Create helma.service
Add SystemD unit file with reasonable settings

See <https://www.baeldung.com/linux/run-java-application-as-service>
2023-05-07 01:29:35 +02:00
ec67204d51
Merge pull request #61 from antville/add-development.prerequisites
Add development prerequisites
2023-03-09 14:20:53 +01:00
a692d7718c
Add development prerequisites
Fixes #56.
Fixes #58 .
2023-03-09 14:08:42 +01:00
08a5233bc6
Merge pull request #60 from antville/59-add-support-for-jenv
Add support for jEnv
2023-03-07 00:10:47 +01:00
6a3a90c4f4 Add .java-version file 2023-03-06 23:08:46 +00:00
5fe68aef81 Add VS Code settings 2023-03-05 15:54:15 +01:00
db2ebbed9c
Merge pull request #55 from antville/54-add-support-for-prepared-sql-statements-to-databaseobject
Add DatabaseObject.executePreparedRetrieval() method
2023-03-05 13:10:25 +01:00
9a0cf1a22d Add DatabaseObject.executePreparedRetrieval() method 2023-03-05 13:00:13 +01:00
dependabot[bot]
276290add0
build(deps): bump jetty-servlet
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.27.v20200227 to 9.4.50.v20221201.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.27.v20200227...jetty-9.4.50.v20221201)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 09:04:43 +00:00
832a9069f1
Merge pull request #35 from antville/dependabot/gradle/com.google.code.gson-gson-2.8.9
build(deps): bump gson from 2.8.6 to 2.8.9
2021-12-11 18:05:51 +01:00
f78e37905c
Merge pull request #32 from antville/dependabot/gradle/com.github.jk1.dependency-license-report-2.0
build(deps): bump com.github.jk1.dependency-license-report from 1.16 to 2.0
2021-12-11 17:57:39 +01:00
dependabot[bot]
4bee79eca7
build(deps): bump gson from 2.8.6 to 2.8.9
Bumps [gson](https://github.com/google/gson) from 2.8.6 to 2.8.9.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.6...gson-parent-2.8.9)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 09:08:02 +00:00
411b9198e4 Change creation of HopSession cookie value
Only include one of either, IP forwarded by proxy or remote address
2021-09-05 14:55:42 +02:00
dependabot[bot]
524578e8de
build(deps): bump com.github.jk1.dependency-license-report
Bumps com.github.jk1.dependency-license-report from 1.16 to 2.0.

---
updated-dependencies:
- dependency-name: com.github.jk1.dependency-license-report
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 09:17:24 +00:00
4fc158d6eb Also decompress error stream if required 2021-05-24 12:29:43 +02:00
5a3514440c
Merge pull request #9 from antville/dependabot/gradle/org.mozilla-rhino-1.7.13
build(deps): bump rhino from 1.7.12 to 1.7.13
2021-05-16 13:25:38 +02:00
84f4a5f396 Merge branch 'helma-🐜' into dependabot/gradle/org.mozilla-rhino-1.7.13 2021-05-16 13:16:19 +02:00
85e8088e40 Clean up upstart files 2021-04-18 19:50:07 +02:00
e0e78b1349 Bump Gradle version 2021-04-18 19:45:34 +02:00
9d5a504702
Merge pull request #10 from antville/dependabot/gradle/commons-codec-commons-codec-1.15
build(deps): bump commons-codec from 1.14 to 1.15
2021-04-05 17:34:36 +02:00
8eb3c53818
Minor fix 2021-04-05 12:21:03 +02:00
9b63e208d9
Add myself as default assignee 2021-04-05 12:05:09 +02:00
d3c325cef4 Add Java dependency for Test app to Gradle
Version 1.2 of subethasmtp is the closest available version (1.2.1)

⚠️ Modules were not tested after upgrade
2021-04-05 11:55:20 +02:00
e54b36bb2a Add Java dependency for HopKit to Gradle
Version 2.4.0 of Bean Scripting Framework is the closest available version (Oct 2006)

⚠️ Modules were not tested after upgrade
2021-04-05 11:41:19 +02:00
34b3a5d578 Add comment to unresolved deps 2021-04-05 11:25:48 +02:00
dependabot[bot]
6ed340675a
build(deps): bump commons-codec from 1.14 to 1.15
Bumps [commons-codec](https://github.com/apache/commons-codec) from 1.14 to 1.15.
- [Release notes](https://github.com/apache/commons-codec/releases)
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/commons-codec-1.14...rel/commons-codec-1.15)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-05 09:24:36 +00:00
dependabot[bot]
7f23ded63d
build(deps): bump rhino from 1.7.12 to 1.7.13
Bumps [rhino](https://github.com/mozilla/rhino) from 1.7.12 to 1.7.13.
- [Release notes](https://github.com/mozilla/rhino/releases)
- [Changelog](https://github.com/mozilla/rhino/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/mozilla/rhino/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-05 09:24:32 +00:00
e8d9f05b72 Add Java dependency for MP3 module to Gradle
Version 0.5.4 of jid3lib should be the correct version

⚠️ Modules were not tested after upgrade
2021-04-05 11:22:09 +02:00
a7fece6218 Add Java dependency for HtmlDocument module to Gradle
Version 1.1-beta-8 of Jaxen should be the correct version

⚠️ Modules were not tested after upgrade
2021-04-05 11:16:42 +02:00
ed5aac7f66 Add Java dependency for HtmlDocument module to Gradle
Version 1.6.1 of Dom4J should be the correct version

⚠️ Modules were not tested after upgrade
2021-04-05 11:03:44 +02:00
9e2bf074b7 Add Java dependency for search module to Gradle
Version 2.2.0 of Lucene should be the correct version

⚠️ Modules were not tested after upgrade
2021-04-05 10:55:52 +02:00
aea04da690 Add Java dependency for charts module to Gradle
Version 2.5.7 of JXL is closest available version (2.4.3)

⚠️ Modules were not tested after upgrade
2021-04-05 10:49:51 +02:00
2f8160526c Add Java dependency for SSH module to Gradle
Build 208 of ganymed-ssh2 is closest available version (Aug 2005)

⚠️ Modules were not tested after upgrade
2021-04-05 10:49:12 +02:00
ac02b90699 Make Git ignore .idea dir 2021-04-05 10:46:45 +02:00
8b990e29ca
Merge pull request #8 from antville/dependabot/gradle/commons-net-commons-net-3.8.0
build(deps): bump commons-net from 3.6 to 3.8.0
2021-04-04 21:01:29 +02:00
926f62ec57
Merge pull request #5 from antville/dependabot/gradle/xerces-xercesImpl-2.12.1
build(deps): bump xercesImpl from 2.12.0 to 2.12.1
2021-04-04 21:00:41 +02:00
47abd0e404
Merge pull request #7 from antville/dependabot/gradle/com.github.jk1.dependency-license-report-1.16
build(deps): bump com.github.jk1.dependency-license-report from 1.13 to 1.16
2021-04-04 21:00:24 +02:00
ae2c1c6221
Bump Java version according to config 2021-04-04 20:56:21 +02:00
dependabot[bot]
b5c6afda24
build(deps): bump commons-net from 3.6 to 3.8.0
Bumps commons-net from 3.6 to 3.8.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 18:28:10 +00:00
dependabot[bot]
b7a8e68537
build(deps): bump com.github.jk1.dependency-license-report
Bumps com.github.jk1.dependency-license-report from 1.13 to 1.16.

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 18:28:08 +00:00
dependabot[bot]
425e3671ba
build(deps): bump xercesImpl from 2.12.0 to 2.12.1
Bumps xercesImpl from 2.12.0 to 2.12.1.

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 18:28:03 +00:00
7a5e470821
Update dependabot.yml 2021-04-04 20:27:40 +02:00
b31b0dc2a5
Create dependabot.yml 2021-04-04 20:26:17 +02:00
Robert Gaggl
4b9b78bb0f Cherry-pick 390231e8dd 2021-03-06 19:11:48 +01:00
7e39892c4a Require Java 11 2021-03-06 19:01:35 +01:00
Robert Gaggl
62291171e3 res.setCookie() now accepts boolean httponly and secure flags
httponly defaults to true, secure to false
2021-03-06 18:52:18 +01:00
97db46a66c Merge remote-tracking branch 'helma-org/master' into helma-🐜 2021-03-06 18:46:29 +01:00
8305d30bad
fix: typo 2020-06-14 11:46:05 +02:00
db18a003fe chg: updated changelog 2020-05-17 22:17:39 +02:00
2ba24ccea8 chg: gitignore licenses dir 2020-05-17 22:17:29 +02:00
244b92d750 add: xgettext and po2js tasks 2020-05-17 21:36:41 +02:00
b91ee88304 add: some colors to log output 2020-05-15 21:58:10 +02:00
dfe9c5d1a3 fix: reference to up-to-date java mail library 2020-04-12 20:19:04 +02:00
8edc9db372 fix: java.net.URLConnection not following redirects from http to https 2020-04-12 19:08:02 +02:00
df3af8fab1 add: support for gzip encoded http response 2020-04-10 20:25:05 +02:00
a5bc33db70 fix: remaining references to obsolete sun.misc.Base64Encoder 2020-04-10 20:24:33 +02:00
523d806b56 fix: return an empty string if markup is null or undefined 2020-04-05 21:33:07 +02:00
c984d3c4a2 fix: exception when trying to copy helma.xsl 2020-04-05 21:32:12 +02:00
657f66c0ce chg: merged parser code modified in antville app back into hopkit 2020-04-03 14:15:00 +02:00
0bf39c8f4b add: missing licenses for jars in helma modules 2020-03-29 12:50:32 +02:00
2721db44ae chg: replaced static licenses with automatically generated ones using gradle task 2020-03-29 12:45:47 +02:00
ae50bc562e del: obsolete entity table and test method 2020-03-27 21:13:11 +01:00
75f609d095 fix: updated list of tags according to MDN 2020-03-27 21:08:51 +01:00
9950f4df46 del: outdated list of and check for “all” tags 2020-03-27 20:10:11 +01:00
5a958b2980 fix: regression from foolishly replacing a nullstring with space 2020-03-21 20:41:28 +01:00
06eefa8e86
fix: add newline after emoji 2020-03-21 20:22:53 +01:00
d6fd0ba6f7
fix: ugly warning symbol 2020-03-21 20:22:08 +01:00
75bda31376 add: change log 2020-03-21 20:20:02 +01:00
9265d322a0 chg: slightly edited wording 2020-03-21 20:19:27 +01:00
540d0eb0fc fix: concat res.write() arguments with spaces 2020-03-21 20:05:12 +01:00
dd53c6f365 fix: undesired newlines between multiple arguments in res.writeln() 2020-03-21 19:23:18 +01:00
Daniel Ruthardt
4d92cec456 Resolves issue #115. 2020-03-21 15:53:06 +01:00
91d052af48 chg: slightly edited 2020-03-21 15:47:19 +01:00
768b7b5ed3 Merge branch 'helma-js' into helma-🐜 2020-03-21 15:46:12 +01:00
0c1f1d0beb fix: some syntax errors with the help of eslint 2020-03-21 15:35:25 +01:00
060f6461cb fix: undefined variable error 2020-03-21 14:56:45 +01:00
23fdb31348 add: support for importing code using require() method (commonjs) 2020-03-21 14:40:26 +01:00
Daniel Ruthardt
db8d239c32 Minor code simplification. 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
9960e1c919 Removed obsolete class. 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
541286dc59 Fixed issue (persistent sessions did not work anymore).
Persistent sessions did not work anymore, because the Application
(which became part of the information to be serialized at some point in
time) was not serializable.
2020-03-21 14:40:00 +01:00
Daniel Ruthardt
e0f590da98 Added missing @Deprecated annotations. (cherry picking from commit be90106b8430386d93ecba7afcd465c09e2b0125) 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
37307708fd Removed standalone MD5Encoder implementation and replaced usage of it with Apache Commons Codec. 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
5abe737912 Added syncrhonization to methods who's overridden parent methods have synchronization as well. (cherry picking from commit 36d2021fe7178d6686b5843c6f57bbf41bfd30c2) 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
468a89bd05 Fixed version requirement / version check mismatch.
Although requiring a higher version of Java, this was not yet checked
correctly in the code.
2020-03-21 14:40:00 +01:00
Daniel Ruthardt
7f3bb3a85b Added generated serial version identifiers. (cherry picking from commit abbe243d4af0636541defcc75f74400dffefc00a) 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
1acd176aa5 Fixed deprecation issues. (cherry picking from commit b50bfdfd00b380061c6baa3dab1d7d5c89e616a3) 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
7cafee58c4 Added check to make sure that all code resources are returned at any point in time (i.e. even in application startup phase, when prototype has maybe never been updated before). (cherry picking from commit 5880fc27d323b82f508e5b5234999ebbd9bbb4ad) 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
eda05c731a Resolves issue #40.
http://github.com/helma-next/helma-next/issues#issue/40
2020-03-21 14:40:00 +01:00
0929cd1e57 Removed standalone Base64 implementation and replaced usage of it with Apache Commons Codec's Base64 implementation. 2020-03-21 14:40:00 +01:00
39f565252f chg: further replaced helma’s md5 implementation with apache commons codec 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
be233eba03 Replaced Helma MD5 implementation with Apache Commons Codec. 2020-03-21 14:40:00 +01:00
f6656f7b4d chg: refactored and simplified Array.intersection() method 2020-03-21 14:40:00 +01:00
0b938bf808 chg: refactored and simplified Array.union() method 2020-03-21 14:40:00 +01:00
aa2a236d91 chg: removed code from Array.contains() method and assigned it to Array.includes() 2020-03-21 14:40:00 +01:00
90e91ee9f7 chg: simplified code 2020-03-21 14:40:00 +01:00
a0f5729e58 chg: refactored String.pad() method with builtin methods 2020-03-21 14:40:00 +01:00
708c02f670 chg: String.endsWith() method is already provided by Rhino 2020-03-21 14:40:00 +01:00
9f49ad80b9 chg: String.startsWith() method is already provided by Rhino 2020-03-21 14:40:00 +01:00
2a4ae9adcf chg: String.trim() method is already provided by Rhino 2020-03-21 14:40:00 +01:00
265cf566b7 chg: String.repeat() method is already provided by Rhino 2020-03-21 14:40:00 +01:00
Daniel Ruthardt
9f213ab7b9 Moved import-style modules back into repository-style modules. 2020-03-21 14:40:00 +01:00
8e973d1a1a fix: removed / replaced orphaned helma links 2020-03-21 14:40:00 +01:00
cdc522b22e add: group and description to custom tasks 2020-03-21 14:40:00 +01:00
c2fcc1867a chg: cast each array element to string 2020-03-21 14:40:00 +01:00
Jürg Lehni
47fecff5b4 Fix sendForward() to define Content-Range header, as required by HTML5 audio and video tags. 2020-03-21 14:40:00 +01:00
Jürg Lehni
63b4ec8512 Escape backslash (\) in SQL Strings as they can break queries unescaped. 2020-03-21 14:40:00 +01:00
8433ed4f8c chg: bumped version of commons codec jar 2020-03-21 14:40:00 +01:00
2fe0041d2d chg: bumped jetty version 2020-03-21 14:40:00 +01:00
2f27921403 add: jvm arg to prevent dock icon on macos 2020-03-21 14:40:00 +01:00
cb57b90c62 fix: line endings in archive files (zip: crlf; tar: lf) 2020-03-21 14:40:00 +01:00
88b48b46ce add: parameter for running commandline task 2020-03-21 14:39:59 +01:00
c673e8e3f2 chg: name of rhino shell task 2020-03-21 14:39:59 +01:00
d985d1be0c fix: missing jsdoc files 2020-03-21 14:39:59 +01:00
bd552751f5 chg: moved launcher source files into subproject 2020-03-21 14:39:59 +01:00
f29781e150 del: code in comments 2020-03-21 14:39:59 +01:00
9cb7d08581 fix: readmes 2020-03-21 14:39:59 +01:00
cfb31beeec chg: updated readme 2020-03-21 14:39:59 +01:00
39af201e78 del: self-made start scripts (generated by gradle now) 2020-03-21 14:39:59 +01:00
2da9bcf00b fix: error when running start scripts 2020-03-21 14:39:59 +01:00
56e9f6793b chg: moved http and xmlrpc port settings into server.properties 2020-03-21 14:39:59 +01:00
5cbeb9f01d chg: replaced ant with gradle 2020-03-21 14:39:59 +01:00
cee0be52e0 chg: set source and target of java versions to 6 2020-03-21 14:39:59 +01:00
7d6fb8f903 chg: upgrade dependencies 2020-03-21 14:39:59 +01:00
36b5ae6279 chg: get rid of main task 2020-03-21 14:39:59 +01:00
Daniel Ruthardt
f7e52dbad5 Don't assume a specific system class loader.
The issue was encountered using Oracle JDK9 on Debian stretch arm64.
2020-03-21 14:39:59 +01:00
dbbaa0fb1a fix: use file-based stream 2020-03-21 14:39:59 +01:00
74640c222a fix: exception when trying to close undefined stream in finally block 2020-03-21 14:39:59 +01:00
c07e4a9d7f chg: upgraded rhino to version 1.7.9 2020-03-21 14:39:58 +01:00
8d62f24bee chg: sorted lines 2020-03-21 14:39:58 +01:00
825ccb6463 chg: upgraded commons net lib 2020-03-21 14:39:57 +01:00
e88c4f5d8f chg: upgraded commons net lib 2020-03-21 14:39:12 +01:00
5902bf9d7f chg: upgraded jetty to version 9.4.3.v20170317
cherry-picked from 390231e8dd
2020-03-21 14:36:36 +01:00
6571f4ff1b wip: removing ajp support 2020-03-21 14:36:36 +01:00
03e2718ff5 fix: null pointer exception
if argument is null in res.debug() / write() / writeln()
2020-03-21 14:36:36 +01:00
00762cf495 del: inline css styles from helma debug lines 2020-03-21 14:36:36 +01:00
6e5d2061fa chg: allow variable amount of arguments in response methods 2020-03-21 14:36:36 +01:00
c399fd27e4 fix: build instructions using gradlew 2020-03-21 14:36:36 +01:00
677cedd0eb add: .gradle dir to .gitignore 2020-03-21 14:36:36 +01:00
5821630d7d fix: removed / replaced orphaned helma links 2020-03-20 21:22:17 +01:00
1f1163704a add: group and description to custom tasks 2020-03-20 21:06:50 +01:00
cd05af552e chg: cast each array element to string 2020-03-20 20:53:13 +01:00
Jürg Lehni
74b927244e Fix sendForward() to define Content-Range header, as required by HTML5 audio and video tags. 2020-03-20 19:53:51 +01:00
Jürg Lehni
a9e1cf3f51 Escape backslash (\) in SQL Strings as they can break queries unescaped. 2020-03-20 19:53:17 +01:00
e246589cdf chg: bumped version of commons codec jar 2020-03-18 21:26:30 +01:00
2ca34c70b5 chg: bumped jetty version 2020-03-18 21:22:06 +01:00
a2d9dae06e add: jvm arg to prevent dock icon on macos 2020-03-18 21:17:26 +01:00
d540b38a98 fix: line endings in archive files (zip: crlf; tar: lf) 2020-03-18 21:05:03 +01:00
19a3961207 add: parameter for running commandline task 2020-03-18 10:38:45 +01:00
b90143adf7 chg: name of rhino shell task 2020-03-18 10:38:43 +01:00
e40b78230c fix: missing jsdoc files 2020-03-18 10:37:59 +01:00
a9163bd66f chg: moved launcher source files into subproject 2020-03-17 20:49:55 +01:00
94ce6dac49 del: code in comments 2020-03-17 19:58:45 +01:00
70a0b2d9a1 fix: readmes 2020-03-17 19:58:24 +01:00
a4635aefb6 chg: updated readme 2020-03-17 19:20:39 +01:00
e4a36582f7 del: self-made start scripts (generated by gradle now) 2020-03-17 19:20:26 +01:00
efd5617a89 fix: error when running start scripts 2020-03-17 18:30:14 +01:00
387066f34d chg: moved http and xmlrpc port settings into server.properties 2020-03-17 18:29:41 +01:00
7eebeee1d0 chg: replaced ant with gradle 2020-03-17 08:57:53 +01:00
ced560f0c7 chg: set source and target of java versions to 6 2020-03-15 12:38:50 +01:00
c0cbe38fc5 chg: upgrade dependencies 2020-03-15 12:23:18 +01:00
1bc6653499 chg: get rid of main task 2020-03-15 12:19:38 +01:00
Daniel Ruthardt
78ccdfced9 Don't assume a specific system class loader.
The issue was encountered using Oracle JDK9 on Debian stretch arm64.
2020-03-15 12:07:19 +01:00
fcb01e21cd fix: use file-based stream 2018-05-20 08:43:18 +02:00
ad04d90940 fix: exception when trying to close undefined stream in finally block 2018-05-06 12:35:34 +02:00
938456e014 chg: upgraded rhino to version 1.7.9 2018-04-29 21:33:01 +02:00
Simon Oberhammer
f1fa050ea5 bump version 1.7.4 2018-02-13 15:14:22 +01:00
Simon Oberhammer
e82aa34967 package modules too 2018-02-13 15:14:07 +01:00
Simon Oberhammer
65381e7638 use java8 as target; source could stay 1.5 but i'm bumping this too now 2018-02-13 14:44:56 +01:00
Simon Oberhammer
21739a54d8 update readme (first time after 9 years. yey\!) 2018-02-13 14:44:28 +01:00
Simon Oberhammer
d1fb7d312e neither jsdocs nor javadocs did build and the tools seem to be gone for a long time so drop those tasks from ant file; also removed welcome app from demo since this app no longer exists 2018-02-13 14:35:10 +01:00
1008524b35 chg: sorted lines 2017-04-17 16:36:46 +02:00
7dc2ffe46c chg: upgraded commons net lib 2017-04-17 16:35:37 +02:00
ffbf863046 Finish goodbye-ajp 2017-04-17 15:35:31 +02:00
e82dd613db fix: null pointer exception
if argument is null in res.debug() / write() / writeln()
2017-04-17 15:32:12 +02:00
468e8a9298 chg: upgraded jetty to version 9.4.3.v20170317
cherry-picked from 390231e8dd
2017-04-17 15:06:14 +02:00
6860ea589e Merge branch 'helma-🐜' into feature/goodbye-ajp 2017-04-17 15:01:47 +02:00
7185214a5d del: inline css styles from helma debug lines 2017-04-17 14:04:41 +02:00
1054413a10 chg: allow variable amount of arguments in response methods 2017-04-17 14:03:54 +02:00
Robert Gaggl
81f5e3cd8e res.setCookie() now accepts boolean httponly and secure flags
httponly defaults to true, secure to false
2017-03-27 15:50:01 +02:00
Robert Gaggl
75f0245817 removed activation.jar, this is part of j2se since version 6 2017-03-27 14:45:33 +02:00
Robert Gaggl
021a24a100 updated commons libs:
- codec to 1.10
- fileupload to 1.3.2
- io to 2.5
- logging to 1.2
- net to 3.6
2017-03-27 14:39:34 +02:00
Robert Gaggl
390231e8dd updated to jetty 9.4.3.v20170317 2017-03-27 14:17:46 +02:00
c085492c27 chg: refactored global encodeForm() method to JS 2017-03-19 17:50:18 +01:00
98a8cdbc53 fix: default value for encodeNewline 2017-03-19 17:47:59 +01:00
863c622631 chg: refactored global encodeXml() method to JS 2017-03-19 17:38:12 +01:00
12f9e1b1e3 chg: refactored global encode() method to JS 2017-03-19 17:13:20 +01:00
655f965084 chg: refactored global strippedTags() method to JS 2017-03-19 17:11:37 +01:00
51b568f099 fix: build instructions using gradlew 2017-03-19 13:18:21 +01:00
3927f86e58 add: .gradle dir to .gitignore 2017-03-19 13:17:51 +01:00
7d07ac4f2d chg: updated version string
this is a custom version of helma for antville 1.6
2016-12-17 18:18:31 +01:00
29743f0608 chg: updated rhino to version 1.7.7.1 2016-12-17 18:05:14 +01:00
049ee71b43 Merge branch 'feature/commonjs-support' into helma-🐜 2016-12-17 11:09:09 +01:00
5f68f40579 wip: removing ajp support 2016-12-17 10:54:39 +01:00
43cc3ca243 chg: removed spaces before commented-out code 2016-12-17 10:51:09 +01:00
c50fec4abb add: -i flag for helma installation dir
(just for the record)
2016-12-17 10:50:18 +01:00
8820821f41 fix: prevent dock icon being shown in macos
see https://developer.apple.com/library/content/releasenotes/Java/JavaLeopardUpdate1RN/ResolvedIssues/ResolvedIssues.html
2016-12-17 10:45:04 +01:00
5c0e36e48b add: experimental support for commonjs modules
activated rhino’s require() method and module.exports object; both work, but the default implementation cannot load packages which in turn require modules in relative subdirs.

a new property called commonjs.dir can be used to define an additional search directory. the app dir is added automatically.
2016-12-17 10:36:13 +01:00
c468e8e865 add: support for httponly and secure cookies 2016-12-09 23:49:23 +01:00
Robert Gaggl
b0ff574e95 updated rhino to 1.7.7.1 and jdk8 2016-12-05 13:47:42 +01:00
2a41085419 Merge branch 'feature/hello-gradle' into helma-🐜 2016-12-04 22:15:23 +01:00
5f0ff9f635 add: gradle files
still using ant targets via importBuild except for dependency management
2016-12-04 22:15:08 +01:00
4ebc1182f1 Merge branch 'feature/hello-gradle' into helma-🐜 2016-12-04 16:05:07 +01:00
e322fb80dd Merge branch 'feature/goodbye-jimi' into helma-🐜 2016-12-04 16:03:37 +01:00
6e196e857f del: support for Jimi image processing library 2016-12-04 15:59:29 +01:00
ecb0003a37 add: gradle files
still using ant targets via importBuild except for dependency management
2016-12-04 15:55:19 +01:00
dd822d4e24 fix: reference to Base64 is ambiguous, both class java.util.Base64 in java.util and class helma.util.Base64 in helma.util match (Java 8) 2015-12-22 19:36:40 +01:00
948dc9a76b fix: removed encoding of valid unicode characters to html entities 2015-12-13 12:36:37 +01:00
735de0bbf6 fix: re-enabled output of <br> elements in format() method with additional class attribute to signify where it comes from 2015-08-14 14:23:22 +02:00
80dfe53204 chg: removed transformation of linebreaks to <br> or <p> elements in format() method 2015-08-10 14:19:57 +02:00
ed8f6ce9b6 chg: removed transformation to HTML entities, basically only supporting Unicode output (it’s 2015, I think it’s alright) 2015-08-10 14:16:01 +02:00
fc51cb398b chg: bumped Java source and target version to 1.7 2015-08-10 14:10:29 +02:00
835c56afcf Ignore anything starting with db 2015-05-23 18:25:47 +02:00
2cfb7e4b15 Ignore anything starting with apps and the passwd file created by the manage app 2015-05-23 18:19:00 +02:00
f763a0896e Update and rename README.txt to README.md 2015-04-08 19:02:12 +02:00
60b31e6133 Update and rename README.txt to README.md 2015-04-08 19:00:36 +02:00
af2c37bda6 Update and rename readme.txt to README.md 2015-04-08 18:53:05 +02:00
6ca7261976 Delete summary.txt 2015-04-08 18:48:15 +02:00
7e6c6c6d5b Update README.md 2015-04-08 18:48:02 +02:00
32eb71677e Update README.md 2015-04-08 18:47:29 +02:00
b0eb4ecba3 Update and rename README to README.md 2015-04-08 18:45:09 +02:00
69adddafed Updated Jala module 2015-04-07 16:39:02 +02:00
0d31d25d7b Merge remote-tracking branch 'origin/master' 2015-04-07 16:11:57 +02:00
4c9114fac4 Updated Git URL for Jala submodule 2015-04-07 16:11:22 +02:00
22a23c45a2 Converted to MarkDown 2015-02-11 20:46:14 +01:00
8a6c58ad74 Fixed module URL 2015-01-28 20:57:55 +01:00
e9e8a4aa34 Moved some exclusion patterns from .git/info/exclude to .gitignore 2015-01-28 20:47:57 +01:00
48d77455f8 Ignore log directory 2015-01-28 20:36:17 +01:00
96a037d508 Added Jala as submodule 2015-01-28 20:36:07 +01:00
921b074e6b Refactored replace_filter to use JS regular expression 2015-01-28 20:14:08 +01:00
2acff557d0 Removed default size from form fields 2015-01-28 20:13:27 +01:00
e2fe90126b Removed submodules 2015-01-28 20:13:01 +01:00
a7dd487d3e Merge remote-tracking branch 'helma/master' 2015-01-28 19:23:10 +01:00
Simon Oberhammer
dd8f8b6caa bump version 2014-03-12 09:56:29 +01:00
Robert Gaggl
61bafb72d6 partly reverted 5f18e3ae2d:
switched back to using DbSources as Map keys, as using strings breaks switching databases
using DbSource.switchProperties (which is used in jala.Test)
2013-04-09 16:05:07 +02:00
Robert Gaggl
5f18e3ae2d Modified Transactor to store sqlConnections internally using the name of the DbSource
as Map key, not the DbSource instance. Using the instance as key is both inefficient and
error prone (see fd0b77bc11).

Additional changes:
- modified getConnection() to check if the DB is oracle. "SELECT 1" is invalid
for Oracle DBs and lead to Helma dropping in-use connections every minute.
- set DbSource name final
2013-04-09 12:52:06 +02:00
Robert Gaggl
8d9bc3afb1 Next attempt to fix the deadlock issue that lead to fd0b77bc11:
The source of the deadlock problem seems that during DbSource.getConnection() ResourceProperties instances are compared using their equals() method, which is synchronized in Hashtable and can/does lead to deadlocks (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6582568).

This commit overwrites equals with an unsynchronized version. Note that this implementation might return a wrong result if one of the two instances is modified during this method call, but at least doesn't throw a ConcurrentModificationException.
2013-04-08 17:30:31 +02:00
f6f6475908 Remoted symlink 2013-04-07 17:32:22 +02:00
b5adad0eaa Removed swarm submodule 2013-04-07 17:28:35 +02:00
59d127e089 Merged with helma/master 2013-04-07 17:27:18 +02:00
ff7bba76cf Merge remote-tracking branch 'helma/master'
Conflicts:
	.gitignore
	apps
	modules
2013-04-07 17:18:29 +02:00
Simon Oberhammer
826987d3a2 new interface method ObjectCache.getStatistics
the statistics of a cache instance for an application can be retrieved
by calling `app.__app__.getCacheStatistics()`. That's not very useful for the 
default `ObjectCache` but essential for looking into what more complex cache
impls like `SwarmCache` do

we could remove all the other cache statistics methods like `getCacheUsage` 
and output that info in the map returned by `getCacheStatistics()`

i had to bump java to 1.5 for the generics.. if that's a problem we can
remove the generics
2013-04-04 11:24:56 +02:00
Robert Gaggl
fd0b77bc11 synchronized various methods to avoid deadlock
one of our apps was stuck in a deadlock in ResourceProperties.size(),
see excerpt of the stack trace below. this fix synchronizes various overriding
methods since they are synchronized in Hashtable as well.

removed superfluous toString method too.

```
"app-230":
        at java.util.Hashtable.size(Hashtable.java:206)
        - waiting to lock <0xa13f8548> (a helma.util.ResourceProperties)
        at helma.util.ResourceProperties.size(ResourceProperties.java:529)
        at java.util.Hashtable.equals(Hashtable.java:742)
        - locked <0xa1065708> (a helma.util.ResourceProperties)
        at helma.objectmodel.db.DbSource.equals(DbSource.java:292)
        ...
"app-439":
        at java.util.Hashtable.size(Hashtable.java:206)
        - waiting to lock <0xa1065708> (a helma.util.ResourceProperties)
        at helma.util.ResourceProperties.size(ResourceProperties.java:529)
        at java.util.Hashtable.equals(Hashtable.java:742)
        - locked <0xa13f8548> (a helma.util.ResourceProperties)
        at helma.objectmodel.db.DbSource.equals(DbSource.java:292)
        ...
```
2013-03-06 10:09:50 +01:00
f808a7b7f7 Fixed bug in decodeHttpAuth() causing colons in a password (and everything afterwards) to be swallowed. Note: RFC 2617 explicitely allows colons in passwords, just not in usernames. 2012-11-29 09:39:24 +01:00
a9a6b0d753 Added submodules for apps, modules and swarm 2012-04-22 18:39:08 +02:00
Simon Oberhammer
4c6e405e06 adding .gitignore
ignore everything created by `ant jar`
2012-03-27 14:23:07 +02:00
Simon Oberhammer
67080b75c8 Merge branch 'object-clone-fix' into helma-1.8 2012-03-27 14:18:36 +02:00
Simon Oberhammer
e1869189cf fix Object.clone for null properties
unknown author
2012-03-27 14:18:10 +02:00
Simon Oberhammer
26cf7c9779 Merge branch 'subtree-manage-and-modules' into helma-1.8 2012-03-27 14:05:58 +02:00
Simon Oberhammer
ca2b08a5df Merge remote-tracking branch 'manage/master' into subtree
this merges master branch of https://github.com/helma-org/apps-manage-mirror into helma
2012-03-27 11:47:36 +02:00
Simon Oberhammer
226552bc24 Merge remote-tracking branch 'modules/master' into subtree
this merges the master head of https://github.com/helma-org/apps-modules-mirror into helma
2012-03-27 11:46:35 +02:00
e28ad52e80 Merge branch 'master' of github.com:p3k/helma 2012-03-22 18:23:09 +01:00
964fcc1e54 Added .gitignore file and debian directory 2012-03-22 18:21:29 +01:00
9310ccd2f8 Merge remote-tracking branch 'oberhamsi/jetty7' 2012-03-22 17:28:50 +01:00
Simon Oberhammer
bb4e494ec6 removed extra code for 'org.mortbay' loggers
seems to me this just logs less; let's not do that in code - we can control
loglevel of org.eclipse with -D options just fine.
2012-03-22 17:21:18 +01:00
Simon Oberhammer
503005eac8 switch ContextHandler -> ServletContextHandler
I tried to do what RingoJs does...
2012-03-22 17:21:18 +01:00
Simon Oberhammer
892078eb4e to fix the illegal state exception
i switched the order of app-binding and jetty-server-starting; now it
gets a bit farther but throws another exception:

2012-03-20 10:25:35.550:WARN:oejuc.AbstractLifeCycle:FAILED org.eclipse.jetty.servlet.ServletHandler@177f409c: java.lang.ClassCastException: org.eclipse.jetty.server.handler.ContextHandler cannot be cast to org.eclipse.jetty.servlet.ServletContextHandler
java.lang.ClassCastException: org.eclipse.jetty.server.handler.ContextHandler cannot be cast to org.eclipse.jetty.servlet.ServletContextHandler
	at org.eclipse.jetty.servlet.ServletHandler.doStart(ServletHandler.java:147)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
	at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:97)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:722)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
	at helma.main.ApplicationManager$AppDescriptor.bind(ApplicationManager.java:550)
	at helma.main.ApplicationManager.startAll(ApplicationManager.java:168)
	at helma.main.Server.run(Server.java:602)
	at java.lang.Thread.run(Thread.java:662)
2012-03-22 17:21:18 +01:00
Simon Oberhammer
aff951c964 replace jar files and jar loading
helma compiles & starts now, but throws this exception:

    java.lang.IllegalStateException: STARTED
  	at org.eclipse.jetty.server.handler.HandlerWrapper.setHandler(HandlerWrapper.java:71)
  	at helma.main.ApplicationManager$AppDescriptor.bind(ApplicationManager.java:482)
	at helma.main.ApplicationManager.startAll(ApplicationManager.java:168)
	at helma.main.Server.run(Server.java:611)
	at java.lang.Thread.run(Thread.java:662)
2012-03-22 17:21:17 +01:00
Simon Oberhammer
56871c7072 autochanges by jetty6to7 tool 2012-03-22 17:21:17 +01:00
Simon Oberhammer
c7e9f4c6cb update rhino to 8ba9619bc53a3a61e9e026ef86b6ad698a850d38 2012-03-22 17:21:17 +01:00
Simon Oberhammer
1db31dc405 case-sensitivity-switch implemented by kmfdm 2012-03-22 17:21:17 +01:00
Simon Oberhammer
d8757f6aa3 removed extra code for 'org.mortbay' loggers
seems to me this just logs less; let's not do that in code - we can control
loglevel of org.eclipse with -D options just fine.
2012-03-20 14:05:33 +01:00
Simon Oberhammer
578c654541 switch ContextHandler -> ServletContextHandler
I tried to do what RingoJs does...
2012-03-20 14:00:30 +01:00
Simon Oberhammer
786a5e86bd to fix the illegal state exception
i switched the order of app-binding and jetty-server-starting; now it
gets a bit farther but throws another exception:

2012-03-20 10:25:35.550:WARN:oejuc.AbstractLifeCycle:FAILED org.eclipse.jetty.servlet.ServletHandler@177f409c: java.lang.ClassCastException: org.eclipse.jetty.server.handler.ContextHandler cannot be cast to org.eclipse.jetty.servlet.ServletContextHandler
java.lang.ClassCastException: org.eclipse.jetty.server.handler.ContextHandler cannot be cast to org.eclipse.jetty.servlet.ServletContextHandler
	at org.eclipse.jetty.servlet.ServletHandler.doStart(ServletHandler.java:147)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
	at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:97)
	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:722)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
	at helma.main.ApplicationManager$AppDescriptor.bind(ApplicationManager.java:550)
	at helma.main.ApplicationManager.startAll(ApplicationManager.java:168)
	at helma.main.Server.run(Server.java:602)
	at java.lang.Thread.run(Thread.java:662)
2012-03-20 10:26:19 +01:00
Simon Oberhammer
bb8aba7adc replace jar files and jar loading
helma compiles & starts now, but throws this exception:

    java.lang.IllegalStateException: STARTED
  	at org.eclipse.jetty.server.handler.HandlerWrapper.setHandler(HandlerWrapper.java:71)
  	at helma.main.ApplicationManager$AppDescriptor.bind(ApplicationManager.java:482)
	at helma.main.ApplicationManager.startAll(ApplicationManager.java:168)
	at helma.main.Server.run(Server.java:611)
	at java.lang.Thread.run(Thread.java:662)
2012-03-20 10:24:02 +01:00
Simon Oberhammer
d0c555e62a autochanges by jetty6to7 tool 2012-03-20 10:14:13 +01:00
Simon Oberhammer
d26bc06459 update rhino to 8ba9619bc53a3a61e9e026ef86b6ad698a850d38 2012-03-14 10:22:46 +01:00
Simon Oberhammer
425350c39a case-sensitivity-switch implemented by kmfdm 2012-03-14 10:19:23 +01:00
a094f59a28 Fixed bug in decodeHttpAuth() causing colons in a password (and everything afterwards) to be swallowed. Note: RFC 2617 explicitely allows colons in passwords, just not in usernames. 2011-01-28 23:16:44 +01:00
hns
3906964d6a Remove indexOf and lastIndexOf from Array.prototype as they're part of JS 1.5. Simplify Array.prototype.contains. 2010-02-22 15:14:24 +00:00
hns
5774b583eb Undo last commit, this is supposed to be done by debian patch. 2010-02-05 17:29:06 +00:00
hns
19e6f596c0 Add helmaswarm build targets (used by debian build scripts) 2010-02-05 17:13:35 +00:00
hns
4f99d04c0a Add svn externals for debian and helmaswarm 2010-02-05 16:50:25 +00:00
hns
6bd0a80a02 Do not use child collection timestamp as cache guard for object references.
Proper fix for bug 697 <http://dev.helma.org/bugs/show_bug.cgi?id=697>
2010-01-26 16:18:58 +00:00
hns
3cf88a3a25 Add test case for HopObject references 2010-01-26 15:56:18 +00:00
hns
ea87601291 More null pointer guards. 2010-01-26 15:52:48 +00:00
hns
842d4fd92b Avoid NullPointerException in getLastSubnodeChange().
Preliminary fix for bug 697 <http://dev.helma.org/bugs/show_bug.cgi?id=697>
2010-01-26 15:49:41 +00:00
hns
7a2e89f4bd Remove object from db after testEquality() 2010-01-26 15:34:34 +00:00
hns
b072860a45 Update to jetty-ajp jar from Jetty 6.1.22 with patch for jetty issue 1163 (response header/cookie encoding)
http://jira.codehaus.org/browse/JETTY-1163
2010-01-25 20:19:37 +00:00
hns
12a87c17ff Undo last two commits. The change had some side effects, leave db connection handling as is. 2009-12-17 10:55:26 +00:00
hns
edbeb4d8b2 Fix isEmail()/isUrl() using better/stricter RegExp patterns.
Fixes bug 690 - http://dev.helma.org/bugs/show_bug.cgi?id=690
2009-12-01 11:05:25 +00:00
hns
dece309fce Add check for closed connections in DbConnection.isValid() 2009-11-30 14:47:56 +00:00
hns
44e6dc30b4 Do not cache connection in helma.Database as it is cached and validated already by helma.objectmodel.db code. 2009-11-30 14:42:24 +00:00
hns
0227e1bce6 Refactor db connection pooling: Use connection names instead of connection properties as has keys, introduce new DbConnection wrapper class and a serial-id flag in DbSource to validate connections. 2009-11-30 10:58:34 +00:00
hns
5a95d1730a Update jetty to version 6.1.22 2009-11-27 15:17:33 +00:00
hns
9ddc2a6f83 Don't try to generate error page if the response has already been committed. 2009-11-26 10:24:15 +00:00
hns
3cd206effc Make symbolic keys case sensitive, following the general change between from 1.6 to 1.7. 2009-11-25 13:25:11 +00:00
hns
291e00bc6c Code cleanup 2009-11-25 13:22:07 +00:00
hns
36c1557c99 Make sure event-log logging level is set according to debug property.
Fixes bug 696 http://dev.helma.org/bugs/show_bug.cgi?id=696
2009-11-25 10:55:51 +00:00
hns
16ead75851 Revert back to using TransientNode as HopObject cache node and as placeholder for invalidated/deleted nodes. Some cleanup and modifier tweaking in HopObject. 2009-11-25 09:33:28 +00:00
hns
62db24a43c Remove transient modifiers from Node.java 2009-11-24 15:06:07 +00:00
hns
e14f335253 Revert to old style, unsegmented collection loading as default and only do segmented loading when collection.loadmode = lazy is set. 2009-11-24 10:34:50 +00:00
hns
3250ba7c00 Undo commit 9990 - not calling loadNodes() in addNode() breaks two unit tests involving grouped collections. 2009-11-24 10:25:31 +00:00
hns
9323574f0f Do not load subnodes in addNode(). The subnode list is created a few lines later anyway, and using a faux list shouldn't affect relational collections. 2009-11-18 14:21:00 +00:00
lehni
17047f9cfc Fix IllegalStateException when saving as GIF, see bug 683. 2009-11-16 13:47:46 +00:00
hns
807cd5c80d Patch from Jürg Lehni to add timeout argument to global getURL() function.
Fixes bug #692 - http://dev.helma.org/bugs/show_bug.cgi?id=692
2009-11-10 08:47:01 +00:00
hns
784e374f78 Better fix for bug #684: Retrieve ScriptingEngine if necessary in Application.getDataRoot(), and make sure root objects set via Application.setDataRoot() are actually used. 2009-11-05 10:15:53 +00:00
hns
989ce36da0 Another NPE fix for bug #689
http://dev.helma.org/bugs/show_bug.cgi?id=689
2009-11-05 08:11:53 +00:00
hns
9b7af555df Readd zero argument Application.getDataRoot() 2009-11-05 08:03:29 +00:00
hns
0a9d8ff99b Add skin introspection patch from Tobi Schäfer for bug #688
http://dev.helma.org/bugs/show_bug.cgi?id=688
2009-11-04 11:31:10 +00:00
hns
e2a5a82758 Add Array module repository. Fixes bug #687
http://dev.helma.org/bugs/show_bug.cgi?id=687
2009-11-04 11:13:12 +00:00
hns
8c219d75a3 Don't try to prefetch childnodes on transient nodes. Fixes bug #689
http://dev.helma.org/bugs/show_bug.cgi?id=689
2009-11-04 11:01:58 +00:00
hns
daf3b0b292 Create subnode list if it doesn't exist in Node.getLastSubnodeChange(). Fixes bug #679
http://dev.helma.org/bugs/show_bug.cgi?id=679
2009-11-04 10:56:15 +00:00
hns
f2904d1f29 Replace &apos; with &#39; in encodeXml(), and remove some empty lines. 2009-10-05 16:38:51 +00:00
hns
5d130c9ecb Minor profiler and logging tweaks 2009-09-29 13:51:26 +00:00
hns
bd1e9dcc25 Add rhino.profile.session property to limit profiling to certain user sessions. If set, the indexOf method of the current session id is called with the property as argument, and the profiler is disabled unless the result is 0.
To only profile sessions from localhost (but beware of local proxies!):

    rhino.profile = true
    rhino.profile.session = 127.0.0.1

To only profile a particular user session:

    rhino.profile = true
    rhino.profile.session = 127.0.0.1n5guagu2sdl2jslf

Note that for the profiler to work you need to start helma with rhino.profile = true since Helma 1 doesn't support mixed compiled/interpreted mode like Helma NG.
2009-09-28 13:54:14 +00:00
hns
6af9357ba1 Improve formatting of compiler output 2009-09-28 13:07:59 +00:00
hns
3cef3759a8 Some obvious profiler fixes 2009-09-28 12:55:24 +00:00
hns
7483b7a8ad Fix some markdown bugs. 2009-09-28 12:21:16 +00:00
hns
0dc5aed374 Backport JS profiler from Helma NG. Use rhino.profile = true to activate. 2009-09-27 18:59:38 +00:00
lehni
410226aa36 Cleaned up imports and removed unused variables. 2009-09-25 10:57:50 +00:00
hns
dc902a967e Replace GPLed Diff with BSD licensed java-diff from incava.org. The class is patched to provide the same interface as the old class, both for backwards compatibility and because it is slightly easier to work with. 2009-09-22 17:23:16 +00:00
hns
fe93d71133 Changed apps.properties documentation link again 2009-09-21 21:24:35 +00:00
hns
e1b9630383 Update link to apps.properties documentation 2009-09-21 21:19:47 +00:00
hns
0f82126115 Patch for bug 677 – Dynamic relations broken after update to trunk 2009-09-21 21:03:27 +00:00
hns
dc4cc8f3e1 Minus debugging output 2009-09-21 12:49:14 +00:00
hns
219a5df9ff Sanitize emphasis 2009-09-21 12:47:51 +00:00
hns
fc689d9a12 Make sure Jetty contexts are properly mapped each time an application is bound or unbound. Remove code for dead responseEncoding property. 2009-09-20 19:43:05 +00:00
hns
b65a8d5c6d Add second optional queryParams argument to HopObject.href(). If this is a JavaScript object, its properties will be encoded to a query string and added to the generated URL. 2009-09-20 07:33:46 +00:00
hns
ec3f04cab3 Rename __fullname__ internal HopObject property to __path__, fill in/trim some comments. 2009-09-18 20:40:36 +00:00
hns
85586a0d0f Some cleanup in getGroupbySubnode() methods, mostly renaming local vars and some added comments 2009-09-18 19:58:10 +00:00
hns
19f8084873 Collateral code cleanup: add some comments, remove superfluous parentheses 2009-09-18 19:36:42 +00:00
hns
98aff5cd1a More tests and some fixes 2009-09-18 19:09:52 +00:00
hns
82eda00edd Remove some more unnecessary parentheses 2009-09-18 15:01:48 +00:00
hns
e68e058e6a Simplify cleanup 2009-09-18 13:03:53 +00:00
hns
9490b2e48c Add test for generic collections 2009-09-18 11:58:28 +00:00
hns
f96e053417 Use both grouped and ungrouped collection to add test set 2009-09-18 08:05:04 +00:00
hns
7f15b6ab24 Remove RMI socket factory which isn't used anymore 2009-09-18 07:58:27 +00:00
hns
602130c0f7 More link parsing fixes 2009-09-16 13:35:21 +00:00
hns
fee6e34d34 Flip version to 1.7.0 2009-09-16 10:03:51 +00:00
hns
37e375658e Implement single line break by ending a line with two or more spaces, remove unused field definitions. 2009-09-16 09:52:46 +00:00
hns
891308ffae Backport native markdown processor from Helma NG 2009-09-16 09:15:37 +00:00
hns
e051184c12 Add db support for PostgreSQL and Oracle. 2009-09-15 15:41:24 +00:00
hns
1b58896a2e Add test for maxsize/offset/limit collections 2009-09-15 15:26:55 +00:00
hns
84d5f87eea Fix access by name for collections with offset 2009-09-15 15:25:08 +00:00
hns
b0c72c989e Make group order test work with oracle sort order 2009-09-15 14:54:36 +00:00
hns
684346bb49 Add test for collection order 2009-09-15 14:48:28 +00:00
hns
ee203ea4ad Rewrite group-by select statements using select distinct 2009-09-15 11:00:30 +00:00
hns
da1024e686 Switch svn:externals for Jala back to Jala 1.3 release 2009-09-14 20:14:15 +00:00
hns
dc941ca543 Move test suite into module hierarchy 2009-09-14 20:08:17 +00:00
hns
b637cf7333 Detach counting of subnodes from the size() method to exactly mirror the behaviour of SubnodeList. 2009-09-14 20:04:31 +00:00
hns
ff35a07fa3 Make fields protected for easier subclassing. 2009-09-14 20:02:14 +00:00
hns
64b778f11a Catch exceptions thrown while detaching from parent in Node.remove() 2009-09-14 19:59:33 +00:00
hns
b89989fa20 Fix countNodes() for grouped collections. 2009-09-14 19:56:51 +00:00
hns
67b705117a Make sure group node mappings have their last type change field set. This could lead to content nodes not being fetched. 2009-09-14 19:56:01 +00:00
hns
545a46a0a1 Remove helma.jar in clean task, otherwise debian build script won't work, but remove nesting wildcards 2009-09-11 14:33:00 +00:00
hns
6049832b09 Fix bug with session.login(name, pw) always returning false 2009-09-11 13:14:06 +00:00
hns
473b05c77b Only delete timestamped helma.jar file in clean task 2009-09-11 11:07:24 +00:00
hns
d24fca3a89 Fix clean task to only clean helma*.jar in lib directory. 2009-09-11 10:34:17 +00:00
hns
db9227e95d Remove rmic task, increase version to 1.7.0-rc3 2009-09-10 14:24:58 +00:00
hns
51f31cac8a Fix bug where charset was always added to the Content-Type header even for binary responses. Now charset is only added if it was explicitly set via res.charset, or if the response was actually encoded using the given charset (i.e. writeBinary() wasn't used). Change default charset to UTF-8. 2009-09-10 13:23:38 +00:00
hns
900a251d25 Redesign session management to only register sessions with the session manager that have been changed. 2009-09-09 23:27:04 +00:00
hns
244a7529cb Remove empty javadoc comments and unused code. Decrease create/modifytime by one unit to notice immediate changes. 2009-09-09 23:25:22 +00:00
hns
c50d8b9a3b Fix bug where aggressive cachemode influences caching behaviour of complex reference. 2009-09-09 23:19:45 +00:00
hns
04c809ad58 Cosmetic fix 2009-09-08 20:29:56 +00:00
hns
0241dc1f4e Fix bug in HopObjectProxy: use Node handle instead of node key. 2009-09-08 19:52:11 +00:00
hns
f6e5680a16 Use TransientNode for app data node and prevent a bug where the helma logdir property breaks log4j. 2009-09-08 19:51:28 +00:00
hns
fc1d8dfb26 Remove cache replication functionality including the underlying RMI networking code, make Node not serializable and Node.nmgr final, and resurrect TransientNode for use in sessions. 2009-09-08 19:48:08 +00:00
hns
e1354889ec Make nmgr volatile, remove setter for wrapped node manager, and check for null nmgr in constructors. 2009-09-08 13:51:39 +00:00
hns
44b4a1fe9c Make AbstractServletClient.getApplication() public 2009-09-07 13:30:45 +00:00
hns
a56cdaee59 * Reenable prefetchChildren() for grouped subnodes.
* Make Subnodelist.add()/get() type-safe by using NodeHandle instead of java.lang.Object.
2009-08-14 11:42:42 +00:00
hns
d781142af1 Add servletClass apps.properties option to make the servlet class customizable. 2009-08-14 09:56:16 +00:00
hns
4f5a119d6a There doesn't seem to be a reason to cast Connector to SocketConnector in openListeners() 2009-08-14 09:41:14 +00:00
lehni
e113cd9687 No need to call containsKey on dirtyNodes before putting existing nodes. 2009-08-12 11:16:33 +00:00
lehni
1f29452070 Removed READONLY attribute from path.href and path.contains functions. 2009-08-12 11:02:06 +00:00
lehni
cac4b7d891 A row of mostly cosmetic changes to imaging code. 2009-08-10 14:28:10 +00:00
hns
f0ebbdb6a4 Update version to 1.7.0-rc2. 2009-07-30 10:35:33 +00:00
hns
66eb754564 Make sure nodes created by HopObject.getCollection have a valid id. Fixes bug 663. 2009-07-30 09:48:58 +00:00
hns
507da18a8b Evict primary key in deepRemoveNode(). Fixes bug 668 by making sure removed group nodes are not cached. 2009-07-30 09:04:43 +00:00
hns
032d6dcae7 Fix bug 661 - comparison bug in loop macro in HopObject.js 2009-07-06 12:32:09 +00:00
hns
cfae145756 Set version to 1.7.0-rc1 2009-07-02 12:49:44 +00:00
grob
235a1342f8 committed patch by Simon Oberhammer (adding forEach() to HitCollection, see http://dev.helma.org/bugs/show_bug.cgi?id=670) 2009-06-30 08:18:59 +00:00
hns
6d0427ff55 Update jetty to 6.1.18 release. 2009-06-17 14:57:19 +00:00
hns
ed6db227cc Merge branch jetty6 back into trunk. 2009-06-17 12:41:22 +00:00
hns
b48fb4e277 New logic for skin handler lookup to fix the fix for bug 617. New algorithm works like this:
- resolve against the this-object prototype name, including extended prototypes
  - resolve against the res.handlers collection
  - resolve against the parent path of the this-object, including extended prototypes.

The following thread provides more context:
http://groups.google.com/group/helma/browse_frm/thread/b15805fd6f661d64
2009-06-15 13:25:36 +00:00
hns
afcb459c0d Workaround for quote escaping bug with \-terminated OPTIONS variable. 2009-06-06 10:14:03 +00:00
hns
3a31940fe9 Implement -a switch to helma launcher that allows to explicitly list applications to start, overriding the apps.properties file (application settings in the apps.properties file are still honored, though). Adapt start scripts to pass though additional arguments. 2009-05-29 15:06:14 +00:00
hns
e12c90a529 Refactoring of select statement generation code into Relation.get*Select() methods in order to fix bug 667. Also remove some dead code. 2009-05-29 13:47:15 +00:00
hns
3401440d3b Consistently update subnodeCount in add/remove methods, and fix bug where size() returns wrong result. 2009-05-27 11:59:15 +00:00
hns
3b25f65602 Remove *** prefix from DbMapping error messages and warnings. 2009-05-27 11:42:57 +00:00
hns
44233c5446 Add SubnodeList.markAsChanged() method, fix SubnodeList class javadoc. 2009-05-27 11:08:14 +00:00
zumbrunn
052b6fc4bb fixed code example for helma.Ftp.deleteFile method to use correct method name 2009-05-19 14:38:54 +00:00
zumbrunn
fbd4706604 The init script was intially written for Debian, where sh is typically symlinked to bash, but the proper, more generic script header is #!/bin/bash http://groups.google.com/group/helma/browse_thread/thread/24c3a30ee5091480 2009-05-10 09:28:27 +00:00
hns
567266fdfc Set segment length in SegmentedSubnodeList down to 1000 from 10000. 2009-05-06 13:16:26 +00:00
hns
f6663fe987 Delay creation of request evaluators until app node has been initialized. 2009-05-06 12:47:10 +00:00
hns
1182f46d8c Make sure database connections are tested at most every 60 seconds by retaining connection test status across requests. Fixes bug 622 http://dev.helma.org/bugs/show_bug.cgi?id=662 2009-04-30 13:04:43 +00:00
hns
9c123b41e9 Also check for multi-constraint relations when adding child nodes and defer setting of constraints until nodes are persisted. Fixes a bug reported by Simon Oberhammer on the mailing list: http://groups.google.com/group/helma/browse_frm/thread/8026700caf582560 2009-04-28 15:14:32 +00:00
hns
3c44bb305d Implement setting complex properties on complex relations by deferring the setting of constraints. Fixes a bug reported by Simon Oberhammer on the mailing list: http://groups.google.com/group/helma/browse_frm/thread/8026700caf582560 2009-04-28 13:30:29 +00:00
hns
b0478b020b Try to fix NullPointerException in NodeProxy.getNode(). 2009-04-20 11:07:55 +00:00
hns
4875a85fce Remove weird feature to allow overriding subskins via mainskin, making skin lookup code much simpler. Fix bug to find base skin in skinpath from extended skin in prototype repository. 2009-04-17 20:41:00 +00:00
hns
1af914b6b1 Merge lazy_collections branch.
* Remove helma.objectmodel.TransientNode, replace it with transient db.Nodes
 * Optimize code path for NodeManager.prefetchNodes()
 * Refactor HopObject to allow wrapping of Nodes that aren't loaded yet
 * Do not load all child objects in HopObject.list()
 * Prefetch the requested child object range in HopObject.list(start, length)
 * Implement segmented loading of collection keys for very large (> 10000 elements) collections
 * Make sure lastModified field is set in ResourceProperties, and lastTypeChange in colleciton mappings
2009-04-17 14:49:26 +00:00
hns
8b65614827 Implement skin inheritance via <% .extends skinname %>. Lookup code is now incredibly convoluted for what it does and needs some streamlining. 2009-04-06 05:54:26 +00:00
hns
ea2d20c55f - Replace custom Server.InetEndpoint class with java.net.InetSocketAddress
- Remove code in Server.checkPort() that calls InetAddress.getLocalHost() in case no interface is defined.

This should help fixing bogus error message when default interface is not up.
2009-04-05 12:38:01 +00:00
hns
3f6010377e Simplify even more. 2009-04-01 16:06:13 +00:00
hns
b3112585bb Simplify code a little bit. 2009-04-01 16:03:30 +00:00
hns
d6a51d3fc9 Implement limit/offset support for oracle and use the occasion to refactor and simplify Relation.buildQuery() a bit. 2009-04-01 15:49:59 +00:00
hns
196bf97053 Add experimental definePrototype() function. 2009-03-31 20:20:13 +00:00
hns
3d882de822 Make getIntegerProperty() more robust by catching and logging NumberFormatExceptions. 2009-03-31 12:53:33 +00:00
hns
5fe2b74d30 Do not convert all values to strings. 2009-03-31 12:52:24 +00:00
hns
a32b4f2c86 Add static getCollection() method on HopObject constructors to generate collections programmatically and on the fly. Implement limit and offset collection properties for databases that support it (Postgresql + Mysql) 2009-03-31 11:54:21 +00:00
hns
0a62df7875 Update rhino.jar to js.jar from Rhino 1.7R2 final release. 2009-03-30 13:07:47 +00:00
hns
d26410abc7 Don't define Object.prototype.dontEnum as READONLY, reflecting the status of other predefined functions and properties - see bugs #643 and #602.
http://dev.helma.org/bugs/show_bug.cgi?id=643
http://dev.helma.org/bugs/show_bug.cgi?id=602
2009-03-30 12:26:14 +00:00
hns
ed8637f449 Update to js.jar from rhino1_7R2-RC4.zip 2009-03-17 14:48:38 +00:00
hns
95cb0c224f Close input streams after passing them to java.util.Properties.load(). 2009-03-17 14:41:10 +00:00
hns
6d6f9ff341 Throw exception instead of returning null if file can't be read. 2009-03-17 14:26:11 +00:00
hns
fab316995a Fix bug where storage type name is null when a extended prototype inherits the _db but has its own _table. Allow extended prototypes to only override the _db, but not the _table. 2009-02-18 15:48:43 +00:00
hns
7044354843 Remove duplicate maxSize assignment. 2009-02-18 15:43:48 +00:00
hns
f83909c67d Fix bug 657: Report warnings as error when strictVars app property is set to true. 2009-02-18 09:24:33 +00:00
hns
829d4ead3c Improve repository lookup code and error message. 2009-02-17 16:04:53 +00:00
hns
99cfdfd6f6 Allow applications to explicitly set the HTTP status code with res.redirect(). 2009-02-02 15:35:00 +00:00
hns
ca1aa7f02c Add rootObjectFunctionName property that allows to define a function to get the app's root object. 2008-12-18 13:57:31 +00:00
hns
4b2f195568 Minor cosmetic fix. 2008-12-18 11:55:39 +00:00
hns
eba343b868 Implement rootObjectPropertyName setting to allow "pure" javascript applications where root object is fetched from a global variable in the scripting engine. 2008-12-18 11:32:58 +00:00
zumbrunn
94d85929b4 patch by tobi, catching invalid date format errors and letting the now_macro write error output into the skin instead 2008-12-16 13:23:33 +00:00
hns
6d3f6c3165 Remove helma.doc package and DocApplication functionality. 2008-12-15 22:52:18 +00:00
hns
2ea2823a35 Make sure repositories added via app.addRepository are added before the current repository, but don't make the current repository their parent repository. This mostly undoes revision 9305, and fixes bug 654 http://helma.org/bugs/show_bug.cgi?id=654 2008-12-15 22:46:29 +00:00
hns
b20ef3074a Remove dist directory in ant clean. 2008-12-15 15:54:41 +00:00
hns
c31f60ffa7 Toggle version to 1.7.0 and clean up build file: Remove obsolete CVS stuff, combine sub-targets with just one caller, and remove unused targets. 2008-12-15 15:11:20 +00:00
hns
3673da711c Remove all generated files in clean task. 2008-12-15 12:42:23 +00:00
hns
a72c19adc5 Be smarter about opening listeners in JettyServer 2008-12-13 02:53:10 +00:00
hns
c820cab550 Create jetty server in init() so we can open privileged ports when running with jsvc. 2008-12-13 02:36:39 +00:00
hns
256335adde Make launcher Main class compatible with jsvc (apache commons daemon) and adapt Server lifecycle API. 2008-12-13 01:39:10 +00:00
hns
0cb7e2a1aa Add ApplicationManager constructor without RMI port argument. 2008-12-11 15:08:54 +00:00
hns
6b12ae32ea Make RequestEvaluator survive broken/missing rhino.jar. 2008-12-03 14:06:19 +00:00
hns
9b8ef5d64c Implement toString() in class InetEndpoint. 2008-11-27 10:10:52 +00:00
hns
15ae889600 Fix cookie parsing to handle HttpOnly and other cookie extensions correctly. 2008-11-17 11:37:57 +00:00
hns
053237600e Use LinkedHashSet in ResourceProperties to preserve insertion order in properties updates. 2008-11-11 14:09:34 +00:00
hns
5c71734acb Apply totalUploadLimit value to ordinary form post requests. 2008-11-06 17:37:25 +00:00
hns
6141392ab9 Fix bug 647: Allow HopObjects to use ScriptableObject slot properties, for
example to implement getters and setters. Patch from Juerg Lehni.
<http://helma.org/bugs/show_bug.cgi?id=647>
2008-11-05 15:36:27 +00:00
hns
941395437b Fix bug 649: Don't mark node as modified on transient property change.
<http://helma.org/bugs/show_bug.cgi?id=649>
2008-11-05 14:28:03 +00:00
hns
57b5275705 Factor out jetty server into JettyServer wrapper class and duplicate
InetAddrPort as InetEndpoint to avoid direct dependency of helma.main.Server 
on Jetty 4, which may be problematic when running Helma apps through 
helma.servlet.StandaloneServletClient within a servlet container.
2008-11-05 12:49:06 +00:00
hns
b9a776c979 Add addHeader(), setHeader(), getHeader() and removeHeader() methods to Mail object.
Remove unused java class constants. Fix for bug 540 <http://helma.org/bugs/show_bug.cgi?id=540>
2008-10-30 16:01:06 +00:00
zumbrunn
72341e832e changed build.xml to include itself in generated src packages 2008-10-29 12:13:37 +00:00
hns
d0ede5de85 Add support for enabling TLS in helma.Mail as suggested by user Johnti on the Helma group:
http://groups.google.com/group/helma/browse_frm/thread/d32296c5df8996cb/af407e588fb60054
2008-10-20 15:09:12 +00:00
hns
a4811de1e0 Partial backport from Helma NG file module: Add optional arguments to open: append to append to existing file instead of opening it for reading, and charset to define the encoding for reading/writing the file. Also fixes a bug where close() does not properly reset all internal variables.
Fixes bug 636 <http://helma.org/bugs/show_bug.cgi?id=636>
2008-10-20 14:51:32 +00:00
hns
9f2238c019 Patch from Tobi Schäfer to pass Jetty XML configuration file to Helma server. 2008-10-20 14:44:41 +00:00
zumbrunn
2fc811ccc0 added the CDDL to the licenses directory, since we include JSAdapter, which is under the CDDL 2008-10-20 14:23:36 +00:00
hns
a8677d1afc Reactivate Server.checkPort() but try to use a server socket instead of connecting with a client socket as suggested by Daniel Ruthardt in bug 637 <http://helma.org/bugs/show_bug.cgi?id=637> 2008-10-20 13:51:31 +00:00
hns
fb12fd3e4d Make location of db.properties customizable using the dbPropFile server property.
Contributed by Bernhard Fröhlich. Fixes bug 640 <http://helma.org/bugs/show_bug.cgi?id=640>
2008-10-20 13:35:43 +00:00
hns
ac28cd7542 Resolve relative paths relative to Helma home directory. Fixes bug 639 <http://helma.org/bugs/show_bug.cgi?id=639> 2008-10-20 12:19:31 +00:00
hns
8a5c065901 Change version number to 1.6.3 2008-10-20 10:38:37 +00:00
hns
c28482264e Change version number to 1.6.3 2008-10-20 10:37:52 +00:00
hns
9a0a61e698 Fix bug with closed database connections in very long running requests by making sure connections are re-checked every 10 seconds. 2008-10-17 16:20:15 +00:00
hns
f099d9ae69 Minor code cleanup. 2008-10-17 16:07:31 +00:00
hns
1504777bcc Import helma.objectmodel.db.Node instead of using the fully qualified classname all the time. 2008-10-17 16:06:43 +00:00
hns
99c9b3a867 Return a transient HopObject instead of a ListViewWrapper in HopObject.getOrderedView(). Do import helma.objectmodel.db.Node in HopObject. 2008-10-17 16:04:28 +00:00
hns
0e7c4354c9 Make HopObject properties case sensitive. 2008-10-17 14:18:24 +00:00
hns
bff550c6d9 Activate instruction count based thread termination. Replace deprecated context enter()/exit() calls. 2008-10-17 14:05:23 +00:00
hns
33fac6be68 Fix bug in request handling when incoming requests are attached to an existing response and the response is generated by directly accessing the res.servletResponse HttpServletResponse instance. 2008-10-17 12:02:24 +00:00
hns
a635964fc8 Go back to Java 1.4 compatibility. The few generics uses aren't worth it to require Java 1.5. 2008-10-17 09:14:36 +00:00
hns
e827d0beb4 Make sub-properties updateable, plus minor code cleanup. 2008-10-17 09:10:34 +00:00
hns
2c2f95253f Set log level to "starting" message to DEBUG. Set log level for "inserted node" message and consorts to DEBUG. Fix and improve error log messages. Make Log accessors in Application public. 2008-10-17 08:53:30 +00:00
hns
f1dd9c6f37 Add log message when a request starts evaluating, and make commit log message look nicer and easier to parse. 2008-10-16 15:06:44 +00:00
hns
ee391ae6db Improve thread naming and include thread ids in helma log message. 2008-10-16 14:30:47 +00:00
hns
3af404d39e Unify macro error handling, and don't dump stack traces for macro errors. 2008-10-16 13:50:29 +00:00
hns
ffff56465f Fix for bug 625: only don't encode within macro tag, but do encode in HTML tags. 2008-10-16 13:20:56 +00:00
hns
d3cb3afce8 Fix for bug 625: don't encode & as entity if encountered within a tag. 2008-10-16 13:17:22 +00:00
hns
4cdc177964 Add support for secure and HttpOnly session cookies, with HttpOnly being enabled by default. The features are controlled through the httpOnlySessionCookie and secureSessionCookie app properties. We now compose and set the session cookie ourselves as this is the only reliable way to do it in a cross-servlet-container compatible way and without adding dependencies to the servlet container. 2008-10-16 12:15:42 +00:00
hns
5217132767 Some code cleanup and make sure StandaloneServletClient actually works by avoiding NullPointerExceptions and calling Server.init(). 2008-10-15 14:49:08 +00:00
hns
fc8ce41184 Do not use the currently evaluated code repository as parent/root repository for repositories added via app.addRepository(). I don't know why I did this in the first place, but it messes up code evaluation order because multiple repositories end up with the same root repository. 2008-10-15 10:29:18 +00:00
hns
3e1df369bf Move build.xml to top-level directory. 2008-10-15 09:36:24 +00:00
hns
b556bc4bd4 Move build.xml to top-level directory. 2008-10-15 09:30:57 +00:00
hns
c531985afe Increase app.xmlrpcCount for "new style" XML-RPC requests served by Jetty.
Fixes bug 629 http://helma.org/bugs/show_bug.cgi?id=629
2008-09-20 20:45:46 +00:00
hns
fd80b451d9 Patch from Jürg Lehni to not track unset() on non-persitable properties.
Fixes bug 633 http://helma.org/bugs/show_bug.cgi?id=633
2008-09-20 20:22:37 +00:00
hns
761ab5560b Fix serialization for transient HopObjects. 2008-09-09 13:53:51 +00:00
zumbrunn
c15785a22d updated mailing list and source repository links 2008-08-12 20:40:53 +00:00
hns
d25b8298ee Add debug output for prototype handling. 2008-08-06 13:12:38 +00:00
zumbrunn
50ab484fd0 updated range of years of copyright notice in the license to include 2008 2008-08-06 10:47:15 +00:00
hns
60e56647eb Undo previous commit. 2008-07-28 10:56:51 +00:00
hns
fb9f5cf8cd Add more synchronization to avoid memory race conditions. 2008-07-28 10:23:03 +00:00
hns
f3c6c7a93f Make app.addRepository() synchronized to avoid memory race conditions. 2008-07-28 08:24:42 +00:00
hns
01e8b5ccbd Make sure _all_ access to TypeManager.prototype field is synchronized. 2008-07-21 23:05:28 +00:00
hns
51ba3dc963 Make sure _all_ access to TypeManager.prototype field is synchronized. 2008-07-21 23:02:22 +00:00
hns
41a422fd01 Synchronize more methods in TypeManager to prevent race conditions. 2008-07-17 12:08:10 +00:00
hns
d1600d4783 * Use LinkedHashMap for dirty node tracking to preserve insertion order.
see <http://helma.org/pipermail/helma-user/2008-May/007379.html>
2008-07-04 13:50:59 +00:00
zumbrunn
b5b7d8ff0b removed obsolete information regarding the old FtpClient host object and fixed the constructor's example code accordingly 2008-07-01 18:03:34 +00:00
zumbrunn
8b6203fc0d fixed description of repeat method 2008-07-01 17:38:19 +00:00
hns
277737f940 * Fix checkXmlRpc to work with content-types containing a charset subheader.
Fixes bug #628 <http://helma.org/bugs/show_bug.cgi?id=628>
2008-06-13 20:48:33 +00:00
hns
449cbd815e * Continue parsing macro tags even if it is a comment. This is the only
way we can correctly catch embedded macros. Fixes bug 588.
  http://helma.org/bugs/show_bug.cgi?id=588
2008-05-15 09:45:33 +00:00
hns
0aaa141a4b * Fix bug 617: Only resolve direct prototype matches in parent chain. 2008-05-15 09:09:40 +00:00
hns
3104b4c48a * Fix bug 625: Don't let format() encode characters inside executable macro tags. 2008-05-15 08:29:43 +00:00
manfred
d0d7dd55c3 added renameFile for renaming remote files 2008-05-14 13:52:01 +00:00
hns
24cecbaead * Increase version number to 1.7.0-pre. 2008-05-05 14:46:26 +00:00
hns
2734f70d6a * Introduce hopdir servlet parameter to be able to set the helma directory. 2008-05-05 14:38:53 +00:00
hns
585725d9c6 * Try a little harder to find resources in app.addRepository:
If path names don't resolve by themself, try explicitly using hopHome as parent.
  This is useful in cases where hopHome isn't the current or user directory, such as 
  when running helma within tomcat.
* Make app reference transient.
2008-05-05 14:37:58 +00:00
zumbrunn
f8f0ad0692 changed docs for Aspects.addBefore() function to mention the parameters passed to the added function 2008-05-02 08:35:18 +00:00
hns
0592e44ad1 * Add serialVersionUID (doh, should have done this before 1.6.2!) 2008-04-24 11:31:23 +00:00
hns
30c8f63155 * Patch from Anton Pirker on helma-user: Remove semicolons in encoding. 2008-04-22 10:47:54 +00:00
grob
a2640a9b70 added an optional name argument to Document.prototype.getFields() for retrieving all fields with the specified name 2008-04-19 09:57:57 +00:00
grob
f1577494a6 bugfix in Document.prototype.getFields(): don't use getField(), as this returns only the first of multiple fields with the same name 2008-04-10 09:55:03 +00:00
hns
44c0745954 * Set parent on group nodes for transient parents. Fixes NullPointerException
in Relation.setConstraints().
2008-04-07 19:50:57 +00:00
hns
ae3c331c7d * Fix several bugs in grouped collections:
<http://helma.org/bugs/show_bug.cgi?id=597>
  <http://helma.org/bugs/show_bug.cgi?id=614>
  <http://helma.org/bugs/show_bug.cgi?id=615>
2008-04-07 15:24:11 +00:00
hns
7d80ab10e0 * Remove call to gui.dispose() as it causes helma shutdown hook to hang on windows
- see http://helma.org/bugs/show_bug.cgi?id=586#c2
2008-04-07 12:25:02 +00:00
hns
3bd9e813a9 * Bump version to 1.6.2 2008-04-07 08:49:13 +00:00
hns
dc88734294 * Make Root.getAllApplications() include the apps defined in apps.properties.
Requires a fresh Helma snapshot (1.6.2+). 
  Fixes bug 520 <http://helma.org/bugs/show_bug.cgi?id=520>
2008-04-04 11:48:15 +00:00
hns
a96a4444a6 * Make Server.getAppsProperties() return the whole properties if appName argument is null.
* Code cleanup: make ServerConfig fields private and add getters and setters.
2008-04-04 11:44:29 +00:00
hns
35ed7a58f8 * Minor code cleanup. 2008-04-04 11:40:25 +00:00
hns
02b00926ff * Define cache node as INode rather than fixed TransientNode.
The idea is to eventually be able to use persistent HopObjects 
  as session stores.
2008-04-04 10:59:26 +00:00
hns
30eb6663bc * Run Application.init() in a fresh thread to shield it against class loaders
and rhino contexts that may be associated with the calling thread. 
  Fixes bug 613 <http://helma.org/bugs/show_bug.cgi?id=613>
2008-04-04 10:56:29 +00:00
hns
007f61b324 * implement toString() method in AppClassLoader. 2008-04-04 10:49:02 +00:00
hns
3e98b9e5c9 * Add shutdown hooks to ScriptingEngine, RhinoCore and HelmaDebugger.
Fixes bug 586 <http://helma.org/bugs/show_bug.cgi?id=586>
2008-04-02 15:14:30 +00:00
hns
931117a6b6 * Minor formatting fix. 2008-04-02 13:45:27 +00:00
hns
03f6060525 * Commit patch to implement repository support for StandaloneServletClient
contributed by Franz Philipp Moser. Fixes bug 544
  <http://helma.org/bugs/show_bug.cgi?id=544>
2008-04-02 13:44:28 +00:00
hns
6c5e37fb76 * Fix bug 426 <http://helma.org/bugs/show_bug.cgi?id=426> 2008-04-02 13:19:28 +00:00
grob
7e267af7fd reverted back to 2.2.0 (accidentally updated to 2.3.1 in [8803]) 2008-04-01 13:53:44 +00:00
grob
1893ab3494 added count(fieldName, fieldValue) to helma.Search.Index prototype, returning the number of documents with a given field and value in the index 2008-04-01 13:43:15 +00:00
hns
3526050006 * Throw explicit exceptions when a derived property is set to the id of a
transient object. Fixed bug 607.  <http://helma.org/bugs/show_bug.cgi?id=607>
2008-04-01 13:03:46 +00:00
hns
b0723569b2 * Do not cache nodes unless there is a request evaluator associated with
the current thread and we can invoke onInit() on it. This prevents  nodes 
  fetched from other applications to be cached and fixes bug 598 
  <http://helma.org/bugs/show_bug.cgi?id=598>
2008-04-01 11:53:46 +00:00
hns
ce30c5aac4 * Implement Application.getParentElement(). 2008-04-01 09:51:07 +00:00
hns
17e8ea6d82 * Close sql statement after the logging. Fixes bug 605.
<http://helma.org/bugs/show_bug.cgi?id=605>
2008-03-26 18:53:31 +00:00
hns
4f30dc3c0e * Update javac source and target version to 1.5.
Fixes bug 609 <http://helma.org/bugs/show_bug.cgi?id=609>
2008-03-26 18:14:28 +00:00
zumbrunn
ce879b2541 fixed see tags for getMultipartType, setMultipartType and addPart that were pointing to wrong places 2008-03-26 18:11:22 +00:00
hns
6bd3e78dfb * Make Property.getBooleanValue() try to convert strings to integers.
Fixes bug 606 http://helma.org/bugs/show_bug.cgi?id=606
2008-03-26 11:30:31 +00:00
hns
24fbb853f4 * Do not define global functions and OrderedView methods as READONLY,
mirroring the behaviour of HopObject methods.
  http://helma.org/bugs/show_bug.cgi?id=602
2008-02-19 12:22:18 +00:00
hns
f6d21299a0 * Make sure prototype and parent scope are set correctly for HopObject.getById().
Fixes bug 601 http://helma.org/bugs/show_bug.cgi?id=601
* Do not define HopObject.getById() as READONLY. Fixes bug 602
  http://helma.org/bugs/show_bug.cgi?id=602
2008-02-19 11:52:15 +00:00
hns
ad613b629a * Rename req.actionProcessor to req.actionHandler as suggested by Juerg Lehni on helma-dev. 2008-02-18 15:09:11 +00:00
hns
58b7de53c4 * Merge -r 8778:8790 from branches/refactor_transactor. 2008-02-08 15:58:14 +00:00
hns
a44af35c59 * Rename Transaction class to XmlTransaction. 2008-02-06 14:50:59 +00:00
hns
821f69150f * Update to Rhino HEAD snapshot from 2008-02-05 with token patch
from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2008-02-05 15:51:34 +00:00
hns
add89add1a * Implement req.actionProcessor to allow onRequest() to set/override the function
called to handle the request. Required for continuation and callback support.
2008-02-05 14:45:37 +00:00
hns
6063259455 * Implement support for req.uri. This property contains the full request URI for
HTTP requests, and is null for internal requests. While req.path only contains 
  the request's path info within the helma application, req.uri contains the 
  request's full URI starting at the web server root.
2008-02-05 10:56:50 +00:00
hns
b49ad9d2f1 * Implement HopObject.getAllIds() in order to display HopObject properties in debugger. 2008-02-01 10:31:38 +00:00
hns
3fbb4419c6 * Set default Javascript language version to 1.7 (rhino.languageVersion = 170) 2008-01-29 16:06:11 +00:00
hns
8897b240c8 * Update to Rhino HEAD snapshot from 2008-01-28 with token patch
from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2008-01-29 12:36:57 +00:00
hns
b29bf58253 * Make error handling more flexible, adding res.exception, res.scriptStack, res.javaStack
to get further information on unhandled exceptions during page execution.
* Make default error page include script and java stack traces when debug is set to true.
2008-01-29 12:16:06 +00:00
hns
b5f7f14b2f * Add serialization proxy support for host objects (app, path, req, res). 2008-01-29 10:54:46 +00:00
hns
b66a0eb8be * Fix getDefaultValue() for JSAdapter to be called on adapter, not adaptee. 2008-01-29 10:13:27 +00:00
hns
08145e3965 * Check for action names that don't end with '_action' in setAction(). 2008-01-29 10:03:00 +00:00
hns
1ccb272c82 * Rewrite getPrototypeName() to check interfaces on all superclasses,
because classes do not report interfaces inherited from a superclass.
2008-01-29 09:35:37 +00:00
hns
e6fad59612 * Overhaul getParent(), only return non-containing parent as fallback.
Fixes bug 593 - http://helma.org/bugs/show_bug.cgi?id=593 
* Don't go into parent check for root node.
* Do not trim name in setName(). Fixes bug 594 - 
  http://helma.org/bugs/show_bug.cgi?id=594
2008-01-28 13:54:57 +00:00
hns
e75851c2a2 * Replace netcomponents.jar with jakarta commons-net.jar 1.4.1.
Change of java package name _should_ be all that is required.
2008-01-25 11:11:33 +00:00
hns
2f7407a8c7 * Replace netcomponents.jar with jakarta commons-net.jar 1.4.1. 2008-01-25 11:09:59 +00:00
hns
6ef2eabdd9 * Add JSAdapter support from Phobos project <https://phobos.dev.java.net/>.
See <http://blogs.sun.com/sundararajan/entry/self_javascript_and_jsadapter>
  for more information on JSAdapter.
2008-01-10 13:07:53 +00:00
hns
41334905c0 * Patch for rhino.languageVersion setting from Chris Langreiter:
http://www.langreiter.com/space/2007-12-26-r17
2008-01-02 17:13:18 +00:00
hns
d8149e0bee * Implement new HOpObject isPersistent() and isTransient() methods. 2007-12-21 16:37:25 +00:00
hns
25bf45477d * Make members in SubnodeList transient to avoid serialization fuck-up. 2007-12-21 09:13:52 +00:00
hns
6995b9b6a1 * Make helma.Http always set result.content, regardless of response status code.
* Always call responseHandler, regardless of response status code.
* Fix setFollowRedirects() bug.
Fix for bug 583 http://helma.org/bugs/show_bug.cgi?id=583
2007-12-19 10:13:54 +00:00
zumbrunn
f3bfee3a16 turned documentation for JSON methods back on 2007-12-13 19:03:38 +00:00
zumbrunn
add43975fc made some minor @see tag changes to please the new jsdoc-toolkit based docs 2007-12-13 18:30:16 +00:00
zumbrunn
1d9d306bca made some minor @see tag changes to please the new jsdoc-toolkit based docs 2007-12-13 18:25:41 +00:00
zumbrunn
e4d04f1db0 added explanations regarding the usage of these optional repositories and added docs for helma.Image 2007-12-13 12:21:48 +00:00
hns
48bd6d055b * use String.replaceAll() rather than String.replaceFirst() to sanitize log names. 2007-12-12 15:32:10 +00:00
hns
29cebb79a9 * Perform some sanity checks on log file name,
as Jetty sometimes uses http context paths in log names.
2007-12-12 13:01:54 +00:00
hns
cb0d4e830d * Don't add ResourceHandler for protectedStatic directory, as it doesn't
really seem to be needed.
2007-12-12 12:45:31 +00:00
hns
077e7b540b * Make sure resource paths passed to res.forward() start with a slash,
as Jetty 5.1 wants it that way.
* Add curly braces to statements.
2007-12-12 12:44:21 +00:00
hns
cdb9a335e4 * Implement res.resetBuffer() as proposed by Michael Platzer on helma-user.
Fixes bug 585: http://helma.org/bugs/show_bug.cgi?id=585
2007-12-11 16:32:22 +00:00
hns
389ab31d9e * Include filter in MultiKey parts for complex references. Fixes bug #584
originally reported by Franz Philipp Moser on helma-user.
  http://helma.org/bugs/show_bug.cgi?id=584
2007-12-11 16:16:28 +00:00
hns
21c44962f1 * Update version string to 1.6.1 2007-12-11 11:17:37 +00:00
hns
911e8c3fbc * Set HTTP status code to 500 by default when error action is invoked. 2007-12-11 10:03:48 +00:00
hns
891d0f74e1 * Fix bug 582, which is a regression caused by the fix for bug 551.
http://helma.org/bugs/show_bug.cgi?id=582
  http://helma.org/bugs/show_bug.cgi?id=551
2007-12-10 10:47:41 +00:00
hns
3fcdfd72ce * Invoke User.onLogout() if and only if a request evaluator is associated
with the current thread (which means it is called from an application script).
  Otherwise, we can assume to be called by the session timeout thread, which 
  takes care of calling User.onLogout().
2007-12-06 20:18:59 +00:00
hns
4afd475510 * deprecated SessionManager.loginSession() and logoutSession() as they have
a twin in the Application class. Change implementations to proxy to 
  the Application methods.
2007-12-06 20:13:59 +00:00
hns
ec1b8b71d9 * Use setBoolean to set BIT and BOOLEAN type columns in prepared statements.
This should make it work with Postgresql.
2007-12-06 13:56:09 +00:00
zumbrunn
3f1069db50 moved externals from the work directory to a subdirectory in build and changed build.xml to create packages free of spurious temp files and to make sure the build process cleans up after itself 2007-12-03 18:47:50 +00:00
hns
9bf899098f * Setting svn:externals definitions to mount apps 2007-11-30 15:44:58 +00:00
hns
29ec0ea10d * Adding work directory in order to mount dependencies via svn:externals.
This is not the most beautiful solution, but it works for now.
2007-11-30 15:39:37 +00:00
hns
3005f65f3e * Switch no new jsdoc-toolkit java/rhino based toolkit for generating helma documentation.
* Remove tasks that build up and tear down dependencies via cvs. The new build will 
  depend on dependencies set via svn:externals (not done yet).
2007-11-30 15:27:43 +00:00
hns
02d3e602cc * Use logError() instead of logEvent() and extra stack dumping
in SessionManager.cleanupSessions().
2007-11-30 12:33:52 +00:00
hns
70c50c5625 * Implement calling of User.onLogout in Session.logout().
Fixes bug 579 <http://helma.org/bugs/show_bug.cgi?id=579>
2007-11-30 12:32:42 +00:00
hns
1e783a8c99 * Apply better protection against SQL injection following bug 577
<http://helma.org/bugs/show_bug.cgi?id=577> by introducing 
  DbMapping.checkNumber() to catch anything not looking like a number literal 
  from being used as such. I't quite likely this breaks for some SQL type and 
  app out there, but it's better to be careful here.
* Introduce new DbMapping.virtual/DbMapping.isVirtual() flag that easily lets us 
  know whether a Node/DbMapping is a virtual one (collection, mountpoint etc)
  Using this in Node.getNonVirtualParent() fixes bug 566
  <http://helma.org/bugs/show_bug.cgi?id=566>.
* Remove obsolete and unused Node.setParent(Node, String).
* Set parentHandle directly instead of calling setParent(Node) in Node.getParent().
2007-11-28 15:32:09 +00:00
hns
230469d544 * Rename FrameworkException to NotFoundException in order to
reflect actual usage/semantics.
2007-11-28 15:14:02 +00:00
zumbrunn
c17e1df282 added jsdoc comments documenting the various properties of helma.Url objects 2007-11-28 11:00:00 +00:00
hns
116a111d5a * Do not set the log level of the event log unless actually required. 2007-11-26 14:46:36 +00:00
hns
8cffcf5b57 * Reimplement Jetty log sedating by introducing a new private Log class that
reduces the log verbosity for levels DEBUG and TRACE.
  This is a fix for the fix for bug 560   <http://helma.org/bugs/show_bug.cgi?id=560>, 
  which resulted in Jetty logfiles to be written to a subdirectory called "console".
2007-11-26 14:43:42 +00:00
hns
61b41e098a * Always include local subnode version in lastSubnodeChange checksum.
Fixes bug 567 <http://helma.org/bugs/show_bug.cgi?id=567>
2007-11-26 12:45:38 +00:00
hns
ad635a3cf7 * Fix typo in comment. 2007-11-26 12:43:48 +00:00
michi
87ed97d3a3 if logSQL=true then we will also log queries, that are submitted via helma.Database to the sql-log-file; see http://www.nabble.com/logSQL-with-helma.Database-t4804158s2589.html 2007-11-23 17:13:32 +00:00
hns
7258b95fcb * Do not mark prototype as updated in database when modifying the
_prototype property on transient objects. Fixes bug 572. 
  <http://helma.org/bugs/show_bug.cgi?id=572>
* Tentative fix for bug 573: Calling HopObject.persist() on already persistent
  object causes object to be updated in database.
  <http://helma.org/bugs/show_bug.cgi?id=573>
2007-11-22 10:27:04 +00:00
hns
1b873d3e11 * Exclude Jetty classes from console log. This is a hack to prevent
all request and response headers to be dumped to console with debug=true.
  Fixes bug 560 <http://helma.org/bugs/show_bug.cgi?id=560>
2007-11-20 15:13:55 +00:00
hns
90c02cadc0 * Make sure deleted objects aren't fetched again from database.
Fixes the other half of bug 551
  <http://helma.org/bugs/show_bug.cgi?id=551>
* Renamed methods in Transactor to make their purpose clearer.
2007-11-20 13:02:31 +00:00
hns
9858091c20 * Make sure child objects removed via removeChild() are not accessible
anymore from that collection. 
  Fixes bug 551 <http://helma.org/bugs/show_bug.cgi?id=551>
2007-11-20 09:37:39 +00:00
hns
ad68ca97b3 * Do not let 404 errors increase app.errorCount, even if
no notfound action is defined.
2007-11-14 16:44:27 +00:00
hns
e29a8aee38 * Fix bug where multiple parameter values with the same name aren't
stored in parameter map for forms with enctype="multipart-formdata".
2007-11-14 10:00:46 +00:00
hns
ae83283fc5 * Prevent response splitting vulnerability reported by Paul Alexandrow
on helma-dev: Also fix res.setCookie() and add comments.
2007-11-13 14:30:05 +00:00
hns
2721d55139 * Prevent response splitting vulnerability reported by
Paul Alexandrow on helma-dev.
2007-11-13 14:23:57 +00:00
hns
54617d09c1 * Limit maximal loop count for Macro.resolveHandler() lookup.
Fixes symptoms of bug 543.
  <http://helma.org/bugs/show_bug.cgi?id=543>
2007-11-12 14:43:48 +00:00
hns
5cd2021502 * Throw exception instead of removing the old node when adding
a node to a named collection with a name that is already taken.
  Fixes bug 568 <http://helma.org/bugs/show_bug.cgi?id=568>
2007-11-12 13:41:56 +00:00
hns
ac4e78cb17 * Allow HopObjects to be used as arguments in XML-RPC calls, interpreting
them as dicts and ignoring child nodes. Resolves bug #345
  <http://helma.org/bugs/show_bug.cgi?id=345>
2007-11-08 11:03:41 +00:00
hns
e0b814216e * Log error in XML-RPC method call. 2007-11-08 10:55:33 +00:00
hns
d896e79aeb * Do not allow constructor property to be defined as constant on HopObjects,
as we need the constructor to be resettable in Helma with Rhino 1.7.
2007-11-07 13:46:57 +00:00
hns
12423bb9a7 * Do not check parent nodes found via _parent setting - just trust
getChildElement to be set appropriately.
2007-11-07 10:31:35 +00:00
hns
1650407241 * Implement suppressErrorPage property to allow error pages
for low level errors to be suppressed:

    suppressErrorPage = true
2007-11-05 14:03:02 +00:00
hns
a21d31830e * Backpaddle from incompatible change: return file name instead of
file path from MimePart.writeToFile() again as in Helma 1.6.0.
2007-11-05 09:32:31 +00:00
hns
6d2f294252 * Implement onDebuggerStatement(Context) added in Rhino 1.7.
* Minor Javadoc and import cleanup.
2007-10-29 09:37:59 +00:00
hns
8a27991087 Switching to jala trunk 2007-10-23 12:11:48 +00:00
hns
e307d212fd * Rename Config to ServerConfig in order to prepare for an ApplicationConfig class. 2007-10-11 13:26:02 +00:00
hns
beed995659 * Enabling use of ID sequence generators in H2 databases.
Patch by Robert Gaggl, fixes bug 562 - http://helma.org/bugs/show_bug.cgi?id=562
2007-10-11 12:31:49 +00:00
hns
ae0536eb26 * Allow _parent to consist of three elements, such as page.comments.blocked.
Fixes bug 563 - http://helma.org/bugs/show_bug.cgi?id=563
* Throw an exception when adding to a collection with accessname defined and the 
  collection already contains an object with the given name. Previously, the old object 
  was deleted from the database. 
  Fixes bug 561 - http://helma.org/bugs/show_bug.cgi?id=561
2007-10-11 12:21:40 +00:00
hns
3c059e8778 * Update to stock Apache XML-RPC 2.0.1. 2007-10-11 12:13:07 +00:00
hns
b1980dceec * Update tagsoup.jar to version 1.1.3. Tagsoup is used by getHtmlDocument() as well as Jala. 2007-10-11 11:58:40 +00:00
hns
a58b4a084f * Allow type.properties to be named after their prototype (e.g. Root.properties).
Implement feature request 553: http://helma.org/bugs/show_bug.cgi?id=533
2007-10-11 10:05:53 +00:00
hns
033659c8c5 * Don't mark a HopObject dirty if added to transient collection.
This is a rather conservative fix for bug 554.
  http://helma.org/bugs/show_bug.cgi?id=554
2007-10-11 09:51:17 +00:00
hns
9874ec1cd9 * Remove toggle link for debug output. 2007-10-10 12:30:10 +00:00
hns
4ab4f0ef9c Define svn:externals for helma modules trunk 2007-10-09 13:31:47 +00:00
hns
f232748501 Define svn:externals for jala 1.2 2007-10-09 13:29:56 +00:00
hns
2fa6005ee1 Simplify implementation:
* No need to use reflection because we always have JDK 1.4 functionality. 
* Use java.util.BitSet for lookup of URI-safe characters.
2007-10-03 14:43:39 +00:00
hns
9b75760568 * Add try/catch and logging to updateProperties(), and remove duplicate code. 2007-10-03 14:40:21 +00:00
hns
72fffb0aa1 robert: set svn:mime-type property on all html files 2007-09-28 13:29:58 +00:00
hns
a70b360310 robert: removed svn:mime-type and set svn:keywords property of all text files 2007-09-28 13:16:38 +00:00
hns
a59ea3367e robert: removed svn:mime-type and set svn:keywords property of all text files 2007-09-28 13:16:38 +00:00
hns
463a175753 robert: removed svn:mime-type and set svn:keywords property of all text files 2007-09-28 13:16:38 +00:00
hns
f03f405f04 * Check if changeSet is null in commitCompilation() to avoid NullPointerException.
Fixed bug http://helma.org/bugs/show_bug.cgi?id=466
2007-09-26 12:46:21 +00:00
hns
e9e11ddb9a * Add write() and writeToString() variants that take an additional boolean argument
to write node in shallow/internal database mode. 
  Fixes bug http://helma.org/bugs/show_bug.cgi?id=404
* Some code and javadoc cleanup.
2007-09-26 12:07:34 +00:00
hns
ff20cddcda * Refactor constructors a lil bit, make className final, clean up import statements. 2007-09-26 12:03:06 +00:00
hns
fd598f23cf * Set session cookie in request object. Fixes bug 547.
http://helma.org/bugs/show_bug.cgi?id=547
* Use java.security.SecureRandom for session id generation,
  with fallback to java.util.Random.
2007-09-25 11:01:30 +00:00
hns
f7f2604969 * Move cleanupSessions() from Application to SessionManager. 2007-09-25 10:43:04 +00:00
hns
a35d3ea425 * Convert file name into an absolute path in saveAs().
* Build directories in saveAs() if they don't exist, 
  fixing bug 324 <http://helma.org/bugs/show_bug.cgi?id=324>
2007-09-21 14:57:22 +00:00
hns
4b23a48c14 * Try to be more robust if getInputStream() is called after writeToFile() has been called
by getting the InputStream from the new file instead of the old one, which may not exist 
  anymore. Fixes bug 559 <http://helma.org/bugs/show_bug.cgi?id=559>
* Print error messages when catching Exceptions, plus a little more cleanup.
2007-09-21 14:55:10 +00:00
hns
262eb22335 * Fall back to property name if a filter reference can't be resolved as column name.
Fixes bug 557 <http://helma.org/bugs/show_bug.cgi?id=557>
2007-09-21 13:12:46 +00:00
hns
74b3b217ee * Mark object references as COMPLEX_REFERENCE if the foreign key column is also
mapped as primitive property. Fixes bug 555.
  <http://helma.org/bugs/show_bug.cgi?id=555>
* Get group mapping from parent DbMapping. Fixes bug 553.
  <http://helma.org/bugs/show_bug.cgi?id=553>
2007-09-21 09:31:15 +00:00
hns
9395ebcd06 * Update lib/jetty.jar to Jetty 5.1.14 and lib/servlet.jar with the following patch for AJP13 request paths:
--- jetty-5.1.14/src/org/mortbay/http/ajp/AJP13Connection.java  2007-03-05 01:15:05.000000000 +0100
+++ jetty-5.1.14-patched/src/org/mortbay/http/ajp/AJP13Connection.java  2007-09-20 17:28:17.000000000 +0200
@@ -208,12 +208,9 @@
                        log.warn(packet.toString());
                    }
 
-                    String path=packet.getString();
-                    int sc=path.lastIndexOf(";");
-                    if (sc<0)
-                        request.setPath(URI.encodePath(path));
-                    else
-                        request.setPath(URI.encodePath(path.substring(0,sc))+path.substring(sc));
+                    // fix request path encoding issue, see
+                    // http://grazia.helma.at/pipermail/helma-user/2007-March/006911.html 
+                    request.setPath(packet.getString());
 
                     _remoteAddr=packet.getString();
                     _remoteHost=packet.getString();
2007-09-20 15:33:41 +00:00
hns
a961a2d6cb * Update lib/jetty.jar to Jetty 5.1.14 and lib/servlet.jar to Servlet API 2.4.
* Remove LongSink code from helma.main.Server.
Fixes bug 550 http://helma.org/bugs/show_bug.cgi?id=550
2007-09-20 14:55:00 +00:00
grob
797a719f15 * fixed bug 539
* added private getter for internal buffer and mime multipart object to ease testing
2007-09-20 11:14:10 +00:00
hns
e9fbe01c68 * Fully implement simple object references that don't use the primary key on either side.
Fixes bug 218.
2007-09-20 10:39:31 +00:00
hns
4648a7eee2 * Pimp up res.debug() output a little bit, making it invisible by default and adding
a link to display it. This is just a minor facelift to a feature that needs to be rethought
  and replaced, though.
2007-09-20 09:19:30 +00:00
hns
87722c3b8d Minor cleanups and fixes in helma.util.CronJob:
* Send sub-properties of app properties that start with "cron." so we don't have to 
  do the filtering ourselves.
* Be tolerant of whitespace in cron job time specs (e.g. cron.foo.minutes = 0, 15, 30, 45)
2007-09-20 08:12:13 +00:00
hns
3e54355ef5 Minor cleanups and fixes in helma.util.CronJob:
* Send sub-properties of app properties that start with "cron." so we don't have to 
  do the filtering ourselves.
* Be tolerant of whitespace in cron job time specs (e.g. cron.foo.minutes = 0, 15, 30, 45)
2007-09-20 08:11:01 +00:00
grob
a15d836297 test-commit, please ignore 2007-09-17 10:41:06 +00:00
grob
880a312656 test-commit, please ignore 2007-09-17 10:40:12 +00:00
hns
9066bd1b2e * Improve Rhino Tracer:
- Include method runtime in milliseconds.
  - Indent nested method calls.
  - Stop including method arguments in the trace output.
2007-09-17 09:36:49 +00:00
grob
a5b8ce588e test commit, pls. ignore 2007-09-11 10:22:11 +00:00
grob
bc3130dd64 test commit, pls. ignore 2007-09-11 10:21:26 +00:00
grob
fca989d668 * updated lucene jar files to version 2.2.0
* changed Document.addField(): instead of defining field options as booleans (still supported for backwards compatibility), they can now contain a string defining the storage, indexing and term vector options for this field. this way all options supported by lucene can be used. see apidoc for accepted values. in addition addField() now accepts an instance of helma.Search.Document.Field as single argument too.
* added Document.Field() constructor wrapping a lucene document field instance. The constructor can be called with the same options as Document.addField()
* Document.getField() now returns an instance of helma.Search.Document.Field instead of a plain JS object. For backwards compatibility name and value can still be accessed as properties, but to get detailed information about the field the appropriate methods needs to be called (eg. isTokenized(), isStored())
* removed Index.getModifier() as all but one method of IndexModifier is now available in IndexWriter too
* removed private getWriterModifier() method as waiting for index unlock is now done by Lucene itself (defaults to 1 second)
* getWriter() now supports a second argument enabling or disabling auto commit (defaults to false)
* changed default boolean clause in BooleanQuery.addTerm() and BooleanQuery.addQuery() from "and" (MUST) to SHOULD
* removed Document.getDateField(): the value of a field converted into a date is now accessible via the "dateValue" property of the field
* added Document.removeField(name)
2007-09-06 11:46:48 +00:00
p3k
c6d5098e8c Fixed bug that prevented correct error handling 2007-08-30 12:40:25 +00:00
p3k
2af69af96f Added support for content length and HTTP error messages 2007-08-30 12:38:33 +00:00
hns
c6aa2b46b7 * Update to Rhino 1.6R7 with Token patch from
http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2007-08-30 10:06:28 +00:00
zumbrunn
437d603faf changed docs for file.list methods, attempting to work around a JSDoc rendering problem 2007-07-31 21:24:08 +00:00
zumbrunn
54d348d904 fixed docs for File.prototype.renameTo and helma.File.renameTo to show that the expected argument is of type FileObject, not String 2007-07-31 19:50:05 +00:00
zumbrunn
62e88d817a added reference to docs for supported date format pattern 2007-07-30 20:03:58 +00:00
hns
fb20983640 * Make sure jsdocs target is executed before package-raw. 2007-07-18 23:12:40 +00:00
hns
de0c08ce5a * Be more careful about setting parent scope on functions (which may be nested).
Fixes bug 531 reported by juerg lehni on helma-dev.
  http://helma.org/bugs/show_bug.cgi?id=531
2007-07-18 22:54:36 +00:00
hns
00fa917e42 * Patch for bug 521 submitted by Andreas Unterluggauer.
http://helma.org/bugs/show_bug.cgi?id=521
2007-07-18 12:05:12 +00:00
michi
95530f2f0f fixed bug 525:
it is now possible..
* to specify a maximum response size
* to define a custom response handler (e.g. for directly writing the response to the disk)
* to specify credentials directly in the URL

additionallz the returned result-object now contains a map with all header-fields.
2007-07-17 16:12:09 +00:00
hns
f3ddd892de * Handle java.sql.Types.BOOLEAN. Fixes bug 529, 2007-07-16 08:13:30 +00:00
hns
fb3029ed25 * Handle java.sql.Types.BOOLEAN. Fixes bug 529,
patch submitted by Maksim Lin
2007-07-16 08:07:28 +00:00
hns
a5e5a0915e * Allow float to boolean conversion. 2007-07-16 08:03:03 +00:00
hns
4bf021d45b * Be more careful about throwing exception in RequestTrans.set().
* Remove spurious System.err.println().
2007-07-05 16:32:06 +00:00
zumbrunn
460ace26be minor tweaking for docs generation 2007-07-01 15:50:28 +00:00
hns
8579a68675 * Implement thread local connection caching for non-transactor threads.
Fixes problem with connection proliferation with helmaswarm id generator
  (see http://helma.org/bugs/show_bug.cgi?id=527)
2007-06-28 15:42:17 +00:00
hns
701a2671e9 * Use zero length byte array for class comparison, tweak comments. 2007-06-28 13:34:57 +00:00
hns
d7618448fb * Update to todays CVS snapshot branch Rhino1_6R6_BRANCH with
token patch from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2007-06-28 13:02:54 +00:00
hns
25bfad73c5 * Remove unused obsolete fields.
* Fix cookie domain check against null host string.
2007-06-26 09:11:34 +00:00
michi
917f48ccac bug fix for helma.Html.isSelected; see http://www.nabble.com/helma.Html-bug-tf3842136s2589.html#a10879801 2007-06-22 08:13:23 +00:00
hns
62e678468c * Update to todays CVS snapshot branch Rhino1_6R6_BRANCH with
token patch from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2007-06-21 09:17:48 +00:00
hns
dd4beb2490 * Reintroduce defineLibraryScope() because it is still used in various places,
but deprecate and drop second argument (boolean initStandardObjects).
2007-06-20 09:13:52 +00:00
hns
7c8404d57d * normalize filename in FileItem constructor. 2007-06-20 08:22:02 +00:00
hns
43ee46e653 * Do not use enum as parameter name as it's a keyword in java 1.5. 2007-06-15 17:57:49 +00:00
hns
524028da3a * Major reshuffling of servlet/request code.
* Implement req.cookies, req.params, req.postParams and req.queryParams collections
* Improve access to parameter values as array: param_array is always available even with just one value
* Implement req.getHeader(name), req.getHeaders(name), req.getIntHeader(name), req.getDateHeader(name)
* Implement res.setHeader(name), res.setDateHeader(name), res.addHeader(name), res.addDateHeader(name)
2007-06-15 10:58:25 +00:00
hns
acb9676f0c * Implement StringUtlils.collect() that converts an Enumeration to a String array. 2007-06-15 10:49:07 +00:00
hns
882dfacb2e * Implement toString() that displays arrays. 2007-06-15 10:46:02 +00:00
hns
82b35af983 * Avoid infinite recursion in makeChildrenPersistable() 2007-06-15 09:54:54 +00:00
hns
c52a29741e * Add new getParentSetting() method that allows to retrieve the
unparsed, verbatim _parent option from the type.properties file.
2007-06-13 12:54:34 +00:00
hns
1f362c1803 * Don't synchronize isRunning() as that can cause deadlocks during shotdown. 2007-06-13 12:45:24 +00:00
hns
bf95a9c036 * Always use stream interface for retrieving BLOB and LONGVARBINARY columns.
* Check for null reader in streamy LONGVARCHAR code.
2007-06-05 18:28:39 +00:00
hns
b783016a6b * Don't make session.getUpload() create a new UploadStatus instance. 2007-06-05 18:27:21 +00:00
michi
2c36528d98 switched from getColumnName to getColumnLabel; as suggested here: http://www.nabble.com/helma.Database---suggested-improvement-t3841979s2589.html 2007-06-05 13:20:28 +00:00
hns
5abdda6177 * add totalUploadLimit apps.properties setting to limit combined file upload size
(as opposed to individual upload size)
2007-06-04 12:02:27 +00:00
hns
380ff54187 * Do not pass file uploads in memory as byte arrays.
* Implement file upload monitoring support.
* Do not swallow exceptions in GET/POST parameter parsing
* Store any bytes remaining after GET/POST parameter parsing
  into req.data.http_get_remainder and http_post_remainder, respectively.
2007-06-04 11:02:40 +00:00
hns
8e82dfe5d9 * Fix license header from Apache 2 to Helma 2 license. 2007-06-04 08:06:30 +00:00
hns
0068de78ec * Add new MimePart.getInputStream() method.
* Add MimePart constructor that takes a jakarta commons-fileupload FileItem
  as argument.
* Make all fields private, add getters and setters for lastModified and eTag.
* Add some javadoc.
2007-06-04 08:06:00 +00:00
hns
19c2858b32 Fix RequestTrans.set() for multiple file upload items with the same name. 2007-06-04 08:03:36 +00:00
hns
22ec17d968 * Update to jakarta commons-logging 1.1 2007-06-04 07:57:15 +00:00
hns
1205242715 * Update to jakarta commons-fileupload 1.2 2007-06-04 07:54:32 +00:00
hns
ba15a17834 * Update to jakarta commons-io 1.3.1 2007-06-04 07:53:54 +00:00
hns
b659294a89 * Add new Image constructor that takes a java.io.InputStream as argument.
* Always use javax.imageio.* to create new images instead of java.awt.Toolkit.
2007-06-01 09:04:17 +00:00
p3k
6f508612c8 Add param object as argument when calling renderSkin in skin_macro 2007-05-31 13:26:15 +00:00
p3k
e15b2bb521 Added positional parameters to some macros 2007-05-30 12:33:51 +00:00
hns
40d0f45ba2 * Fix regression for bug 484 introduced in revision 1.177:
use extension id instead of prototype name for _prototype property in constructor.
2007-05-25 09:46:02 +00:00
hns
297b45439f * Update to new Rhino CVS snapshot from 2007-05-24 with the
patches from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2007-05-24 14:40:33 +00:00
hns
2ae82c3baf * Unwrap argument in isTypedObject(). Fixes bug 523.
http://helma.org/bugs/show_bug.cgi?id=523
2007-05-24 14:27:17 +00:00
hns
a20913ab7f * Use incremental serial numbers for DbMapping.lastDataChange and
Node.lastSubnode* fields instead of timestamps, because the latter
  may not work consitently. Fixes bug 518
  http://helma.org/bugs/show_bug.cgi?id=518
* Do not fetch named subnodes from relational database. Fixes regression
  described in comment #4 of bug 516
  http://helma.org/bugs/show_bug.cgi?id=516#c4
2007-05-24 14:10:53 +00:00
p3k
b5275719bb Added helma.Ftp.putBytes method for transfer of byte arrays, e.g. an image retrieved from a database. Btw: code is still formatted with indentation of 3 spaces (should be 4 afaik) 2007-05-23 14:34:48 +00:00
hns
13365e16df * Remove obsolete circumvention of TransientNode.getID(). 2007-05-11 13:26:50 +00:00
hns
43f0ea2da1 * Comment out unsetConstraints() invocation in removeNode() to be consistent. 2007-05-11 13:24:03 +00:00
hns
1091d34c77 * Implement bug #516
* Fix bug #515
* Some refactoring in helma.objectmodel.db
2007-05-10 15:13:44 +00:00
hns
c38a093d5c * Add itemPrefix and itemSuffix parameters as suggested by Maksim Lin on helma-user 2007-05-10 13:45:34 +00:00
hns
d8f5446d01 * sourceCharset property patch contributed by kunitoki at gmail on helma-user 2007-05-10 09:31:19 +00:00
grob
cd05f1679b * fixed a bug in Index.create() to correctly work for both disk- and ram-indexes
* added missing argument documentation
* fixed typo in Index.addDocuments()
2007-05-07 14:58:52 +00:00
grob
84e03145e5 fixed a problem in smtp port assignment as reported by stefan rinner (http://grazia.helma.at/pipermail/helma-dev/2007-May/003580.html) 2007-05-04 06:57:59 +00:00
hns
972bb8f232 * Fix indentation in Transactor.kill() 2007-05-03 14:52:14 +00:00
hns
657b86dee5 * Catch Linkage- and VirtualMachineErrors in scheduler loops in order to
keep on trucking in the face of OutOfMemoryErrors and the like.
* Sleep first, then do the work in scheduler loop.
2007-05-03 14:51:37 +00:00
hns
72db2bf08e * Use Application.logError() instead of System.err.println(). 2007-05-03 14:21:16 +00:00
p3k
39837792c3 Added String.EMPTY and String.SPACE constants 2007-05-03 14:13:29 +00:00
michi
0aa1a868d1 fixed bug 510:
helma.Http did not handle character encoding correctly
2007-05-03 11:09:05 +00:00
hns
083422891f * Remove macro processing stuff. 2007-05-02 13:48:23 +00:00
hns
b097d65d52 * Mark path.contains() and HopObject.contains() as deprecated,
and replace them with indexOf() methods.
2007-05-02 13:44:44 +00:00
hns
1dcdb8e452 * Remove processed parameter feature ($(...), $[...]), as it is largely redundant.
* Fix bug reported by Tobi on helma-user where nested macros in default, prefix or suffix
  returned something else than a string.
2007-04-26 09:26:30 +00:00
hns
20ff053619 * Implement automatic parsing of foo[bar][baz] parameter names to objects. 2007-04-24 14:38:11 +00:00
p3k
3548d309c1 Oops, if the name endsWith("s") we add an "e", not the other way around... 2007-04-23 15:03:47 +00:00
p3k
dd72bd4804 Great, we already have helma.String included so let's use them methods! 2007-04-23 15:00:56 +00:00
p3k
82df79e01d Added forEach() and size_macro() methods 2007-04-23 14:59:34 +00:00
grob
52b3dca226 changed helma.Http to correctly handle multiple cookies received from the remote server (fixes http://helma.org/bugs/show_bug.cgi?id=509). 2007-04-23 12:10:07 +00:00
hns
79970a0b77 * Check if prototype column is mapped to a HopObject property in
constructor. If so, set the property to the prototype name.
2007-04-20 13:44:39 +00:00
hns
cb03565e33 * Set parent scope to shared global for static HopObject functions.
Fixes http://helma.org/bugs/show_bug.cgi?id=507
2007-04-17 21:38:20 +00:00
hns
fdce5dc09e * Be case insensitive when comparing database columns. 2007-04-17 21:37:06 +00:00
hns
6a19c73e27 * Support standard parameters such as prefix, suffix, default for nested parameters
(but only convert result to string if actually required)
2007-04-17 14:45:25 +00:00
hns
72feb3356a * Add new Filters.js module contributed by Michael Platzer
* Add Filters.js and JSON.js to all.js
2007-04-17 13:43:59 +00:00
hns
e18c085317 * Remove global defineLibraryScope() function. 2007-04-17 12:35:30 +00:00
hns
401d14d9eb * Make sure macro output is converted to return value for nested macros. 2007-04-06 19:13:45 +00:00
p3k
ab188b2a70 Renamed helma.Group.Wrapper to helma.Group.GroupObject 2007-04-05 15:53:09 +00:00
p3k
2d278e8272 Initial commit of helma.Group to where it belongs IMHO (helma.Group is the JavaScript wrapper for the HelmaGroup extension which currently still resides in helmagroups/apps/groupdemo/Global/GroupExtension.js)
Although the global variable "groups" still contains the manager object to handle all group objects, the inner structure was streamlined to conform with Helma's library structure (helma namespace) and to generally prevent namespace cluttering.
2007-04-05 15:33:58 +00:00
hns
6deb0a2a9a * Fix little bug in resolvePath(). 2007-04-05 07:21:57 +00:00
hns
f0bb5c322d * use new helma.gif as jsdoc logo, helma2.gif does not work because of some jsdoc bug. 2007-04-04 23:56:48 +00:00
hns
49ba6fb0bb * Update helma logo. 2007-04-04 23:55:45 +00:00
hns
0d0171f07d * Add clean target and remove double invocation of package-modules target 2007-04-04 23:39:39 +00:00
hns
e2dad09d4c * Update to today's CVS snapshot, including support for const keyword
and get/set in object initializers.
2007-04-04 22:55:25 +00:00
hns
b401e17301 * Implement more lenient macro tag sniffing.
* Change accessibility of Macro methods to default.
* Change unhandled macro handler name to onUnhandledMacro()
  as suggested by Tobi on helma-dev
2007-04-04 21:55:33 +00:00
hns
170af5b845 * Implement lenient macro parse mode if something smells fishy.
* Allow empty skin to override.
2007-04-04 20:49:54 +00:00
hns
7161df38b2 * Check out helma_1_6 branch for helmaTools (contains fixes and enhancements) 2007-04-04 15:14:31 +00:00
hns
4b79e98a8b * Implement HopObject.onPersist() callback contributed by
Kris Leite on helma-user.
2007-04-04 12:50:01 +00:00
hns
7ef2a3fcd0 * Remove obsolete code. 2007-04-04 12:47:38 +00:00
hns
0559d2d53e Implement new skin features:
* Set namespace for global macros using app.globalMacroPath
* Implement macro parameter processing using
  app.processMacroParameter() callback and $(...) parameter syntax
* Implement unhandled macro handling using unhandledMacro() callback
* Implement deep macro lookup using getMacroHandler() callback, and
  drop allowDeepMacros app property
* Allow access to HopObject properties that aren't defined in type.properties
2007-04-04 12:46:14 +00:00
hns
7f58c102bf * Implement app.invokeAsync() using public FutureResult interface. 2007-04-02 15:51:02 +00:00
hns
a0ea3b31de * Switch back to old semantics of res.abort() to abort the transaction and stop execution.
* Introduce new res.rollback() method that just aborts the db transaction, but keeps executing.
* Add zero argument res.pushBuffer() for convenience.
2007-04-02 15:45:31 +00:00
hns
a88aebf2fb * Simplify argument passing in Skin by introducing RenderContext class
which is basically an argument holder.
2007-04-02 15:41:20 +00:00
hns
ab4ea1e144 * Simplify function handling a bit, plus minor cleanup 2007-04-02 15:29:19 +00:00
hns
aa648dd876 * Add some sanity checks to improve error messages. 2007-03-30 15:28:38 +00:00
hns
4781c7a8ff * Avoid double stack trace printing in execute() 2007-03-30 10:54:34 +00:00
hns
2b5d5c089b * Rename asJavaObject() to toJava(). 2007-03-30 09:30:59 +00:00
hns
dbcb600857 * Make sure Request and Session are created with a funciton name placeholder
even if invokeInternal() is called with a function object. Some cleaning up,
  do not declare recycle() as public.
2007-03-29 15:39:26 +00:00
hns
72487ca844 * Add argument checking to RhinoEngine.invoke(). 2007-03-29 15:35:16 +00:00
hns
804b6b0075 * Enhance app.invokeAsync(): return handle provides methods
waitForResult() and waitForResult(millis) that block until the
  function terminates.
2007-03-29 09:31:24 +00:00
hns
83add89edb * Update with patches from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
including patch to allow access to public java methods in non-public classes.
2007-03-29 09:26:23 +00:00
hns
c836b73bf2 * Handle max-thread-count exception in invokeAsynx(). 2007-03-28 21:07:55 +00:00
hns
ecfa47bdc7 * invokeAsync(): put running->true in original thread to avoid trap. 2007-03-28 20:54:43 +00:00
hns
80740b46a4 * Don't forget to release the RequestEvaluator after all is done. 2007-03-28 20:51:22 +00:00
hns
86aedcff1e * Implement app.invoke() and app.invokeAsync(). 2007-03-28 20:18:01 +00:00
hns
ad2b66c246 * Do not enable usage of Thread.stop() for request timeouts by default. 2007-03-28 20:06:04 +00:00
hns
6514226078 * Improve error message on invalid _prototype value as suggested
by Juerg Lehni on helma-user
2007-03-28 18:53:14 +00:00
hns
b67a171983 * Implementing global asJavaObject() function. 2007-03-28 14:44:55 +00:00
hns
05a978e901 * Extend ScriptingEngine.invoke() to directly accept JavaScript function objects.
* Make RequestEvaluator.invokeInternal() and RequestEvaluator.invokeDirectFunction()
  accept Javascript function objects as arguments.
2007-03-28 14:32:46 +00:00
hns
900d16654a * Fix bug where post parameters weren't parsed with prototype.js Ajax requests
because of charset subheader appended to ContentType
* Use Servlet.log() instead of System.err.println() and pass exception as second argument.
2007-03-28 14:21:17 +00:00
hns
21dfa78b0b * Stop server when shutting down. 2007-03-28 13:49:43 +00:00
hns
b4276f683b * Log Jetty messages to Helma logger. 2007-03-28 13:40:09 +00:00
hns
b2a6acdf97 * Minor formatting bug: missing dot in onStop() error output. 2007-03-28 13:10:04 +00:00
hns
4575142c60 * Update to new Rhino CVS snapshot with the patches from
http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
  including fixes for rhino bugs 359358 and 359359
2007-03-28 11:48:03 +00:00
hns
bb03265ec0 * Compiled Jetty 4.2.27 with the following patch for AJP13 request paths:
diff -Nur jetty-4.2.27/src/org/mortbay/http/ajp/AJP13Connection.java jetty-4.2.27-patched/src/org/mortbay/http/ajp/AJP13Connection.java
--- jetty-4.2.27/src/org/mortbay/http/ajp/AJP13Connection.java  2006-11-23 11:44:50.000000000 +0100
+++ jetty-4.2.27-patched/src/org/mortbay/http/ajp/AJP13Connection.java  2007-03-28 13:34:52.000000000 +0200
@@ -194,12 +194,9 @@
                         Code.warning(packet.toString());
                     }

-                    String path=packet.getString();
-                    int sc=path.lastIndexOf(";");
-                    if (sc<0)
-                        request.setPath(URI.encodePath(path));
-                    else
-                        request.setPath(URI.encodePath(path.substring(0,sc))+path.substring(sc));
+                    // fix request path encoding issue, see
+                    // http://grazia.helma.at/pipermail/helma-user/2007-March/006911.html
+                    request.setPath(packet.getString());

                     _remoteAddr=packet.getString();
                     _remoteHost=packet.getString();
2007-03-28 11:45:41 +00:00
hns
11022c42b6 * Forward put()s from the thread scope to the shared scope during
repository injection. Fixes bug 504.
2007-03-27 19:51:43 +00:00
hns
c04d2db80f * Implement res.pushBuffer(StringBuffer) and res.popBuffer() to get
StringBuffers in and out of the res buffer stack. This is needed for
  efficiently implementing the method described in
  http://dev.helma.org/wiki/Handler+for+rendered+skins/
2007-03-27 12:53:28 +00:00
hns
ac0a5f1daa * Implement app.charset and app.getCharset() to get the app's default charset
* Fill in missing JavaDoc comments
2007-03-27 12:46:35 +00:00
hns
39cdaf045f * Undo previous change. 2007-03-27 12:44:43 +00:00
hns
9fe75abfba * Make req.path start with "/" 2007-03-27 12:34:20 +00:00
hns
0dbf6751b7 * Complain about missing handler in default failmode.
* Streamline a bit by passing ScriptingEngine instead of RequestEvaluator
  in some cases.
2007-03-23 19:43:57 +00:00
hns
731ec80ac1 * Refactor Macro.render() method into two distict methods in order to invoke
invoke macros without rendering the result to the response (useful for
  nested macros).
2007-03-23 16:32:19 +00:00
hns
dd899e67b9 * Go safe and use Rhino inspection for getProperty() on HopObjects. 2007-03-23 16:31:03 +00:00
hns
b233ad0d4d * Updated snapshot with patch for rhino bug 375081
https://bugzilla.mozilla.org/show_bug.cgi?id=375081
2007-03-23 14:05:45 +00:00
hns
3e20cadca1 * Allow subskins of the currently rendered skin to be rendered using
relative skin names ("#subskinName")
* Fix minor bug in subskin parsing.
2007-03-23 11:16:06 +00:00
hns
4531ef6e4b * Implement subskins
* Fix skin failmode levels
* Add Resource.getOverloadedResource()
* Implement ScriptingEngine.isTypedObject(Object)
* Fix skin length bug with non-ASCII characters
2007-03-22 15:34:10 +00:00
hns
0b363a4b96 * Mark all changing fields as volatile.
* Issue a warning if a non-existing function was invoked.
2007-03-22 15:18:47 +00:00
hns
b6d72d79af * Add allowDeepMacros property which must be set to "true" in order to allow
macros with deep paths.
* Issue an error message if a macro isn't terminated properly.
2007-03-20 11:02:23 +00:00
hns
984c6a62a4 * Implement positional macro parameters.
* Resolve conflict between failmode and default attributes:
  failmode=silent now results in default value to be used if the macro
  fails to resolve or execute.
* Extract and clean up argument preparation code.
2007-03-19 16:46:45 +00:00
hns
ba09754f48 * Add missing closing quotes to this.methods suffix attribute. 2007-03-19 16:21:40 +00:00
hns
159251911d * Implement new toCharArray(String) method. 2007-03-16 23:18:06 +00:00
hns
3020e80650 * Fix bug that prevents non-global filters to work. 2007-03-16 06:11:17 +00:00
hns
18f79fd12a * Update to new Rhino CVS snapshot with the patches from
http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
  including Rhino bug https://bugzilla.mozilla.org/show_bug.cgi?id=373897
2007-03-15 17:22:59 +00:00
hns
de09d0aac9 * Implement app.getAppsProperties() to return the subset of
apps.properties relevant to the current application.
2007-03-15 17:16:32 +00:00
hns
e4784f870d * Refactor and enhance Skin class:
- implement macro/filter pipes <% foo | bar %>
  - implement deep macros <% foo.bar.foo %>
  - implement nested macros <% foo x=<% bar %> %>
  - implement failmode=silent|verbose attribute
* Refactor ScriptingEngine interface and implementation to support
  new skinning features.
2007-03-15 17:15:25 +00:00
hns
1ef63471aa * Optimize WrapMaker methods a little bit. 2007-03-15 17:12:32 +00:00
hns
dd20db9815 * Close quotes for suffix attribute. 2007-03-15 16:48:00 +00:00
hns
e9cf02914c * Implement app.getAppsProperties() to return the subset of
apps.properties relevant to the current application.
2007-03-15 16:23:22 +00:00
hns
4494d0bff5 * Implement negative result caching in getPrototypeName(Object). 2007-03-15 16:21:00 +00:00
hns
2b7e92d9f6 * Change res.abort() semantics:
Just abort transaction and do not stop request execution,
  since we now have res.stop() to do the latter.
2007-03-15 16:19:28 +00:00
hns
c070627d99 * Set prototype and parent scope, although we'd have to return NOT_FOUND
in get() in order to get the prototype chain working.
2007-03-15 16:16:16 +00:00
hns
504e5dba18 * Fix string splitting regexp in splitLines(). 2007-03-15 16:08:59 +00:00
p3k
4b3b53775d * Applied Robert's and my own patch according to http://grazia.helma.at/pipermail/helma-user/2007-February/006851.html and http://grazia.helma.at/pipermail/helma-dev/2007-March/003333.html
* Added support for setting smtp.dir to desired message directory (as fallback if sending should fail) in app.properties
2007-03-15 09:54:56 +00:00
zumbrunn
6ec1380e56 changed docs for readAll in File and helma.File to reflect that it seems to be intended to return a String, not an Array 2007-03-14 10:11:24 +00:00
zumbrunn
c8ae4f4286 updated jsdoc related build scripts 2007-03-12 16:39:17 +00:00
hns
814f1307db * Add check and debug message for invalid line index. 2007-03-09 11:32:41 +00:00
hns
6aba4c136f * Minor formatting fix. 2007-03-09 10:15:41 +00:00
hns
156e65909e * Implement switchProperties() to allow to switch db connections at runtime.
* Minor cleanup/simplification in getConnection().
2007-03-08 15:40:09 +00:00
zumbrunn
eb692b71ec always create the docs/modules directory as part of the package-modules-jsdoc target, so that the build will succeed even if perl fails to build the jsdocs for whatever reasons 2007-03-08 13:05:08 +00:00
hns
3016b4e32e * Add summary.txt for use with jsdoc --project-summary option. 2007-03-07 15:16:48 +00:00
hns
6894e5446a * Include project summary. 2007-03-07 15:15:37 +00:00
hns
9675c87a3e * Make sure docs are included in the proper distribution files:
modules jsdocs in binary package, java docs in source package.
2007-03-07 14:53:31 +00:00
hns
492be3029f * Add ant task for helmaLib modules JSDocs. 2007-03-07 14:14:50 +00:00
hns
60c118cae9 * Pedal back from previous commit.
Fixes http://helma.org/bugs/show_bug.cgi?id=501
2007-02-25 15:44:33 +00:00
zumbrunn
c3499a347b added missing license.txt to package target 2007-02-25 10:12:04 +00:00
zumbrunn
3b4a8e8a45 added @type tag for renderAsString method 2007-02-24 13:27:15 +00:00
zumbrunn
5b2d866d6b added minimum docs just so jsdoc at least includes the references to helma.Url 2007-02-24 08:31:36 +00:00
grob
0c3af1fc19 reverted change in 1.5: the param object passed might not be a javascript object, but a wrapped map, therefor can't use clone(). instead call Object.prototype.reduce to convert the object into a js object. 2007-02-22 18:08:41 +00:00
grob
afec346b39 fixed a bug in various methods: clone is a method of the Object prototype, not a static one. 2007-02-22 14:48:34 +00:00
hns
6db9463c24 * Include tagsoup.jar in Helma classpath.
* Exclude apache-dom.jar and jimi.jar, the latter must be placed in
  lib/ext, the first is useless for using getHtmlDocument(), use xercesImpl.jar
  and xml-apis.jar from the Xerces2-java distribution instead.
2007-02-21 14:37:59 +00:00
hns
0b6d78a5ce * Update Java class file version to 1.4 in javac task.
* Exclude ant classpath in javac task.
* Exclude apache-dom.jar in binary build, include it in source build.
* Change tarfilesets and zipfilesets to use include and exclude elements
  instead of attributes.
2007-02-21 14:35:46 +00:00
hns
4eb70e7b2e * Scale back to minimal apache-dom.jar that only contains org.apache.html.dom.HTMLBuilder class,
allowing Helma to compile, but throwing an exception when getHtmlDocument is invoked. This is
  the only way we can avoid potential conflicts with different Xerces versions in the classpath.
2007-02-21 14:32:34 +00:00
hns
7fd724eca3 * Make sure RuntimeException can pass through in getHtmlDocument() so users
become aware of setup problems (missing xercesImpl.jar, xml-apis.jar).
2007-02-21 14:28:12 +00:00
hns
8a85d6d5cf * Drop hacked-together HtmlParser class, move to Tagsoup for HTML parsing.
* Move remaining HTML parsing code into XmlUtils.
* Clean up XmlUtils code.
2007-02-21 14:26:36 +00:00
hns
0667f13290 * Adding tagsoup.jar version 1.0.4 for use with getHtmlDocument(). 2007-02-21 13:47:38 +00:00
hns
f4b281a639 * Add RhinoCore.isInitialized() to check whether we are up and running yet.
* Initialize prototypes on static constructor access also when prototype property
  is accessed, using RhinoCore.isInitialized() to check against premature compilation.
2007-02-21 13:00:07 +00:00
hns
cecd2af590 * Use sub-properties for getting DbSource settings and comparing DbSource instances.
Fixes http://helma.org/bugs/show_bug.cgi?id=500 and improves the code.
2007-02-21 10:45:24 +00:00
hns
43165e0bab * Backpedal on previous commit: Even fetch columns if the table is inherited, because the
column-property mapping may still be different. Fixes http://helma.org/bugs/show_bug.cgi?id=499
2007-02-21 09:34:22 +00:00
zumbrunn
c33c43f93c added constructor tag in order to please jsdoc 2007-02-19 10:54:27 +00:00
zumbrunn
650d7c4810 Changed Rhino license from NPL to MPL. The Mozilla Foundation was finally able to relicensed Rhino at the beginning of November 2006 under a MPL/GPL dual license, dropping the NPL. 2007-02-16 13:58:45 +00:00
hns
8c6c3f56e6 * Update version from 1.6.y to 1.6.0. 2007-02-16 09:48:25 +00:00
hns
350043980e * Update version from 1.6.x to 1.6.0. 2007-02-16 09:47:38 +00:00
hns
04a9ce2d3a * Support binary database column mapping, fix http://helma.org/bugs/show_bug.cgi?id=498
* Some code cleanup and minor rewrites.
2007-02-15 15:08:43 +00:00
hns
c0118398bb * Add cause exceptions to rethrown exceptions where they were missing.
* Remove stack dumps, this should be done by catching code.
2007-02-15 15:05:56 +00:00
hns
514ad900c5 * Optimize getDbColumns() for inheriting relational dbmappings.
* Avoid useless double assignment to column field
2007-02-15 14:13:53 +00:00
hns
3a263d9243 * Add getter for SessionManager, required by helmaswarm. 2007-02-14 14:55:26 +00:00
hns
083035d3c8 * Removed old and obsolete ant infrastructure. Developers are now required to
have their own ant installed.
2007-02-14 14:19:50 +00:00
hns
2d25df3cbb * Always use shared scope for creating streams in serialize() and deserialize().
Fixes http://helma.org/bugs/show_bug.cgi?id=496
2007-02-12 13:15:09 +00:00
hns
fa5430a1d3 * Trim href after rendering it from skin in postProcessHref() to cut of space/newline chars. 2007-02-10 10:09:08 +00:00
hns
0f7cd80500 * Update to new Rhino snapshot with patches from
http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
2007-02-09 16:02:19 +00:00
hns
235d29fe26 * Use logger to log error instead of writing to System.out. 2007-02-09 13:45:29 +00:00
hns
7f6226ac17 * Implement Mail.get/setMultipartType() as proposed by Maksim Lin on helma-dev. 2007-02-09 13:42:53 +00:00
hns
486e9a5836 * Add @fileoverview JSDoc comment
* Move static methods down to the bottom of the file to circumvent
  a strange bug that prevents documentation from being generated.
2007-02-09 11:00:07 +00:00
hns
da7bdcfba0 * Add @fileoverview JSDoc comment
* Move static methods down to the bottom of the file to circumvent
  a strange bug that prevents documentation from being generated.
* Some JSDoc comment fixes
2007-02-09 10:04:48 +00:00
hns
fc7f7bab1a Oops, gotta love these late binding languages 2007-02-08 21:01:56 +00:00
hns
d718e290ac * Add Jsdoc comments.
* Major overhaul of helma.Database.
2007-02-08 15:33:08 +00:00
grob
1cd44d18a3 * added jsdoc compatible inline documentation
* fixed constructor of helma.Color to behave as expected when passing a color name or decimal value
2007-02-08 13:14:32 +00:00
hns
d19b83008b * Implement equals() and hashCode() in order not to create new
database connections for each DbSource instance when a connection
  to the database is already registered.
2007-02-08 12:53:07 +00:00
hns
d23d0af914 * Removed old and obsolete ant infrastructure. Developers are now required to
have their own ant installed.
* Rename README to README.txt and bring it up to date.
2007-02-08 09:26:42 +00:00
hns
2e2603c4e0 * Support helma.File and use it by default. Should fix bug #493
http://helma.org/bugs/show_bug.cgi?id=493
2007-02-08 09:12:21 +00:00
zumbrunn
29961b8006 Added jsdoc comment based documentation 2007-02-08 00:41:30 +00:00
zumbrunn
134d1483da Added jsdoc comment based documentation 2007-02-07 23:37:23 +00:00
grob
ab280132bd re-added method length and marked it as deprecated (this method disappeared during documentation work) 2007-02-07 18:11:01 +00:00
grob
449a1a727a removed stale doc header 2007-02-07 17:04:51 +00:00
hns
b0bbada2a5 * Fix handling of helma.util.MimePart (NOT javax.mail.MimePart)
* Use and support helma.File as Mime part input source
* Remove code examples to make jsdoc actually render the comments
* Implement get/setMimepartType() methods
2007-02-07 14:55:03 +00:00
zumbrunn
3f7126bfa2 Added jsdoc comment based documentation 2007-02-07 11:51:47 +00:00
hns
b1a958a394 * Upgrade to Jetty 4.2.27. 2007-02-07 11:04:16 +00:00
zumbrunn
00ea378a37 Added jsdoc comment based documentation 2007-02-07 10:29:20 +00:00
zumbrunn
a7cac41923 Added jsdoc comment based documentation 2007-02-07 10:27:37 +00:00
hns
2041c54dfe * Remove crimson.jar at last, it isn't needed for JDK 1.4 and later. 2007-02-07 09:46:33 +00:00
hns
b80b83ffb3 * Rename "constructor" property in defineProperty() rathern than in put(),
since this is what Rhino uses to set the property at compile time.
2007-01-31 16:59:08 +00:00
hns
740091f4d8 * Compute isRelational() at runtime, since in some border cases
it must be available before we used to compute it  in update().
2007-01-31 14:43:15 +00:00
grob
383c7b0e9c * added JsDoc compatible inline documentation
* removed helma.Skin.BASE64 constant as this doesn't seem to be used anywhere (at least not in helma.Skin)
2007-01-30 17:53:00 +00:00
grob
6315f6c10f added author tag to class header 2007-01-30 17:32:17 +00:00
grob
9a4401d6c4 * added JsDoc compatible inline documentation 2007-01-30 17:31:52 +00:00
grob
14ee73a230 * added JsDoc compatible inline documentation
* added missing toString methods
* minor code beautification
2007-01-30 17:31:13 +00:00
hns
a874998ffb * Increase default maxThreads value to 50 (evauators aren't that expensive anymore)
* Some minor code cleanup
2007-01-30 14:58:30 +00:00
grob
dcc0accdb3 changed inline documentation for JsDoc compatibility 2007-01-30 14:56:51 +00:00
grob
b11fce933f * added basic cookie support:
- any cookie received from the remote server will now be part of the result object returned by getUrl()
- added methods setCookie(), getCookie() and getCookies() for adding and retrieving cookies
* added JsDoc compatible inline documentation (due to a bug in JsDoc the static methods setProxy and getProxy don't show up in the generated docs)
* switched to using app.logger for log output
2007-01-30 14:55:39 +00:00
grob
585666e577 * restructured library mainly because JsDoc couldn't handle it, but also for better readability
* renderMarkupPart and isSelected are no longer private methods, but static ones, so that the methods calling them can be defined as prototype properties
* adapted helma.Html.TableWriter to the new structure (had to use method.call() since there is no default instance of helma.Html
* added JsDoc compatible inline documentation
2007-01-30 14:49:57 +00:00
hns
21838fe606 * Remove synchronization problems in request timeout handling
* Implement skin parameter handling via res.handlers.param
* Implement onResponse() callback
* Slim down renderSkin method implementation
* Implement res.buffer to access current page output
* Implement res.stop() to stop request execution
* Do not reuse per thread scope, create a new one for each request
2007-01-29 16:00:44 +00:00
hns
e6c287b35f * Use ThreadLocal.set(null) instead of ThreadLocal.remove(),
which wasn't available pre Java 5.
2006-12-20 23:00:28 +00:00
hns
20354228a2 * Do not use Context.setCompileFunctionsWithDynamicScope() as it is
seriously BROKEN for nested functions.
  The only workaround needed is a little fix in HopObject.put() to set the
  parent scope on functions because of the funky way we compile prototypes.
* Use one ContextFactory instance per RhinoCore to initialize, enter and exit
  contexts, and use various call() methods to actually use it in RhinoCore.evaluate()
  and RhinoEngine.invoke().
* Set parent scope in HopObject constructor.
* Use java.lang.ThreadLocal to implement engine/thread registration.
* Implement RhinoCore.getRhinoCore() and RhinoEngine.getRhinoEngine().
* Implement rhino.strictvars to throw errors on undeclared vars.
* Do not declare throws Exception in RhinoCore.processXmlRpc* methods.
* Clean up error logging.
2006-12-20 21:52:22 +00:00
hns
68756f4b3e * Clean up formatting. 2006-12-15 15:13:00 +00:00
hns
2ec32f146a * Null out scriptingEngine if initScriptingEngine() fails.
* Make sure we cause no uncaught exceptions in request evaluator loop,
  will cause helma to hang.
* Make initScriptingEngine() synchronized.
2006-12-15 15:10:34 +00:00
grob
748779d346 added localisation support to format() and toPercent(). both now accept an optional java.util.Locale instance as last argument 2006-12-14 17:28:43 +00:00
hns
4f7765259a * Update with patches from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
including new patch https://bugzilla.mozilla.org/show_bug.cgi?id=360964#c7
2006-12-14 14:20:46 +00:00
hns
6139814575 * Do not create new collections in recycle() - seems to have negative performance impact. 2006-12-12 15:31:30 +00:00
hns
414b22836b * Extract cache insertion code into new private registerNewNode() method.
* Delay onInit() invocation until after the node has been registered with the cache.
  Two advantages: first, we won't call onInit() on nodes that are bound to be
  thrown away because a clone already exists in the cache, and second no need
  to cache nodes in the transactor clean node map, which was troublesome in
  exactly the same case.
* Remove some old code that has been commented out for ages.
2006-12-12 14:54:52 +00:00
hns
d843138386 * Extract collection clearing in commit() and abort() into new recycle() method,
and throw away collections in order to avoid retaining too much memory.
2006-12-12 13:15:59 +00:00
hns
7e00def51c * No more need for per-thread-scope workaround, works out of the box with Rhino 1.6. 2006-12-11 09:55:23 +00:00
hns
b210d5cd11 * Previous solution didn't work with Rhino running in interpreter mode. Provide a
hook in RhinoException to make JS stack traces work with any optimization mode.
  See https://bugzilla.mozilla.org/show_bug.cgi?id=363058
2006-12-07 12:12:14 +00:00
hns
f3ce79f6c4 * Update with patches from http://dev.helma.org/wiki/Rhino+Bugs+%26+Patches/
including https://bugzilla.mozilla.org/show_bug.cgi?id=363058
2006-12-07 12:10:14 +00:00
hns
00c9d56922 * Use helma.scripting.ScriptingException to produce script-only stack traces.
* Therefore, do not unwrap ScriptingExceptions because they're actually useful.
* Remove helma.util.StackUtils again.
2006-12-07 09:40:26 +00:00
hns
572194d2bc * Simplify exception handling in invoke(), bugs in Rhino have been fixed. 2006-12-07 09:27:39 +00:00
hns
54ab7ca121 * Backport StackUtils class from Helma 2.
* Implement jsStackTrace option to generate pure JS stack traces in error dumps.
2006-12-06 16:28:12 +00:00
hns
bfdd643a99 * Make Property.compareTo() immune against float/integer confusion, which is quite common in rhino. 2006-12-01 13:21:23 +00:00
hns
aaa15f5670 * Register node with current transactor before calling onInit(), otherwise we
really prepare the ground for infinite recursion problems.
2006-11-30 21:50:46 +00:00
hns
8e71110ad4 * Avoid setting parent in setNode() if the property name isn't persistable. 2006-11-30 21:04:44 +00:00
hns
5d5315f623 * Commit CVS snapshot from 2006-11-29 with added patch for chaining in
ScriptableObject slot hashtable.
  http://dev.helma.org/Wiki/Rhino+Bugs+%26+Patches/
2006-11-29 09:32:51 +00:00
hns
fb77729856 * Allow to directly pass a javax.mail.BodyPart to addPart(). 2006-11-27 12:47:04 +00:00
hns
9a98f81710 * Wrap example code in Html [pre] tag. 2006-11-27 12:32:36 +00:00
hns
a38f504db3 * Make RowSet a public static class to allow its methods to be called by Rhino. 2006-11-24 10:28:15 +00:00
hns
a40d1191ab Bogus edit, testing new commit mailer script. 2006-11-24 01:23:30 +00:00
hns
15871d0155 Bogus edit, testing new commit mailer script. 2006-11-24 01:09:33 +00:00
hns
2d69a460aa Bogus edit, testing new commit mailer script. 2006-11-24 01:08:38 +00:00
hns
a06c6dd30b Removing test file 2006-11-24 00:58:12 +00:00
hns
aabef79846 Bogus edit, testing new commit mailer script. 2006-11-24 00:56:26 +00:00
hns
bc3336f29b Bogus edit, testing new commit mailer script. 2006-11-24 00:54:29 +00:00
hns
847d6096d7 Bogus edit, testing new commit mailer script. 2006-11-24 00:46:59 +00:00
hns
bb664d0864 Bogus edit, testing new commit mailer script. 2006-11-24 00:42:50 +00:00
hns
078b0bc0a7 Bogus edit, testing new commit mailer script. 2006-11-24 00:33:00 +00:00
hns
67142a197d Bogus edit, testing new commit mailer script. 2006-11-24 00:31:17 +00:00
hns
d02fc19ac9 Bogus edit, testing new commit mailer script. 2006-11-24 00:28:55 +00:00
hns
2199839a16 Bogus edit, testing new commit mailer script. 2006-11-24 00:18:12 +00:00
hns
0ca4922081 * Only reuse Java wrapper if it actually wraps the same object.
* Rename local variable in getNodeWrapper().
2006-11-23 14:51:25 +00:00
hns
f249f893c5 Merge from helma_1_5 branch:
* Do parent lookup for transient nodes in Node.getParent(), but omit warning message if it fails.
2006-11-23 13:49:41 +00:00
hns
f1bb105b54 * Remove unused import statement. 2006-11-22 16:13:28 +00:00
hns
b2bf03b033 * Fix bug where waiting thread isn't notified when requestengine is shut down. 2006-11-22 16:11:41 +00:00
hns
84e6a5f2f8 * Add ".prototype" to name of nexted functions. 2006-11-22 15:08:34 +00:00
hns
602f420f18 * Implement get/setBinaryMode(boolean) to allow delivery of the
response body as byte array instead of as string.
* Use OutputStreamWriter instead of DataOutputStream for writing
  the request body.
2006-11-21 10:42:25 +00:00
hns
32f5f25b9e * Always immediately convert to absolute paths in ApplicationManager. 2006-11-20 23:06:44 +00:00
hns
db03770c72 * Minor reformat of Jsdoc comment. 2006-11-20 14:05:28 +00:00
hns
68db756b0e * Do not rely on Java classes to implement IPathElement.
Implement all necessary features such as href() and getChildElement()
  ourselves instead.
2006-11-20 13:34:15 +00:00
hns
0eae6629ee * Allow native host methods in scripted JavaObjects to be overridden in JavaScript, but
make sure we don't use any of the HopObject host methods.
2006-11-20 12:51:26 +00:00
hns
694139d897 * Do not rely on Java classes to implement IPathElement.
Implement all necessary features such as href() and getChildElement()
  ourselves instead.
* Add missing classes to class.properties.
* Display actual line numbers in function source macro.
2006-11-20 11:05:24 +00:00
hns
21117936ad * Make overloaded methods (href, renderskin, ...) overridable in JavaScript. 2006-11-20 10:58:34 +00:00
hns
d818de0d0a * Rewrite DocFunction to work with current Rhino 1.6 snapshot.
- TokenStream is no longer public, implement Parser.parseTokens()
  - Parse public nested methods in JS constructors
  - adapt to slightly changed sequence of returned tokens.
* Do not implement IPathElement in Server, Application and HelmaDoc classes.
  Implement the necessary methods in the manage application instead.
* Add DocResourceElement.getStartLine() method to get element's position
  within the containing resource
* Rename ScriptingEngine.getIntrospector() to getDoc() and declare DocApplication
  as return value.
2006-11-20 10:54:02 +00:00
hns
4e4cae0534 * Commit CVS snapshot from 2006-11-20 with added patch for Parser.parseTokens():
http://dev.helma.org/Wiki/Rhino+Bugs+%26+Patches/
2006-11-20 10:45:48 +00:00
hns
192f0b1df6 Checked apache-dom back in as it obviously is still needed.
Original log message was:
Apache DOM classes necessary for using and building
getHtmlDocument() functionality. Extracted from Xerces-J 2.0.1
2006-11-20 09:17:39 +00:00
hns
5ec24e7ba8 * Not needed anymore, replaced by TokenStreamInjector in rhino.jar 2006-11-15 15:49:24 +00:00
hns
bc8653a873 * Work on DocFunction to make it work with Rhino 1.6.
* Make DocFunction not a RuntimeException, and throw it only where needed.
* Add TokenStreamInjector class to rhino to make TokenStream publicly available
* Add StringUtils.splitLines()
2006-11-15 15:48:46 +00:00
hns
578ecb148b * Removing Apache DOM implementation, not needed anymore with modern JDKs. 2006-11-15 15:41:25 +00:00
grob
e36bbce6d3 changed Html.dropDown(): allow property "class" for specifying css class names if the option parameters are specified as object (using "value" and "display" properties) 2006-11-13 16:59:44 +00:00
grob
fe74d6e0ad * changed signature of addDocuments() - it's now possible to specify an optional mergeFactor
* bugfix in getField(): don't try to convert the string value into a date, since this possibly does the conversion even if it's not intended (it can happen that an id is converted into a date). therefor re-introduced the method getDateField()
2006-11-13 16:56:45 +00:00
hns
377752ae02 * Update to Rhino CVS snapshot from 2006/11/12 including the patches
from http://dev.helma.org/Wiki/Rhino+Bugs+%26+Patches/:
    - Rethrown exceptions rendered as [object Error]
    - Provide protected callback methods in Rhino debugger SwingGui
    - Bug in tail call optimization that cripples Rhino debugger
2006-11-13 16:24:22 +00:00
hns
a6c3cef342 * Make the debugger work, using a Rhino CVS snapshot with the
patch from http://dev.helma.org/Wiki/Rhino+Bugs+%26+Patches/
2006-11-13 09:48:26 +00:00
hns
ac544fe0dd * Update to Rhino CVS snapshot from 2006/11/12 including the patches
from http://dev.helma.org/Wiki/Rhino+Bugs+%26+Patches/
2006-11-13 09:46:28 +00:00
hns
9bd30b6a66 * Call onStart() directly in calling thread rather than in scheduler
to make sure it completed before the application gets mounted.
2006-11-08 13:31:02 +00:00
hns
dfd673e7b6 * Add log level info such as [INFO], [ERROR], [WARN] to log output.
* Add Logger.Entry class to avoid unnecessary String concatenation.
* Unify Logger classes code a little bit, making better use of inheritance.
* Run logger thread 3 times per second instead of 4 times.
* Add Javadoc comments and tags.
2006-10-31 14:57:55 +00:00
grob
78eabaa7cb fixed bug in addField() that made it impossible to disable store, index and tokenize options for a field. 2006-10-23 18:56:36 +00:00
hns
cff3a556ee * Avoid "Error unsetting property JavaPackage on Global" message on code updates. 2006-10-17 12:02:45 +00:00
hns
cbcc04c1fb * Set/Get current RequestEvaluator explicitly via ThreadLocal
* Prevent NullpointerException when scripting engine is initialized
  from non-request-evaluator thread
  (merge from helma_1_5 branch)
2006-10-17 11:44:51 +00:00
hns
db45092717 * Implement code injection feature to RhinoEngine/Core to allow
app.addRepository() to immediately compile new resources.
  (merge from helma_1_5 branch)
2006-10-16 13:45:53 +00:00
hns
58e9431da1 * Simplify return statement, removing local variable. 2006-10-16 13:12:24 +00:00
grob
bb0aebb02f updated lucene from 1.4.3 to 1.9.1 2006-09-29 13:51:37 +00:00
grob
5496bcfb04 * this library now expects Lucene version 1.9.1 (due to API changes in Lucene it currently doesn't work with version 2.0)
* added (most of) missing analyzers in Search.getAnalyzer()
* createIndex doesn't support a third argument for force-create an index anymore. to clear an index use its create() method instead
* Index now uses an IndexModifier instead of an IndexWriter in most cases
* to create a new Searcher instance now call index.getSearcher() or pass the index to search in as argument to the Searcher constructor
* checkWriteLock() is gone, instead getWriter() and getModifier() try for 2 seconds to return a writer/modifier. this should avoid concurrency problems
* Index.addIndexes() now takes a number of index directory arguments
* Index.create() now deletes all files in the directory (before it didn't)
* added checks for existing writer/modifier/reader before calling close()
* Index.getFieldNames() now returns a javascript array instead of a java object one
* Index.isLocked() doesn't create a reader anymore (before it did, but didn't use it)
* removed Index.getTerms() - if someone is missing that, shout
* Index.addDocument() now expects a single Document instance, for batch adding use the new method addDocuments()
* same with Index.removeDocument()
* added new method Index.updateDocument() that does removal and adding in one step (so the index is locked just once instead of two times)
* the wrapped lucene Query instance is now a public field - this saves from duplicating the getter method in every extending prototype
* Document.addField() now uses new DateTools class instead of the deprecated DateField utility methods
* removed Document.getDateField() since Document.getField() now handles dates as well
* added JSDoc compatible documentation
2006-09-29 13:49:40 +00:00
hns
3e7c260787 * Convert file name to absolute path in constructor to work around java.io.File glitches.
Fixes bug 488 <http://helma.org/bugs/show_bug.cgi?id=488>
2006-09-27 14:09:11 +00:00
hns
2108be3807 * Use extensionId/prototype name instead of just the prototype name if a filter
refers to the prototype column. Fixes bug 484 <http://helma.org/bugs/show_bug.cgi?id=484>
2006-09-27 13:24:11 +00:00
hns
df7c3e0c86 * Copy over updated keyMap in update(). 2006-08-25 18:51:16 +00:00
stefanp
e6d7fe7520 workaround for http://helma.org/bugs/show_bug.cgi?id=474 went into the wrong repository: changed the way the number of days is calculated. 2006-08-21 15:57:05 +00:00
hns
59d38d2ea8 * Update to Rhino CVS snapshot from 2006-08-21 to fix JavaBean property bug in 1.6R3
(see <https://bugzilla.mozilla.org/show_bug.cgi?id=343976#c4>)
2006-08-21 10:19:39 +00:00
zumbrunn
dc9e49c665 Changed version numbers to 1.6.x 2006-08-19 06:56:47 +00:00
hns
ebfbdae001 * Use getFunctionName(), functionName field isn't accessible anymore. 2006-08-18 20:12:09 +00:00
hns
e5033685db * Update Rhino to 1.6R3.
* Remove old Rhino 1.5 classes, make Helma debugger subclass Rhino 1.6 classes
  (not fully functional yet, needs patches to Rhino debugger).
* Make helma.doc.DocFunction compile with Rhino 1.6 by introducing intermediary
  DockenStream class that proxies TokenStream using java reflection.
2006-08-18 20:09:37 +00:00
hns
fc37ba8cb3 * Try to delete work/src before copying over files. 2006-08-18 14:59:38 +00:00
hns
89dfbbdaa1 * Update version info to 1.5.2 2006-08-18 14:41:20 +00:00
hns
9def07d6e9 * Omit parent lookup in getParent() for transient nodes. 2006-08-16 11:41:08 +00:00
hns
f779decdfc * Minor code improvement in write() method. 2006-08-16 11:05:26 +00:00
hns
736769cc80 * Fix terrible guaranteed nullpointer exception bug. 2006-08-11 18:00:38 +00:00
hns
47b101827a * Clean up and unify DbMapping constructors a bit.
* Make typename, app, and props fields final.
* Issue prominent warnings if parent proto can't be resolved or
  relational extended type doesn't have a _prototype mapping.
* Determine in update() if this is a relational mapping or not.
2006-08-10 21:28:58 +00:00
hns
5924f93f81 * Issue a prominent warning if parent can't be resolved using a prototype's _parent setting 2006-08-10 21:23:49 +00:00
hns
c32fec5dde * Make root _parent info in type.properties case insensitive. 2006-08-10 21:19:20 +00:00
hns
6022d616b5 * Add better error logging to getParent()
* Add checks for underscore property name before persisting/marking dirty in setNode()
* Extract underscore property name check into isPersitableProperty() method
2006-08-10 20:01:09 +00:00
hns
8c4273631d * Do not register newly created root nodes with the node cache as this may cover
actual root nodes stored in a relational database.
2006-08-10 15:16:01 +00:00
hns
33d59c0c59 * Check if _prototype is set in type.properties before appending proto clauses to queries. 2006-08-09 19:36:51 +00:00
hns
9a6757f75b * Two fixes for case insensitive maps in containsKey() and get(). 2006-08-09 11:04:29 +00:00
hns
16eca87022 * Implement both ETag and Last-Modified based conditional requests as some browsers
(e.g. Safari) don't seem to support ETags for embedded images and stuff.
2006-08-09 10:24:31 +00:00
hns
9491159dbb * Add comment to Properties keyMap field 2006-08-09 09:57:05 +00:00
hns
d47a2de6ff * Implement new case insensitive mapping that uses an in-between key lookup
table and preserves capitalization of property keys.
2006-08-09 09:55:24 +00:00
hns
4ee8b35d80 * Store property to relation mapping with lower case property name as
ResourceProperties will preserve key capitalization from now on.
2006-08-09 09:52:10 +00:00
hns
56f83cb75b * From Manfred's last patch for bug 468:
- Factor out repetitive SQL query building tasks into DbMapping.appendCondition()
  - Implement automatic extended prototype filter for collections
  - add prototype ids, but with simplified implementation (be agnostic
    about numeric ids vs. prototype names)
* Rewrite relational node insertion code
* Make better use of DbColumn class wherever possible
* Minor code improvements throughout the place
2006-08-08 15:37:09 +00:00
zumbrunn
37f26241c4 increased version number to 1.5.1 2006-08-07 13:49:14 +00:00
p3k
7860cbdde2 * added String.NULL as constant containing the empty string ""
* added global- and HopObject-related macros to core
2006-08-06 11:27:56 +00:00
hns
2c2e9fbbb5 * Remove READONLY attribute from native HopObject methods. 2006-08-04 08:31:41 +00:00
hns
f5b90c23f1 Cumulative patch:
* Factor out invokeOnInit() method from Node.init() in order to implement onInit() invocation
  for the embedded database.
* Make properties starting with an _underscore transient in the embedded database,
  mirroring the behaviour of the object relational storage.
* Keep filter.additionalTables from being included in prefetchNode() queries, fixing bug 472.
* Some minor code cleanup and simplification.
2006-07-29 12:01:52 +00:00
hns
50d4eb0d93 * Immediately convert java.io.File instance to absolute path names to
avoid the many pitfalls and gotchas of relative file names.
2006-07-25 20:07:59 +00:00
hns
bd8b266fa9 * Pass on return values from FTPClient class. Fixes bug 469. 2006-07-25 13:01:02 +00:00
hns
21be4d8651 * Add -h $HELMA_HOME to helma command line arguments. 2006-07-24 18:08:13 +00:00
p3k
b3c82d5a06 * added missing dontEnum() call for String.prototype.parseJSON
* shortened toJSONString() method to simply toJSON()
2006-07-24 17:18:52 +00:00
p3k
ef369a61bf initial check-in as adaptation of code at http://www.json.org/json.js 2006-07-24 17:09:23 +00:00
p3k
80b6083da7 added count, enbase64 as well as debase64 methods 2006-07-24 16:03:57 +00:00
hns
69cad60e86 * Keep in mind that repository list may grow while we're looping over it in checkRepositories().
Use a hashmap instead of a long[] to track last scan times. (fixes bug 470)
2006-07-24 14:57:49 +00:00
hns
9405046ee5 * Consolidate location for launcher.jar to HELMA_INSTALL (bug 471) 2006-07-24 13:44:15 +00:00
p3k
971a740a0a * changed signature (it's more important to provide a database name than user and password)
* added var keyword before constants
* check user and password individually
* added execute() method
2006-07-18 15:09:36 +00:00
p3k
f2cc5103b4 * fixed decimal format in format method
* removed unnecessary condition in toPercent method
2006-07-18 08:24:59 +00:00
hns
29407f6444 * Apply patch from Stefan Rinner to set the Date header.
http://helma.org/pipermail/helma-user/2006-June/006547.html
2006-06-28 20:06:03 +00:00
hns
e85a87f8d2 * Update to jakarta commons-fileupload 1.1.1. 2006-06-21 08:55:03 +00:00
hns
ddb6119b4d * Update to jakarta commons-io 1.2. 2006-06-21 08:54:44 +00:00
hns
83dd1e7c1f * Make sure we do not remove HopObject constructors if they aren't referenced during
global code compilation anymore. Fixes bug 464 <http://helma.org/bugs/show_bug.cgi?id=464>
2006-06-19 18:58:38 +00:00
hns
6a96d0c7a0 * Implement getResource() and getResources() for scripted java objects. 2006-06-19 13:56:57 +00:00
hns
7c658fa9db * Add support for ID generation using PostgreSQL sequence syntax 2006-06-17 11:52:46 +00:00
hns
1213c464e3 * Add isPostgreSQL() method to DbSource and DbMapping. 2006-06-17 11:50:59 +00:00
hns
332f98cbd0 * Always use select max id generator for MySQL databases since they
don't support sequences.
2006-06-16 17:33:35 +00:00
hns
118c9d9f2b * Implement isMySQL() methods to query if the db behind the mapping/source is MySQL. 2006-06-16 17:31:29 +00:00
hns
46a14e1941 * Use logError() instead of logEvent() to log exceptions.
* Use Exception constructor that takes original exception as second argument
  to propagate errors. This is safe since we now require Java 1.4 anyways.
2006-06-16 17:18:51 +00:00
grob
c41fed49cc - re-added forceCreate argument to createIndex() that was accidentally
removed
- changed addIndexes(): it now accepts a js-array containing
(ram/fs)directories, the conversion into a java array is done by the
method itself
- minor documentation and indentation fixes
2006-06-15 07:38:19 +00:00
hns
0ccb0f1010 * Convert file names to absolute paths in serialize()/deserialize() to avoid
names being interpreted relative to root on Mac OS X.
2006-06-13 10:46:50 +00:00
hns
9eb4285880 * Update to Javamail 1.4. 2006-06-07 12:44:17 +00:00
hns
5910237039 * Update to Java Activation Framework 1.1. 2006-06-07 12:43:25 +00:00
p3k
c9463fe57a fix bug causing an exception when there's no app directory at all 2006-06-06 17:18:03 +00:00
hns
1c51121bdc * Implement ETag based conditional GET for forwarded resources.
(ETag is based on last modified date and file size)
2006-06-03 07:13:06 +00:00
hns
c82daee623 * Do not set buffer length in BufferedInputStream constructor, default lenght will do ok.
* Fix bug that potentially set compression level to NaN in Zip.add().
2006-06-02 15:46:20 +00:00
zumbrunn
620ce4c305 Fixed all.js to correctly reference core files 2006-05-30 18:34:31 +00:00
hns
cab28b406a * Fold default properties checksum calculation into getChecksum() so changes in
default properties will get picked up even if they were already consumed by other
  child properties.
* Reimplement update algorithm using a temporary ResourceProperties object to
  avoid getting into unconsistent state by invoking clear().
* Use uppercase name for final CACHE_TIME field.
* Make update() synchronized as concurrent invocation could be absolutely harmful.
2006-05-26 14:41:50 +00:00
hns
f122e203b3 * Add IPv6 localhost to default allowAdmin addresses, remove 192.168.0.1. Enhance comment. 2006-05-26 12:48:24 +00:00
hns
412ba832d2 * Unify check for JAVA_HOME and JAVACMD executable. The latter didn't work on Mac OS X. 2006-05-26 10:34:44 +00:00
hns
e7a7969e9d * Bring default path names a bit up to date. 2006-05-25 19:46:34 +00:00
hns
63fc1fda7e * Use ScriptingEngine.serialize()/deserialize() to save and restore sessions.
Fixes bug 461.
2006-05-24 12:29:09 +00:00
zumbrunn
22678cc604 Added a "# logDir = console" entry along with a suggestion of when to use it 2006-05-24 11:33:18 +00:00
zumbrunn
9d6d477e4e Updated readme file to reflect the changed requirement for a JRE 1.4 or higher 2006-05-23 14:18:39 +00:00
hns
3204eb14a6 * Helma 1.5 de facto requires Java 1.4 or greater. 2006-05-23 10:47:22 +00:00
hns
b203fcc43e * Switch build version to 1.5.0 2006-05-22 09:54:37 +00:00
hns
836ef1bb04 * Delete obsolete helma.objectmodel.db.Server class. 2006-05-22 09:52:54 +00:00
hns
1121dcbfdc * Consider conditional GET headers in RequestTrans.equals(). This fixes a bug
where Mozilla/Firefox displayed an empty page when fetching the same page
  with different headers within a short timeframe.
* Fix Last-Modified handler heading which was broken in more than one way.
* Don't generate ETag headers for error pages.
* Rename ResponseTrans.writeErrorReport() to reportError().
* Set response status to 500 (internal server error) in ResponseTrans.reportError().
2006-05-18 20:54:08 +00:00
hns
c8a3c3d702 * Implement conditional GET based on file last modified date in sendForward(). 2006-05-18 18:25:14 +00:00
hns
7b232f7eb1 * Use WeakReferences to store java object wrappers. Since they hold a reference to
the wrapped objects, they prevent them from being garbage collected if stored as
  WeakHashMap values.
* Clean up parsing of rhino.optlevel property. Don't run into exceptions and log
  an error message if it couldn't be parsed.
* Remove some variable initializers that weren't necessary after all.
2006-05-12 13:30:47 +00:00
hns
676f4a06f0 * Make usage of deprecated Thread.stop() dependent on setting of
requestTimeoutStop = true|false app property
2006-05-11 19:22:07 +00:00
hns
5c1714d855 * Implement getRepositories() method that returns an array containing the
prototype's repositories
* Some minor and/or cosmetic changes
2006-05-11 19:20:31 +00:00
hns
16046c5e71 * Add test if SQL connections are alive before returning them in getConnection().
* Add some javadoc comments and rename sqlCon to sqlConnections.
2006-05-11 18:36:56 +00:00
hns
7298b70d3b * Copy java source files over to work/src before compiling. This has the following implications:
- It allows us to replace the __builddate__ token in Server.java without changing the original file.
  - It makes sure all files are recompiled each time, avoiding compatible type change errors.
2006-04-28 22:24:54 +00:00
hns
3902f06136 * Exit Helma if something important such as binding to a server port fails, rather than just logging the error.
* Replace date in version string with __builddate__ replacement token.
* Increase version number to 1.5.0.
2006-04-28 21:39:22 +00:00
hns
1b26370377 * Set thread field in updatePrototypes() already so
it is already set when the RequestEvaluator calls
  Application.getDataRoot(), which may result in a function
  invocation (chicken and egg problem, sort of)
2006-04-28 13:58:01 +00:00
hns
7b622f8c54 * Only synchronize internal getter for per-thread scope, don't synchronize public get() or put()
to avoid deadlocks.
* Do not synchronize PropertyRecorder methods, instead mark fields as volatile.
* Check for "global" reference before doing the default lookup in get().
2006-04-26 15:52:25 +00:00
hns
ae6d3738d2 * Make markAs(), setState() and getState() unsynchronized again,
and make state field volatile instead, in order to prevent deadlocks.
2006-04-26 13:23:36 +00:00
zumbrunn
1611d75c3c changed apps.properties and the build script to include "modules" instead of helmaLib 2006-04-24 08:44:13 +00:00
zumbrunn
7b82ff2e81 changed version string to indicate CVS as the source for a build by default instead of an old date 2006-04-24 08:42:00 +00:00
zumbrunn
8edbd4e2bd changed license copyright date range to include 2006 2006-04-24 08:40:17 +00:00
zumbrunn
6daa6c0794 Added Helma license notice 2006-04-24 08:27:00 +00:00
zumbrunn
36e9e09f7f changed keyword expansion 2006-04-24 07:19:11 +00:00
zumbrunn
ebf02d851d added all.js files as convenience SingleFileRepositories to load all the Javascript library files in modules/core and/or modules/helma 2006-04-24 07:18:45 +00:00
zumbrunn
478df4b853 changed keyword expansion 2006-04-24 07:02:17 +00:00
zumbrunn
66876ba214 initial commit of modules with javascript library structure for Helma 1.5 2006-04-24 06:58:02 +00:00
hns
75ebaa75be * ALWAYS try to tetermine the proper thread scope dynamically in GlobalObject.get(),
otherwise we risk to run on the wrong thread scope for nested functions, which will
  result in buggy behaviour _only_ if the baked-in thread scope is currently active in
  another request (otherwise most of its properties will be unset and the lookup forwarded
  to the shared global object, which will proxy it to the proper thread scope).

  This means we do dynamic lookup in both the shared and the thread scopes, which
  means we can use the same class for both cases and dump DynamicGlobalObject.
  In return, dynamic lookup should be somewhat optimized, so we don't do double
  lookups for both thread and shared scope.
2006-04-19 13:52:50 +00:00
hns
1186a277ae * Fix list index checks in list() and prefetch(). 2006-04-18 11:08:58 +00:00
hns
d47c1f1643 * Allow non-script resources to be wrapped in SingleFileRepositories and use
fake Global subrepository only for script resources.
* Implement equals(), hashCode() and toString() in SingleFileRepository
2006-04-12 14:55:04 +00:00
hns
7fadb9ce20 * Add property read access to methods registered by PropertyRecorder.
Fixes bug 458 <http://www.helma.org/bugs/show_bug.cgi?id=458>.
* Make all PropertyRecorder methods synchronized.
2006-04-10 11:25:22 +00:00
hns
0aed9bbdc5 * minor fixes and beautification. 2006-04-10 10:07:42 +00:00
hns
0cb7650e6a * Add support for SingleFileRepository. 2006-04-07 14:40:20 +00:00
hns
d4d13f5adc * Add support for SingleFileRepository.
* Fix support for ZipRepository.
2006-04-07 14:39:54 +00:00
hns
e431e18d45 * Add SimpleFileRepository for adding single global JavaScript files as repositories. 2006-04-07 14:39:08 +00:00
hns
65a11b1b08 * Add static emptyRepositories array to AbstractRepository.
*
2006-04-07 14:37:11 +00:00
hns
820342fc6e * Use new WeakCacheMap class for wrapper cache. 2006-04-03 13:27:46 +00:00
hns
a90c2e6615 * Introduce createTable() method in CacheMap to make internal table implementation
overrideable for subclasses.
* Add new WeakCacheMap class that uses java.util.WeakHashMap internally.
2006-04-03 13:27:04 +00:00
hns
f759dbfa91 * Allow prototype name as HopObject constructor function. 2006-04-03 12:32:35 +00:00
hns
edfdfd5a79 * Make sure global reference is always available, even if there is no per-thread scope
(e.g. when compiling scripts)
2006-03-30 10:19:25 +00:00
hns
e6824fe0ee * Remove unused import statement. 2006-03-30 10:17:53 +00:00
hns
80e0d4e012 * Clean up HopObject wrapper, move constructor code into separate HopObjectCtor class
* Implement HopObject compilation trigger on HopObject constructor property access
* Fix race condition in RhinoCore.updatePrototypes() that could result in failed requests
  at application startup time; tighten up synchronization.
* Fix ListViewWrapper to perform static JS function setup rather than setting up functions for
  each wrapper.
* Implement getOrderedView() in SubnodeList (pulled out of OrderedSubnodeList).
* Cleaned up and simplified OrderedSubnodeList.
* Change ordering for null properties: add at the end of the list instead of the beginning.
* Cache nodes fetched in NodeManager.updateSubnodeList()
2006-03-21 16:52:46 +00:00
hns
91a92b6072 * Minor code cleanup: remove code that's been commented out since ages. 2006-03-20 15:11:11 +00:00
hns
55ab51da25 * Make apps.properties case insensitive again. The benefit of preserving case in default
mountpoint just isn't worth the whole number of hard to debug case errors.
2006-03-09 13:07:54 +00:00
hns
f6fe185e30 * Log error instead of throwing exception when more than one result is returned
by accessname lookup.
2006-02-09 16:47:23 +00:00
hns
852543386c * Merging updateable_collections branch (with a few changes along the way) 2006-02-09 16:35:32 +00:00
hns
d4ac3d2726 * Only log runnable cron jobs if debug = true 2006-02-09 14:17:32 +00:00
hns
34b1a8641a * Fix a potential memory leak: Don't allow entries list to grow indefinitely.
If the list reaches a certain size (2000 entries), further entries are discarded.
2006-02-09 14:11:08 +00:00
hns
e41f6c02f1 * Do not open file in constructor, we can do this lazily. 2006-02-09 14:09:48 +00:00
hns
2cea688e10 * Do not cast error/fatal messages to stderr in addition to log file. This may be nice in a
development/debug setup, but it may be deadly in a deployment scenario.
* Fix Indentation for Gzipper class.
* Some minor code style fixes as proposed by Intellij.
2006-02-09 13:39:27 +00:00
hns
c3cd2be291 * Check if property is set before trying to set its attribute in dontEnum().
Fixes bug 455.
2006-02-09 13:03:03 +00:00
hns
cd047f9371 * Move NodeHandle->Node conversion for internal calls into run()
because it requires a Transactor thread.
2006-02-09 12:54:29 +00:00
hns
181b7286d2 * Minor fix in error message composition. 2006-02-06 20:11:23 +00:00
hns
c06106ec8d * Remove unnecessary code from executeCronJobs().
* Log errors for session logout and timeout parsing.
* Some minor code cleanups as advised by Intellij.
2006-02-06 13:57:29 +00:00
hns
afcef645b9 * Use logError() to log exceptions for internal, external and XML-RPC requests instead of logEvent().
* Try to handle InterruptedException properly by exiting the main request transactor loop.
* No more need to catch Exceptions from Transactor.abort().
2006-02-06 13:55:26 +00:00
hns
2f3f7d665c * Do not throw Exception in abort().
* Add comments to empty catch blogs to peacify Intellij.
2006-02-06 13:53:16 +00:00
hns
abf807e0ad * No need to rethrow RedirectException from onRequest():
This was introduced in revision 1.65 to fix bug 65, but obsoleted
   in revision 1.99 when the other catch statement was removed.
2006-02-06 11:05:23 +00:00
hns
cf875fbf48 * Fix copy/paste error: trying to cast instance variable to NodeHandle instead of argument. 2006-02-06 10:35:43 +00:00
hns
d1279f6d41 * Rhino 1.5R5 with patch for bug 309957
https://bugzilla.mozilla.org/show_bug.cgi?id=309957
2006-02-03 12:11:18 +00:00
hns
f9f99408ab * Add getter for the app classloader. 2006-02-03 11:45:55 +00:00
hns
ad9da0be95 * Upgrade to commons-fileupload 1.1
* Move check for multipart content inside try statement
2006-01-30 16:16:34 +00:00
hns
66016004d1 * add commons-io.jar to classloader which is needed by commons-fileupload 1.1
* do not fail if we can't get helma install path from launcher.jar, but print a warning.
2006-01-30 16:15:24 +00:00
hns
bea5a4a0d0 * Updating commons-fileupload to release 1.1
* Adding commons-io which is needed bz commons-fileupload 1.1
2006-01-30 16:12:14 +00:00
hns
f2441616e1 * Use new ResourceProperties.getSubProperties(String prefix) feature to
get application config props.
2006-01-27 15:43:23 +00:00
hns
729a7fa888 * Implement global functions wrapJavaMap() and unwrapJavaMap() to masquerade
instances of java.util.Map as JS objects and back.
2006-01-27 14:23:56 +00:00
hns
8509b4b6c3 * Use new ResourceProperties.getSubProperties(String prefix) feature to
get our config props.
* Introduce getConfig() method to get the relations's config props.
2006-01-27 11:21:53 +00:00
hns
0e43265cb8 * Implement getSubProperties(String prefix) to get all properties with keys matching
the given prefix, with the prefix cut off.
* Remove superfluous return statements.
* Remove some empty lines in methods.
2006-01-27 11:18:53 +00:00
hns
41233a115d * Remove unnecessary null check. 2006-01-25 16:42:02 +00:00
hns
fb6c213f1c * Add repositories at the end of the repository list
if parent is null or not contained in list.
2006-01-24 12:39:32 +00:00
hns
db95fb181c * Remove PhantomEngine as it hasn't been in use since 2003.
* Remove FilteredClassloader which relies on PhantomEngine.
2006-01-13 17:41:35 +00:00
hns
b81f231c70 * Encapsulate fields in ResponseTrans and make them private.
* Store response debug buffer in session over redirects (in addition to message).
2006-01-13 16:50:41 +00:00
hns
a3fa56750c * Set event-log loglevel to DEBUG if debug=true in app.properties. 2006-01-13 13:21:40 +00:00
hns
9cbe269390 * Add setter and getter for logLevel. 2006-01-13 13:20:54 +00:00
hns
c744b0624f * Cosmetics: remove empty line. 2006-01-13 11:23:51 +00:00
hns
752966cb47 * Perform sanity checks for INTERNAL calls before reaching the central switch statement
in run() so we can start and stop transactions where we used to.
* Do not check for null arguments in invokeDirectFunction(), it's up to the caller to pass
   an empty array.
2006-01-13 11:22:47 +00:00
hns
4c50f96e3e * Mark node clean in init() before invoking onInit() so we have a chance to
modify the node in onInit() and having the changes written back to db.
2006-01-12 16:47:04 +00:00
hns
4b72017330 * Use RequestEvaluator.EMPTY_ARGS whenever calling a function with no args. 2006-01-12 16:32:45 +00:00
hns
e1fb468424 * Cleaned up constructor mess a bit, including comments.
* Implement invokation of onInit() for object instanced from db.
* Made some methods synchronized that probably should be.
2006-01-12 16:12:02 +00:00
hns
dcf63357f7 * Simplify getValidPrototype() and hasFunction() a bit.
* No need to catch exceptions in hasFunction().
2006-01-12 16:01:11 +00:00
hns
63b6b2843d * Add final static EMTY_ARGS field for calling functions without args.
* Do not call ScriptingEngine.hasFunction() for onRequest(), it just adds overhead.
* Move check for empty args from Application.invokeFunction() to
   RequestEvaluator.invokeDirectFunction.
* Add some missing JavaDoc comments for invoke* methods.
2006-01-12 15:55:49 +00:00
hns
379f778e98 * Minor cleanup: no need to cast and assign nodes to variable. 2006-01-12 13:54:09 +00:00
hns
6919ade74e * Implement invocation of global onStop() when the application is stopped,
analogous to onStart() when the app is started.
* Some minor cleanup and obsolete code removal.
2006-01-11 16:45:15 +00:00
hns
39f8bbe85e * Make init(), enterContext(), exitContext() and abort()
synchronized (can't hurt)
* Some mostly stylistic improvements prompted by Intellij
2006-01-11 16:05:48 +00:00
hns
cb92ec8469 * Add boolean resolve argument to ScriptingEngine.invoke() to tell the engine if
functionName argument should be resolved as member expression. Use this feature
  to allow calling nested/deep functions in internal invocations (e.g. scheduler calls).
  Fixes bug 290.
2006-01-11 15:28:52 +00:00
hns
f4eb8a9735 * Move req.action cutting to RequestTrans.setAction() and make sure dot characters
are replaced with underscores in the action variable we use for method invocation.
2006-01-11 14:37:09 +00:00
hns
be96b27a88 * Delay beginning of transaction a bit so we are able to
avoid starting a transaction for internal invocations of 
  functions which do not exist. Fixes bug 436.
2006-01-11 10:45:39 +00:00
hns
e7bca045d1 * Use res.skinpath to find hrefSkin when post-processing hrefs.
Fixes bug 450.
2006-01-11 09:40:26 +00:00
hns
fc0edbb269 * Implement HopObject.getResources() - returns a JS array containing all resources
with the given name defined in the prototype chain.
2005-12-23 16:04:14 +00:00
hns
9757afbffc * Implement app.getRepositories() and app.addRepository(String|Repository) 2005-12-23 15:55:57 +00:00
hns
d0d0517993 Committing patch from Juerg Lehni:
* Implement HopObject.getResource(String filename), returns a helma.framework.repository.Resource
   object defined for the prototype.
* Minor optimization in put().
2005-12-19 22:17:10 +00:00
hns
1336e51ba0 Committing patch from Juerg Lehni:
* Add String getContent(String encoding) method to Resource interface.
* Propagate IOExceptions in FileResource.getContent().
* Make FileResource.getContent() more robust by not assuming all data can
   be read in one single blow.
* Do lazy byte->char conversion in ZipResource.getContent() in the String
   constructor rather than a Reader.
2005-12-19 22:15:11 +00:00
hns
1aa4fe75c9 * Add source and target attributes to javac task to guarantee JDK 1.3 compatibility. 2005-12-19 21:08:51 +00:00
hns
86d4f5dc5d * Pull ahead beginning of try statement for catching redirects in order to allow redirect()
calls in getChildElement().
* Add comments for try statements.
2005-12-19 14:51:20 +00:00
hns
c00c2cae25 * Fix NullPointerException in logSqlStatement that covered
SQL connection problem reporting in logging output.
2005-12-19 14:46:01 +00:00
zumbrunn
c3c858f9a3 Updated the Apache license to version 2.0, since we certainly need to include that one. Still have to check whether we remain to have code that is only available under the Apache 1.1 license. 2005-12-12 20:19:42 +00:00
hns
326f30a88b Change appDir handling:
* If appDir is not defined in apps.properties, use the last file repository as appdir
   (used to be the first one)
* If appDir is defined, add it to the end of the repository list if it isn't explicitly
   listed as repository.
* If appDir is defined in apps.properties, use it for the app.dir JS variable.
* Never automatically create an app's file repositories.
2005-12-12 17:54:26 +00:00
hns
fa3ddd8a68 * Remove unused import statements. 2005-12-12 17:48:44 +00:00
hns
103f0f446f * Make checkForUpdates() synchronized, as concurrent threads can cause a
ConcurrentModificationException in the iterator.
2005-12-12 15:54:07 +00:00
zumbrunn
bc44143b14 Updated the URL provided for additional mod_jk information, since JK2 development has been shut down. 2005-12-12 14:49:41 +00:00
hns
06c8b33950 * Make start.sh executable in binary Unix build. 2005-12-12 14:25:20 +00:00
zumbrunn
0854a71ca0 Updated readme file for version 1.5 2005-12-12 12:02:09 +00:00
zumbrunn
6e4bf10db0 Small changes to new core build target and lgpl-license which both slipped in with the last commit. 2005-12-12 10:57:27 +00:00
zumbrunn
8b05e95712 Removed duplicate license, start, properties and static files 2005-12-12 10:48:06 +00:00
zumbrunn
dbfcfdcd27 Attempting to change execution bit on compile.sh 2005-12-09 12:07:42 +00:00
zumbrunn
e7c799a813 Attempting to change execution bit on compile.sh 2005-12-09 12:04:42 +00:00
zumbrunn
45cc20d002 Attempting to change execution bit on compile.sh 2005-12-09 11:59:47 +00:00
zumbrunn
c3edc5407d Renamed hop.sh/hop.bat to start.sh/start.bat 2005-12-09 11:50:18 +00:00
michi
11dc7d3651 fix bug #442: correct erroneous line separators, that occur when windows-encoded files are commited from unix 2005-12-01 08:41:40 +00:00
michi
f2f23f82e8 fix bug #442: correct erroneous line separators, that occur when windows-encoded files are commited from unix 2005-11-29 11:22:26 +00:00
hns
1ec82737bf * Implement zero argument writeln() method to write a newline sequence. 2005-11-25 13:41:05 +00:00
hns
ad8b7e11ec * Make ResponseTrans extend java.io.Writer in order to simplify using it with
3rd party templating engines.
2005-11-25 13:40:24 +00:00
hns
86e880c713 * Make getResources() public. 2005-11-25 13:37:07 +00:00
hns
3e98b1f4bf * Make HopObject.get() behaviour more consistent and predictable: Return null for
non-existing properties that were previously set or are defined in the type mapping,
  and undefined for non-existing properties that are not defined in the type mapping.
2005-11-25 12:41:13 +00:00
hns
f84ab79675 * Check for null format argument in Date.format() 2005-11-22 16:57:12 +00:00
hns
b64c845258 * Adapt to strange behaviour of Apache XML-RPC 2.0 to return
exceptions instead of throwing them. Fixes bug 446.
2005-11-17 16:47:15 +00:00
hns
dd8ac80a09 * Make getConnection() and init() synchronized.
* Fix JavaDoc comments.
2005-11-17 16:23:51 +00:00
hns
b51be97d41 * Switch back to event log as default log for app-based logging. 2005-11-17 16:20:18 +00:00
hns
527a1bc846 * Simplify static HopObject constructor getter code.
* Set node reference to an empty transient node in checkNode()
   for deleted/invalid HopObjects.
2005-11-17 14:22:11 +00:00
hns
ed6712719c Application.java:
* Check logdir app property in updateProperties() rather than in getLogger().
* Only set helma.logdir system property if it isn't already set to prevent conflicts
   between applications.
* Insert new repositories at the beginning of the list in addRepository().
* Some cleanup.

ApplicationBean.java:
* Use "helma.[appname].app" as default log name for messages logged through
   app.log(), app.debug().
* Introduce app.getLogger() and app.getLogger(name) that return a Jakarta
   commons Log instance. The zero argument method uses "helma.[appname].app"
   as category name.
* Added and fixed some JavaDocs.
2005-11-16 11:44:22 +00:00
hns
4bb6f72baa * add global variable "global" as a reference to the global object 2005-11-16 10:17:09 +00:00
zumbrunn
d5d5fb49ba Updated build script and apps.properties to include the welcome app 2005-11-16 08:27:56 +00:00
hns
350ffd0d73 * Implement getTargetType() and getRefType() to enable high level type.properties introspection 2005-11-10 17:04:53 +00:00
hns
da0502ecfe * Implement getPropertyNames() to enable high level type.properties introspection 2005-11-10 17:04:12 +00:00
hns
d18ae12d12 * Use logError() for exceptions caught from onStart() so that a stack trace is generated. 2005-11-09 15:35:30 +00:00
hns
613344a006 * Implement app.getPrototypes() and app.getPrototype(name) to allow app introspection. 2005-11-09 15:32:10 +00:00
zumbrunn
ef0176fec0 Changed cvs tag used when building the helmaLib target back to the default, since the release_1_5 branch was merged back to the trunk. 2005-11-08 10:15:28 +00:00
hns
d8a508c55e * Implement getDbProperties() for db.properties introspection.
* Implement getDbSource().
2005-11-07 14:42:46 +00:00
hns
61f9b6476e * Implement getDbProperties() for db.properties introspection. 2005-11-07 14:42:24 +00:00
zumbrunn
9593e25aed Updated readme to reflect current build targets 2005-11-07 11:24:27 +00:00
zumbrunn
b1680f8ad0 Changed cvs tag used when building the helmaLib target to release_1_5. 2005-11-07 11:23:06 +00:00
zumbrunn
cd7497c7bc Updated default configuration files to include more current example properties and references to the relevant documentation. 2005-11-07 11:21:47 +00:00
hns
3b4e89441c * Set version info to 1.5.x. 2005-11-04 15:54:54 +00:00
hns
ddf4b1f8e7 * Fix bug 443: http://helma.org/bugs/show_bug.cgi?id=443
check cookie domains for proxied request using the x-forwarded-for header.
2005-11-03 14:03:07 +00:00
hns
96605d1c69 * Adopt suggestions from bug 441: http://helma.org/bugs/show_bug.cgi?id=441
- Catch FileNotFoundException in loadSessions() and suppress error message
  - Catch NotSerializableException in storeSessions() in order to continue serializing.
* Use logError() for error logging.
* Minor code improvements.
2005-11-03 13:41:30 +00:00
hns
b7f0aa4ee2 * Fix NullPointerException in getAction() for 404 requests.
* Move XML-RPC response and error encoding to ResponseTrans class.
* Implement error response generation for new type XML-RPC requests.
* Set req.method to "XMLRPC" for new type XML-RPC requests.
2005-10-25 14:36:19 +00:00
hns
8a30ebf693 * Add start and shutdown calls for embedded XML-RPC web server. 2005-10-21 21:46:11 +00:00
lehni
25fd8cb805 made ImageIOGenerator the default ImageGenerator, JimiGenerator the fallback scenario 2005-10-20 11:05:11 +00:00
lehni
67d7e915ee Cleaned up parameter handling differences between imageCtor and GetInfo.call, added MimeTipe to imageCtor, etc. 2005-10-20 09:14:00 +00:00
hns
34eaf86d50 * Make isXmlRpc() synchronized. 2005-10-18 15:39:07 +00:00
hns
d2b9023500 * Add experimental capability to directly handle XML-RPC HTTP requests. 2005-10-18 15:38:48 +00:00
hns
623c639154 * Add isXmlRpc() and setXmlRpc() to tell the request evaluator if it makes sense
to try to handle this request as XML-RPC request.
2005-10-18 15:36:02 +00:00
hns
9fd550a27e * Add commons-codec.jar to classpath (required for Apache XML-RPC 2.0) 2005-10-18 15:34:55 +00:00
hns
e758330257 * Upgrading to Apache XML-RPC 2.0, with minor patch to throw
an exception when encountering an unknown element name.
2005-10-18 15:34:17 +00:00
hns
d0762a608c * Adding jakarta commons-codec 1.3 (from xml-rpc 2.0) 2005-10-18 15:33:18 +00:00
hns
1ccd0fb75c * Use Property.getStringValue() to resolve property references in query filters,
otherwise Node references will be rendered as NodeHandle[...].
2005-10-18 13:37:48 +00:00
hns
2a0524aa6b * Set ignoreCase to false for apps.properties. That way, case
in default application mountpoints is preserved.
2005-10-07 15:48:02 +00:00
hns
1c872e712c * Do not set Cookie version to 1 as this will cause
cookie values will be set in double quotes.
2005-10-07 14:04:42 +00:00
zumbrunn
1dabbb6e55 Enabled helmaTools module to be included in package target 2005-09-25 17:57:11 +00:00
zumbrunn
5e57c31411 Added target to build selective modules and included default modules when building the package target 2005-09-22 19:27:25 +00:00
hns
58540c9493 * Set prototype to Object.prototype for objects created by defineLibraryScope() 2005-09-22 18:58:38 +00:00
hns
ea2d716210 * Reintroduce HopObject.getById(), which was accidentally thrown out with installConstructor(). 2005-09-22 09:14:20 +00:00
hns
0d0b99f4c0 * Fix exception handling:
- Always print source file name and line number
   - Only print stack trace once
   - Slways print stack trace
   - Always print stack trace for original exception
   - Also log full error stack trace for exceptions caught in macros
* Implement HopObject.__proto__ and JavaObject.__proto__ containing prototype object
* Fix constructor property in HopObject protos to be set to the actual constructor
* Implement JavaObject.__javaObject__ to contain the original java object in an unscripted wrapper
* Make sure JS functions in script-extended java objects actually override java methods
* Use unscripted wrapper rather than HopObject prototype if the prototype for java class is not defined
2005-09-21 10:11:10 +00:00
lehni
f752601c16 code formating, slight speed improvments. 2005-09-20 19:20:01 +00:00
lehni
6385a1e0d1 Changed so it does not modify the source image any longer.
Speed improve.
2005-09-20 19:17:09 +00:00
lehni
f6d4aea699 Repliced by ColorQuantizer 2005-09-20 08:42:44 +00:00
lehni
1f0fdb922d Replaced Quantize by ColorQuantizer, which was freshly ported from the latest ImageMagick sources and updated with the Alpha Channel support that I added earlier to Qantize. This fixes a nasty bug when quantizing images with few colors (e.g. 32 -> 16 which often resultd in only 4 colors) and increases the general quality of color reduction a lot. 2005-09-20 08:41:53 +00:00
hns
b5f128a341 * Implement _prototype property for wrapped java objects. 2005-09-16 14:32:34 +00:00
hns
fb1f5154e4 * Implement db mapping dependencies introduced by additionalTables switch
* Try to get extract column name from sql functions when converting db column to property
* Added Javadoc comments
2005-09-16 14:31:56 +00:00
hns
a9553bb471 * Do not append <br /> tag in res.writeln(), only append a newline character sequence. 2005-09-16 13:33:23 +00:00
hns
d76b720a8d * Allow passing a java.util.Locale to Date.format() as second argument. 2005-09-16 12:00:37 +00:00
hns
d0660ac1b5 * Only append <br /> in res.writeln() if contentType is one of "text/html" or
"application/xhtml+xml". For any other content type, only an ordinary line
   break is appended to the line.
2005-09-16 09:11:13 +00:00
hns
cd3fdb4fab * Fix prototype inheritance for wrapped Java objects. get() and has() are not
supposed to check the prototype chain. Instead, just register the prototype
   using setPrototype().
2005-09-16 00:34:12 +00:00
hns
ab378b0806 * Consider superclasses and interfaces when resolving class to prototype mapping. 2005-09-15 22:40:03 +00:00
hns
cf1d403ab3 * Implement unsetCookie(name) that causes a prevously set cookie to be discarded
* Add Javadoc comments to all methods
2005-09-13 20:51:45 +00:00
hns
435d2a5ee8 * Set cookie version to 1 and allow days value of zero in order for cookies to be deleted. 2005-09-13 20:16:27 +00:00
hns
f9a327a9e8 * Made most fields in RequestEvaluator private and use a synchronized getter to access them
* Minor change in ScriptingEngine interface
2005-09-13 13:40:31 +00:00
hns
e05d4eabc8 * Be more precise when throwing exception in popStringBuffer(). 2005-09-13 10:22:53 +00:00
hns
c57877dfb8 * Add dontEnum() function to JavaScript Object prototype. Takes a variable list
of String arguments of propertiy names to set to DONTENUM.
* Add some missing Javadocs.
2005-09-08 19:39:33 +00:00
hns
58a109b727 * Do not log concurrency conflicts. This is often misinterpreted as error which it is not. 2005-09-07 08:42:20 +00:00
hns
84751f86a6 * Move sql logging to finally clause so statements are logged even if an exception is thrown
* Unified String/StringBuffer variable naming a bit
2005-09-07 08:41:16 +00:00
hns
58b09f4436 * Pass prefix, suffix, default parameters to macro functions and allow them to change them.
Implemented by putting these values into a helper class RenderParameters which can
   easily overridden.
2005-09-01 22:01:17 +00:00
hns
1a3434837d * Put copy-on-write WrappedMap into separate class in order to be able to synchronize
all of its methods, which is necessary to catch the switch between original and copied map,
  and which isn't necessary for ordinary and read-only WrappedMaps.
2005-09-01 21:57:56 +00:00
michi
d728d7fe21 compiler warned about 'unmappable' character in juerg lehnis name; changed umlauts to ascii 2005-09-01 19:38:58 +00:00
zumbrunn
88b3579908 Updated old 2002 license version that was still used by the build script with the current license and changed the year to 2005 2005-09-01 13:01:29 +00:00
zumbrunn
a156431e69 Removed old static files of himp demo app 2005-09-01 12:56:16 +00:00
zumbrunn
8783b0e01c Removed gong, bloggerapi and lillebror from list of default apps and updated version number in build script from the bogus 1.4.2 to 1.5.0 2005-09-01 12:41:18 +00:00
hns
3aa000e95b * Only show last two elements of script path in debugger.
(Assume common case it is the prototype and the script.)
2005-08-31 20:35:06 +00:00
hns
437dfb94d3 * Bring manage app up to date with current Helma. 2005-08-31 13:16:21 +00:00
hns
24e878c176 * Refactored helma.doc package to make it work with repositories. 2005-08-31 12:20:42 +00:00
hns
b5b60e3d92 * add getResources(). 2005-08-31 12:18:13 +00:00
hns
02ce5cc92e * Add getTypeProperties() and getSkinResources(), removed unused isJavaPrototype field. 2005-08-31 12:17:54 +00:00
hns
5c804670cb * Add new global function defineLibraryScope(string, boolean). This creates a new global
property object with the name in argument 1 only if it doesn't exist yet, and optionally
  populates it with the standard JavaScript object (String, Date, isNaN, ...)
2005-08-30 16:52:30 +00:00
hns
c632c8f8bd * Always render full file path because sources may be scattered in different repositories. 2005-08-30 11:06:07 +00:00
hns
05bce5953e * Make helmadoc work with multiple application repositories. 2005-08-30 11:01:27 +00:00
hns
3a55bd1b5e * Simplify some boolean statements. 2005-08-30 11:00:50 +00:00
hns
9f8774adc7 * Simplify checks for ignoreCase. 2005-08-29 16:13:13 +00:00
hns
d76533a0c9 * Make main db.properties case sensitive. 2005-08-29 16:12:30 +00:00
hns
1a62a3db34 * Fix Bug 439: req.action returns wrong result on GET/POST/... 2005-08-29 15:56:20 +00:00
hns
8044f33450 * Only prepend table name to query if access name doesn't contain "(" or "."
This makes it possible to use an SQL function as group criterium
2005-08-29 15:25:30 +00:00
hns
5efab894ef * Only prepend table name to query if access name doesn't contain "(" or "." 2005-08-29 14:11:38 +00:00
hns
8b446fea01 * Minor changes: remove unused code, switch error message to lower/mixed case. 2005-08-29 14:10:24 +00:00
hns
0f3d15cee5 * Patch from Juerg Lehni: try to autodetect Joins in additionalTables option.
* Some code cleanup:
    - Don't do string concatenation in arguments to StringBuffer.append()
    - Remove redundant if clause
    - Remove throws statement for unthrown exceptions
    - Remove unneeded variable initialzation
2005-08-29 13:49:31 +00:00
hns
961f755c4f * Only interpret last path element as action if it is not terminated by a "/".
This helps us to disambiguify URLs: /foo/ will never be interpreted as action,
   while /foo will be.
2005-08-29 12:06:24 +00:00
hns
37574fbdfd * Provide a getter for the repository's directory. 2005-08-25 10:13:22 +00:00
hns
af84ec19c9 * Remaining public fields in RequestTrans converted to private, final where possible
* Added setters/getters
* Improved hashCode() implementation for RequestTrans
2005-08-18 22:55:30 +00:00
hns
3d6da7803d * Synchronize get() and set() to hopefully get rid of weird property read errors.
* Do not access static fields through instance variable
2005-08-18 22:41:00 +00:00
hns
04d8589d29 Make public fields in RequestTrans private, remove transient modifier, add getters and setters as needed,
synchronize getter and setter for action to fix inconsistent behaviour.
2005-08-18 21:46:52 +00:00
hns
97c5399c9b Implement getPrototypeProperties(String) to get a SystemMap containing the
scripted properties of a prototype.
2005-08-12 13:27:26 +00:00
hns
3b2a106503 Handle case where global variable is null. 2005-08-12 13:18:38 +00:00
hns
ac0fc677a5 * Set connection readonly flag to true in executeRetrieval() and false in executeUpdate().
* Remove a few unneeded local variables.
2005-08-12 13:18:11 +00:00
lehni
a878d5919a Added more possible parameters for the Image() constructor: BufferedImage, Image 2005-08-12 11:32:03 +00:00
lehni
5050abc53d Various changes to the imaging code:
- added Image.trim(), that trims an image based on a specified pixel, just like in Photoshop.
- saveAs exists in two versions now, one that takes a filename, the other an OutputStream + Mime type (first step toward an  Java activation framework based approach)
2005-08-12 11:30:04 +00:00
lehni
29f4faa3a1 Various changes to the imaging code:
- added Image.trim(), that trims an image based on a specified pixel, just like in Photoshop.
- saveAs exists in two versions now, one that takes a filename, the other an OutputStream + Mime type (first step toward an  Java activation framework based approach)
2005-08-12 11:28:55 +00:00
hns
e78b126148 Convert rootPrototype and userPrototype fields to local variables. 2005-08-09 23:50:21 +00:00
hns
b316462c69 * Extract session cleanup and cron job invoker code from run()
into separate cleanupSessions() and executeCronJobs() methods
* Add some missing JavaDoc tags
2005-08-09 17:44:55 +00:00
hns
42a088ef58 Do not insist on helma.jar to be in classpath. This is useful for running Helma
in alternative environments such as GCJ.
2005-08-09 17:32:39 +00:00
hns
7e44b71d6d Normalize upload file names by cutting off any path info before the actual file name. 2005-08-09 13:37:19 +00:00
kmfdm
9b97203b3a added try-catch-blocks around CronJob parsing and CronJob handling 2005-08-09 12:55:23 +00:00
hns
5982de3b48 Add uploadSoftfail servlet init parameter 2005-08-01 10:03:16 +00:00
hns
24fb08d1fc Improve cron thread log output 2005-08-01 10:02:44 +00:00
hns
7218ddd4da Simplify getCronJobs() implementation 2005-08-01 10:01:58 +00:00
hns
f369c4ca1b Minor plastic surgery: move item.delete() up a few lines. 2005-07-29 13:41:15 +00:00
hns
1682808eca Delete upload file item after usage. 2005-07-29 13:37:24 +00:00
hns
3c29cd2e32 * Use Hashtable instead of WeakHashMap for activeCronJobs - we're using function names as keys, so
it's actually bogus to use WeakHashMap, plus WeakHashMap is not synchronized.
* Add event log statements each time cron jobs are executed: List of cron jobs we're going to execute,
   and the map of cron jobs still active from last time.
* Add log statement if CronRunner catches an exception, just so it behaves like the same-thread cron
   execution code.
2005-07-29 13:30:45 +00:00
hns
42989de65e Add app.getCronJobs() function that allows to retrieve the currently registered custom cron jobs.
This returns a JavaScript object with the function name as property names and the helma.util.CronJob
instance as property values.
2005-07-29 13:24:31 +00:00
hns
878b7ee06d * Switch to Jakarta Commons FileUpload for handling file uploads.
* Introduce uploadSoftfail setting in apps.properties that allows
   file upload errors to be cought by checking req.data.helma_upload_error
2005-07-29 11:45:42 +00:00
hns
56c1973ca5 Adding commons-fileupload.jar to classpath 2005-07-29 11:31:55 +00:00
hns
904acb7b17 Adding Jakarta Commons FileUpload 1.0 2005-07-29 11:31:03 +00:00
hns
4539f0f74a Renamed some variables in the cron job section of the run() method.
Rewrote cron job cleanup code at the end of run().
2005-07-20 13:55:40 +00:00
hns
06fa3713a7 Remove debugging output. 2005-07-20 13:50:36 +00:00
hns
6d4978f652 * Fix bug 435, cron jobs are run even if the function name is not defined
* Fix a bug that caused the scheduler thread to awaken twice in immedate
   succession because of imprecise timing in Thread.sleep()
2005-07-20 13:49:37 +00:00
hns
37e51812d6 Should fix bug 434 <http://helma.org/bugs/show_bug.cgi?id=434>
* Synchronize all methods that call/rely on update().
* Make sure repositories and resources are not null after update() has been called.
2005-07-20 11:42:16 +00:00
hns
bea4c3a5b7 Invoke setReadonly(boolean) on the db connection depending on the type of statement we're about to send. 2005-07-12 09:42:00 +00:00
hns
eafca524bc Do not ignore case (i.e. switch property names to lower case) for db properties. 2005-07-12 09:40:26 +00:00
hns
3b539848c0 Add new constructor that takes ignoreCase flag, because it can't be set later for app/resource name properties. 2005-07-12 09:39:54 +00:00
hns
ab5694092e Use Context.get/putThreadLocal() to register per-thread scopes for DynamicGlobalObject.
This is to fix some very obscure behaviour that was likely caused by the WeakHashMap code.
2005-07-07 15:28:09 +00:00
grob
38b4f265ce Look up variables in per-thread scope first, then in shared global scope. 2005-07-06 14:10:02 +00:00
grob
5ebbfe70a3 Synchronize set/getSubnodeRelation() to prevent problems on multiprocessor machines 2005-07-06 11:42:36 +00:00
grob
d8feb2620b Set req and res fields to volatile to prevent invalid reads on multiprocessor machines 2005-07-06 11:41:20 +00:00
grob
fa38fbc172 Synchronize thread -> scope map 2005-07-06 11:40:16 +00:00
hns
6bdb02ec6a Fix registerUser(): user addNode() instead of setNode() so user nodes are stored as child nodes, not properties. 2005-06-28 10:27:05 +00:00
hns
9e43503ced Remove setDbMapping() which is never used and might be hazardous if it was. 2005-06-28 10:08:18 +00:00
hns
7209fd9709 make class not final 2005-06-28 10:03:55 +00:00
hns
5e2494462a sznchronizing all methods that manipulate/access the buffer field
to avoid bogus rendering on multiprocessor machines.
2005-06-24 13:37:54 +00:00
hns
7991eb888f Add proxy method for Application.getSkin(String protoname, String skinname, Object[] skinpath) 2005-06-22 09:40:45 +00:00
hns
d743c82c89 Go back to old log file rotation code layout a bit, but still only use one thread to gzip all rotated files:
- GZipper class is with FileLogger again and takes either a list of files or a single file
- Log file rotation is done synchronously in the Logging.Runner thread, only gzipping is done in
  a separate thread
2005-06-22 08:37:25 +00:00
hns
365fab6a63 Rewrote log file rotation to use just one thread for zipping all log files. 2005-06-16 19:57:15 +00:00
hns
0c8b653c1e Cleaned up constructor a bit, use direct assignment instead of setter for prototype. 2005-06-16 17:51:04 +00:00
hns
27a31bd736 Do not try to set DbMapping in Node.setPrototype() - it has disastrous effects for prototyped groupby nodes. 2005-06-16 17:45:56 +00:00
hns
8f4bfdd54b Set parent in MultiFileRepository child repositories, otherwise order is lost in Application.addRepository() 2005-06-16 12:12:43 +00:00
hns
0ecfcd0fba - Make sure collections on transient nodes are set to transient when making persitable
to avoid collection objects being loaded from database.
- Allow getKey() to be called on transient nodes iff primary key is set
- Do set DbMapping in setPrototype() method
- Unified Node constructors and initializers a bit
2005-06-15 14:40:57 +00:00
hns
879015efd5 Fix bug 431
http://www.helma.org/bugs/show_bug.cgi?id=431
2005-06-14 10:34:34 +00:00
hns
df88235e04 MultiFileRepository contributed by Barbara Ondrisek:
A subclass of FileRepository that treats all subdirectories as top-level file repositories
(instead of than treating them as prototype directories)
2005-06-10 12:35:10 +00:00
hns
96a8d6f95e ignore-dirs patch contributed by Barbara Ondrisek:
appname.ignore = dir1,dir2 prevents Prototypes to be created for the given directories.
2005-06-10 12:28:27 +00:00
hns
f9ce4c8c07 ResourceComparator is never used with ResourceTrackers 2005-06-10 12:02:16 +00:00
hns
2b2fdf59c1 Simplified getInstance(String) a little bit. 2005-06-09 16:34:00 +00:00
hns
04a1b2cb80 Set thread priority for GZipper threads to MIN_PRIORITY. 2005-06-09 16:32:32 +00:00
hns
0e2aca1c07 - Remove old debug thread dump in getInstance(String)
- Remove double checking to avoid entering synchronized code in getInstance(String)
- Rename newLog(String) to getFileLogger(String) and clean it up a little bit
2005-06-09 11:46:12 +00:00
hns
23efbd457d Make Runner.run() synchronized again, needed by wait() 2005-06-09 11:23:49 +00:00
hns
e95169cfe6 Remove comment about bogus thread safety, not true anymore after last commit. 2005-06-09 11:15:01 +00:00
hns
70edf7bedf - No need to make runner volatile since it is only access in synchronized code
- Do not null out Logging.runner at the end of Runner.run()
- Remove unused Runner.wakeup() method and make runner.run() not synchronized
2005-06-09 11:02:55 +00:00
hns
3a55c1b270 - Make sure we use an absolute path for logdir
- Make all methods that work on the logfile/writer synchronized
- Increase Buffer size in GZipper thread to 8192 bytes
2005-06-09 10:42:51 +00:00
hns
5bc692e923 Make runner variable volatile. 2005-06-06 19:28:14 +00:00
hns
107aaa6a59 - Encapsulate access to static runner into synchronized methods to prevent
spawning of multiple threads.
- Make static runner field non-public.
2005-06-06 15:55:16 +00:00
hns
1a7a054894 Minor patch: get dateLastRendered and dateCache from the same java.util.Date instance. 2005-06-06 15:52:45 +00:00
hns
18dbec3dd8 Fix two minor bugs that keep everything from working. 2005-06-02 20:27:40 +00:00
hns
a8b9ffd154 Make FileRepository(File) constructor public again, it is used from the helma.main and helma.servlet packages. 2005-06-02 19:04:13 +00:00
hns
43b1b5edd8 Many changes and fixes in Prototype skin management:
- Use an ordered TreeSet for prototype's repositories so we
	  know the resources we get are already in the right order.
	- Use SkinMap again for intetracking mapping the prototype's skins
	  internally after cleaning the code up a bit.
	- Add new ScriptableSkinMap object that wraps a skinmap, exposes it as
	  native JavaScript object by extending WrappedMap, and does the
	  Resource to String conversion in get().
	- Move code that loads additional skins from skinpath from
	  SkinManager.getSkinFiles() to SkinMap.loadSkinFiles()
	- Inline addSkinResource() and addCodeResource() methods into
	  checkForUpdates().
	- Make lastUpdate kind of fields volatile.
2005-06-02 12:06:57 +00:00
hns
1c9bdff6af Rename getSkinInternal() to getSkinInPath() 2005-06-02 08:18:44 +00:00
hns
a9aadfe00c - Make sure our file has an absolute path, otherwise we run into inconsistent behaviour
of File.exists()
2005-06-01 15:09:52 +00:00
hns
ceebcdb96e - Make sure our directory has an absolute path, otherwise we run into inconsistent behaviour
of File.exists()
- Throw exception if directory exists and is not a directory
- Rename dir instance variable to directory
2005-06-01 15:09:35 +00:00
hns
828ba529dd Make constructor public. 2005-06-01 14:54:50 +00:00
hns
e9c32f20a1 Enhanced/fixed Javadoc for getRootRepository() 2005-05-24 14:32:45 +00:00
hns
962d53336c Make sure skinmaps are loaded even if prototype's resources haven't been checked yet.
Fixes bug 428.
2005-05-24 14:18:19 +00:00
hns
fe455cb556 - Implemented notifyPropertyChange() function which is called from all property setters in order to fix bug 424.
- Refactored DbMapping related checks in setString() a little bit.
2005-05-24 10:21:48 +00:00
hns
f671a6b838 - Return the logical/script root in AbstractRepository.getRootRepository(). Fixes bug 425.
- Added some Javadoc comments.
2005-05-20 09:55:10 +00:00
hns
e284f39be5 getRootNode(): Set DbMapping and prototype name to app.getRootMapping() 2005-05-18 08:44:43 +00:00
hns
0eb623afd5 Use NodeManager.getRootNode() to get our root node. 2005-05-18 08:42:17 +00:00
hns
d26b968ae8 Always use directly mapped property as first choice when resolving ${column_name} in appendFilter().
Only use id/name/prototype if that doesn't give us a value.
2005-05-18 08:33:47 +00:00
hns
3c8f9f8890 Throw exception in init() when rootPrototype or userPrototype does not exist. 2005-05-13 15:33:01 +00:00
hns
525739eaa5 Minor code improvement in isStorageCompatible() 2005-05-13 15:26:55 +00:00
hns
0deb7c3a53 Read rootPrototype and userPrototype in init() instead of in updateProperties() 2005-05-13 15:25:58 +00:00
hns
70ea9f7aa3 Application.java:
- Update rootMapping and userMapping in updateProperties()
- Replace getRootPrototype() with getRootMapping()
DbMapping():
- Implement static areStorageCompatible() method to check
  two DbMappings, both of which may be null
NodeManager:
- Update to use new methods
2005-05-13 15:20:16 +00:00
hns
4def8eed1e Implement NodeManager.getRootNode() and NodeManager.isRootNode() that
allow to get the app's root node and check if a node is the root node, respectively
2005-05-13 14:45:42 +00:00
hns
022bc2a2d8 - Renamed former rootPrototype property to hrefRootProperty,
since it defines the root object only as far as href() function is
  concerned
- Add rootPrototype and userPrototype properties that allow to
  set the prototypes for the root and user objects, respectively
- Implement Application.getRootPrototype() and Application.getRootId()
  that allow to get the prototype and id of the app's root node
2005-05-13 14:44:45 +00:00
hns
fc9120d77f Remove initDb() method, not used anymore 2005-05-13 14:07:23 +00:00
hns
70eb0c5e5d Implement rootPrototype app property that allows to force-set the root object prototype. 2005-05-12 16:16:39 +00:00
hns
95dd5feb63 Fix bug where directories wrongly adopted resources as their children. 2005-04-29 13:27:54 +00:00
hns
6c44c5fa66 Implement appname.protectedSessionCookie property in apps.properties.
If set to "false", session cookies will not be bound to the client's ip subnet.
2005-04-22 13:23:25 +00:00
hns
21e98e793e Print debug statement for session manager implementation 2005-04-22 12:49:18 +00:00
hns
8651432157 Switch back to ImageIO.read() on CVS HEAD
(we stay with Toolkit.createImage() on helma_1_4 branch for now)
2005-04-15 14:23:50 +00:00
hns
2b916bc2df Only set response to 304 not modified if no cookies were set.
Apache will not set cookies in a 304 response.
2005-04-14 16:27:37 +00:00
hns
00070358f9 Fix app.getSessions() 2005-04-14 11:04:03 +00:00
hns
3eea4d97af Use proper resource ordering for multiple type.properties files 2005-04-13 10:42:12 +00:00
hns
f889624d86 Fix bug in getSkin() that could result in skins not being fully read. 2005-04-13 09:22:59 +00:00
hns
c54d767b6e Make sure script windows are updated when scripts are recompiled 2005-04-12 13:34:11 +00:00
hns
ed3220768a Move helma.xsl from helma/objectmodel/db to helma/objectmodel/dom package
(following the move of XmlDatabase)
2005-04-12 13:10:22 +00:00
hns
8e96cfb709 Remove ominous apache-michi.jar from jar contents 2005-04-12 09:53:27 +00:00
hns
b8c6201d40 Always scan for repositories 0-9 2005-04-11 15:36:43 +00:00
hns
a021cbf791 Allow Helma to run without listening to any server ports. 2005-04-11 15:29:47 +00:00
hns
2ab0f17678 Add missing calls to checkNode() 2005-04-11 15:26:56 +00:00
hns
47e6955aa2 Don not use potentially deprecated ZipEntry to get an entry's size. The entry
may have been generated for an old version of the zip file and not exist at all.
As a fix, don't store the ZipEntry at all in ZipResource, just the ZipEntry's name.
2005-04-11 11:44:54 +00:00
hns
530afc9f88 Add calls to Graphics.dispose() and Image.flush() whereever possible.
Rewrite protected resize to directly set image, width, and height.
2005-04-07 14:15:46 +00:00
hns
a74ec62b68 Use Toolkit.createImage() to decode images until javax.imageio has matured. 2005-04-07 14:15:26 +00:00
hns
806260212e Set lastmodified to 0 if repository doesn't exist 2005-04-05 13:13:32 +00:00
hns
5d754c46a7 Set initial value for lastChecksum to -1 to avoid null reference for empty repositories 2005-04-05 13:12:57 +00:00
hns
4d1e6868cd Introduce updateSnooze that continously increases type check interval
from 1 to 5 seconds as the app remains unchanged.
2005-03-25 08:20:18 +00:00
hns
6b5713b80a Mark prototype code updated when new resources are added 2005-03-25 08:15:36 +00:00
hns
67988a8d62 Add todo note in getUrl() 2005-03-25 00:27:45 +00:00
hns
48489e8200 Catch UnsupportedOperationException thrown by Resource.getUrl() 2005-03-25 00:27:16 +00:00
hns
fdf3915d9e Move TypeManager.updatePrototype(Prototype) to Prototype.checkForUpdates().
Additionally, the inner workings of the Prototype update logic were vastly simplified.
2005-03-25 00:12:59 +00:00
hns
57efa85f29 remove void return 2005-03-24 23:03:03 +00:00
hns
c7d2534811 Change Application.getRepositories() to return a List instead of an Iterator 2005-03-24 22:38:51 +00:00
hns
514d9a353c Use logError() instead of logEvent() to log original compilation errors. 2005-03-24 22:03:51 +00:00
hns
fde3b335db No need to dump stack, logError does that for us (leads to multiple stack traces). 2005-03-24 22:02:21 +00:00
hns
0856559870 Optimize synchronization in updatePrototypes(): keep out of synchronized section if possible 2005-03-24 18:24:51 +00:00
hns
7af9cc6a22 * Implement createResource() method so child resources can be used even if they don't exist
* Fix horrible bug in update() where child items were created that weren't child resources at all
2005-03-24 18:23:50 +00:00
hns
cb02290e3d Remove unnecessary casts 2005-03-24 18:20:57 +00:00
hns
c5996c52ea Minor code reorg in constructor 2005-03-24 18:20:39 +00:00
hns
73e377dde1 Introduced Resource.getBaseName() to return name with extension cut off.
Fixed Resource lookup failure on Windows.
2005-03-23 19:28:04 +00:00
hns
908424d18a * Actually add embedded top-level repositories to the app's repositories
* Simplify last-top-level-repository check in TypeManager
* Fix Application.getAppDir()
2005-03-23 16:42:38 +00:00
hns
92da97550c Split IDatabase.saveNode() into insertNode() and updateNode(). Fixes bug 418. 2005-03-23 14:57:28 +00:00
hns
11257b4765 * Make TypeManager.createPrototypes() and TypeManager.checkPrototypes() throw IOException
* Propagate IOException in the callers of the above methods
2005-03-23 12:32:50 +00:00
hns
e5514d7099 * Don't use TreeSet for resources unless we can get a ResourceComparator
* Check if resources exist before trying to read from them
2005-03-23 12:30:04 +00:00
hns
4f59be6597 * Move initScriptingEngine() and scriptingEngine.updatePrototypes() call inside try statement
* Replace do.. while with wile statement
2005-03-23 12:28:26 +00:00
hns
14f8f1e8d2 * Implemented hashCode() and equals(Object) for all Repository and Resource implementations
* Some code improvements and minor fixes
2005-03-23 12:23:49 +00:00
hns
d3e5eaca9d Display absolute path name for getName() and toString() in stand-alone file resources. 2005-03-22 16:24:35 +00:00
hns
7c9e4b0fa5 Do not merge lastModifieds in commit() 2005-03-22 13:01:04 +00:00
hns
2dc2851aee Use higher (10 minutes) default request timeout if rhino debugger is on. 2005-03-22 10:53:09 +00:00
hns
773ef11ab0 Check for updates in lastModified() 2005-03-21 17:48:01 +00:00
hns
335f351c5c Generally add the exception as second argument when logging errors.
Add check for null pointer when unregistering XML-RPC handler.
2005-03-21 17:46:39 +00:00
hns
60b61d63ca Implement doGenerateID() that can safely be called by IDGenerator
without causing infinite recursion.
2005-03-21 15:38:26 +00:00
hns
a37a4e9216 Make generateID() throw Exception 2005-03-21 15:37:13 +00:00
hns
3ff46c6dd3 Add public setUserHandle(), setCacheNode(), getMessage(), setMessage() methods. 2005-03-21 13:29:49 +00:00
hns
034153f251 Make getLogger() public 2005-03-21 13:29:10 +00:00
hns
c4c3505545 Move session manager initialization code towards the end of init() to make sure
other fiels are initialized when we start (request evaluators must be usable).
2005-03-18 13:51:54 +00:00
hns
892fe4b6e1 Make sure we enter and exit a Context in serialize()/deserialize().
Do not wrap return object in deserialize().
2005-03-18 13:50:41 +00:00
hns
0dd4dba0f7 Try to make javac 1.5 not complain by casting argument to Object[]. 2005-03-18 03:17:13 +00:00
hns
abaa492d2a Move XmlDatabase to helma.objectmodel.dom package.
Move the IDGenerator into XmlIDGenerator in the same package.
Make helma.objectmodel.db.IDGenerator an interface that can be
used to plug id generators into NodeManager.
2005-03-18 03:13:12 +00:00
hns
c509e3a030 Moved/merged to XmlIDGenerator in the same package. 2005-03-18 03:11:13 +00:00
hns
127395afdb * Make getEvaluator() and releaseEvaluator() methods public
* Immediately mark application as running in init()
* Adapt to new signature of NodeManager.init()
2005-03-18 02:08:28 +00:00
hns
9ef4316dd6 Cleaned up embedded database code:
Cleaned up IDatabase interface, moved code into XmlDatabase,
removed IDGenerator code from NodeManager and Transactor.
2005-03-18 02:05:24 +00:00
hns
d8dc1fc61e Ignore registerSubnodeChange for transient or new nodes. 2005-03-18 02:01:41 +00:00
hns
e72037c35f Implement getScriptingEngine(): gets the evaluator's scripting engine,
creating and initializing it if necessary.
2005-03-18 01:59:43 +00:00
hns
b21a0d8ddb Added Javadocs, minor code reformatting, removed unused method. 2005-03-18 01:42:19 +00:00
hns
732fab12b8 Overworked and cleaned up session code a bit:
* Made all fields in Session and SessionManager protected to allow
  subclassing outside the package
* Renamed SessionManager.setApplication() to init() and introduce
  SessionManager.shutdown()
* Introduce Session.commit(RequestEvaluator) which is called after a HTTP
  request has finished executing
2005-03-17 08:32:47 +00:00
hns
b953e6e3b2 Use logError() rather than logEvent() for logging HTTP request errors 2005-03-16 20:20:54 +00:00
hns
aaeba92e4b Swap out session handling into separate SessionManager class. 2005-03-16 17:32:32 +00:00
hns
6ad5e1ae28 Implement Session.login(userName, password) 2005-03-16 17:29:16 +00:00
hns
e51725aba0 Add serilaize()/deserialize() support to ScriptingEngine to allow engines
to take care of serialization of scriptable objects.
2005-03-16 17:28:27 +00:00
hns
301d589fae Fix bug that always caused resource- and app-less properties to be cleared in update(). 2005-03-16 16:48:01 +00:00
hns
2127a6738f Fix ClassCastException in SkinMap.load() 2005-03-16 16:27:41 +00:00
hns
628cadcf49 Implement global serialize() and deserialize() functions 2005-03-16 11:48:42 +00:00
hns
4527bda2b5 * Re-implemented support for .hsp files in HEAD.
* Cleaned up .hac and .hsp processing code
* Renamed RhinoActionAdapter to HacHspConverter
2005-03-16 11:05:43 +00:00
hns
dc394199be Register thread local variables before calling updatePrototypes() in order
to allow various things to happen during code compilation.
2005-03-15 18:05:33 +00:00
hns
6a29c2b465 Avoid using enum as variable name in order to compile on Java 1.5 2005-03-15 17:35:39 +00:00
hns
71c4482c76 Fix .hac action file support 2005-03-15 14:42:21 +00:00
hns
856133d12a Handle internal calls for non-existing functions. Fixes bug 417.
http://helma.org/bugs/show_bug.cgi?id=417
2005-03-15 12:38:55 +00:00
hns
25fc5f7126 Log error and rethrow exception in initScriptingEngine() 2005-03-15 12:15:22 +00:00
hns
d4c3769bf5 Fix case where repository name contains a dot, but filename doesn't. 2005-03-15 11:55:26 +00:00
hns
0c4bb5b7d4 Fix NullPointerException for prototype folders with non-valid type names 2005-03-15 10:43:15 +00:00
hns
f7e929441c Implement our own RhinoDebugger subclass to display scripts in a nice table.
The current implementation is merged from helma_1_4 branch and a bit quirky
in regard to repository script source names
2005-03-14 16:30:32 +00:00
hns
fb04c05289 Hack: Move over Rhino debugger to helma.scripting.rhino.debug because most of the internals
are defined as package-private so there's no way to subclass unless we're in the same package.
2005-03-14 16:28:53 +00:00
hns
2373d63719 Add support for rhino debugger (merge from helma_1_4) 2005-03-11 15:41:35 +00:00
hns
1f84ed41ac Gracefully handle the case where getConnection() is called by a non-transactor thread
(merge from helma_1_4)
2005-03-11 15:37:32 +00:00
hns
344c0da36e Make session cookie name configurable via sessionCookieName in apps.properties
(merge from helma_1_4)
2005-03-11 15:36:42 +00:00
hns
bcf5542565 Unset transaction name in commit() and abort() - merge from helma_1_4 branch 2005-03-11 13:32:44 +00:00
hns
a77a6cf602 Make reqtype field volatile (merge from branch helma_1_4) 2005-03-11 13:27:15 +00:00
hns
9f842e8c5d Merged in repository_patch branch. Plus these changes:
* Renamed helma.util.SourceProperties to helma.util.ResourceProperties
* Removed timing from helma.framework.core.RequestEvaluator
2005-03-10 16:54:04 +00:00
hns
343fad7638 Improve JS Image constructor:
* Implement Image constructor from helma.util.MimePart
* Improve error reporting: Include original exception message for IOExceptions,
   include argument info to detect wrong arguments
2005-03-09 16:43:33 +00:00
hns
9bcdfd7cd0 Check if Server.getServer() is not null before trying to get property from it. 2005-03-09 15:49:00 +00:00
hns
0b2b5718aa Switch version to 1.4.2 2005-03-09 14:01:07 +00:00
hns
4220bf13f1 Use JDK 1.2 compatible version of Jetty 4.2.22 (extra/lib/org.mortbay.jetty-jdk1.2.jar) 2005-03-09 13:53:40 +00:00
hns
78d647f521 Implement HopObject.persist() to store HopObjects to db without adding them to any collections. 2005-03-08 11:46:15 +00:00
hns
bee76afeb7 Fix bug where collections are reloaded on change of private properties. 2005-03-08 11:33:09 +00:00
hns
46fc141e97 Fix bug in getZipEntryContent() where entries aren't fully read if not immediately available. 2005-03-07 17:15:20 +00:00
hns
d66c3965d4 Use helma.[appname].sql.log as SQL log file by default,
configurable by sqlLog entry in app.properties.
2005-03-07 15:10:44 +00:00
hns
156ad8f721 Michael Platzer's SQL Logging patch, with millisecond timeing and a few stylistic changes. 2005-03-07 13:42:57 +00:00
hns
183e222f67 Reset some fields that were previously left out in reset(). 2005-03-01 12:50:30 +00:00
hns
21d0cffb54 Check for empty tag stack, fixing bug 414
http://helma.org/bugs/show_bug.cgi?id=414
2005-03-01 12:15:51 +00:00
hns
05753dc7e5 Implement per-HTTP method action names, e.g. main_action_post.
The methods that were handled by Helma traditionally (GET, POST, HEAD) are still
mapped to actions without method name in case no per-method action is defined.
2005-03-01 11:43:14 +00:00
hns
4d0d1b33bb * Fix bug where 0 is assumed as id of the root object in getParent()
* Fix bug where child node is set to anonymous after calling addNode()
2005-02-26 08:57:43 +00:00
hns
700f2b41ea Remove global getById() in favor of Constructor.getById() which now takes
an optional second prototype argument.
2005-02-15 14:27:54 +00:00
hns
91136fed4c Implement static HopObject.getById() function as described in this thread:
http://grazia.helma.org/pipermail/helma-user/2005-February/002777.html
2005-02-11 16:58:24 +00:00
hns
0c3997ccc3 Use package name as log name in getInstance(Class) 2005-02-10 22:59:38 +00:00
hns
7aa8a8ac87 Added global getById() function which allows to retrieve any persistent HopObject
by type name and id.
2005-02-10 16:07:17 +00:00
hns
c93316078c * Make sure we use the absolute path in getInstallDir()
* Fixing indentation in getInstallDir()
* Print stack trace on bootstrap error
2005-02-03 17:56:58 +00:00
hns
3933fbf91b Don't write out response body for HEAD requests. 2005-01-31 17:05:14 +00:00
hns
44dedeb839 Fixed date format in getStringValue() 2005-01-31 15:45:00 +00:00
hns
4f7de157b1 Catch AbortException to abort the transaction but not generate an
error message, leaving the response untouched.
2005-01-31 15:34:21 +00:00
hns
8014a390cb Committing Robert's patch for bug 394.
http://helma.org/bugs/show_bug.cgi?id=394
2005-01-28 15:07:00 +00:00
hns
4f074f329a Skip response closing and writing if the response was already written
and committed by the application.
2005-01-28 13:52:44 +00:00
hns
0143f7a9dc Add support for res.getServletResponse() and res.servletResponse 2005-01-28 13:16:56 +00:00
hns
9778df82eb Add getServletRequest() 2005-01-27 14:13:48 +00:00
hns
51d814d56f Try to generate a minimal HTML page in sendError() 2005-01-27 12:10:39 +00:00
hns
479a70509d More shifting and shoving and cleaning up in RequestEvaluator. 2005-01-26 15:43:56 +00:00
hns
1c635f8b5c Add writeErrorReport() method for plain vanilla error pages. 2005-01-26 15:19:36 +00:00
hns
755a0f5606 Always convert java.util.Dates to JavaScript Date objects in Wrap Factory. 2005-01-26 13:28:36 +00:00
hns
7e45ee5fbf substitute /HopMacro/Macro/ in messages. 2005-01-25 17:04:47 +00:00
hns
771c13d82d * Implement macro comments as <% // ..... %>
* Display an error message for unhandled global macros
2005-01-25 16:43:08 +00:00
hns
b3e46bd821 Added getTransactionName() plus a few JavaDoc comments. 2005-01-25 16:13:48 +00:00
hns
026dd7faad * Handle all HTTP methods (all the same way, this is temporary behaviour
until we find a way to deal with them)
* Add req.getMethod() that returns method name as string
* Add req.getServletRequest() that returns the HttpServletRequest object
   for HTTP requests
* Set up req, path, session... objects for all types of requests
* Restructured helma.framework.core.RequestEvaluator to allow for more
   cleanup in the future
2005-01-25 16:13:04 +00:00
hns
255d6e9812 Adding AbortException used in res.abort(). 2005-01-25 16:10:47 +00:00
hns
d15113234e Make the class Serializable instead of Externalizable. 2005-01-25 15:59:48 +00:00
hns
20851907c2 Implement res.commit() and res.abort() methods.
res.commit() commits all changes to DB and starts a new transaction.
res.abort() aborts the current transaction and request.
2005-01-25 15:59:14 +00:00
hns
bb399fc79d Only manage those properties that were set in previous script compilations,
and never manage predefined properties because they may be set
unintentionally by code like Image.foo = bar. Should fix bug 397.
2005-01-25 07:57:55 +00:00
hns
24a973e662 Implement hashCode() and equals() for ActionFile, FunctionFile, SkinFile and
Template classes. This is required for ZippedAppFile to when removing
Updatables that are no longer contained (revision 1.19 from Dec 7 2004).
Fixes bug 395.
2005-01-24 14:06:51 +00:00
hns
e3d8976274 Always return empty array for propery enumerations on HopObject prototypes.
This is to stop prototype properties from showing up in HopObject proprerty
enumerations. HopObject.getAllIds() can be used to get a prototypes properties.
2005-01-14 13:46:53 +00:00
hns
5cc104466c Introduce PropertyRecorder interface that allows us to keep track of
changed properties in prototypes during code compilation. This way
we're able to remove prototype properties that haven't been renewed
in the last compilation (i.e. have been removed from the code).
2005-01-14 13:23:12 +00:00
hns
da007f9506 Set parent scope rather than prototype for temporary global prototype.
This should solve the problems described in bug 390 where global functions
were called on the temporary prototype in some cases.
2004-12-20 13:14:39 +00:00
hns
35791bf5fb Fixes for bug 390 <http://www.helma.org/bugs/show_bug.cgi?id=390>
* Use the same class for temporary compile time prototypes as for live protos
* Switch over parent scope when moving properties to live prototype. This
  does not fix any problems because the functions causing the problems in
  AntvilleLib are nested properties, but it seems like the right thing to do.
2004-12-20 12:15:35 +00:00
hns
9b9028df72 Refactored code compilation so that code is compiled against a temporary prototype object
rather than the actual live prototype. Moved much compilation code into two new methods in
TypeInfo called prepareCompilation() and commitCompilation. The first one sets up the
temporary prototype object to compile against, the latter copies over new properties to 
the live prototype and removes properties that are no longer present. Also, some field 
names have been shortened.
2004-12-17 15:32:52 +00:00
hns
90ef29fb1b Use super.getIds() for property enumeration in HopObject prototypes. 2004-12-17 15:30:17 +00:00
hns
20ea453c35 * Include application name in source names.
* Make sure files from zip files are removed from prototypes and prototypes
   are updated properly when they are no longer present.
2004-12-07 14:39:55 +00:00
hns
0620912aa2 Update to Jetty 4.2.22 2004-12-07 13:12:48 +00:00
hns
70b3069cb9 Always clean up old properties in prototypes regardless if they are functions or not. 2004-12-07 12:52:21 +00:00
hns
d1b5b820ad Add parent nodes with updated child collections to NodeChangeListener protocol.
Make Node.setLastSubnodeChange() public.
2004-11-25 14:17:01 +00:00
hns
f042bbd36a Register child object with synthetic key in node manager when adding to a collection with
accessname set.
2004-11-09 22:30:26 +00:00
hns
ba42d67be6 Set DbMapping in deserialized Nodes along with prototype name. 2004-11-08 21:59:40 +00:00
hns
1b27fedb9f Immediately copy new jar file to lib/helma.jar in jar task. 2004-11-05 15:19:36 +00:00
hns
e4343eb563 Fix bug where collection in embedded db is erraneously set to anonymous. 2004-11-05 15:02:13 +00:00
hns
01edf54603 Catch up on the promise of separating child nodes from properties: do not
set node properties for child nodes with groupby or accessname set. This
means that lookups for groupby/accessname nodes becomes pretty expensive
for the embedded database because we have to loop through child nodes, but
the overhead seems acceptable, and the embedded db is not for high performance
deployment anyhow. (Eventually we can implement some kind of caching mechanism
here if necessary.)
2004-11-05 08:04:11 +00:00
hns
418976539e Make SyntheticKey case insensitive without compromising name capitalization. 2004-11-05 06:41:41 +00:00
hns
0ce19fb080 Initialize lastPropertyRead to -1 because otherwise if the app.properties file
does not exist, properties are never initialized.
2004-10-28 19:17:50 +00:00
hns
4e073785ab * Added NodeManager.init() to separate initialization from the constructor.
* Added ObjectCache.shutdown() to allow object caches to be closed.
* Catch exceptions and errors thrown by NodeChangeListeners.
2004-10-25 18:27:42 +00:00
hns
9d53d33ef9 Introduce NodeChangeListener interface that can be used to get notifications
about node changes (inserts, updates, deletes) from the NodeManager.
Change Transactor to implement NodeChangeListener.
2004-10-22 12:57:15 +00:00
hns
a95dcd16a4 Some fixes to allow garbage collection of helma classes/class loaders:
* Run and null out shutdown hook when stopping.
* Make Jetty log sink a static inner class.
2004-10-20 15:47:43 +00:00
hns
65115dfa9a Null out static runner field when shutting down. 2004-10-20 15:37:39 +00:00
hns
2a7fa165ec Use weak references to store RhinoCore instances in coreMap to allow them
to be garbage collected.
2004-10-20 14:39:15 +00:00
hns
79f1134805 null out consoleLog field in closeAll() 2004-10-20 14:37:21 +00:00
hns
5646c3881a Rewrite Server.stop() to actually try to stop the server.
Rewrite HelmaShutdownHook to use Server.stop().
2004-10-19 12:45:30 +00:00
hns
59bec76b45 Introduce helma.objectmodel.ObjectCache interface for switchable cache implementations. 2004-09-17 15:53:35 +00:00
hns
f2180bfa81 Improved toString() method 2004-09-17 15:40:48 +00:00
hns
2664d31a7d Remove debug print message. 2004-09-15 13:37:30 +00:00
hns
e0592e5319 No more need to set the application's charset in the servlet config. 2004-09-15 13:30:58 +00:00
hns
c7257e22d0 Return the charset instance variable in getCharset() rather than asking the
application properties directly.
2004-09-15 13:30:14 +00:00
hns
6f3f82f40a Remove abstract execute() method and add abstract getApplication().
Remove encoding instance variable and get it from application when needed.
2004-09-15 13:28:58 +00:00
hns
381e235e19 Removing RMI based servlet clients. 2004-09-15 12:22:37 +00:00
hns
ac9e98e7cd Remove last traces of Commons Codec URLCodec. 2004-09-15 12:19:44 +00:00
hns
8459618f36 Remove commons-codec.jar since we're back to the JDK URL encoding/decoding. 2004-09-15 12:15:28 +00:00
hns
1967c7d76b Remove lines that were unintentionally doubled with a previous patch.
Remove unused import statement.
2004-09-15 12:13:12 +00:00
hns
71aeea336e UrlEncoded fix from Jürg Lehni to use JDK 1.4 methods if available and
switch back to JDK 1.3 methods otherwise. Methods renamed to encode()
and decode(), respectively.
2004-09-15 11:15:44 +00:00
hns
fad94431e0 Make id in SyntheticKey case insensitive by always transforming
to lower case in constructor.
2004-09-14 14:16:17 +00:00
hns
426a0d0c9d Patch to close InputStreams contributed by Jürg Lehni. 2004-09-14 13:29:08 +00:00
lehni
f90f174719 Bufix for a problem in the inital quantize code from Adam Doppelt, where unique pixels where calculated wrongly. 2004-09-11 10:13:02 +00:00
hns
c16fc50354 Some code cleanups as suggested by Jürg Lehni. 2004-09-10 09:28:04 +00:00
hns
33808d06b3 Add commons-codec.jar to classpath 2004-09-06 17:51:07 +00:00
lehni
08b2a25561 Removed the OutputStream / mimeType versions of saveAs that broke compiling 2004-09-06 16:25:39 +00:00
hns
392265358a Recognize <!doctype > tags in HTML formatter 2004-09-06 14:43:00 +00:00
lehni
1138a509ec Bugfix to avoid an invalid Graphics2D object after changes to the internal image (crop, scale, reduceColors, ...). 2004-09-06 14:31:35 +00:00
hns
c444ada032 Set the servlet's defaultEncoding to the app's charset
as soon as we get the Application reference.
2004-09-06 13:50:08 +00:00
hns
b8dd92a125 Switch to Jakarta Commons Codec for URL en/decoding to provide
encoding-sensitivity on JDK 1.3.
Use application charset for URL encoding and decoding.
UnsupportedEncodingException is propagated.
2004-09-06 13:48:30 +00:00
hns
e3eed21f50 Adding Jakarta Commons Codec 1.3 jar 2004-09-06 13:24:56 +00:00
hns
2b48e43964 Implement decent string representation for path object. 2004-09-03 10:34:45 +00:00
hns
6bd558bcb0 Minor fixes from Juerg Lehni: Add trailing "/" in path info, plus code improvements 2004-09-01 15:27:13 +00:00
hns
0dd94cd340 Reverse order of global.init() and global.initStandardObjects() invocations. This is
required by Rhino 1.6R1pre and doesn't hurt with Rhino 1.5.
2004-08-30 13:24:43 +00:00
hns
4df534a590 Patch from Paul Alexandrow to query for groupby field rather than accessname
in getPropertyNames() if we have a grouped relation.
2004-08-30 13:18:35 +00:00
lehni
ed407c3188 Fixed a bug that affected transparent parts of images. 2004-08-30 10:35:18 +00:00
lehni
e2c62701d8 replaced the weird-bug-fix-line by this one, which should even be faster as no function calls are involved:
String fix = "" + alpha;
2004-08-06 17:17:25 +00:00
lehni
a730e1b1c0 correct comments. 2004-08-06 13:10:22 +00:00
lehni
18d1d5ed60 added a bugfix line for a very weird bug that only occurs from time to time, on some systems:
for more information, read the comments before the following line:
if (i == 0) Integer.toString(alpha);
2004-08-06 13:09:03 +00:00
lehni
23451becef a few bug fixes so that dithering now actually works. 2004-08-06 11:38:17 +00:00
lehni
6398e21b3b added drawImage for other ImageWrapper objects 2004-07-30 13:23:33 +00:00
hns
c491999cf5 Update version to "1.4.1" 2004-07-29 13:00:38 +00:00
hns
112bc0f6c1 Fix some more JavaDoc comments to stop javadoc from complaining. 2004-07-29 12:47:55 +00:00
hns
f89a057ffb Fix some JavaDoc comments. 2004-07-29 12:22:44 +00:00
hns
b72efe9dfb Remove unused WebBroadcaster class 2004-07-29 11:53:29 +00:00
hns
d8a7f6c3d4 Add getter for the underlying file 2004-07-29 11:43:48 +00:00
hns
f8d3f0e25d Allow onCodeUpdate function to be defined in prototype chain. 2004-07-28 19:00:52 +00:00
lehni
7ac392b088 added FileObject support for getInfo and corrected error messages. 2004-07-16 10:36:04 +00:00
lehni
98a6050140 added "protected getFile()" for FileObject support in Image.getInfo 2004-07-16 10:35:30 +00:00
p3k
4f33588483 * moved retrieval of propertyName into extra template
* moved global variables into stylesheet element
* simplified the sorting of properties
* renamed property tempalte to getOutputItem
* added comments
2004-07-12 15:58:27 +00:00
lehni
9192cde250 Addapted to the chanes in ImageGenerator's read functions (for URL and String parameters) 2004-07-12 15:19:51 +00:00
lehni
61872cfac8 added new read() methods that read from URL (for urls) and String (for local filenames) objects. 2004-07-12 15:19:13 +00:00
hns
0c20effa47 * Implement Image.getInfo() function that returns an ImageInfo object for a
byte array, input stream, url or file name argument.
* Change Image() constructor to accept a path name as argument (converts to
   file: URL internally).
2004-07-12 14:03:41 +00:00
hns
8934c855ea Add Marco Schmidt's ImageInfo class as helma.image.ImageInfo. 2004-07-12 14:01:21 +00:00
p3k
1854389d32 hopefully fixed the sorting problem with child nodes having propertyname attributes 2004-07-12 13:01:28 +00:00
lehni
12dc7af723 a few clean-ups. 2004-07-12 12:39:23 +00:00
lehni
659238c00b Bugfix in "protected BufferedImage resize(int w, int h, boolean
smooth)", as suggested by  Paul Alexandrow
2004-07-12 12:36:31 +00:00
hns
1eb454d97f Display property names with <property propertyname="" ...> elements 2004-07-12 08:26:25 +00:00
p3k
d45f7a1e99 * added support for <property name="xyz"> elements
* prefer output of prototyperef value rather than generic "HopObject" whenever possible
* fixed linebreaks (somehow they appeared corrupted on my machine)
2004-07-06 14:28:18 +00:00
hns
dc5bba8ddd Use getChildElement() instead of getNode() to evict old keys when
changing the accessname property
2004-07-06 14:00:53 +00:00
hns
4680e25ff6 Move helma.xsl from dom to db because it's XmlDatabase which installs the file 2004-07-05 15:13:26 +00:00
hns
9466ccd76e Add xml style sheet processing instruction 2004-07-05 13:44:31 +00:00
hns
8573a3a5bd Install helma.xsl style sheet when opening a database that doesn't have it already 2004-07-05 13:42:12 +00:00
hns
cdedb03d27 Move helma.xsl from dom to db because it's XmlDatabase which installs the file 2004-07-05 13:39:51 +00:00
hns
2eeeac908c Copy db style sheet to classes in compile task 2004-07-05 10:41:51 +00:00
hns
29c4e2bcc3 Add Tobi's stylesheet for Helma xml db files 2004-07-05 10:41:15 +00:00
hns
f1f4dbf8c1 Update date in last line (this time thanks to Stefan Rinner ;-) 2004-06-30 08:50:34 +00:00
hns
9f72af845f Updated Helma version, changed header for imaging + jdk 1.3, thanks again
to Chris Zumbrunn.
2004-06-30 08:33:04 +00:00
hns
4704ab1770 Updated 3rd party licenses to reflect the actual state and replaced reference
to 3rd party licenses with a generic paragraph in the Helma license. Thanks to
Chris Zumbrunn for the hint.
2004-06-30 08:29:15 +00:00
hns
3903309a06 Updated date in version string 2004-06-29 16:15:00 +00:00
hns
413e2b09c4 Updated last modified timestamp 2004-06-29 16:06:47 +00:00
hns
8f501fc508 Add note about image code requirements for users of Java 1.3.
Replace note about Mac OS 9 with generic note about other OSes.
2004-06-29 16:06:07 +00:00
hns
f51f991879 Include javadocs and jimi.jar in src packages 2004-06-29 15:35:55 +00:00
hns
4af0757ca3 Create lib/ext directory in package-raw 2004-06-29 15:27:36 +00:00
hns
69c67ff4e6 Remove antclick target - this is now done by antville's own build file 2004-06-29 15:25:04 +00:00
hns
f0e9bc064a Renamed postCompile() to onCodeUpdate() as discussed on helma-dev 2004-06-29 15:15:53 +00:00
hns
61c16b9743 Removing static antclick build skeleton - antville now has its own build system. 2004-06-29 15:09:35 +00:00
hns
726c656689 Reenable cleaning up of work directory (which was unintentionally disabled) 2004-06-29 14:07:37 +00:00
hns
8a718dc76e Remove build.compiler = classic property 2004-06-29 13:46:01 +00:00
hns
58270ab3a6 Remove special chars from author name to fix problems with encoding 2004-06-29 13:24:21 +00:00
hns
b4f0635ffa Remove himp from list of packaged demo apps since it doesn't work without jimi.jar. 2004-06-29 12:14:31 +00:00
hns
2a24c4f8aa Committing patch from Rashid to call postCompile() function if it is defined
after a prototype has been evaluated.
2004-06-28 16:56:17 +00:00
hns
e1139be0ff Fix references from transient nodes to persistent ones in Xml.read() and Xml.write().
* In XmlWriter generate reference tags when referencing a persistent node from a
   transient one.
* In XmlReader make sure we have the app's NodeManager to look up node
   references we don't know about.
Fixes bug 371: http://helma.org/bugs/show_bug.cgi?id=371
2004-06-28 16:36:33 +00:00
hns
69bf4432a6 Exclude jimi.jar from package archive. We are now using Juerg's javax.imageio.*
by default. People who rely on JDK 1.3/Jimi will have to download and install it
manually.
2004-06-28 12:33:27 +00:00
hns
c36745a7f5 Explicitly use StringBuffer.append(String) instead of
StringBuffer.append(StringBuffer) in order to run on JDK 1.3 VMs which don't
have the latter, even when the code was compiled with JDK 1.4 +.
2004-06-25 13:30:27 +00:00
lehni
b3ee1d4060 keyword substitution changes 2004-06-17 14:35:21 +00:00
lehni
fa49592735 Removed benchmarking info to System.out.println 2004-06-17 14:25:25 +00:00
lehni
8c7513a056 Fixed a bug concenring severe slow downs when filtering BufferedImages with strange ColorModels 2004-06-17 14:16:06 +00:00
lehni
a788892f3e added the copy file instruction for src/META-INF/services/javax.imageio.spi.ImageWriterSpi 2004-06-17 11:35:52 +00:00
lehni
65c27906ac file moved to /src/META-INF/services 2004-06-17 11:34:37 +00:00
lehni
49ed56a83f Initial check-in. META-INF file for helma.image.imageio.gif.GIFImageWriter 2004-06-17 11:34:04 +00:00
lehni
252fb40ee0 a few last minute changes, clean-ups an comment-corrections. 2004-06-17 10:24:40 +00:00
lehni
63321fbae2 The Acme GifEncoder is replaced by helma.image.GIFEncoder 2004-06-17 09:58:12 +00:00
lehni
b326f01bb6 Part of the new Imaging libary: tells ImageIO about the existense of the GIF codec. Needs to be copied to META-INF/services 2004-06-17 09:54:41 +00:00
lehni
e03a831981 Part of the new Imaging libary: works with the new ImageGenerator 2004-06-17 09:53:03 +00:00
lehni
e861a86c30 Initial check-in. Used in helma.image.Quantize for error diffusion dithering. 2004-06-17 09:52:14 +00:00
lehni
0f40d6142b Part of the new Imaging libary: produces a BufferedImage, with and IndexColorModel, handles alpha channels and dithering. 2004-06-17 09:51:13 +00:00
lehni
b19370cdbc Part of the new Imaging libary: Relies on ImageGenerator for saving images, implements a bunch of new functions. 2004-06-17 09:49:24 +00:00
lehni
6fd57e8598 Initial check-in. ImageWaiter waits for asynchronously loaded images. Derived from ImageGenerator.ImageLoader 2004-06-17 09:48:18 +00:00
lehni
1d8560ea28 New version of the imaging library. ImageGenerator is now an abstract class, extended by ImageIOGeneartor and JimiGenerator 2004-06-17 09:46:26 +00:00
lehni
ddbf06f173 Initial check-in. ImageFilterOp wrapps an ImageFilter in a BufferedImageOp 2004-06-17 09:41:04 +00:00
lehni
0229f6bcc4 Initial check-in of the GIFEncoder, used both in helma.image.imageio.gif.GIFImageWriter and helma.image.jimi.JimiGenerator 2004-06-17 09:39:55 +00:00
lehni
40861948b9 Initital check-in of the JimiGenerator 2004-06-17 09:37:42 +00:00
lehni
c8331a38e2 Initital check-in of the ImageIOGenerator 2004-06-17 09:36:44 +00:00
lehni
be5dcabf62 Initital check-in of the ImageIO GIFImageWriter codec 2004-06-17 09:34:28 +00:00
hns
866f4fdf2e Add a loadNodes() to releaseNode() so we are sure child index has been loaded.
This is to prevent the index to be loaded subsequently, which potentially would
reintroduce the released node.
2004-06-14 14:04:30 +00:00
hns
f334900a79 Implement skinCharset option that allows to set the
encoding for skin files to something else than the
platform's file.encoding.
2004-06-12 21:00:19 +00:00
hns
cf6d9b8330 Make DbMapping.getInsert() return and cache the full insert prepared statement. 2004-06-09 15:46:22 +00:00
hns
b201bf8f35 Null out tableName and dbSource if they are inherited from parent mapping.
Make sure we always use parent mapping in get/setLastDataChange() and
getNewID() if table and dbsource are inherited.
2004-06-09 15:42:34 +00:00
hns
1b223aef93 Remove unused Application reference 2004-06-09 10:56:48 +00:00
hns
1b1b26c9db Use Context.javaToJS() utility method to convert
arguments in invoke()
2004-06-08 21:19:51 +00:00
hns
15cae3e3e7 Change ö to oe to prevent errors caused by wrong encodings 2004-06-08 16:09:01 +00:00
hns
3b93e81170 Change 4th argument to ScriptingEngine.invoke from boolean to int to be able
to pass more explicite argument processing flags. Next to default and XML-RPC
processing there is now an option not to process arguments.
2004-06-08 16:05:55 +00:00
hns
6f8907c6bd Use RequestEvaluator.invokeDirectFunction() rather than ScriptingEngine.invoke() 2004-06-08 15:42:51 +00:00
hns
38ef27fbce remove redundant check in Macro constructor 2004-06-08 14:42:11 +00:00
hns
477094bde7 Update version to 1.4.1-rc1 2004-06-07 12:00:13 +00:00
hns
75f6e3515b Properly wrap skin return value in createSkin(). 2004-06-06 20:14:37 +00:00
hns
1e63855c80 Unwrap first argument to renderSkin() calls in case
it is a Wrapper instance.
2004-06-06 20:07:12 +00:00
hns
11d95ce2f1 Move call to typemgr.checkPrototypes() from RequestEvaluator to RhinoCore.
The TypeManager and Prototype classes will move to the helma.scripting package
in the near future.
2004-06-04 16:06:33 +00:00
hns
a3697b8d82 newPrototypes hashset is never used. Print stack trace if debug is enabled. 2004-06-04 16:03:36 +00:00
hns
da7ba1dc51 make checkFiles() private 2004-06-04 16:02:52 +00:00
hns
33b48ff93a Expose message field in Session object through bean accessors
Change getters and setters for other properties from getxxx() to getXxx()
2004-05-27 14:29:09 +00:00
hns
bc85445744 Do not catch Exceptions when wrapping globals in enterContext() - this makes
us ignore syntax errors in scripts, prevents useful error messages to be displayed
and causes functions to be called in illegal state.
2004-05-25 13:29:54 +00:00
hns
c3af34272f Try to create DbSource even if neither url nor driver are defined, because
all we're preventing otherwise is a helpful error message.
2004-05-19 13:58:09 +00:00
hns
c908d1d097 use Properties.getProperty() to get driver, url, username and password
because Properties.keys() does not include the default Properties' keys.
Improved error messages for missing driver and url properties.
2004-05-19 13:57:22 +00:00
hns
0a030f932a Use lazy loading constructors where possible for extension constructors 2004-05-19 13:55:51 +00:00
hns
ae38654a7a No need to lower-case dbsource name in app.getDbSource() 2004-05-19 13:55:17 +00:00
kmfdm
9934a5af4c deffensively check properties ignoring case 2004-05-06 17:00:26 +00:00
kmfdm
7ad0968ea4 removed changes to systemproperties
(not neccessary to use case-sensitive db.properties...)
2004-05-06 15:37:25 +00:00
hns
adbd17d6aa Added exportNode() method that takes a DbMapping as second argument. 2004-05-05 14:31:17 +00:00
hns
ff6b590148 Set http_language in request data object to Accept-Language header. 2004-05-03 14:39:04 +00:00
hns
57091f8943 Patch from Manfred: Separate CLOB from LONGVARCHAR in setStatementValues() 2004-04-30 16:09:52 +00:00
hns
1a5c665579 Patch from Manfred: Allow arbitrary properties to be passed to the JDBC driver. 2004-04-30 16:08:13 +00:00
hns
2a7fe39e24 Patch from Manfred: Make dbProps properties case sensitive 2004-04-30 16:04:07 +00:00
hns
06ded876ca Patch from Manfred: Add constructor that takes ignoreCase argument 2004-04-30 16:03:34 +00:00
hns
833ca87ae4 Avoid multiple unnecessary calls to numberOfNodes() when adding child nodes
and synchronize adding, removing to make sure we never use an out-of-bound index.
2004-04-28 18:10:41 +00:00
hns
a410c358e5 Added JavaDoc comments 2004-04-28 18:03:33 +00:00
hns
2b58650ee2 Check parent mapping in isOracle() 2004-04-28 15:59:01 +00:00
hns
7ab7cff668 Group DATE, TIME and TIMESTAMP in createNode() switch statement and
always user ResultSet.getTimestamp().
2004-04-28 15:58:30 +00:00
p3k
f1b50186fb fixed bug that caused exception with wront access credentials 2004-04-28 11:09:39 +00:00
kmfdm
05c39cbd92 added CLOB-support
combined switch-statement of updateNode and insertNode into one method
2004-04-27 09:28:17 +00:00
hns
fbe488ec6e Make ConcurrencyException extend Error so it isn't cought by JavaScript try/catch. 2004-04-26 09:08:45 +00:00
hns
f02fb895cd Use lower-case prototype name for external skin files if directory for
actual name doesn't exist.
2004-04-22 10:38:33 +00:00
stefanp
af52a36f3d check for prototype root or Root in hrefRoot_macro 2004-04-13 15:40:27 +00:00
stefanp
f1ab90effd changed macro sourcecode to work with regexp and added more
syntax highlighting
2004-04-13 08:37:38 +00:00
stefanp
2c907f75c8 removed space between functionname and params 2004-04-13 08:37:02 +00:00
stefanp
265fc2bf77 don't encode type.properties content to avoid double blank lines 2004-04-13 08:35:15 +00:00
stefanp
54f60eecef rewrote the method for parsing function files so that it handles
the various ways of declaring functions in rhino
2004-04-13 08:33:40 +00:00
hns
eee11438d7 Removed/unified semi-redundant else-if branch 2004-04-02 12:17:33 +00:00
hns
750f209035 Try ScriptRuntime.toString() in get() to work around unimplemented toString()
in some Rhino native types.
2004-04-01 15:39:06 +00:00
hns
fbf6dfe693 Update version to 1.4.0 2004-04-01 15:05:01 +00:00
hns
cf1b70d48a Update to Rhino 1.5R5 final 2004-04-01 15:02:35 +00:00
hns
1e80a31348 Update to Jetty 4.2.19 (fixes DOS attack problem) 2004-04-01 15:02:15 +00:00
hns
e7e5467d8f Handle case gracefully where a node has a prototype set that does not exist anymore.
When reading from relational table, set _prototype to the name of the prototype we
actually use. When JS-wrapping the object, also check its DbMapping to find out the
prototype.
2004-03-30 15:13:04 +00:00
hns
06685adbec Re-add a simple getDefaultValue implementation to prevent runtime errors. 2004-03-29 14:53:23 +00:00
hns
4239bb201b Do not call markAs(CLEAN) in Node.init() because we don't know for sure if we
are going to use it. If the node is loaded already and is infact dirty, calling
markAs(CLEAN) will drop it from the transactor's dirty list. So what we do instead is
to directly set the status flag to CLEAN.    Fixes bug 352.
2004-03-29 13:04:04 +00:00
hns
7991f133d5 Make createNode smarter about the prototype for the new child node it is
about to create. Otherwise, if called on a persistent node, the new child node
will be persisted with a possibly bogus id.
2004-03-23 14:32:28 +00:00
hns
1271379eda Use Node constructor rather than createNode() in registerUser(). createNode()
is currently not prototype-aware, so if it is called on a persistent Node, the new
child node may be persisted with a bogus id (!).
2004-03-23 14:11:06 +00:00
hns
68c69d7ba1 * Use getChildElement rather than getSubnode to look up a potential group node
in getParent()
* Register newly created group nodes as clean nodes with the transactor thread,
   in addition to throwing them into the cache. This seems to be necessary somehow,
   although I don't understand why.
2004-03-19 17:04:10 +00:00
hns
3670bafb9f Fixes in Relation.java:
* Make renderConstraints() do the right thing in regard to logicalOperator, extracting
   the code from buildQuery()
* Make checkConstraints() do the right thing in regard to logicalOperator.
* Make setConstraints() do the right thin in regard to logicalOperator, i.e. don't touch
   if logicalOperator is OR or XOR.
2004-03-19 17:02:18 +00:00
hns
dd4be4b6b6 Make form parsing aware of multiple values per key for file upload forms (enctype="multipart/form-data") 2004-03-15 12:10:26 +00:00
hns
b31871fdfb Do a isStrorageCompatible() rather than isRelational() to handle checks for
non-relational child nodes in isParentOf().
http://helma.org/bugs/show_bug.cgi?id=339#c17
2004-03-12 13:20:59 +00:00
hns
5e13b2c99e Make prototype and name handling case insensitive in insertRelationalNode() 2004-03-12 13:13:03 +00:00
hns
4d5e555051 Upgrade to official Rhino 1.5R5 release candidate 1. 2004-03-11 11:36:15 +00:00
hns
5f327ae473 Upgrade to servlet jar from Jetty 4.2.18 2004-03-11 11:33:26 +00:00
hns
fd7b12c906 Upgrade to Jetty 4.2.18 (JDK 1.2 compatible).
Fixes bug with Java 1.3 java.util.Calendar in Jetty 4.2.17
2004-03-11 11:33:04 +00:00
hns
945c18b4ba Revert from change in revision 1.132 to only check name in getElementName()
for relational nodes: We actually need to do this for embedded nodes.
2004-03-10 17:39:21 +00:00
hns
460fe9c892 Print a better error message 2004-03-10 15:39:31 +00:00
hns
aa9cc97c07 Update version to 1.4.0-rc3 2004-03-10 15:35:23 +00:00
hns
997e01da64 Implementing res.meta container. 2004-03-10 15:05:04 +00:00
hns
11b45fe9c4 Use static final fields RequestTrans.GET and RequestTrans.POST for storing HTTP method. 2004-03-10 15:00:10 +00:00
hns
092070bb73 * Make setParent() access public
* Revert back to only check _parent for relational nodes in getParent()
2004-03-10 13:53:50 +00:00
hns
bebeecfa77 Check against dbmap NullPointerException in getParent() 2004-03-10 13:00:47 +00:00
hns
cdba357096 * Always set parent to null if _parent is set and didn't turn up a result
* Enable _parent resolution for non-relational objects if it is set
2004-03-10 12:55:30 +00:00
hns
304c08f8a3 Fix bug where infinite recursion isn't detected in getNodeHref() 2004-03-09 17:21:10 +00:00
hns
a21e6464f6 * Actually set parent to null if _parent is set but couldn't be resolved in getParent().
* Use <= rather than < to test if we should recompute in getElementName() and getParent().
2004-03-09 16:36:21 +00:00
hns
7a727927a9 Revert back to revision 1.133 (except for improved comments and removed obsolete code) 2004-03-09 16:20:58 +00:00
hns
b173eb0200 * Make setParent() return boolean true if the argument was accepted as new parent
* Use setParentHandle() wherever we don't need the new parent to be checked
* Backpedal from change in previous commit to only set parent for non-relational
   nodes in addNode() and setNode().
2004-03-09 15:01:49 +00:00
hns
b565d6a166 Add a check to prevent cyclic parent chains in setParent().
Only set parent for non-relational nodes in addNode() and setNode().
http://helma.org/bugs/show_bug.cgi?id=344
2004-03-09 14:25:29 +00:00
hns
2f51ace37c * Allow parent info in getParent() to be computed for transient nodes
* Fix getNonVirtualParent() for transient nodes. YAY!
2004-03-09 11:39:43 +00:00
hns
9b70db7a0e Fix NullPointerException when saving a relational object that doesn't have a
property map (i.e. has no properties set).
2004-03-09 11:31:18 +00:00
hns
12dea26028 Improve error message in getURL(): send it to the application's event log and
include the URL which caused the exception.
2004-03-03 15:28:31 +00:00
hns
83d29f6a60 Only do anonymous/named check in getElementName() for relational objects.
Also check if child is relational before doing Relation.checkConstraints in isParentOf().
2004-03-02 15:03:05 +00:00
hns
08c443ce6a Only call Relation.checkConstraints() in isParentOf() if the subnode relation does
not have a filter set, because checkConstraints() always returns false in that case.
2004-02-27 14:45:49 +00:00
hns
38c9d74be6 Improved documentation for checkConstraints(), adding info about its shortcomings.
Slightly improved method body by only calling getNonVirtualParent() once.
2004-02-27 14:44:34 +00:00
hns
5c8d774f47 Implementing path.contains(obj) 2004-02-27 13:24:03 +00:00
hns
e6da507d85 Fix HopObject cach property getter to do a Context.toObject().
Remove bogus getDefaultValue() implementation.
2004-02-27 13:19:17 +00:00
hns
75b2dea067 Implement isParentOf() method that is similar to contains() but returns boolean
true instead of the index position of the child node. The advantage is that we don't
need to load the subnode index for relational nodes. We're using isParentOf() in
getElementName() and getParent().
2004-02-25 13:11:13 +00:00
hns
99ba7d3e3c Increasing version to 1.4.0-rc2 2004-02-20 15:31:26 +00:00
hns
b972bee305 Fix minor typo in comment 2004-02-20 15:29:02 +00:00
hns
b703465f8e Only write log message if cache size is other than default. 2004-02-20 15:28:27 +00:00
hns
40a3b57be3 Don't make getNode throw XML-specific Exceptions. 2004-02-20 15:27:43 +00:00
hns
3a4877f84b Set implicit baseURI in bind() in addition to start() so that Hrefs are correct
after an application was remounted.
2004-02-20 13:42:34 +00:00
stefanp
53a34d861a fixed http://helma.org/bugs/show_bug.cgi?id=333
lastModified() now returns a double value
added toString() so that filename is printed as default value
2004-02-19 18:12:16 +00:00
hns
df1c131648 cleanup in Application:
* make init(), start() and stop() synchronized
* suppress some logging messages if using default values
  (cache size, preallocated evaluators)
* do not null out freeThreads stack in stop() so we don't have to worry
  about calling releaseEvaluator() in stopped applications
* replace boolean stopped field with boolean running and add
  public synchronized isRunning() accessor
* if preallocating multiple evaluators only init scripting engine
  on the first one
* move invocation of onStart() from start() to scheduler thread
2004-02-19 14:12:39 +00:00
hns
7bfb70430e * Work around Java/Windows quirk where File can't be renamed if a file with the
target name exists by deleting the existing file.
http://helma.org/bugs/show_bug.cgi?id=338
* Catch all Exceptions when reading XML in getNode, and rethrow as IOException
rather then ObjectNotFoundException (which is only thrown if the file in question
doesn't exist).
2004-02-19 10:47:43 +00:00
hns
c1ef213150 Make class JDK 1.3 compatible by implementing our own stack trace to string method 2004-02-19 10:40:14 +00:00
hns
82ed2fccd5 JDK 1.2 compatible jar from Jetty 4.2.17 2004-02-19 09:55:43 +00:00
hns
f15dea4217 Adapt global seal() function from Rhino 1.5R5 from global shell object in
Rhino 1.5R5 to allow sealing of JavaScript objects.
2004-02-18 14:46:25 +00:00
hns
a68eb60c94 Update to official 1.5R5pre snapshot from 2004/02/17. 2004-02-18 14:41:02 +00:00
hns
53e006b9da Add Javadoc class comments 2004-02-18 13:12:40 +00:00
hns
21c33be366 Fix previous commit: do recursively invoke processXmlRpcResponse() on
contents of Maps.
2004-02-18 12:53:54 +00:00
hns
37d086d5f3 Add a branch in processXmlRpcResponse() to convert a Map to a Hashtable.
Use ...else if... rather then separate if statements for mutually exclusive conditions
in processXmlRpcResponse().
2004-02-18 11:42:47 +00:00
hns
4245d6d08f MapWrapper now implements org.mozilla.javascript.Wrapper so there's no more
need for special treatment (unwrapping).
2004-02-18 11:40:27 +00:00
hns
b735055492 Make MapWrapper implement org.mozilla.javascript.Wrapper so that the map
is autimatically unwrapped when passing it outside the scripting engine.
Added/enhanced some comments.
2004-02-18 11:39:33 +00:00
hns
d9ee5757fe Added Javadoc class comments. 2004-02-18 11:20:09 +00:00
hns
5d03b49b07 Do not try to read the main properties file unless it exists. There are usage
scenarios where there is no main properties file, so no error msg should be shown.
2004-02-18 10:57:39 +00:00
hns
209bfb1c35 Add additional permission checks in order to find potential problems before commit()
Add some comments, remove debug logging output
2004-02-17 15:27:50 +00:00
hns
6f3d080b34 Rewrote embedded XML database to make it more dependable:
New records are first written to temporary files and only renamed to their
actual names when the transaction is committed.
2004-02-17 15:13:40 +00:00
hns
e512386e9a Adding logError() methods. 2004-02-17 15:08:08 +00:00
hns
2185848e6c Use getChildElement() rather than getNode() to check for an already
existing user item in registerUser().
2004-02-17 10:07:19 +00:00
hns
2ec37bda9c Set Content-Type header when forwarding to a local resource. 2004-02-13 20:51:02 +00:00
hns
5cf2dbc927 No more need to cache a new group node, Node.getGroupbySubnode()
does this now if called with create == true.
2004-02-12 14:32:50 +00:00
hns
6b631e0f0e * Fix bug where fresh groupnode was not registered with nodemanager
when created from addNode()
* Fix bug where named child node wasn't evicted when the name property
   was changed because we tried getNode() rather than getChildElement()
2004-02-12 14:32:01 +00:00
hns
311ddd0732 Remove horrendously outdated document 2004-02-11 17:25:12 +00:00
hns
d280a029e9 Going back to .tar.gz as file extension for gzipped tar files 2004-02-11 16:58:35 +00:00
hns
b64d52a118 Updating to current CVS snapshot to fix bug #233274
http://bugzilla.mozilla.org/show_bug.cgi?id=233274
2004-02-11 16:45:36 +00:00
hns
a49b59190c Updated version to 1.4.0-rc1 2004-02-11 16:20:55 +00:00
hns
e1b65bdc8b Implement/fix aggressive property loading for Oracle when loading through
manually set subnodeRelation.
2004-02-11 16:13:44 +00:00
hns
cecd13f7d2 Adjust @throws clause (but be careful not to add any information ;-) 2004-02-11 15:07:14 +00:00
hns
f6b9841947 Print out a warning if a collection specified in a _parent descriptor does not exist. 2004-02-11 15:06:23 +00:00
hns
82c0524e00 Update to Jetty 4.2.17 2004-02-10 23:01:15 +00:00
hns
8bccddd447 Register skin file map with lower case prototype name in addition to the
ordinary name in app.skinfiles.
2004-02-10 15:27:32 +00:00
hns
5a58a5ba8a Use "Root" rather than "root" as prototype when creating a root object in the
embedded database.
2004-02-10 15:13:51 +00:00
hns
a556621554 - Fully reload properties whenever one of its ingredients is changed
(main file or additional props from zip file).
- Remove deprecated constructor
2004-02-10 14:43:55 +00:00
p3k
0def62ee5a fixed script to support JAVA_HOME with spaces 2004-02-10 13:48:45 +00:00
hns
736df12ef5 Make GlobalObject extend Rhino's ImporterTopLevel so we have
the importClass() and importPackage() functions.
2004-02-10 12:46:17 +00:00
hns
81d0a86897 Committing Stefan's patch for getUser()
http://helma.org/bugs/show_bug.cgi?id=331
2004-02-09 19:25:49 +00:00
hns
f6cf3b758a Fixes and improvements for formatting, especially for paragraph formatting mode
and when entering a "semiblock" (e.g. table) in normal mode.
2004-02-07 12:30:18 +00:00
hns
67f3ccea47 Make property name from which skin text is taken settable. 2004-02-05 18:32:57 +00:00
hns
229236b25c Do not treat hop:parent element as property when reading XML-encoded HopObject.
Fixes bug 281: http://helma.org/bugs/show_bug.cgi?id=281
2004-02-05 10:37:23 +00:00
hns
b9646ab20d Set DbMapping on group nodes stored in embedded DB. Otherwise, child
nodes are not reachable by name after the application is restarted.
2004-02-04 17:34:58 +00:00
hns
c6e5dcbc95 Node.getNonVirtualParent doesn't work correctly for transient nodes, so add
a try-catch when setting the back-reference in Relation.setConstraints() since
it may fail.
2004-02-04 16:32:04 +00:00
hns
3101e32ad3 * Do not try to get child nodes from NodeManager if self is transient
* Throw an exception when trying to get a group-subnode from a
   transient node (it doesn't work, so better be clear about it)
* Do not set "name" property in groupby nodes, just stick with "groupname"
* Always set node properties in propMap if self is transient
2004-02-04 16:30:31 +00:00
hns
e3cbb5a732 Implement caching of string buffers. Throw a runtime exception if res.pop() is
called in an invalid state (no buffer or no stack).
2004-02-04 16:25:22 +00:00
hns
e64aa2780e Allow properties to start with underscores, apart from internal HopObject props. 2004-02-03 16:51:15 +00:00
hns
d8e86948db Committing Daniel's proposed fix for bug 295:
http://helma.org/bugs/show_bug.cgi?id=295
2004-02-02 17:34:18 +00:00
hns
f2ad5ea065 Fix bug in getExactPropertyMapping() where we returned the type of the collection
contents rather than the type of the collection itself. Fixes bug 330.
http://helma.org/bugs/show_bug.cgi?id=330
2004-01-30 12:35:43 +00:00
hns
b379b9050e Updating to new CVS snapshot which fixes bug 245:
http://www.helma.org/bugs/show_bug.cgi?id=245
2004-01-29 17:54:24 +00:00
hns
13a9f914be Re-establish old behaviour in addNode() that if an existing child element is present
with the given name it is deleted. Do not wrap addGroupbyNode-code in try/catch.
2004-01-28 15:56:53 +00:00
hns
2f2b0ae051 More fixes for groupby-support in embedded db. 2004-01-28 15:05:10 +00:00
hns
969ef70c93 Several smallish fixes:
* Check for group-by option in parent's child relation in getElementName().
  This is necessary for embedded group nodes to operate as named objects.
* Use specialized get code in getChildElement() if child relation is group-by.
  This is necessary to get group nodes after the change above.
* Fix NullPointerException when name is null in setName()
* Use the groupname as node name and also set an explicit "name" property in
  getGroupbySubnode().
2004-01-27 14:54:59 +00:00
hns
4ec134c41f Check for null child objects in HopObject.list() 2004-01-27 14:22:14 +00:00
hns
c17acaf3a8 Do not consult prototype when getting a JS property via Scritable.get().
This isn't necessary anymore since property and child object getters have been
separated, and we're no more risking to trigger a db select with the get.
2004-01-26 15:01:41 +00:00
hns
bb0bc89fee Add a comment 2004-01-26 14:58:04 +00:00
hns
b0d1f7f5fa Add linebreaks to long comments 2004-01-26 14:57:08 +00:00
hns
f36e390caa Make log level in helma.util.Logging configurable, and make it derault to INFO. 2004-01-23 16:33:45 +00:00
hns
d170d73565 Implement aggressive object reference loading for Oracle pre-9.
See http://helma.org/bugs/show_bug.cgi?id=300
2004-01-22 18:08:50 +00:00
hns
bb9152d2d1 Rhino CompilerEnvirons doesn't need the ErrorReporter anymore. 2004-01-22 16:02:50 +00:00
hns
529a6e7e8c Updated to current CVS snapshot 2004-01-22 16:01:49 +00:00
hns
d88c8c50d6 Updated version date 2004-01-22 16:01:21 +00:00
hns
d62f95e941 * Implement ordered prototype updating in updatePrototypes():
global code is updated first, and parent prototypes are updated before
   their descendants. The purpose is to respect inter-prototype dependencies,
   i.e. HopObject code using global and parent prototype code.
* Marked some private methods as private.
* Use toString() rather than getMessage() on EcmaErrors, otherwise the
   error file/line number is missing from the message.
2004-01-21 16:56:04 +00:00
hns
67e4f11fdb Return an unmodifiable collection in getPrototypes() to prevent major damage 2004-01-21 16:53:06 +00:00
hns
609a8700c9 add two little comments. 2004-01-21 16:52:34 +00:00
hns
e596a60f64 Improved error reporting:
* Track and report errors in parent prototypes
* Fix bug where global error was wrongly reset
2004-01-20 18:48:59 +00:00
hns
908f8134cb Added DynamicGlobalObject. Currently, this just falls back to the
per-thread scope when a get() returns NOT_FOUND on the shared
global scope, fixing http://helma.org/bugs/show_bug.cgi?id=322
(kind of hackish, but ok performance-wise).

Potentially this might also be the place to add compile-once script
modules to the global object using a mixin-style approach.
2004-01-20 17:57:35 +00:00
hns
8236ff3e18 Use core.getScope() rather than using core.global directly. 2004-01-20 17:52:20 +00:00
hns
df57e51235 Rhino doesn't like a null ErrorReporter so we implement a dummy one. 2004-01-16 17:40:11 +00:00
hns
1b08ced5c5 Adapt to new signature of TokenStream constructor again *sigh* 2004-01-16 15:50:39 +00:00
hns
ebb39d0d9e Updating to Rhino snapshot from 2004/01/15. 2004-01-16 14:51:57 +00:00
hns
3e6f4392c7 Add a separate removeChild() function to remove a child object.
Add safety check to remove() to prevent accidental use of the old version.
2004-01-15 18:20:09 +00:00
hns
6f39e2109c Use getChildElement() rather than getNode() to resolve Node based skins. 2004-01-14 16:59:33 +00:00
hns
6a1466b0bc - Rewrote remove() and removeNode(): removeNode() just releases the
child node, but *never* deletes it from the database. remove()
    actually deletes the node from the database and also releases it
    from its parent.
    This affects HopObject.remove() and HopObject.remove(HopObject),
    which use these methods. From now on, the only way to delete a
    HopObject from db is to use the remove() function without arguments.
    HopObject.remove(HopObject) should be used to
       - remove a child object from an embedded db collection without
         deleting it
       - removing a hopobject from a relational db collection with
         cachemode = aggressive if the collection does not belong to the
         child object's parent.
- Do not return on-demand nodes (groupby, accessname) in getProperty().
- Avoid creating loops in parent chain when creating cyclic references
    on transient objects before committing them to db
- Removed unused links vector and code
- Rename Enumerations because enum is a reserved word in Java 1.5
2004-01-14 16:58:38 +00:00
hns
237b785fa9 Remove unregisterNode() because it is doing silly things, like deleting
nodes when it shouldn't.
2004-01-14 16:52:54 +00:00
hns
5b9fe8fbfc Remove funny println() 2004-01-14 16:52:04 +00:00
hns
9e3d057aa8 Do not try to get JavaScript properties in jsFunction_get().
Renamed Enumeration because enum is a reserved word in Java 1.5
2004-01-14 16:35:27 +00:00
hns
a70cf2feaf Reformatting. 2004-01-14 16:34:03 +00:00
hns
68891eeb95 Fix typo in Javadoc 2004-01-14 16:30:38 +00:00
hns
8d9c6504b8 Throw EvaluatorException in hasFunction() when a prototype
contains a syntax error.
2004-01-13 17:19:16 +00:00
p3k
fab69599fe replaced tar.gz with tgz as suffix for tar'ed and gzipped files 2004-01-13 15:55:28 +00:00
p3k
142f2872ef updated antclick version number and reflect antville's new global image location 2004-01-13 15:52:43 +00:00
p3k
7391f5e26b sync'ed with current db schema 2004-01-06 17:39:48 +00:00
stefanp
a5170ccd5b catch any exception from rhino parser 2004-01-06 16:28:01 +00:00
stefanp
e8e2c7098a added function renderApi(appName) which can be used from commandline 2004-01-06 15:55:39 +00:00
stefanp
66e35b7704 supress security checks if accessed from commandline - setting via
res.data.noWeb
2004-01-06 15:51:12 +00:00
stefanp
98ad7be09b added function renderApi() which renders the whole application docs into
files. used via webinterface or commandline.

changed RegExp: rhino needs global setting as second param in constructor
2004-01-06 15:50:29 +00:00
stefanp
08d3a94429 moved the actual rendering part in render_action into functions.js 2004-01-06 15:47:22 +00:00
stefanp
6a9b9acc86 always store server instance in static server field 2004-01-05 18:39:25 +00:00
stefanp
a2c2fea280 rewrote the main method: now we first create an instance of Server (but
don't start it) and run the application and through that class. config arguments
are exactly the same as in the main Server class.

commandline arguments after the [appname.functionname] part are now
passed to the function call as arguments.

scripting exceptions from the application are caught and printed correctly.
2004-01-05 17:34:46 +00:00
stefanp
f19623564c print stacktrace when unable to load launcher.jar 2004-01-05 17:31:09 +00:00
stefanp
577938a1fa further refined server startup.
added checkAppManager(int port) to be able to create an app manager
without actually starting the server.
2004-01-05 17:15:44 +00:00
stefanp
f9618455ac removed test line, stupid me 2004-01-05 13:35:49 +00:00
stefanp
4e36815f61 fixed possible NullPointerException when called without homedir-setting
changed order in parseArgs()
2004-01-05 13:23:14 +00:00
stefanp
50be1bb115 added hasXX-methods 2004-01-05 13:20:11 +00:00
stefanp
c18761625b Mail.setReplyTo() wasn't activated for rhino usage 2003-12-23 12:39:10 +00:00
stefanp
ed6e4d1125 Overhauled server startup checks + initialization
Config can be used from Commandline.java to construct a server
that doesn't open any ports.
2003-12-19 17:55:30 +00:00
hns
b7a1f113b5 Do not prefetch children in zero-argument HopObject.list(). We leave
it to the app writer to use loadmode=aggressive.
2003-12-19 16:30:59 +00:00
hns
e57a939fa0 Make type handling case-insensitive, change default prototypes to first-letter-upper-case,
do some heavily needed refactoring around helma.scripting.rhino.HopObject and
helma.framework.core.TypeManager.
2003-12-18 17:34:13 +00:00
hns
3f284fa899 Rephrase javadoc class summary comment 2003-12-18 16:42:55 +00:00
hns
19975df982 Avoid deprecated version of ScriptableObject.setAttributes() 2003-12-18 09:51:29 +00:00
hns
e1e09c943c Remove unused field 2003-12-18 09:31:30 +00:00
hns
03dd0ca1dc Fix imports, Javadocs 2003-12-18 09:31:12 +00:00
hns
7880764599 Fix Javadocs 2003-12-18 09:29:06 +00:00
hns
27ba52be0e Fix URLs in Javadoc 2003-12-18 09:28:49 +00:00
hns
7cf471b69b Change JavaScriptException to EvaluatorException, fix Javadoc. 2003-12-18 09:28:23 +00:00
hns
026d6e1429 Fix object precedence in parent prototype registration: If an object
is already registered with a parent prototype's name, leave it as it is
and don't overwrite it since it has higher precedence than we have.
2003-12-16 13:14:07 +00:00
hns
144dee55cd logdir must not be null. Use "log" as default value. 2003-12-16 12:38:16 +00:00
hns
2c7bbc011c Minor comment fixes. 2003-12-15 17:16:43 +00:00
hns
c0076898b0 Added Helma Command line invoker contributed by Stefan Pollach 2003-12-15 17:08:06 +00:00
hns
a4ba238530 Code cleanup in helma.main package. Made most methods in Server non-static
for the sake of consistency.
2003-12-15 17:07:06 +00:00
hns
09d983bd29 Combine XMLRPC and EXTERNAL execution in RequestEvaluator.run() 2003-12-15 15:19:19 +00:00
hns
f2802894fa additionalTables fix from Juerg 2003-12-12 19:01:58 +00:00
hns
0b399703b2 User Server.getLogger() to get the Logger. 2003-12-12 11:37:05 +00:00
hns
fb7c48416d Always set helma.logdir when using helma logging, even when
logdir is set to console.
Disable checkRunning() because of connection timeout problems.
2003-12-12 11:36:26 +00:00
hns
01a7123cac Set application base uri to mountpoint in start() rather than in
bind() so it is set when onStart() function is executed.
2003-12-12 11:10:12 +00:00
hns
0e6eca74ee Check property name in getFromNode() 2003-12-10 13:33:20 +00:00
hns
90d5961546 Make the log writer thread a daemon thread 2003-12-09 17:04:49 +00:00
hns
f3a623cf95 * Adding invokeExternal() code from Stefan Pollach (should later be consolidated
by merging it with invokeXmlRpc() - the only difference is in the XML-RPC access check,
  so we shouldn't have to duplicate all code.)
* Make execution of global onStart() function synchronous in Application.start()
* Fix bug where user.onLogout() is called on a released RequestEvaluator
2003-12-09 16:47:44 +00:00
hns
ae1aa70fdf * If a script function returns an instance of org.mozilla.javascript.Wrapper
always unwrap it before processing/returning.
* If a script function returns null or undefined, return null even when
  invoke() was called in XML-RPC mode.
2003-12-09 16:34:05 +00:00
hns
b85b9f206b Catch UnknownHostException in checkRunning() gracefully. 2003-12-04 09:57:49 +00:00
hns
c833015c1b Do not set values to JavaScript undefined. Rather, treat these as deletes. 2003-12-03 15:19:17 +00:00
hns
b622dbd039 Add support for setting HELMA_USER and run helma with sudo -u $HELMA_USER 2003-12-03 14:52:29 +00:00
hns
0f77c3461b Do not issue a getNodeByKey() if we get a node by relation, just because it's not
a complex reference or create-one-demand relation! This was introduced because
we assumed that the calling code would know what it was doing, i.e. only call this for
objects contained in its subnode index, but as it seems to turn out it didn't, and this isn't
really necessary after all.
2003-12-03 11:58:36 +00:00
hns
2a8a21f822 Use Relation.createOnDemand() to find out if we should do a NodeManager.getNode[ByRelation]()
in Node.getProperty(). This was there in the old version of Node.getProperty() but was
kicked out in the recent rewrite, which caused NodeManager.getNode() to be called when it
shouldn't.
2003-12-03 11:56:04 +00:00
hns
9d6bd72355 Use getChildElement() rather than getSubnode() to get a child in HopObject.get() -
otherwise, child objects are always accessible via id, even if accessname is specified.
2003-12-03 11:33:56 +00:00
hns
04fd6b05fe Minor cleanup. 2003-12-03 10:52:17 +00:00
hns
f2938295ec Fix HopObject.list() which was broken after adding HopObject.list(start, length) yesterday.
(ScriptableObject.defineClass does not support method overloading)
2003-12-03 10:45:57 +00:00
hns
d155ee6b1a do checkNode() as first thing in HopObject.list() 2003-12-03 10:14:35 +00:00
hns
6b443f211c Fix bug where we forgot to check for NOT_FOUND in jsFunction_get() 2003-12-02 19:37:22 +00:00
hns
bd499db5ab Clean up old code 2003-12-02 17:45:28 +00:00
hns
076b4f7a60 Always mark prototype as updated if a zip files contains some part of it,
even if it's a skin file.
2003-12-02 17:44:53 +00:00
hns
caf5bd02af Prevent Nullpointer Exception in toString() 2003-12-02 17:43:17 +00:00
hns
277d20ac2e Fix bug <http://helma.org/bugs/show_bug.cgi?id=304>, skins in zip files not present in skin map. 2003-12-02 16:57:25 +00:00
hns
42e2552fbe Implement HopObject.list(start, length) as proposed by Tobi in
<http://helma.org/bugs/show_bug.cgi?id=303>. This is similar to
HopObject.list(), except the array it returns only contains the child
objects in the range specified by the start and length arguments.
This also does a prefetchChildren() on the specified range to optimize
database access.
2003-12-02 16:42:13 +00:00
hns
a48bec8be4 Cleaned up creation of SELECT statement for filter.additionalTables option. 2003-12-02 16:26:32 +00:00
hns
415a6cbb27 Adding dispose() as suggested by Jürg Lehni on helma-dev. 2003-12-02 15:58:37 +00:00
hns
6170e10a5a Try getting a child object by ID if it isn't found as property. This is due to the
change in helma.objectmodel.db.Node.getProperty() where child nodes are
only returned as properties if either accessName or groupby is specified.
http://helma.org/bugs/show_bug.cgi?id=315
2003-12-02 15:49:39 +00:00
hns
0e76a161a1 Only try to get child node as property if either accessName or groupby is specified.
This fixes http://helma.org/bugs/show_bug.cgi?id=315
2003-12-02 15:48:18 +00:00
hns
224085c159 Upgrade to Rhino snapshot from 2003/12/01 2003-12-02 15:18:28 +00:00
hns
1a090a7ad8 Increase version to 1.3.2-pre2 2003-12-01 15:27:00 +00:00
hns
3ca0424f38 Include scripts directory in package build,
update version to 1.3.2-pre2
2003-12-01 15:26:08 +00:00
hns
98386829cf Adding Linux start script from Andreas Bolka 2003-12-01 15:18:45 +00:00
hns
18922d4e37 Applied fix from Juerg Lehni for parents defined as COMPLEX_REFERENCE that
was posted on September 19 and somehow fell through the gutter.
2003-12-01 13:42:11 +00:00
hns
0c9ecfd10d Set application classloader on the Rhino context to our app classloader. 2003-12-01 13:28:20 +00:00
hns
275d882f92 Sorry Stefan, I was completely exhausted ;-) 2003-11-29 11:37:08 +00:00
hns
bbc63c289b add commons-logging.jar to classpath 2003-11-28 22:17:54 +00:00
hns
c4f51228fe make sure logdir is not null in getLogger() 2003-11-28 22:17:10 +00:00
hns
811410599a Checking in Commons Logging support from Daniel, plus a major rewrite
of the Helma logging framework.
2003-11-28 20:15:28 +00:00
hns
d8b1f178ad Various minor enhancements and cleanups:
* Implemented rootId property to set the id of the app's root object
* Do not call invokeFunction with a null argument array
* Implement toString() method
* Plus some more minor stuff
2003-11-28 18:27:35 +00:00
hns
874d9fcf97 Changed logging in CacheMap to be Logging framework independent
(just use the application's logEvent() method)
2003-11-28 18:08:06 +00:00
hns
1d73c147d0 Added HopObject constructor, improved variable naming in jsConstructor 2003-11-28 18:06:01 +00:00
hns
8da0efb7c0 Adding Jakarta Commons Logging 1.0.3 jar 2003-11-28 18:04:09 +00:00
hns
b1fc070efc Avoid unnecessary log messages. 2003-11-28 18:00:59 +00:00
hns
48ed72b6b4 * Make check for _prototype and _name column case insensitive when inserting relational objects
* Implemented feature to evict certain prototypes from cache when they are received via replication.
   To activate this, add the line
        _evictOnReplication = true
  to the type.property file
2003-11-28 13:53:43 +00:00
hns
d0c7012318 Slightly improved error message when DBSource could not be loaded
(include possibility that driver couldn't be loaded)
2003-11-28 13:09:05 +00:00
hns
a79dfbde18 Rename pushStringBuffer() and popStringBuffer() to push() and pop().
Keeping old versions for backwards-compatibility for the time being.
2003-11-26 13:45:30 +00:00
hns
5647d2bfdc Unwrap arguments to Java objects in addPart(). Also, if the part is a java.io.File,
set the part's file name if no explicit file name is given.
2003-11-26 11:57:56 +00:00
hns
6da249a73d Rethrow wrapped ConcurrencyExceptions. Also updated code to
rethrow wrapped TimeoutExceptions.
2003-11-26 11:38:36 +00:00
hns
846ff46e1e Add leading space in " WHERE " when composing select statements.
Fixes bug http://www.helma.org/bugs/show_bug.cgi?id=313
2003-11-21 16:13:19 +00:00
hns
babe14b16f Reverse sequence of <get-from-nodemgr> and <get-from-propmap> in
getProperty(). This may return old cached properties from the propmap when it
shouldn't, but it fixes the much worse bug where embedded-db-collections are
created from scratch again and again.
2003-11-21 10:59:10 +00:00
hns
76abbbdddc minor formatting fix 2003-11-21 10:56:27 +00:00
hns
88b2d41536 Remove code that was commented out and isn't coming back 2003-11-19 15:10:11 +00:00
hns
a8da2b48bd Re-add check if Relation is PRIMITIVE or REFERENCE when creating properties in createNode
(was removed yesterday, not sure it's really needed)
Remove code that was commented out and isn't coming back
2003-11-19 15:09:54 +00:00
hns
615c9c65d1 Set initial TypeInfo.lastUpdate to -1 so a Prototype with no files (lastUpdate == 0)
will be evaluated at least once. This fixes a bug with empty prototypes not having their
prototype set (i.e. get(), list(), href() etc were unavailable).
2003-11-19 14:43:22 +00:00
hns
37436236df Add an intermediate step when fetching properties from result sets in createNode() so that
we can be sure to use the proper DbMapping for column-to-property mappings (which may change
according to the object's prototype column)
This should fix bug 310. http://helma.org/bugs/show_bug.cgi?id=310
2003-11-18 17:39:22 +00:00
hns
c37d1670d5 Implement protected setName() method to set the property's name 2003-11-18 17:36:46 +00:00
hns
6453f53bd9 Always return our own DbColumns[]. This is needed in order to add/change mappings
in extended prototypes.
2003-11-18 17:36:13 +00:00
hns
b97ba99e22 Reworked Mail object contstuctor code:
* Do not set smtp host unless it is explicitely set in the properties
 * Set message encoding as defined in mail.charset property, defaults to ISO8859-15
 * Cache Mail session in Mail object prototype
 * Store app properties as Java fields in prototype rather than as JS property in constructor
2003-11-18 15:23:09 +00:00
hns
0ea547488b Use Session.getInstance() rather than Session.getDefaultInstance(). This creates a new Session for
each Mail() object, creating an additional overhead of ~10millis, but it picks up changes in the
properties files, fixing bug 308.
http://www.helma.org/bugs/show_bug.cgi?id=308
2003-11-18 12:29:41 +00:00
hns
7040da5438 Update to JavaMail 1.3.1 FCS 2003-11-18 10:32:14 +00:00
hns
10540b83e3 Remove unused imports 2003-11-14 13:40:01 +00:00
hns
e486bbb9b0 Added experimental res.forward() to forward a request to a local (static) resource.
The base resource must be mounted as <app>.protectedStatic in the apps.properties file.
Currently no Content-Type is set on the response.
2003-11-14 13:14:07 +00:00
hns
ea32bc9da4 Added experimental res.forward() to forward a request to a local (static) resource.
The base resource must be mounted as <app>.protectedStatic in the apps.properties file.
2003-11-14 13:13:20 +00:00
hns
0c6d25e038 Added two options for apps.properties for directory indices and index pages:
<app>.staticIndex = true
<app>.staticHome = index.html, default.htm
Default values are (false) for directory listings and "index.html, index.htm" for index pages.
2003-11-14 13:11:25 +00:00
hns
6f213b481c Implement query hints as suggested by bug 306
http://helma.org/bugs/show_bug.cgi?id=306
2003-11-12 12:47:19 +00:00
hns
ae56944420 Clean up Java-Object JS-constructor mess: get the right
constructor and invoke it instead of trying them all.
2003-11-10 16:30:24 +00:00
hns
49b08cc5a7 Update version date 2003-11-06 15:31:08 +00:00
hns
c57356a5cb Adapt function line number output to changes in HtmlEncoder which
adds line separators after the <br /> rather than before.
2003-11-06 15:09:36 +00:00
hns
0655b03c60 Simplify property access to only use node or nodeless methods, not both
Fix bug in getById() reported by Juerg Lehni
Throw EvaluatorException instead of JavaScript exception
Remove catched exception not anymore thrown by new rhino snapshot
2003-11-06 14:36:18 +00:00
hns
286d522f0d Adapt to new TokenStream constructor signature from rhino CVS snaphost.
Remove unused imports.
2003-11-06 14:33:21 +00:00
hns
e6cd999687 Remove unused import statements 2003-11-06 14:32:42 +00:00
hns
2d23806586 Update to rhino CVS snapshot from 2003/11/04 2003-11-06 14:31:40 +00:00
hns
2c44477ede Update to Jetty 4.2.14 2003-11-06 14:30:38 +00:00
hns
646ef8f495 Do not wrap primitive property values as objects when retrieving them - as objects
they are unusable for many purpuses, e.g. testing for equality via ==.
2003-11-06 12:00:28 +00:00
hns
16621735c6 Cleanup import statements. 2003-11-05 11:56:19 +00:00
hns
87aca52907 Make return values more "JavaScript compatible" (long->double, String[]-> Object)
to make them work with recent rhino snapshots.
2003-11-05 11:55:45 +00:00
hns
1e75ca9b90 Cleanup import statements 2003-11-05 11:52:22 +00:00
hns
3a61763cbc * Cleanup imports
* Disable ContentEncoding for compatibility with Jetty 4.2
2003-11-05 11:51:47 +00:00
hns
7b97a1314d By default use system class path in helma class loader, but allow for
-Dhelma.exludeSystemClasses=true switch to exclude it.
2003-11-05 11:50:48 +00:00
hns
b8914ce0fd Added separate constructor that allows for a parent class loader argument.
Use the standard parent class loader in the old (single argument) constructor.
2003-11-05 11:48:57 +00:00
hns
2b3b10e1e1 Remove leading underscore from JOIN_PREFIX since Oracle doesn't like it. 2003-10-29 15:38:16 +00:00
hns
45d32cc2da Added a comment that tries to make clear the difference between isVirtual() and isCollection() 2003-10-24 15:35:31 +00:00
hns
9e8f04aa4a Fix bug where collection properties on transient nodes are created over and over again.
Use Relation.isVirtual() rather than Relation.isCollection() to find out if a relation is a collection property.
2003-10-24 15:34:56 +00:00
hns
e8fcab410a Updated version string to 1.3.2-pre1 2003-10-24 12:20:58 +00:00
hns
39d8683b84 Use Relation's additionalTables option when building queries.
This activates the additionalTables feature contributed by Juerg Lehni.
2003-10-23 14:35:02 +00:00
hns
e45ef47dee Commit parsed filter feature contributed by Juerg Lehni. 2003-10-23 14:33:59 +00:00
hns
f08e350367 Renamed invoke methods to make their use clearer. Some minor code cleanup. 2003-10-23 12:53:43 +00:00
hns
c0830be336 DbMapping: Changed most fields visibility to private
DbMapping:   Change getPropertyRelation visibility to private, always use
             getSubnodeRelation from outside instead.
Node:        Rewrote getProperty(String) to be simpler and easier to understand.
             furthermore, getProperty(String) now also returns child objects (subnodes)
             making it unnecessary for calling code to also use getChildElement()
             or getSubnode()
Node:        Fixed NullPointerException in getElementName() for transient nodes
Node:        Use DbMapping.getSubnodeRelation() instead of DbMapping.getPropertyRelation()
NodeManager: Fixes in getNode() methods, which now invoke each other depending on
             key/query type
Relation:    Removed unused arguments from constructor
Relation:    Fixed NullPointerException in createOnDemand()
HopObject:   Do not use getChildElement() in jsFunction_get() (see change in
             Node.getProperty())
HopObject:   Handle case where jsFunction_get() and jsFunction_set() are called with
             non-strings that should be handled as string, e.g.
             org.mozilla.javascript.NativeString

cosmetic cleanup everywhere (imports, unneeded casts, unused fields etc.)
2003-10-23 12:00:35 +00:00
hns
ccf197aeac throw EvaluatorException instead of RuntimeException to prevent Rhino exception wrapping 2003-10-23 11:44:58 +00:00
hns
72e12535f6 Cosmetic cleanup: imports, unused code. 2003-10-23 11:44:36 +00:00
hns
0f5abe0028 throw EvaluatorException instead of RuntimeException to prevent Rhino exception wrapping,
change to new DatabaseObject constructor signature.
2003-10-23 11:44:13 +00:00
hns
010fef5ee4 Minor cosmetic fixes, changed constructor signature 2003-10-23 11:43:28 +00:00
hns
2efb42922d Fix import statements and javadoc comments 2003-10-23 11:04:37 +00:00
hns
dac8f7d54c Fix import statements 2003-10-22 16:53:40 +00:00
hns
33175a07c8 Remove unused import statements.
Changed TypeInfo variable name from "info" to "type"
2003-10-22 16:37:03 +00:00
hns
0ca20d5842 Remove unused import statements and updated some javadoc comments 2003-10-22 16:36:24 +00:00
hns
84416e8a43 Remove unused import statements and other unnecessary code 2003-10-22 16:34:06 +00:00
hns
60cbbba73b Remove unused import statements 2003-10-22 16:31:07 +00:00
hns
822307984b Performance improvement in HopObject.get() by trying child object first and property afterwards. 2003-10-15 16:55:29 +00:00
hns
3271f940cd * Make JavaScript HopObject.get() return generic Node properties in addition to child objects.
* Added checkNode method() to refresh node in case it has been invalidated.
2003-10-15 16:10:26 +00:00
hns
c1ddf495ca Implement HopObject.set() function compatible to Helma 1.2 2003-10-15 13:55:10 +00:00
hns
c9efe6d8ea Implement support for hrefFunction and hrefSkin postprocessing options, fixing bug 292
http://helma.org/bugs/show_bug.cgi?id=292
2003-10-15 13:22:04 +00:00
hns
8b8afac449 * Increase default uploadLimit for file upload to 4 MB 2003-10-14 09:48:54 +00:00
hns
710dd12e17 * Moved getSubHeader() method from FileUpload to MimePart and made it public static
* Check charset in MimePart.getText()
* Increase default uploadLimit in FileUpload to 4 MB
2003-10-14 09:48:30 +00:00
michi
c55a192d5d wrapper function Xml.getFromString(str) called Xml.get() instead of Xml.getFromString(str, null) 2003-10-13 17:43:16 +00:00
hns
fa4ce3ed6f Recognize application/text in getText() 2003-10-10 19:03:07 +00:00
hns
a4e558cb85 Implement support for Xml.get() and Xml.getFromString().
Added JavaDoc comments.
2003-10-10 18:55:30 +00:00
hns
36e0b31790 * Implement mechanism to register parent nodes with changed child nodes with the transactor.
When finishing the transaction, the transactor will call setLastSubnodeChange() on 
   the parent nodes. This is necessary because the lastSubnodeChange flag should only be 
   set after child node changes have been committed to the database. 
   (Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent 
   columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
2003-10-10 18:09:52 +00:00
hns
6f8c9b9837 * Implement mechanism to register parent nodes with changed child nodes with the transactor.
When finishing the transaction, the transactor will call setLastSubnodeChange() on 
the parent nodes. This is necessary because the lastSubnodeChange flag should only be set 
after child node changes have been committed to the database. 
(Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent 
columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
2003-10-10 18:09:51 +00:00
hns
507949310c * Implement mechanism to register parent nodes with changed child nodes with the transactor.
When finishing the transaction, the transactor will call setLastSubnodeChange() on 
the parent nodes. This is necessary because the lastSubnodeChange flag should only be 
set after child node changes have been committed to the database. 
(Fixes bug 285 http://helma.org/bugs/show_bug.cgi?id=285 )
* Changed the way select statements are built: Use tablename.* rather than * to prevent 
columns from additionalTables are fetched unnecessarily.
* Code cleanup everywhere, mostly in Transactor.java, Relation.java and NodeManager.java
2003-10-10 18:09:50 +00:00
hns
8774a52e44 Consider comma separated lists of IP addresses in addIPAddress() 2003-10-09 18:32:26 +00:00
hns
aa1e10691f Wrap HopObject array items before building JS Array in HopObject.list(). 2003-10-09 18:17:33 +00:00
hns
1b5cbfd822 Fix cache setter from setcache() to setCache() 2003-10-09 15:24:21 +00:00
hns
3a12fe94ef compile _as_string variants for legacy templates (.hsp) 2003-09-30 10:45:00 +00:00
hns
186f7d37d7 Implemented experimental formatParagraphs() method that uses p tags to format paragraphs 2003-09-19 16:12:48 +00:00
hns
253ca75822 Reworked formatting code
Implemented paragraph formatting
Fixed bug with newlines in pre tag
2003-09-19 16:12:01 +00:00
hns
2015aeef89 Fix bug in previous commit: Make children persistable before setting
collection/mountpoint to virtual, otherwise children will be lost.
2003-09-17 13:52:33 +00:00
hns
d1a7cd1463 Rewrote makePersistentCapable() as makePersistable() to properly handle
collections/mountpoints that do not need to be persisted themselves but
need their child nodes to be processed. This fixed bug 274 "Accessing collections of transient
nodes turns them permanently transient" http://helma.org/bugs/show_bug.cgi?id=274
2003-09-17 13:08:24 +00:00
hns
3a03afc09d Fix bug in needsPersistence() that didn't persist object references. 2003-09-17 13:04:30 +00:00
hns
a2dfb6a9b9 Only check for executable bin/java if JAVA_HOME is set, and if it isn't found,
don't exit but just issue a warning and let the script go on.
2003-09-16 15:30:53 +00:00
hns
e6959610db Fix for http://helma.org/bugs/show_bug.cgi?id=273
Be more precise about encoding newlines: Do not add any new linebreaks,
plus use the system specific line separator.
2003-09-16 13:11:59 +00:00
hns
4466c58864 Constraints-linkmode patch from Daniel Ruthardt
<http://grazia.helma.at/pipermail/helma-dev/2003-August/000272.html>
Changes to patch:
* Changed type.properties option name from "linkmode" to "logic"
* Added support for XOR
* Some internal code reorganization
2003-09-15 16:26:42 +00:00
hns
a73d52d184 Remove support for [named] but still consider it when parsing. 2003-09-15 16:20:56 +00:00
hns
71fae17bf4 Do not try to resort to child object when getting a property (experimental) 2003-09-15 14:42:23 +00:00
hns
512cea20ac Call hasFunction() on the prototype rather than on HopObjects themselves to avoid fetching
references or child objects from database.
2003-09-15 14:41:08 +00:00
hns
fad97efc60 * Always throw exception when there's an error in global code
* Reimplement hasFunction() on prototypes for HopObjects.
* rename putPrototype() to registerPrototype()
2003-09-15 14:40:07 +00:00
grob
7bdbcf1de8 updated to antville 1.1 database schema 2003-09-12 16:15:02 +00:00
hns
976db3a463 Added HopObject.getById() as proposed by Juerg Lehni
http://helma.org/bugs/show_bug.cgi?id=269
Added JavaDoc comments
2003-09-10 10:59:24 +00:00
hns
2b9cee82da Print out exception's toString() rather then just its class. 2003-09-09 11:23:15 +00:00
hns
5577263f66 * When there is a syntax error in any file associated with a prototype, always
throw an error and display a proper error message when on object of that type is
accessed.
*  RhinoEngine.hasFunction() now checks on the actual object (wrapper) and
thus is always right.
*  Unwrap WrappedException when caught in RhinoEngine.invoke()
*  Use helma.util.CacheMap instead of java.util.WeakHashMap for wrapper caching,
possibly fixing a GC problem
2003-09-05 19:53:07 +00:00
hns
6eb8cf9442 Try to use proper character encoding in multipart/form-data (file upload) requests. 2003-09-05 19:32:34 +00:00
hns
fb3196cfd5 Unwrap JS-native number and boolean objects in put() and return them as
they are in get().
2003-09-05 15:44:24 +00:00
hns
6d7a8eba66 Make sure the array returned by HopObject.list() has its prototype set properly. 2003-09-04 20:03:41 +00:00
hns
76a07955d3 Allow unprototyped JavaScript objects as macro handlers. 2003-09-03 10:05:21 +00:00
hns
e3dfc52191 Return a native JavaScript array in HopObject.list() rather than a wrapped Java array. 2003-09-02 16:55:24 +00:00
hns
75c7dff23b Fix bug in HopObject.remove() where we prematurely call unset().
The right thing *seems* to be to actually always call removeNode on the node's parent.
2003-09-02 16:08:05 +00:00
hns
262ba9d5e3 Remove debug message when removing function 2003-08-29 15:49:58 +00:00
hns
1857ff79c5 Increased version to 1.3.1 2003-08-28 12:17:53 +00:00
hns
8e4c36d83e Token definitions moved from org.mozilla.javascript.TokenStream to
org.mozilla.javascript.Token in the new Rhino CVS snapshot.
2003-08-27 15:55:36 +00:00
hns
31987ea058 Removing rhino.jar from lib/ext (it's in lib now). 2003-08-27 15:54:03 +00:00
hns
f9afc55c26 Adding rhino.jar to list of system classes, removing jdom.jar. 2003-08-27 15:53:15 +00:00
hns
e787d2f209 Removing jdom.jar. 2003-08-27 15:52:05 +00:00
hns
18684f94ec Adding Rhino CVS snapshot from 2003/08/27. 2003-08-27 15:50:03 +00:00
hns
2e315e21d9 Make HTTP response status default to 200. 2003-08-25 14:40:33 +00:00
hns
7436ee2237 * Changed Helma version to 1.3.1
* Made CVS tag of apps configurable with cvs.apps.tag option
2003-08-20 12:08:10 +00:00
hns
f5089a8c01 return wrapped.toString() in toString(). 2003-08-19 14:11:46 +00:00
hns
5c9df59014 Check if Server singleton exists before trying to get the list of extensions from it. 2003-08-18 14:50:18 +00:00
hns
c583133234 Catch all exceptions in stopAll() application loop to make sure all apps are stopped. 2003-08-18 12:24:56 +00:00
hns
a5feff74f6 Added "..." to shutdown stderr message. 2003-08-18 12:24:16 +00:00
hns
ebdf361ce5 Upgrade from Mckoi release 1.0.1 to 1.0.2 2003-08-18 11:55:34 +00:00
hns
a3995df1af Remove obsolete mysql driver. If people want to run Helma with MySQL,
they should get an up-to-date version from www.mysql.com.
2003-08-18 11:54:24 +00:00
hns
1a45d7e049 Changed getxxx() to getXxx() in bean getters and setters as rhino is able to
deal with this and create obj.xxx properties.
2003-08-18 11:53:01 +00:00
hns
303e0f4c55 Print out message in shutdown hook so people know everything's ok. 2003-08-18 11:51:10 +00:00
hns
3be7e4db54 Fix NullPointerException in writeln() introduced in previous commit. 2003-08-18 11:13:39 +00:00
hns
2014f13cfd Omit prefix and suffix when writing out default macro value as suggested in
http://www.helma.org/bugs/show_bug.cgi?id=267#c1
2003-08-18 10:29:34 +00:00
hns
7dc1bb8a2f setJavaPrimitiveWrap(false) in wrap factory and remove special handling for strings. 2003-08-18 10:28:45 +00:00
hns
adba53e86a Handle Undefined.instance and ScriptableObject.NOT_FOUND in ScriptingEngine.get().
Fix for bug 267: http://www.helma.org/bugs/show_bug.cgi?id=267
2003-08-18 10:27:55 +00:00
hns
331dc61787 Committed code improvements proposed by Jürg Lehni
http://grazia.helma.at/pipermail/helma-dev/2003-August/000330.html
2003-08-18 09:58:26 +00:00
hns
99a0c1ea84 Fixed a few bugs caused by bad argument checking, mostly
null that should have been Undefined.instance.
2003-08-08 14:23:12 +00:00
hns
cd10424299 Accept INode instead of HopObject as argument since HopObject now
implements org.mozilla.javascript.Wrapped and will be unwrapped when passed
outside the scripting engine.
2003-08-08 14:03:53 +00:00
hns
d8236fb3b5 Do not override wrapAsJavaObject() in WrapFactory since it is only called
after we already did our checks in wrap() or wrapNewObject().
2003-08-08 12:19:00 +00:00
hns
b25185451f Catch all Throwables when initializing extensions, improved logging output. 2003-08-07 16:32:08 +00:00
hns
bec04779ed ported from fesi to rhino. 2003-08-07 16:22:26 +00:00
hns
bfc1b8914d Remove Fesi scripting engine from Trunk 2003-08-07 16:11:31 +00:00
hns
d4b8b3c2af Removing FESI from Trunk 2003-08-07 16:05:11 +00:00
hns
817262b331 Removed regexp jars, not needed by Rhino. 2003-08-07 15:38:26 +00:00
hns
dbdf74b27b Set lastError instead of throwing Exceptions. 2003-08-07 15:00:48 +00:00
hns
dbd5d63853 Use TYPE_INT_ARGB instead of TYPE_INT_RGB when creating new BufferedImage
instances to allow for transparency (proposed by Jürg Lehni)
2003-08-07 13:05:03 +00:00
hns
be94b98311 New reduceColors(): try JIMI ColorReducer first, which preserves transparency, but
throws an exception for some images. If that fails, use the alternative color reduction code
from helma 1.2.
2003-08-07 13:04:05 +00:00
hns
17427e1e16 Implement getImage method to get to the java.awt.Image as suggested by Jürg Lehni. 2003-08-07 12:17:55 +00:00
hns
55b48fd484 Implemented session.login(HopObject) as proposed by Stefan Matthias Aust.
http://grazia.helma.at/pipermail/helma-dev/2003-July/000191.html
Added some JavaDoc comments.
2003-08-07 11:58:57 +00:00
hns
bebce2ad3d Make HopObject implement the Rhino Wrapper interface.
Replace NativeJavaObject with Wrapper when unwrapping wrapped Java objects.
2003-08-07 11:26:44 +00:00
hns
4b91011578 Implement invocation of scripted getChildElement(name) function when resolving
a request path also when objects implement IRequestPath interface.
The biggest change was induced by the need to have an object representing the
request path that is able to grow while the path is being resolved. Previously, this was done
by passing an ArrayList to the scripting engine that was then transformed into a JavaScript
array. This is now done using a proprietary RequestPath object.
2003-08-06 16:36:49 +00:00
hns
8c080a5da3 Implement getXmlDocument() and getHtmlDocument() 2003-08-06 16:28:01 +00:00
hns
2e9be2b71e Unset propRelation if group/accessname isn't used anymore. 2003-08-05 18:43:10 +00:00
hns
092cb230c0 Allow upper case characters in app names by interpreting the property value as
app name in apps.properties, if it is defined.
2003-08-05 15:54:29 +00:00
hns
e8a45cb3b4 Added getGraphics method as proposed by Jürg Lehni.
http://grazia.helma.at/pipermail/helma-dev/2003-July/000237.html
Added basic JavaDoc comments.
2003-07-31 14:58:34 +00:00
hns
47f548afa4 Fix indentation 2003-07-31 14:28:27 +00:00
hns
4b594414ed Changed constructor/init method for GlobalObject
Use a GlobalObject for the per-thread scope in RhinoEngine
Modified getDBConnection() to wrap its return value
Some minor changes
Added JavaDoc comments to GlobalObject
2003-07-31 12:33:54 +00:00
hns
84e4c9361d Use initial capacity of 4 for empty macro parameter maps to allow some room
for macro-added parameters.
2003-07-30 17:16:04 +00:00
hns
08b50f7c59 Use WrappedMap copyOnWrite feature to do lazy copying of parameter map only
when it is actually modified by the macro.
2003-07-30 17:06:04 +00:00
hns
4a72e955ac Implement copy-on-write of the wrapped map. 2003-07-30 17:00:52 +00:00
hns
fad3f06b5c Introduce helma.util.WrappedMap, fixing bug 258.
http://helma.org/bugs/show_bug.cgi?id=258
2003-07-29 16:13:09 +00:00
hns
a85de95c0b Fix bug 262
http://helma.org/bugs/show_bug.cgi?id=262
2003-07-29 14:03:26 +00:00
hns
f0d4c51ef6 Patch from Stefan Matthias Aust:
Change arguments to format() and friends from String to Object in
order to be better able to handle null and undefined.
2003-07-29 12:39:01 +00:00
hns
4485040fb3 Add strangely missing semicolon. 2003-07-28 15:56:33 +00:00
hns
1e16d82ba9 Build prototype-name to path objects mapping in path object from res.handlers rather than
finding out ourselves.
2003-07-28 15:18:51 +00:00
hns
294dc989dd Fix object by prototype-name mappings in res.handlers to have different priorities
for direct and indirect prototypes. Direct prototypes always overrule indirect ones.
2003-07-28 15:16:38 +00:00
hns
5045727f11 Checking in patch from Stefan Matthias Aust for including getName() function in File object 2003-07-28 09:56:39 +00:00
hns
e55c0e05c2 Checking in patch from Stefan Matthias Aust for default value support in getProperty(). 2003-07-28 09:56:10 +00:00
hns
5e8b1aebad Add null check when creating Hashtable for XML-RPC struct. 2003-07-23 13:11:19 +00:00
hns
83378773e9 Patch from Andreas Bolka to use appHome and dbHome properties 2003-07-23 09:19:58 +00:00
hns
260cca8971 Implemented removing of compiled functions that no longer exist as
proposed by Stefan Matthias Aust. General refactoring of the class.
2003-07-16 13:25:43 +00:00
hns
28c6810fb0 Fix delete() to call super.delete() and handling of subnodeRelation property
to call the subnodeRelation methods on the wrapped node.
2003-07-15 16:17:10 +00:00
hns
b6fb19c935 The fix for http://helma.org/bugs/show_bug.cgi?id=251 in Rev. 1.104 was
actually a bit too simplistic. We do have to check the element name for
non-relational objects after all. But all that was needed was to do it right,
i.e. to check if parent.contains(this) before setting this to anonymous.
2003-07-14 14:38:16 +00:00
hns
4cc4742d6c Implement basic tracer support. App properties to activate:
rhino.optlevel = -1
rhino.trace = true
2003-07-11 12:55:52 +00:00
hns
ebcdef2622 Implement toString() to display the wrapped Map. 2003-07-11 12:52:08 +00:00
hns
e9954c5898 Use proper subnode relation in getPropertyNames(). 2003-07-11 09:46:27 +00:00
hns
2790dde1b4 Improved code that gets the Helma home directory from the launcher.jar URL. 2003-07-09 15:23:30 +00:00
hns
b8dea83bce Patch by Stefan Matthias Aust:
Handle case where Helma classes are not packed in jar file.
2003-07-09 15:15:28 +00:00
hns
672153dbfe Include node state in serialization and refuse to read earlier serialization versions. 2003-07-08 16:15:02 +00:00
hns
4c94cba091 Fix bug 256: Replicated Mountpoint has null NodeManager. 2003-07-08 15:47:12 +00:00
hns
2f39d4f908 Checked in patch from Stefan Matthias Aust:
* Don't call static methods as instance methods
* Remove unused imports
* Remove variables that are never read
2003-07-08 13:52:36 +00:00
hns
cc29ebbaf4 Changed argument order in constructor. 2003-07-07 15:19:31 +00:00
hns
0a0f32e4ee Use Jetty's InetAddrPort class to encapsulate a ip address and port number to
allow Helma server ports to be opened on specific interfaces rather than all
local addresses.
2003-07-07 15:18:31 +00:00
hns
663dae7289 Serialize ID and name as Object rather than UTF to avoid NullPointerException
on mountpoints.
2003-07-07 12:45:11 +00:00
hns
8f53076707 Do not frivolously use Exceptions in place of basic null checks
as proposed by Stefan Matthias Aust on the mailing list.
2003-07-04 13:43:18 +00:00
hns
77f84e9162 http://helma.org/bugs/show_bug.cgi?id=254
- Check listener for null before trying to use it in order to get a better error message
- Print out proper number of exchanged objects when logging replication
- Print stack trace if debug is set to true
2003-07-04 11:37:51 +00:00
hns
1f860b5fbf Fixed stupid bug in typename variable assignment in constructor. 2003-07-04 11:33:08 +00:00
hns
6236eba83e Implement readObject() and writeObject() on some key classes to
make sure storageNames are properly internalized.
2003-07-03 13:42:41 +00:00
hns
c08395ae39 Fixed multiple bugs related to the embedded database:
* Do not test ElementName for objects from embedded db
* Do set DbMapping for embedded db collection nodes
* Do not fetch embedded db objects onDemand by NodeManager

http://helma.org/bugs/show_bug.cgi?id=251
2003-07-03 11:12:57 +00:00
hns
c48346b4bb XML-encode HopObject name to prevent illegal XML to be produced. 2003-07-03 09:19:00 +00:00
hns
19d1f286e9 Properly wrap internal __node__ property. 2003-07-02 16:18:13 +00:00
hns
6dcb82dc2f Updated to Rhino CVS snapshot from July 1, plus Igor's patch from
http://bugzilla.mozilla.org/show_bug.cgi?id=210605
2003-07-02 14:54:52 +00:00
hns
69971e8756 Filter out Undefined.instance from skin parameters. 2003-07-02 10:32:31 +00:00
hns
7476233449 Added test if final java command exists and is executable and print
a decent error message if not.
2003-07-01 16:13:41 +00:00
hns
3d3b839395 Solve the problem that integers are printed as floats as far as skin parameters and
macro return values are concerned.
2003-07-01 15:10:04 +00:00
hns
bc1b067cf0 Make RedirectException subclass java.lang.Error so app code knows it shouldn't catch it. 2003-07-01 14:47:56 +00:00
hns
9ff623ac77 Do not include system class loader to avoid conflicts with jars in classpath. 2003-06-27 10:31:42 +00:00
hns
e2f6ff11a1 remove whitespace from version 2003-06-26 17:01:04 +00:00
hns
84d5d76fb8 Updated version to 1.3.0 alpha 2003-06-26 16:54:21 +00:00
hns
9c2b288330 Update version string to 1.3.0 alpha 2003-06-26 16:53:11 +00:00
hns
942bbfa1fe Do not print stack trace on print errors. 2003-06-26 16:52:26 +00:00
hns
084b0e8e6c Implement phantom engine classloader trick for rhino 2003-06-26 16:52:05 +00:00
hns
a70ace86bd Implement global write() and writeln() 2003-06-26 16:51:18 +00:00
hns
fd2882e21d Merged changes from helma_1_2 (between helma_1_2_5 and helma_1_2_5_merge_1) 2003-06-26 14:10:04 +00:00
hns
61b8a4a35a Adapt to new signature of Application.getSkin(). 2003-06-25 15:50:00 +00:00
hns
30e218b99e Checking in SkinKey class for per-request skin caching. 2003-06-25 15:49:06 +00:00
hns
2623c03f62 Added native implementation for String.trim(), Date.format() and Number.format(). 2003-06-25 15:47:13 +00:00
hns
1a9f3a1e21 Changed dependsOn() argument to String to force coercion to string.
This will probably break FESI, but is required by Rhino (e.g. for NativeDate).
2003-06-25 15:19:52 +00:00
hns
9a05228c4c Refactored and simplified renderSkin* methods. 2003-06-25 15:15:02 +00:00
hns
5618ac1b4e Internally replace '.' with '_' in action names. 2003-06-25 15:14:24 +00:00
hns
b98f8b6751 Internally replace '.' with '_' in action names.
Implement proxy method for Application.getSkin() that takes care of per-request caching.
2003-06-25 15:13:46 +00:00
hns
146d9d9285 Changed skin cache methods to take any object as key. 2003-06-25 15:12:20 +00:00
hns
89e9e1d32f Changed signature of getSkin to take a prototype name instead of a path element parameter. 2003-06-25 15:11:02 +00:00
hns
ffc8956b8a Added setText() method and lots of JavaDoc comments. 2003-06-25 12:14:36 +00:00
hns
7f213bf43a Make res.skinpath work. 2003-06-25 11:56:11 +00:00
hns
9e5ab59493 Do not create a constructor for HopObject - this is done by defineClass(). 2003-06-25 10:46:37 +00:00
hns
352f9c7fec Follow Rhino conventions for JavaScript constructor naming. 2003-06-25 10:46:14 +00:00
stefanp
d42fa49170 modified to work with type-definition by strings and not by constants 2003-06-24 14:43:40 +00:00
stefanp
203e409bc6 fixed chopDelimiters() again 2003-06-24 14:42:59 +00:00
stefanp
84ae9050f7 chopDelimiters() fixed to chop beginning as well as ending from the same line 2003-06-24 14:31:38 +00:00
hns
1d5e54c134 Remove unused prototypeField variable. 2003-06-24 14:11:05 +00:00
hns
284121edeb Removed reference to FESI package. 2003-06-24 14:07:33 +00:00
hns
7db0c07fe2 Make classMapping case sensitive, add method for prototype to java class name lookup.
Add simple constructor taking just a name argument.
2003-06-24 14:06:53 +00:00
hns
51ef5f0ff3 Added feature to switch case sensitivity on and off. 2003-06-24 14:05:12 +00:00
hns
33ea2b629a Removed import for helma.scripting.fesi package 2003-06-24 14:03:21 +00:00
hns
052b847c7a Lots of fixes and cleanup. 2003-06-24 14:02:35 +00:00
hns
4236304e84 Moved extensions to separate directory. 2003-06-24 14:00:55 +00:00
stefanp
fcbfb8ace9 listTags() filters with string and no longer with int 2003-06-24 11:20:40 +00:00
stefanp
4651579309 rewrote class to make custom tag types possible
kind is now type and is no longer int but a string. features whatever comes
after the @-sign in the tag
2003-06-24 11:20:18 +00:00
stefanp
f99141a97b use Util.chopComment() instead of doing it here.
solved constructor problem for TokenStream - we need jra from
rhinoLatest or from cvs
2003-06-24 11:18:54 +00:00
stefanp
0af3973929 added static chopComment() which chops everything after a closing comment tag 2003-06-24 11:17:57 +00:00
hns
b40e39c98c Use constructor for TokenStream (adding additional null argument). 2003-06-24 08:31:14 +00:00
hns
ec1aed6650 Override wrapAsJavaObject in wrapper factory to check for IPathElement objects. 2003-06-23 15:58:25 +00:00
hns
3c1c5b47b8 Implemented stopping of running threads. kicked out some dead code. 2003-06-23 15:54:34 +00:00
stefanp
71ac4541ae make the introspector work with rhino 2003-06-23 15:39:18 +00:00
hns
b67b75c3b4 handle org.mozilla.rhino.NativeString as string in HopObject.put(). 2003-06-23 15:21:39 +00:00
stefanp
710631429e replaced tryEval with try/catch 2003-06-23 15:03:34 +00:00
stefanp
6109f475f0 kicked out FESI parser and implemented parsing with rhino dependency.
all token-handling/file-parsing moved to DocFunction.java, all raw file
handling to Util
2003-06-23 14:49:49 +00:00
hns
0667d9d091 Check for null when converting arguments in invoke(). 2003-06-23 14:17:38 +00:00
hns
6ecee221e7 Be more careful about entering and exiting contexts. 2003-06-23 14:12:42 +00:00
hns
3443179755 Use native JavaScript array when converting a XML-RPC Array. 2003-06-23 14:12:05 +00:00
hns
358d59fc40 Use a helma.util.SystemMap for app.modules so it is wrapped by the scripting engine
as native object.
2003-06-20 14:42:49 +00:00
hns
6f2647712d Do not throw exceptions, instead return an object with either a result or an error property. 2003-06-20 14:42:08 +00:00
hns
2f5c368124 Added Remote (XML-RPC client) object.
Fixes in XML-RPC argument encoding.
2003-06-18 16:11:02 +00:00
hns
a758a479d7 Return string representation if hint is null in getDefaultValue. 2003-06-18 16:09:37 +00:00
hns
5a519db3c6 Implement basic encoding/decoding of incoming XML-RPC calls. 2003-06-18 15:00:11 +00:00
hns
74a3137577 Implement getDefaultValue(String.class) for MapWrapper. 2003-06-18 14:59:34 +00:00
hns
aff761a1ec do a Context.toObject() on the result of getURL(). 2003-06-18 14:59:07 +00:00
hns
6939b8cb26 Updated version string to 1.3-alpha-0 2003-06-17 14:47:03 +00:00
hns
2558a118a9 Invoke scripted constructor function. 2003-06-17 14:44:59 +00:00
hns
85a6afe857 * We now have our own version of FunctionObject.addAsConstructor() to install
HopObject constructors, because we do not want the prototype.constructor property
   to be set. Otherwise, scripted constructor functions are shadowed.
* Fix typo in getElementWrapper().
2003-06-17 14:44:39 +00:00
hns
9581df2ac4 Checking in the MailExtension. 2003-06-17 13:15:30 +00:00
hns
2be8b10e8c Change argument type for write/writeln/debug methods from Object to String
so that toString() is performed by the script runtime. (FESI wasn't able to do this,
but Rhino is.)
2003-06-17 12:23:48 +00:00
hns
5431daadcf Changed default scripting engine to helma.scripting.rhino.RhinoEngine. 2003-06-16 19:48:35 +00:00
hns
5f46bdf3a2 * replaced helma.util.CacheMap with java.util.WeakHashMap for wrapper caching
* do wrapper caching for IPathElement (java object) wrappers
* only wrap instances of helma.util.SystemMap with MapWrappers
* do not wrap Strings.
2003-06-16 18:56:53 +00:00
hns
3691b6d977 Return string values unwrapped. 2003-06-16 18:54:49 +00:00
hns
dd59d7e911 * Added implementation for Node.clearCache().
* fixed setting of HopObject properties.
2003-06-16 18:54:31 +00:00
hns
44a1235803 Added helma.util.SystemMap class as a HashMap that is used
internally by Helma and is wrapped as a native JavaScript object.
2003-06-16 18:53:33 +00:00
hns
8aa7c6bf33 Renamed getSkinfiles(path) to getSkinfilesInPath(path) because Rhino's
Java Bean setter/getter mechanism got confused for app.skinfiles.
2003-06-13 15:46:41 +00:00
hns
2a5c4a7c8f Implement index based put, get, has and delete that always handle the index to a string. 2003-06-13 15:43:15 +00:00
hns
84eac337cf Do not needlessly convert scriptable to string in put(). 2003-06-13 15:42:10 +00:00
hns
4d419c3a46 Implemented global getURL() function 2003-06-13 15:41:26 +00:00
hns
02f8ad1e3e Switch from WrapHandler to WrapFactory. 2003-06-13 15:40:52 +00:00
hns
6157bb0943 Checking in Image extension. 2003-06-13 10:02:04 +00:00
hns
a31f2cee77 Checking in FTP client extension. 2003-06-13 09:06:04 +00:00
hns
760e361b3f add getDBConnection(). 2003-06-12 16:09:27 +00:00
hns
1515cc96af Add definition of File object (FESI compatible).
Minor fix for line numbers in debug output.
2003-06-12 16:09:11 +00:00
hns
0c2ac1d781 Checking in first implementations of Database and File objects. 2003-06-12 16:08:01 +00:00
hns
67f38dceb8 Unwrap native java objects gotten as properties. 2003-06-10 15:41:57 +00:00
hns
534bba3d69 Various fixes and advancements in JavaObject and GlobalObject. 2003-06-10 15:36:01 +00:00
hns
1ea945f82a Added code for Rhino scripting engine. 2003-06-10 13:41:11 +00:00
hns
78411bea50 Added Rhino jar from 21.05.2003 snapshot (rhino1_5R5pre) 2003-06-10 13:39:41 +00:00
hns
575f00ac83 * Include all jar files from the main lib/ext directory
* Update Helma build version to 1.3-alpha-0
2003-06-10 13:37:51 +00:00
hns
676b70519d Merging changes from 1.2.4 to 1.2.5 2003-06-10 13:20:45 +00:00
hns
65e4db3d8a Merge from helma_1_2, updating to Mckoi 1.0.1 2003-06-10 13:19:12 +00:00
hns
350ce98d93 Merge changes between 1.2.4 and 1.2.4b 2003-04-17 10:34:15 +00:00
hns
66663c8b20 Merge from helma_1_2_4 2003-04-16 16:28:04 +00:00
hns
df40e73b63 Test merge from helma_1_2_4 to check for keyword expansion problems 2003-04-16 16:21:18 +00:00
hns
23c6c02b5c Use password input field for password in manage/makekey 2003-04-16 14:21:21 +00:00
p3k
e646f24715 removed all database files to start from scratch 2003-04-10 09:41:16 +00:00
p3k
09b98dabec test 2003-04-10 09:39:05 +00:00
p3k
8287705a2c replaced 1.3 version committed to HEAD by accident with previous version 1.2 2003-04-09 07:08:51 +00:00
p3k
cee30e4833 added TEXT_ALIAS column to table AV_TEXT 2003-04-08 22:34:16 +00:00
hns
c25ffcf69d Merging changes from helma_1_2_3 2003-03-07 16:49:18 +00:00
hns
ed15173b8c Merged in changes from helma_1_2 branch 2003-02-26 12:41:54 +00:00
grob
9d73c836ed - added target "antville" to create the antville-distribution (app only)
- changed target antclick (added zipping db_support directory)
2003-02-23 15:41:13 +00:00
stefanp
9fdcecd9ff user.onLogout() is passed the id of the session that is actually logged out
as a parameter.
2003-01-22 09:23:17 +00:00
stefanp
c3e422c8ec updated to latest changes 2002-12-04 10:07:35 +00:00
stefanp
6b534edeab - included link to manage console (but not if pages are rendered to static html)
- nicer feedback after rendering
2002-12-04 09:36:21 +00:00
stefanp
862cdef847 fixed problem with type.properties pointing to non-existing prototypes 2002-12-04 09:35:34 +00:00
stefanp
d5add243c7 render_action: fixed problem with regex parsing of links with anchors 2002-12-04 09:35:09 +00:00
stefanp
544c791ddc - moved key-generation from a global function to root/makekey.hac
- added a nice feedback skin
2002-12-04 09:21:40 +00:00
stefanp
1f9846f157 two formatting fixes 2002-12-02 12:23:19 +00:00
stefanp
428b1ab1ef type.properties are now parsed, mappings to other prototypes are linked 2002-12-02 12:19:36 +00:00
stefanp
c52925d414 added getApplication () 2002-12-02 12:18:59 +00:00
stefanp
e34e5a0ee3 added getPrototype (string) 2002-12-02 12:18:15 +00:00
stefanp
4505fb1ffc - click on showApi-button calls docapplication/read_action to re-read the
application each time a user enters the doc-frameset.
- function docfiles aren't stored in their own directory each but moved up to the
prototype directory, further regex-parsing of the resuting html-code necessary
2002-11-22 14:32:46 +00:00
stefanp
c709dd4c59 server password is now encoded as one single entry in server.properties
(adminAccess instead of adminUsername+adminPassword)
2002-11-22 14:31:28 +00:00
stefanp
917502ba56 use higher request timeout because rendering the apidocs
might take more than one minute on a slow computer
2002-11-22 14:29:28 +00:00
stefanp
7bd5803a33 simplified editing of server authentication.
as changes to server.properties are now immediately read and accessible
from the manage-application we just have a md5-encoding utility and leave
it to the admin to add the values to the server.properties file. this makes
sure that nothing can be changed via the web.

changes to allowadmin are effective immediately too.
2002-11-22 11:58:37 +00:00
stefanp
cd8ebdd41b re-added access check to actions 2002-11-22 11:55:42 +00:00
stefanp
604ab4f8ba lots of formatting fixes,
added functionindex to docapplication
2002-11-22 11:39:11 +00:00
stefanp
7633e98eea major overhaul of the manage app's api-documentation functions.
things can now be rendered to static html, new helma features are
supported (prototype extension), everyhting is done in a nice and
clean way with skins.
2002-11-21 18:36:03 +00:00
p3k
76bbe4053b replaced "prefix" and "suffix" parameters in global formatProperties() function and corresponding skins by "itemprefix" and "itemsuffix" due to incorrect HTML output. 2002-10-26 11:07:50 +00:00
p3k
1d1da15b10 made some decent rearrangements 2002-10-04 15:43:37 +00:00
stefanp
0e1ea8b8c0 show loaded extensions 2002-09-24 09:04:19 +00:00
p3k
5e1913d98b sort works again, uncommented line 116 2002-09-24 08:56:04 +00:00
stefanp
d3837363e9 added blank onRequest() 2002-09-23 12:22:13 +00:00
stefanp
38ec696cf2 temporary fix to have a working list of apps 2002-09-23 12:21:47 +00:00
hns
ad6e93aa38 Do not set baseUri, since this is not necessary with the embedded web server
anymore.
2002-07-16 15:06:01 +00:00
hns
1b3d6adc79 Show message when client IP address is not allowed instead of
going stealth mode.
2002-07-16 14:45:34 +00:00
p3k
2b491ebe39 renamed app property "description" to "_description" to indicate internal status 2002-07-11 15:35:15 +00:00
p3k
c3b41519bf moved format functions from macros.js to functions.js (where they belong to, imho) 2002-06-25 14:04:29 +00:00
p3k
601f2d6885 added valign="top" to <td> tags in macro call for this.properties 2002-06-25 14:03:05 +00:00
stefanp
2daf832db0 made the "create username/password"-part work with the newer snapshots. 2002-06-20 17:21:21 +00:00
stefanp
32663df930 spacing-fix 2002-06-20 17:20:53 +00:00
stefanp
baad4c0ef4 made line numbers work again (bug due to xhtml-switch) 2002-06-20 17:20:38 +00:00
hns
32d2230ef5 Updated code to new session/app/req/res object layout. 2002-05-31 14:14:37 +00:00
stefanp
0e9738e95d updated to fit the last changes 2002-04-24 16:04:29 +00:00
p3k
52822f59e3 moved description from text file description.txt to property "description" in app.properties 2002-04-23 11:46:23 +00:00
stefanp
0524f54a47 failure to catch an empty enumeration from javascript caused a bug when
an application had no app.properties. workaround: check against new
method SystemProperties.size().
2002-04-18 09:37:55 +00:00
stefanp
a48d2fefc9 make app work again with new way of retrieving a custom root object (helma.main.Server, that is) 2002-04-08 08:49:41 +00:00
stefanp
8f6503ae6b changed instructions 2002-03-26 19:00:25 +00:00
stefanp
0dbab772a6 saving of username and password now works through appending and not by saving the whole properties list. 2002-03-26 19:00:03 +00:00
stefanp
660ea666d9 makekey now uses createAuth() and shows a nice form. 2002-03-26 16:11:18 +00:00
stefanp
ddd6149251 added createAuth()
if no username/password are set and request comes from localhost checkAuth() now goes into createAuth() to let user enter uname/passwd combination.
2002-03-26 16:10:28 +00:00
stefanp
2a25fd3054 very basic skin 2002-03-26 16:08:03 +00:00
stefanp
9e8d43a015 html-form to set adminUsername and adminPassword 2002-03-26 16:07:48 +00:00
stefanp
41fdae647f added style-class formEl 2002-03-26 16:04:45 +00:00
stefanp
fb264c63e5 replaced javascript-md5-library with method in helma.util.MD5Encoder 2002-03-26 12:47:49 +00:00
stefanp
7d607250b6 added link to helma.org, aehm 2002-03-25 18:50:29 +00:00
stefanp
078769bb43 no message 2002-03-25 18:37:19 +00:00
stefanp
bf86d54c67 removed obsolete functions: calling href() on Java objects does indeed work. The problem
was that getParentElement() method in Application always returned
null (due to a very hard to find bug in helma.main.Server).
2002-03-25 18:36:56 +00:00
stefanp
891b5056c8 no message 2002-03-25 17:58:45 +00:00
stefanp
15221babdc typo 2002-03-25 17:58:28 +00:00
stefanp
fd73f252a0 bugfixed and improved calculation of 5-minute request count 2002-03-25 17:58:19 +00:00
stefanp
eb6f593913 obsolete after switch to helma embedded md5-function 2002-03-25 17:57:38 +00:00
stefanp
6374ce94fc improved addressFilter, switched to helma embedded md5-function 2002-03-25 17:56:26 +00:00
stefanp
cc36746efb changed typo 2002-03-25 17:55:25 +00:00
hns
c8be51599b Calling href() on Java objects does indeed work. The problem
was that getParentElement() method in Application always returned
null (due to a very hard to find bug in helma.main.Server).
2002-03-19 19:33:49 +00:00
hns
b46c2f1f4f The duplicate clearAppCache() method in Application() isn't necessary
anymore because a JavaScript prototype without all the HopObject
crap is used for scripting Java objects now. Calling clearCache()
will reach through to the Java method.
2002-03-19 19:32:41 +00:00
stefanp
3c21f1a7d2 ouch 2002-03-11 15:03:09 +00:00
stefanp
69f391d2d6 modified header in apidocs 2002-03-11 14:46:30 +00:00
stefanp
4a7616d5a0 This commit was generated by cvs2svn to compensate for changes in r2155,
which included commits to RCS files with non-trunk default branches.
2002-03-11 13:49:50 +00:00
1026 changed files with 157735 additions and 69448 deletions

16
.editorconfig Normal file
View file

@ -0,0 +1,16 @@
# EditorConfig is awesome: https://EditorConfig.org
root = true
[*]
end_of_line = lf
indent_size = 2
indent_style = spaces
insert_final_newline = true
trim_trailing_whitespace = true
[*.java]
indent_size = 4
[*.md]
trim_trailing_whitespace = false

15
.eslintrc Normal file
View file

@ -0,0 +1,15 @@
{
"extends": "eslint:recommended",
"env": {
"es6": true,
"commonjs": true
},
"globals": {
"app": "readonly",
"HopObject": "readonly",
"java": "readonly",
"Packages": "readonly",
"req": "readonly",
"res": "readonly"
}
}

42
.github/actions/ssh/action.yml vendored Normal file
View file

@ -0,0 +1,42 @@
name: SSH setup
description: Set up the SSH agent
inputs:
config:
description: The SSH configuration
required: true
key:
description: The private SSH key
required: true
known-hosts:
description: The list of known hosts
required: true
runs:
using: composite
steps:
- name: Configure SSH
shell: sh
env:
CONFIG: ${{ inputs.config }}
KNOWN_HOSTS: ${{ inputs.known-hosts }}
run: |
mkdir -p ~/.ssh
echo "${CONFIG}" > ~/.ssh/config
echo "${KNOWN_HOSTS}" > ~/.ssh/known_hosts
- name: Start SSH agent
shell: bash
env:
SOCKET: /tmp/ssh-agent.sock
run: |
echo "SSH_AUTH_SOCK=${SOCKET}" >> $GITHUB_ENV
ssh-agent -a ${SOCKET} > /dev/null
- name: Add SSH key
shell: bash
env:
KEY: ${{ inputs.key }}
run: |
ssh-add - <<< "${KEY}"

22
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,22 @@
name: Build
on:
push:
paths:
- .github/workflows/build.yml
- build.gradle
- settings.gradle
- src/**
- launcher/build.gradle
- launcher/src/**
workflow_dispatch:
jobs:
build:
runs-on: antville
steps:
- uses: actions/checkout@v4
- name: Compile with Gradle
run: ./gradlew :compileJava

15
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,15 @@
name: Deploy (Production)
on: workflow_dispatch
jobs:
deploy:
runs-on: antville
environment:
name: antville.org
url: https://antville.org
steps:
- name: Copy files to production server
run: ssh staging-server deploy-helma

59
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,59 @@
name: Release
on:
workflow_dispatch:
push:
tags: '2*'
permissions:
contents: write
jobs:
release:
runs-on: antville
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
LC_TIME: en_US.UTF-8
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create release notes
id: create_release_notes
run: |
release_notes=$(npx git-cliff@latest --latest)
# Write the release notes as a heredoc to the workflow output
# ⚠️ No white space around `<<` is crucial!
echo "release_notes<<.eot0x03" >> $GITHUB_OUTPUT
echo "$release_notes" >> $GITHUB_OUTPUT
echo ".eot0x03" >> $GITHUB_OUTPUT
- name: Build with Gradle
run: ./gradlew assembleDist
- name: Create release
uses: actions/forgejo-release@v2
with:
direction: upload
url: https://code.host.antville.org
token: ${{ github.token }}
title: Helma ${{ github.ref_name }}
release-dir: build/distributions
release-notes: ${{ steps.create_release_notes.outputs.release_notes }}
verbose: true
- name: Create release at GitHub
run: |
gh release create "$GITHUB_REF_NAME" \
--repo "$GITHUB_REPOSITORY" \
--title "Helma ${{ github.ref_name }}" \
--notes "${{ steps.create_release_notes.outputs.release_notes }}"
- name: Upload release assets to GitHub
run: |
gh release upload "$GITHUB_REF_NAME" build/distributions/helma-*.* \
--repo "$GITHUB_REPOSITORY" \
--clobber

44
.github/workflows/renovate.yml vendored Normal file
View file

@ -0,0 +1,44 @@
name: Run Renovate
on:
schedule:
- cron: "13 * * * *"
workflow_dispatch:
jobs:
renovate:
runs-on: antville
steps:
- uses: actions/checkout@v4
- name: Run Renovate
# See <https://docs.renovatebot.com/troubleshooting/#log-debug-levels>
# debug | info | warn | error | fatal
run: LOG_LEVEL=info npx renovate
env:
# Renovate is using this token to retrieve release notes
GITHUB_COM_TOKEN: ${{ secrets.renovate_github_com_token }}
# Autodiscover is better suited for an extra repo running Renovate on all desired repos
#RENOVATE_AUTODISCOVER: 'true'
RENOVATE_CONFIG_FILE: renovate.json
RENOVATE_ENDPOINT: ${{ github.api_url }}
RENOVATE_GIT_AUTHOR: Renovate Bot <mail+renovate@antville.org>
#RENOVATE_GIT_IGNORED_AUTHORS:
# - 29139614+renovate[bot]@users.noreply.github.com
RENOVATE_IGNORE_PR_AUTHOR: 'true'
RENOVATE_LOG_FILE: renovate-log.ndjson
RENOVATE_LOG_FILE_LEVEL: debug
RENOVATE_PLATFORM: gitea
RENOVATE_REPOSITORIES: ${{ github.repository }}
RENOVATE_REPOSITORY_CACHE: 'enabled'
# github.token is not working here, it lacks some permissions required by Renovate
RENOVATE_TOKEN: ${{ secrets.renovate_token }}
- name: Save log file
# FIXME: v4 of this action causes an error on Forgejo (“You must configure a GitHub token”)
uses: actions/upload-artifact@v3
if: always()
with:
name: renovate-log.ndjson
path: renovate-log.ndjson

32
.github/workflows/stage.yml vendored Normal file
View file

@ -0,0 +1,32 @@
name: Deploy (Staging)
on: workflow_dispatch
jobs:
stage:
runs-on: antville
environment:
name: stage
url: ${{ vars.stage_url }}
steps:
- uses: actions/checkout@v4
- name: Build with Gradle
run: ./gradlew installDist
- name: Publish to staging server
run: |
rsync ./build/install/helma/ staging-server:./ \
--verbose --archive --delete --compress \
--filter '+ /bin' \
--filter '+ /extras' \
--filter '+ /launcher.jar' \
--filter '- /lib/ext' \
--filter '+ /lib' \
--filter '+ /modules' \
--filter '- /*'
- name: Restart Helma
run: ssh staging-server restart

22
.gitignore vendored Normal file
View file

@ -0,0 +1,22 @@
.gradle
.idea
.settings
build
/apps
/bin
/backups
/db
/docs
/extras
/lib
/licenses
/log
/static
/*.properties
/launcher.jar
/passwd
/start.*
!/gradle.properties

1
.java-version Normal file
View file

@ -0,0 +1 @@
11.0

6
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"recommendations": [
"vscjava.vscode-java-pack",
"vscjava.vscode-gradle"
]
}

6
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"files.watcherExclude": {
"apps/": true
},
"java.configuration.updateBuildConfiguration": "automatic"
}

31
CHANGES.md Normal file
View file

@ -0,0 +1,31 @@
# Change Log
## May 17, 2020
* Added support for colored log output
* Added xgettext and po2js tasks (only running with Antville right now)
## April 13, 2020
* Added support for gzip compressed response in helma.Http
* Fixed helma.Http.getURL() not following redirects if protocol changes (e.g. http → https)
* Fixed references to obsolete Base64 encoder in modules
* Updated JavaMail library to implementation package
## March 21, 2020
* Completely rewrote build system with Gradle
* Separated launcher from main source as Gradle subproject
* Launcher now includes all JARs found in `lib`
* Upgraded Rhino to version 1.7.12
* Upgraded Jetty to version 9.x
* Fixed compatibility issues with Java 11
* Removed support for Apache JServ Protocol (AJP)
* Added support for CommonJS require() method
* Allow variable arguments in res.write() and res.writeln()
* Replaced Helmas MD5 and Base64 methods with equivalent methods from Apache Commons
* Refactored String methods from Java to JavaScript: encode(), encodeForm(), encodeXml(), stripTags()
* Replaced custom String methods with Rhinos built-in ones: endsWith(), repeat(), startsWith(), trim()
* Refactored custom String.pad() method with built-in methods
* Redefined custom Array.contains() method with built-in Array.includes()
* Refactored custom Array methods with built-in methods: intersection(), union()

37
LICENSE.md Normal file
View file

@ -0,0 +1,37 @@
# License
Copyright (c) 1999-2025 Helma Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Products derived from this software may not be called "Helma"
or "Hop", nor may "Helma" or "Hop" appear in their name, without
prior written permission of the Helma Project Group. For written
permission, please contact helma@helma.org.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Helma includes third party software released under different specific
license terms. See the licenses directory in the Helma distribution
for a list of these licenses.

71
README.md Normal file
View file

@ -0,0 +1,71 @@
# How to Helma
## TL;DR
- Make sure you have Java 11 or higher installed
- Download and unpack the [latest release](https://code.host.antville.org/antville/helma/releases)
- Invoke `./bin/helma`, resp. `./bin/helma.bat`, depending on your platform
- Direct your web browser to <http://localhost:8080>
## Introduction
Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.
Helma is written in Java and employs JavaScript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.
Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.
Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years now.
Although Helma became a Grande Dame of server-side JavaScript already decades ago when she performed in cozy Finnish clubs, she appears somehow retired nowadays. Nevertheless, she is here to stay for those last ones out there still tinkering with this nostalgic and wonderful piece of software.
## System Requirements
You need a Java virtual machine version 11 or higher to run Helma.
Please consult the documentation of your platform how to obtain and install Java.
You also can directly download a [Java runtime or development kit](https://www.oracle.com/java/technologies/javase-downloads.html#javasejdk) from Oracle.
Helma is built with [Gradle](https://gradle.org), the build task depends on the binaries [rsync](https://rsync.samba.org) and [npx](https://www.npmjs.com/package/npx) being installed on your system.
## Development
### Additional Prerequisites
* [Node.js](https://nodejs.org) LTS version
* [Rsync](https://rsync.samba.org) version ≥ 3.1.0
Clone this repository to your machine and run Helma with `./gradlew run`.
To update the installation from a build, run `./gradlew update` and enter `yes` at the prompt.
> ⚠️
> Please be aware that this step is going to overwrite files in the installation directory escpecially at a later time when there might be substantial changes. Should this happen by accident you find the previous installation in the `backups` directory.
>
> Alternatively, you could move or copy the desired files manually from the installation directory `build/install/helma`.
After all files are put into place start Helma by invoking `./bin/helma.bat` or `./bin/helma`, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the `java` command is not found, try setting the `JAVA_HOME` environment variable to the location of your Java installation.
You can adjust server-wide settings in the `server.properties` file. For example, you could set the `smtp` property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the `apps.properties` file, or through the web interface using the management application that is part of Helma.
If all goes well you should be able to connect your browser to <http://localhost:8080> port 8080 on the local machine, that is.
Helma comes with a version of [Jetty](http://eclipse.org/jetty/), a lightweight yet industrial strength web server.
While Jetty works well for development and in fact deploying real web sites, you might want to run Helma with the web server you are already using. This is most easily done by proxying Helma. Please consult the documentation of your web server how to achieve this.
Finally, Helma can be plugged into Servlet containers using Servlet classes that communicate with Helma either directly or via Java RMI. Be warned that these options may be harder to set up and maintain though, since most of the recent development efforts have been geared towards a proxied setup.
## Documentation and Further Information
After installing and running Helma, you will be able to access introductions to the features of Helma and the various included development tools. Further information you will find on the helma.org website:
> 😿
> Unfortunately, the Helma website disappeard in the meantime. However, with some archaeological web digging and thanks to the great search engines and archive services out there it is still possible to find useful resources.
- [helma.org at Internet Archive](http://web.archive.org/web/20180122132315/http://helma.org)
- [Documentation](http://web.archive.org/web/20100530234322/http://helma.org/documentation/)
- [API Reference](https://helma.serverjs.org/reference/)
- [Tutorial](http://web.archive.org/web/20100526182848/http://helma.org/Documentation/Object-Relational+Mapping+Tutorial/)
- [DocBook](http://dev.orf.at/download/helma/documentation/documentation.pdf)

View file

@ -1,97 +0,0 @@
This is the README file for version 1.2 of Helma Object Publisher.
===========
ABOUT HELMA
===========
Helma is a scriptable platform for creating dynamic, database backed
web sites.
Helma provides an easy way to map relational database tables to objects.
These objects are wrapped with a layer of scripts and skins that allow
them to be presented and manipulated over the web. The clue here is that
both functions and skins work in an object oriented manner and force
a clear separation between content, functionality and presentation.
Actions are special functions that are callable over the web. Macros are
special functions that expose functionality to the presentation layer.
Skins are pieces of layout that do not contain any application logic,
only macro tags as placeholders for parts that are dynamically provided
by the application.
In short, Helma provides a one stop framework to create web applications
with less code and in shorter time than most of the other software out
there.
===================
SYSTEM REQUIREMENTS
===================
You need a Java virtual machine 1.3 or higher to run Helma.
For Windows, Linux and Solaris you can get a Java runtime or development
kit from http://java.sun.com/j2se/downloads.html.
If you are on Mac OS X, you already have a Java runtime that will work
well with Helma.
Unfortunately, there is no Java 2 interpreter for Mac OS Classic, so
you can't use Helma on Mac OS 9.
============================
INSTALLING AND RUNNING HELMA
============================
Simply unzip or untar the contents of the archive file into any place
on your hard disk. Start Helma by invoking hop.bat or hop.sh from the
command line, depending on whether you are on Windows or
Linux/Unix/MacOSX. If the java command is not found, try setting the
JAVA_HOME variable in the start script to the location of your Java
installation.
You may also want to have a look at the start script for other settings.
You can adjust server wide settings in the server.properties file. For
example, you should set the smtp property to the name of the SMTP server
that Helma should use to send Email. Applications can be started or
stopped by editing the apps.properties file through the web interface
using the Management application that is part of Helma.
If you manage to get it running you should be able to connect your
browser to http://localhost:8080/ or http://127.0.0.1:8080/
(port 8080 on the local machine, that is).
Helma comes with a version of Jetty, a lightweight yet industrial strenth
web server developed by Mortbay Consulting. See http://jetty.mortbay.com/
for more information. While Jetty works well for deploying real web sites,
you may want to run Helma behind an existing web server. This is most
easily done by running Helma with the AJPv13 listener which allows you to
plug Helma into any web server using the Apache mod_jk module. See
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html for more
information on mod_jk and AJPv13.
Finally, Helma can be plugged into Servlet containers using Servlet
classes that communicate with Helma either directly or via Java RMI.
(Be warned that these options may be harder to set up and maintain though,
since most of the recent development efforts have been geared towards the
mod_jk/AJPv13 setup.)
=====================================
DOCUMENTATION AND FURTHER INFORMATION
=====================================
Currently, documentation-in-progress is available online at
http://helma.org/. We know that it sucks and hope to do some substantial
improvments within the coming weeks and months.
Your input is highly welcome. There is a mailing-list to discuss Helma at
http://helma.org/lists/listinfo/hop. Don't hesitate to voice any questions,
proposals, complaints, praise you may have on the list. We know we have
a lot to do and to learn, and we're open to suggestions.
For questions, comments or suggestions also feel free to contact
hannes@helma.at.
--
Last modified on December 5, 2002 by Hannes Wallnoefer <hannes@helma.at>

View file

@ -1,4 +0,0 @@
# List of apps to start.
test

298
build.gradle Normal file
View file

@ -0,0 +1,298 @@
plugins {
id 'application'
id 'com.github.jk1.dependency-license-report' version '2.9'
}
import org.apache.tools.ant.filters.FixCrLfFilter
def jettyLogLevel = '-Dorg.eclipse.jetty.LEVEL=WARN'
// Suppress menu bar and default icon being shown in macos dock (Radar #5754483)
// See https://developer.apple.com/library/content/releasenotes/Java/JavaLeopardUpdate1RN/ResolvedIssues/ResolvedIssues.html
def suppressMacosDockIcon = '-Dapple.awt.UIElement=true'
// This list is used to determine which files need processing of line endings
def textFiles = ['**/*.hac', '**/.html', '**/*.js', '**/*.md', '**/*.properties', '**/*.skin', '**/*.txt', '**/*.xml']
allprojects {
apply plugin: 'java'
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
repositories {
mavenCentral()
}
}
version = new Date().format("yy.M.d")
tasks.build.dependsOn javadoc, 'jsdoc', 'generateLicenseReport'
tasks.compileJava.dependsOn 'processSource'
// Disable DocLint for now
// See <https://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html>
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
sourceSets {
main {
java {
// Sources in `src` will be available here after processing
srcDirs = ["$buildDir/src/main/java"]
}
}
}
configurations {
// Wrapping implementation because it does not allow access to its files
// (i.e. cannot be resolved)
library.extendsFrom implementation
}
dependencies {
implementation 'com.google.code.gson:gson:2.12.1'
implementation 'commons-codec:commons-codec:1.18.0'
implementation 'commons-fileupload:commons-fileupload:1.5'
implementation 'commons-logging:commons-logging:1.3.5'
implementation 'commons-net:commons-net:3.11.1'
implementation 'com.sun.mail:javax.mail:1.6.2'
implementation 'javax.servlet:javax.servlet-api:4.0.1'
implementation 'org.ccil.cowan.tagsoup:tagsoup:1.2.1'
implementation 'org.eclipse.jetty:jetty-servlet:9.4.57.v20241219'
implementation 'org.eclipse.jetty:jetty-xml:9.4.57.v20241219'
implementation 'org.mozilla:rhino-all:1.8.0'
implementation 'org.sejda.imageio:webp-imageio:0.1.6'
implementation 'xerces:xercesImpl:2.12.2'
implementation 'xmlrpc:xmlrpc:2.0.1'
}
def rhinoJar = configurations.library.files.find { jar ->
jar.name.startsWith('rhino')
}
run {
jvmArgs jettyLogLevel, suppressMacosDockIcon
classpath += fileTree(dir: 'lib/ext', include: '*.jar')
}
application {
mainClass = 'helma.main.Server'
applicationDistribution.from(projectDir) {
include 'modules/**'
include 'LICENSE.md'
include 'README.md'
include 'start.*'
}
applicationDistribution.from(javadoc.destinationDir) {
include '**'
into 'docs/javadoc'
}
applicationDistribution.from("${project.buildDir}/docs/jsdoc") {
include '**'
into 'docs/jsdoc'
}
applicationDistribution.from("${project.buildDir}/reports/dependency-license") {
include '**'
into 'licenses'
}
}
startScripts {
applicationName = 'helma'
classpath = files('../launcher.jar')
mainClass = 'helma.main.launcher.Main'
defaultJvmOpts = [jettyLogLevel, suppressMacosDockIcon]
doLast {
// Work-around to make the classpath above work (launcher.jar is located outside of `lib` dir)
// See https://discuss.gradle.org/t/classpath-in-application-plugin-is-building-always-relative-to-app-home-lib-directory/2012
def unixScriptFile = file getUnixScript()
def windowsScriptFile = file getWindowsScript()
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib', '$APP_HOME')
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib', '%APP_HOME%')
}
}
distributions {
main {
contents {
from project(':launcher').jar
}
}
}
distTar {
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
compression = Compression.GZIP
filesMatching(textFiles) {
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("lf"))
}
}
distZip {
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
filesMatching(textFiles) {
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("crlf"))
}
}
installDist {
dependsOn build
}
tasks.register('processSource', Sync) {
def gitOutput = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = gitOutput
errorOutput = new ByteArrayOutputStream()
ignoreExitValue = true
}
from 'src'
filter {
line -> line
.replaceAll('__builddate__', new Date().format("d MMM yyyy"))
.replaceAll('__commithash__', gitOutput.toString().trim())
.replaceAll('__version__', version)
} into "${project.buildDir}/src"
}
tasks.register('update') {
dependsOn installDist
def rsyncArgs = ['--archive', '--filter', '- backups']
def confirm = {
ant.input(message: 'Update this installation?', validargs: 'yes,no', addproperty: 'continue')
return ant.continue == 'yes'
}
onlyIf { confirm() }
doFirst {
def backupDir = 'backups/' + new Date().format('yyyyMMdd-HHmmss')
mkdir backupDir
exec {
// Create a backup with rsync instead of a CopyTask because the latter chokes on multi-byte characters
// See https://github.com/gradle/gradle/issues/789
executable 'rsync'
args rsyncArgs
args "$projectDir/", backupDir
}
print "Created backup of ${projectDir} in ${backupDir}"
}
doLast {
exec {
// Using rsync to selectively update the repo directory
executable 'rsync'
args '--delete'
args rsyncArgs
args '--filter', '+ bin/***'
args '--filter', '+ docs/***'
args '--filter', '+ extras/***'
args '--filter', '+ launcher.jar'
args '--filter', '+ lib'
args '--filter', '+ *.jar'
args '--filter', '- *'
args "${installDist.destinationDir}/", projectDir
}
}
}
tasks.register('jsdoc', Exec) {
description 'Generates JSDoc API documentation for the included JavaScript modules.'
group 'Documentation'
def sources = ['modules/core', 'modules/helma', 'modules/jala/code']
def destination = "${project.buildDir}/docs/jsdoc"
sources.each { dir -> inputs.dir dir }
outputs.dir destination
executable 'npx'
args = ['jsdoc', '-d', "$destination"].plus(sources)
}
tasks.register('xgettext', JavaExec) {
description 'Extracts translatable message strings from source code.'
group 'i18n'
classpath = files('launcher.jar')
mainClass = 'helma.main.launcher.Commandline'
// TODO: Decouple from Antville app
args = [
// Root.extractMessages is currently located in antville/code/Global/i18n.js
'antville.extractMessages',
'modules/jala/util/HopKit/scripts/MessageParser.js',
'code compat',
'apps/antville/i18n/antville.pot'
]
}
tasks.register('po2js', JavaExec) {
description 'Converts translated message strings from PO format to JavaScript.'
group 'i18n'
classpath = files(rhinoJar)
mainClass = 'org.mozilla.javascript.tools.shell.Main'
// TODO: Decouple from Antville app
args = [
'modules/jala/util/HopKit/scripts/PoParser.js',
'apps/antville/i18n',
'apps/antville/i18n'
]
}
tasks.register('rhinoShell', JavaExec) {
description 'Runs the interactive Rhino JavaScript shell.'
group 'Application'
classpath = files(rhinoJar)
mainClass = 'org.mozilla.javascript.tools.shell.Main'
standardInput = System.in
}
// Call this task with a function definition using the `-P` parameter, e.g.
// `./gradlew commandLine -Pfunction=manage.getAllApplications`
tasks.register('commandLine', JavaExec) {
description 'Runs a function in a Helma application with `-Pfunction=app.functionName`.'
group 'Application'
classpath = files('launcher.jar')
mainClass = 'helma.main.launcher.Commandline'
args '-h', projectDir, function
}
tasks.register('debug', JavaExec) {
group = 'application'
main = 'helma.main.Server'
classpath = sourceSets.main.runtimeClasspath
jvmArgs = ['-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005']
classpath += fileTree(dir: 'lib/ext', include: '*.jar')
}

View file

@ -1,93 +0,0 @@
This is the README file for the Helma build files as part of the Helma Object Publisher. It is included in the current distribution (version 1.2pre as of 8 November 2001) downloadable at <http://helma.org/download>.
The build directory consists of the following files:
ant.jar
build.bat
build.sh
build.xml
crimson.jar
jaxp.jar
README
PREREQUISITES
=============
The Helma build script is using a software called Ant. Ant is a build system that was developed for the Jakarta Tomcat project. For more information about Ant, see <http://jakarta.apache.org/ant/>.
To run Ant, you also need JDK 1.3 or higher <http://java.sun.com/j2se/>.
For checking out the source files from Helma's CVS you also need a local installation of a CVS command-line client. More information about CVS at <http://www.cvshome.org/>.
STARTING BUILD
==============
The build system is started by invoking the shell script appropriate to your platform, ie. build.sh for *nix (Linux, NetBSD etc.) and build.bat for Windows systems. You need to modify the script and set the JAVA_HOME to fit your system.
The generic syntax is
./build target
The parameter "target" specifies one of the following build targets.
BUILD A SNAPSHOT
================
To build a helma.jar with the most up-to-date version of helma yourself you need to run
./build checkout
and
./build snapshot
BUILD TARGETS
=============
checkout
Fetches (or updates, resp.) the Helma source code in the src/-directory from the CVS. If you've still got the sourcecode that came with the distribution in there, you need to move that away first.
snapshot
Runs snapshotcompile and stuffs the class files as .jar archive in the lib directory. The file is named helma-yyyymmdd.jar.
snapshotcompile
Compiles the source files contained in the src/hop directory into the classes directory (which will be created if necessary). You can use the source files from your distribution or you can get the most recent version by checking out the "hop"-module from the cvs.
fullcheckout
Fetches (or updates, resp.) everything that's needed to create a full Helma distribution (source files, build files, libs, demo-apps) from the CVS and copies them into the work/checkout/ directory (which will be created if necessary).
compile
Compiles the source files contained in the work/checkout/hop/ directory into the work/classes/ directory (which will be created if necessary).
jar
Stuffs the files in work/classes/ together and saves them as .jar archive in the work directory. The file is named helma-yyyymmdd.jar.
javadocs
Creates the Java API documentation for the Helma classes. The resulting files are saved into the work/docs/api/ directory (which will be created if necessary).
helmadocs
Gets the documentation from helma.org via http in a printable version. (still some way to go..)
package
Builds all previous targets (checkout, compile, jar, javadoc) and saves the created files in the directory work/helma-1.x/ (with 1.x being the version number). All directories will be created if necessary.
package-zip
Same as "package". Additionally, the files in the output directory will be compressed as .zip file.
package-tgz
Same as "package". Additionall, the file in the output directory will be compressed as .tar.gz file.
package-all
Builds all previous targets. The result is a complete and up-to-date (as in the CVS) installation of Helma, the API documentation, source and build files as well as compressed packages for *nix and Windows systems including all the files.
--
This README was last updated on 26 April 2002. Questions? tobi@helma.org

Binary file not shown.

View file

@ -1,143 +0,0 @@
==============
ABOUT ANTCLICK
==============
Antclick is an integrated Helma/Antville package. It comes with
integrated web server and SQL database. It should run out of the
box although you may have to modify the start script.
This version of Antclick contains Mckoi as the embedded database
and Jetty as the embedded web server.
Although Antcklick comes preconfigured with the Mckoi database, it
can easily be set up to run with other databases such as MySQL and
Oracle. It is also possible to configure it to use a fully featured
web server instead of the built-in web server.
======================
INSTALLING AND RUNNING
======================
Simply uncompress the content of the archive file into any place on
your hard disk. Start Helma on Windows by opening the file hop.bat.
On Unix systems open a terminal window, change to the Antclick
directory and type ./hop.sh.
If you manage to get it running you should be able to connect your
browser to http://127.0.0.1:8080/ (port 8080, that is). Now you can
set up and configure your antville site.
==============
ABOUT ANTVILLE
==============
Antville is an open source project aimed to the development of an
"easy to maintain and use" weblog-hosting system. It is not limited
to just one weblog, it can easily host up to several hundred or
thousand weblogs (the number of weblogs is more limited by the site
owner's choice and server power than software limitations).
Antville is entirely written in JavaScript and based on the Helma
Object Publisher, a powerful and fast scriptable open source web
application server (which itself is written in Java). Antville works
with a relational database in the backend.
Check out http://project.antville.org/ for more information.
===========
ABOUT HELMA
===========
Helma is a scriptable platform for creating dynamic, database backed
web sites.
Helma provides an easy way to map relational database tables to objects.
These objects are wrapped with a layer of scripts and skins that allow
them to be presented and manipulated over the web. The clue here is that
both functions and skins work in an object oriented manner and force
a clear separation between content, functionality and presentation.
Actions are special functions that are callable over the web. Macros are
special functions that expose functionality to the presentation layer.
Skins are pieces of layout that do not contain any application logic,
only macro tags as placeholders for parts that are dynamically provided
by the application.
In short, Helma provides a one stop framework to create web applications
with less code and in shorter time than most of the other software out
there.
===================
SYSTEM REQUIREMENTS
===================
You need a Java virtual machine 1.3 or higher to run Helma.
For Windows, Linux and Solaris you can get a Java runtime or development
kit from http://java.sun.com/j2se/downloads.html.
If you are on Mac OS X, you already have a Java runtime that will work
well with Helma.
Unfortunately, there is no Java 2 interpreter for Mac OS Classic, so
you can't use Helma on Mac OS 9.
============================
INSTALLING AND RUNNING HELMA
============================
Simply unzip or untar the contents of the archive file into any place
on your hard disk. Start Helma by invoking hop.bat or hop.sh from the
command line, depending on whether you are on Windows or
Linux/Unix/MacOSX. If the java command is not found, try setting the
JAVA_HOME variable in the start script to the location of your Java
installation.
You may also want to have a look at the start script for other settings.
You can adjust server wide settings in the server.properties file. For
example, you should set the smtp property to the name of the SMTP server
that Helma should use to send Email. Applications can be started or
stopped by editing the apps.properties file through the web interface
using the Management application that is part of Helma.
If you manage to get it running you should be able to connect your
browser to http://localhost:8080/ or http://127.0.0.1:8080/
(port 8080 on the local machine, that is).
Helma comes with a version of Jetty, a lightweight yet industrial strenth
web server developed by Mortbay Consulting. See http://jetty.mortbay.com/
for more information. While Jetty works well for deploying real web sites,
you may want to run Helma behind an existing web server. This is most
easily done by running Helma with the AJPv13 listener which allows you to
plug Helma into any web server using the Apache mod_jk module. See
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html for more
information on mod_jk and AJPv13.
Finally, Helma can be plugged into Servlet containers using Servlet
classes that communicate with Helma either directly or via Java RMI.
(Be warned that these options may be harder to set up and maintain though,
since most of the recent development efforts have been geared towards the
mod_jk/AJPv13 setup.)
=====================================
DOCUMENTATION AND FURTHER INFORMATION
=====================================
Currently, documentation-in-progress is available online at
http://helma.org/. We know that it sucks and hope to do some substantial
improvments within the coming weeks and months.
Your input is highly welcome. There is a mailing-list to discuss Helma at
http://helma.org/lists/listinfo/hop. Don't hesitate to voice any questions,
proposals, complaints, praise you may have on the list. We know we have
a lot to do and to learn, and we're open to suggestions.
For questions, comments or suggestions also feel free to contact
antville@helma.org.
--
Last modified on December 5, 2002 by Hannes Wallnoefer <hannes@helma.at>

View file

@ -1,10 +0,0 @@
# List of apps to start.
# mount antville as /managehop to avoid
# conflict with antville's manage.hac action
manage
manage.mountpoint = /manage/hop
# mount antville as root application
antville
antville.mountpoint = /

View file

@ -1,5 +0,0 @@
# Properties of antville datasource
antville.url=jdbc:mckoi:local://./db.conf
antville.driver=com.mckoi.JDBCDriver
antville.user=admin
antville.password=entwil

View file

@ -1,318 +0,0 @@
#######################################################
#
# Configuration options for the Mckoi SQL Database.
#
# NOTE: Lines starting with '#' are comments.
#
#######################################################
#
# database_path - The path where the database data files
# are located.
# See the 'root_path' configuration property for the
# details of how the engine resolves this to an
# absolute path in your file system.
database_path=./data
#
# log_path - The path the log files are written.
# See the 'root_path' configuration property for the
# details of how the engine resolves this to an
# absolute path in your file system.
# The log path must point to a writable directory. If
# no log files are to be kept, then comment out (or
# remove) the 'log_path' variable.
log_path=./log
#
# root_path - If this is set to 'jvm' then the root
# path of all database files is the root path of the
# JVM (Java virtual machine) running the database
# engine. If this property is set to 'configuration'
# or if it is not present then the root path is the
# path of this configuration file.
# This property is useful if you are deploying a
# database and need this configuration file to be the
# root of the directory tree of the database files.
root_path=configuration
#root_path=jvm
#
# jdbc_server_port - The TCP/IP port on this host where
# the database server is mounted. The default port
# of the Mckoi SQL Database server is '9157'
jdbc_server_port=9157
#
# ignore_case_for_identifiers - If enabled all
# identifiers are compared case insensitive. If
# disabled (the default) the case of the identifier
# is important.
# For example, if a table called 'MyTable' contains
# a column called 'my_column' and this property is
# enabled, the identifier 'MYTAble.MY_COlumN' will
# correctly reference the column of the table. If
# this property is disable a not found error is
# generated.
# This property is intended for compatibility with
# other database managements systems where the case
# of identifiers is not important.
ignore_case_for_identifiers=disabled
#
# socket_polling_frequency - Mckoi SQL maintains a pool
# of connections on the server to manage dispatching
# of commands to worker threads. All connections on
# the jdbc port are polled frequently, and ping
# requests are sent to determine if the TCP
# connection has closed or not. This value determines
# how frequently the connections are polled via the
# 'available' method.
# The value is the number of milliseconds between each
# poll of the 'available' method of the connections
# input socket stream. Different Java implementations
# will undoubtedly require this value to be tweaked.
# A value of '3' works great on the Sun NT Java 1.2.2
# and 1.3 Java runtimes.
#
# NOTE: This 'socket polling' module is a horrible hack
# and will be removed at some point when the threading
# performance improves or there is an API for non-
# blocking IO. I'll probably write an alternative
# version for use with the improved Java version.
socket_polling_frequency=3
# ----- PLUG-INS -----
#
# database_services - The services (as a Java class) that
# are registered at database boot time. Each service
# class is separated by a semi-colon (;) character.
# A database service must extend
# com.mckoi.database.ServerService
#
#database_services=mypackage.MyService
#
# function_factories - Registers one or more FunctionFactory
# classes with the database at boot time. A
# FunctionFactory allows user-defined functions to be
# incorporated into the SQL language. Each factory class
# is separated by a semi-colon (;) character.
#
#function_factories=mypackage.MyFunctionFactory
#
# The Java regular expression library to use. Currently
# the engine supports the Apache Jakarta regular expression
# library, and the GNU LGPL regular expression library.
# These two regular expression libraries can be found at the
# following web sites:
#
# GNU Regexp: http://www.cacas.org/~wes/java/
# Apache Regexp: http://jakarta.apache.org/regexp/
#
# The libraries provide similar functionality, however they
# are released under a different license. The GNU library
# is released under the LGPL and is compatible with GPL
# distributions of the database. The Apache Jakarta library
# is released under the Apache Software License and must not
# be linked into GPL distributions.
#
# Use 'regex_library=gnu.regexp' to use the GNU library, or
# 'regex_library=org.apache.regexp' to use the Apache
# library.
#
# NOTE: To use either library, you must include the
# respective .jar package in the Java classpath.
regex_library=gnu.regexp
# ----- PERFORMANCE -----
#
# data_cache_size - The maximum amount of memory (in bytes)
# to allow the memory cache to grow to. If this is set
# to a value < 4096 then the internal cache is disabled.
# It is recommended that a database server should provide
# a cache of 4 Megabytes (4194304). A stand alone
# database need not have such a large cache.
# data_cache_size=4194304
data_cache_size=0
#
# max_cache_entry_size - The maximum size of an element
# in the data cache. This is available for tuning
# reasons and the value here is dependant on the type
# of data being stored. If your data has more larger
# fields that would benefit from being stored in the
# cache then increase this value from its default of
# 8192 (8k).
max_cache_entry_size=8192
#
# lookup_comparison_list - When this is set to 'enabled'
# the database attempts to optimize sorting by generating
# an internal lookup table that enables the database to
# quickly calculate the order of a column without having
# to look at the data directly. The column lookup
# tables are only generated under certain query
# conditions. Set this to 'disabled' if the memory
# resources are slim.
lookup_comparison_list=enabled
#
# lookup_comparison_cache_size - The maximum amount of
# memory (in bytes) to allow for column lookup tables.
# If the maximum amount of memory is reached, the lookup
# table is either cached to disk so that is may be
# reloaded later if necessary, or removed from memory
# entirely. The decision is based on how long ago the
# table was last used.
#
# This property only makes sense if the
# 'lookup_comparison_list' property is enabled.
#
# NOTE: This property does nothing yet...
lookup_comparison_cache_size=2097152
#
# index_cache_size - The maximum amount of memory (in
# bytes) to allow for the storage of column indices.
# If the number of column indices in memory reaches
# this memory threshold then the index blocks are
# cached to disk.
#
# ISSUE: This is really an implementation of internal
# memory page caching but in Java. Is it necessary?
# Why not let the OS handle it with its page file?
#
# NOTE: This property does nothing yet...
index_cache_size=2097152
#
# max_worker_threads - The maximum number of worker
# threads that can be spawned to handle incoming
# requests. The higher this number, the more
# 'multi-threaded' the database becomes. The
# default setting is '4'.
maximum_worker_threads=4
#
# soft_index_storage - If this is set to 'enabled', the
# database engine will keep all column indices behind a
# soft reference. This enables the JVM garbage collector
# to reclaim memory used by the indexing system if the
# memory is needed.
#
# This is useful for an embedded database where requests
# are rare. When the database part is idle, the index
# memory (that can take up significant space for large
# tables) is reclaimed for other uses. For a dedicated
# database server it is recommended this is disabled.
#
# Enable this if you need the engine to use less memory.
# I would recommend the config property
# 'lookup_comparison_list' is disabled if this is enabled.
# The default setting is 'disabled'.
soft_index_storage=disabled
#
# dont_synch_filesystem - If this is enabled, the engine
# will not synchronize the file handle when a table change
# is committed. This will mean the data is not as
# safe but the 'commit' command will work faster. If this
# is enabled, there is a chance that committed changes will
# not get a chance to flush to the file system if the
# system crashes.
#
# It is recommended this property is left commented out.
#
#dont_synch_filesystem=enabled
#
# transaction_error_on_dirty_select - If this is disabled
# the 4th conflict (dirty read on modified table) will
# not be detected. This has transactional consequences
# that will cause data modifications to sometimes be
# out of syncronization. For example, one transaction
# adds an entry, and another concurrent transaction
# deletes all entries. If this is disabled this
# conflict will not be detected. The table will end up
# with the one entry added after commit.
#
# It is recommended this property is left commented out.
#
#transaction_error_on_dirty_select=disabled
# ----- SPECIAL -----
#
# read_only - If this is set to 'enabled' then the database
# is readable and not writable. You may boot a database
# in read only mode from multiple VM's. If the database
# data files are stored on a read only medium such as a
# CD, then the property must be enabled else it will not
# be possible to boot the database.
# ( Uncomment the line below for read only mode )
#read_only=enabled
# ----- DEBUGGING -----
#
# debug_log_file - The file that is used to log all debug
# information. This file is stored in the 'log_path'
# path.
debug_log_file=debug.log
#
# debug_level - The minimum debug level of messages that
# are written to the log file. Reducing this number
# will cause more debug information to be written to
# the log.
# 10 = INFORMATION
# 20 = WARNINGS
# 30 = ALERTS
# 40 = ERRORS
debug_level=20
#
# table_lock_check - If this is enabled, every time a
# table is accessed a check is performed to ensure that
# the table owns the correct locks. If a lock assertion
# fails then an error is generated in the log file.
# This should not be enabled in a production system
# because the lock assertion check is expensive. However
# it should be used during testing because it helps to
# ensure locks are being made correctly.
table_lock_check=disabled

View file

@ -1,16 +0,0 @@
# This is where you specify relational data sources to
# map Helma types to relational databases.
#
# If you want to define a data source just for one
# application, simply copy the db.properties file to
# the application directory.
#
# The actual mapping of types is done in the
# type.properties file in the prototype directories.
#
# Properties of JDBC data sources
myDataSource.url = jdbc:mysql://db.domain.com/space
myDataSource.driver = org.gjt.mm.mysql.Driver
myDataSource.user = username
myDataSource.password = xyz

View file

@ -1,79 +0,0 @@
@echo off
rem Batch file for Starting Helma with a JDK-like virtual machine.
rem To add jar files to the classpath, simply place them into the
rem lib/ext directory of this Helma installation.
:: Initialize variables
:: (don't touch this section)
set JAVA_HOME=
set HOP_HOME=
set HTTP_PORT=
set XMLRPC_PORT=
set AJP13_PORT=
set RMI_PORT=
set OPTIONS=
:: Set TCP ports for Helma servers
:: (comment/uncomment to de/activate)
set HTTP_PORT=8080
rem set XMLRPC_PORT=8081
rem set AJP13_PORT=8009
rem set RMI_PORT=5050
:: Uncomment to set HOP_HOME
rem set HOP_HOME=c:\program files\helma
:: Uncomment to set JAVA_HOME variable
rem set JAVA_HOME=c:\program files\java
:: Uncomment to pass options to the Java virtual machine
rem set JAVA_OPTIONS=-server -Xmx128m
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::: No user configuration needed below this line :::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setting the script path
set INSTALL_DIR=%~d0%~p0
:: Using JAVA_HOME variable if defined. Otherwise,
:: Java executable must be contained in PATH variable
if "%JAVA_HOME%"=="" goto default
set JAVACMD=%JAVA_HOME%\bin\java
goto end
:default
set JAVACMD=java
:end
:: Setting HOP_HOME to script path if undefined
if "%HOP_HOME%"=="" (
set HOP_HOME=%INSTALL_DIR%
)
cd %HOP_HOME%
:: Setting Helma server options
if not "%HTTP_PORT%"=="" (
echo Starting HTTP server on port %HTTP_PORT%
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
)
if not "%XMLRPC_PORT%"=="" (
echo Starting XML-RPC server on port %XMLRPC_PORT%
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
)
if not "%AJP13_PORT%"=="" (
echo Starting AJP13 listener on port %AJP13_PORT%
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
)
if not "%RMI_PORT%"=="" (
echo Starting RMI server on port %RMI_PORT%
set OPTIONS=%OPTIONS% -p %RMI_PORT%
)
if not "%HOP_HOME%"=="" (
echo Serving applications from %HOP_HOME%
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
)
:: Invoking the Java virtual machine
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%

View file

@ -1,73 +0,0 @@
#!/bin/sh
# Shell script for starting Helma with a JDK-like virtual machine.
# To add JAR files to the classpath, simply place them into the
# lib/ext directory.
# uncomment to set JAVA_HOME variable
# JAVA_HOME=/usr/lib/java
# uncomment to set HOP_HOME, otherwise we get it from the script path
# HOP_HOME=/usr/local/helma
# options to pass to the Java virtual machine
# JAVA_OPTIONS="-server -Xmx128m"
# Set TCP ports for Helma servers
# (comment/uncomment to de/activate)
HTTP_PORT=8080
# XMLRPC_PORT=8081
# AJP13_PORT=8009
# RMI_PORT=5050
###########################################################
###### No user configuration needed below this line #######
###########################################################
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
# must be contained in PATH variable.
if [ "$JAVA_HOME" ]; then
JAVACMD="$JAVA_HOME/bin/java"
else
JAVACMD=java
fi
# Get the Helma installation directory
INSTALL_DIR="${0%/*}"
cd $INSTALL_DIR
INSTALL_DIR=$PWD
# get HOP_HOME variable if it isn't set
if test -z "$HOP_HOME"; then
# try to get HOP_HOME from script file and pwd
# strip everyting behind last slash
HOP_HOME="${0%/*}"
cd $HOP_HOME
HOP_HOME=$PWD
else
cd $HOP_HOME
fi
echo "Starting Helma in directory $HOP_HOME"
if [ "$HTTP_PORT" ]; then
SWITCHES="$SWITCHES -w $HTTP_PORT"
echo Starting HTTP server on port $HTTP_PORT
fi
if [ "$XMLRPC_PORT" ]; then
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
echo Starting XML-RPC server on port $XMLRPC_PORT
fi
if [ "$AJP13_PORT" ]; then
SWITCHES="$SWITCHES -jk $AJP13_PORT"
echo Starting AJP13 listener on port $AJP13_PORT
fi
if [ "$RMI_PORT" ]; then
SWITCHES="$SWITCHES -p $RMI_PORT"
echo Starting RMI server on port $RMI_PORT
fi
if [ "$HOP_HOME" ]; then
SWITCHES="$SWITCHES -h $HOP_HOME"
fi
# Invoke the Java VM
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES

Binary file not shown.

View file

@ -1,50 +0,0 @@
Copyright (c) 1999-2001 Helma Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by the Helma Project
for use in the Helma Object Publisher (http://www.helma.org/)."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names "Helma" and "Hop" must not be used to endorse or
promote products derived from this software without prior written
permission. For written permission, please contact
helma@helma.org.
5. Products derived from this software may not be called "Helma"
or "Hop", nor may "Helma" or "Hop" appear in their name, without
prior written permission of the Helma Project Group.
6. We ask you to give credit to the Helma Project for sites which build
upon Helma. This would normally consist of a text or graphic link
to http://helma.org/ with the line "Powered by Helma" somewhere on the
site. While it is not a breach of this license to omit this, it's a
great way for you to make help the Helma Project to continue
to flourish and grow.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -1,27 +0,0 @@
# The SMTP server to use for sending mails. Set and
# uncomment this line before trying to send mails from
# Helma applications.
#
# smtp=mail.yourdomain.com
# Some examples for server-wide locale settings
# (please refer to http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
# for country codes, resp. http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
# for language codes).
#
# country = AT
# language = de
#
# country = UK
# language = en
#
# country = FR
# language = fr
#
# country = CZ
# language = cs
# list ip addresses for admin-application here:
allowAdmin=127.0.0.1, 192.168.0.1

View file

@ -1,48 +0,0 @@
@echo off
set TARGET=%1%
REM set JAVA_HOME=c:\programme\jdk13
REM --------------------------------------------
REM No need to edit anything past here
REM --------------------------------------------
set BUILDFILE=build.xml
if "%TARGET%" == "" goto setdist
goto cont1
:cont1
if not "%2%" == "" goto setapp
goto final
:setdist
set TARGET=usage
goto cont1
:setapp
set APPNAME=-Dapplication=%2%
goto final
:final
if "%JAVA_HOME%" == "" goto javahomeerror
set CP=%CLASSPATH%;ant.jar;jaxp.jar;crimson.jar
if exist %JAVA_HOME%\lib\tools.jar set CP=%CP%;%JAVA_HOME%\lib\tools.jar
echo Classpath: %CP%
echo JAVA_HOME: %JAVA_HOME%
%JAVA_HOME%\bin\java.exe -classpath "%CP%" %APPNAME% org.apache.tools.ant.Main -buildfile %BUILDFILE% %TARGET%
goto end
REM -----------ERROR-------------
:javahomeerror
echo "ERROR: JAVA_HOME not found in your environment."
echo "Please, set the JAVA_HOME variable in your environment to match the"
echo "location of the Java Virtual Machine you want to use."
:end

View file

@ -1,31 +0,0 @@
#!/bin/sh
# export JAVA_HOME=/usr/lib/j2sdk1.4.0
#--------------------------------------------
# No need to edit anything past here
#--------------------------------------------
if test -z "${JAVA_HOME}" ; then
echo "ERROR: JAVA_HOME not found in your environment."
echo "Please, set the JAVA_HOME variable in your environment to match the"
echo "location of the Java Virtual Machine you want to use."
exit
fi
if test -f ${JAVA_HOME}/lib/tools.jar ; then
CLASSPATH=${CLASSPATH}:${JAVA_HOME}/lib/tools.jar
fi
if test -n "${2}" ; then
APPNAME=-Dapplication=${2}
fi
CP=${CLASSPATH}:ant.jar:jaxp.jar:../lib/crimson.jar
echo "Classpath: ${CP}"
echo "JAVA_HOME: ${JAVA_HOME}"
BUILDFILE=build.xml
${JAVA_HOME}/bin/java -classpath ${CP} ${APPNAME} org.apache.tools.ant.Main -buildfile ${BUILDFILE} ${1}

View file

@ -1,413 +0,0 @@
<?xml version="1.0"?>
<project name="Helma" default="usage" basedir=".">
<!-- =================================================================== -->
<!-- Initializes some variables -->
<!-- =================================================================== -->
<target name="init">
<property name="Name" value="helma"/>
<property name="year" value="1998-${year}"/>
<property name="version" value="1.2-rc2"/>
<property name="project" value="helma"/>
<property name="build.compiler" value="classic"/>
<property name="cvs.root.apps" value=":pserver:anonymous@adele.helma.at:/opt/cvs/apps"/>
<property name="cvs.root.helma" value=":pserver:anonymous@adele.helma.at:/opt/cvs/helma"/>
<property name="home.dir" value=".."/>
<property name="build.dir" value="${home.dir}/build"/>
<property name="build.src" value="${home.dir}/src"/>
<property name="build.lib" value="${home.dir}/lib"/>
<property name="build.classes" value="${home.dir}/classes"/>
<property name="build.docs" value="${home.dir}/docs"/>
<property name="build.javadocs" value="${home.dir}/docs/api"/>
<property name="build.work" value="${home.dir}/work"/>
<property name="build.dist" value="${home.dir}/dist"/>
<property name="jar.name" value="${project}"/>
<property name="package.name" value="${project}-${version}"/>
<property name="antclick.name" value="antclick-1.0pre3"/>
<property name="debug" value="on"/>
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
<path id="build.class.path">
<fileset dir="${home.dir}/lib">
<exclude name="**/helma*.jar" />
<include name="**/*.jar" />
</fileset>
</path>
<tstamp/>
<filter token="year" value="${year}"/>
<filter token="version" value="${version}"/>
<filter token="date" value="${TODAY}"/>
</target>
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="help" depends="usage" />
<target name="usage">
<echo message=""/>
<echo message=""/>
<echo message="Helma build instructions"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
<echo message=""/>
<echo message=" compile --> compiles the source code to ./classes"/>
<echo message=" jar --> generates the ./lib/helma-YYYYMMDD.jar file"/>
<echo message=" javadocs --> generates the API docs"/>
<echo message=" docs --> tries to retrieve the HTML documentation "/>
<echo message=" (may need proxy settings in startscript)"/>
<echo message=" package --> generates the distribution (zip and tar.gz)"/>
<echo message=" antclick --> generates the distribution (zip and tar.gz)"/>
<echo message=" with antville preconfigured"/>
<echo message=" app [name] --> gets an application from the cvs and zips it"/>
<echo message=""/>
<echo message=" usage --> provides help on using the build tool (default)"/>
<echo message=""/>
<echo message=" See comments inside the build.xml file for more details."/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=""/>
</target>
<!-- =================================================================== -->
<!-- Compiles the source directory -->
<!-- =================================================================== -->
<target name="compile" depends="init">
<mkdir dir="${build.classes}"/>
<javac srcdir="${build.src}"
destdir="${build.classes}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}">
<classpath refid="build.class.path" />
</javac>
<rmic classname="helma.framework.core.RemoteApplication" base="${build.classes}"/>
</target>
<!-- =================================================================== -->
<!-- Creates a helma.jar file (snapshot) in the lib-directory -->
<!-- =================================================================== -->
<target name="jar" depends="compile">
<jar jarfile="${build.lib}/${jar.name}-${DSTAMP}.jar"
basedir="${build.classes}"
excludes="**/package.html,**/main/launcher/**"/>
<jar jarfile="${home.dir}/launcher.jar"
basedir="${build.classes}"
includes="**/main/launcher/**"
manifest="${build.src}/helma/main/launcher/manifest.txt"/>
</target>
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
<target name="javadocs" depends="init">
<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="helma.*"
sourcepath="${build.src}"
destdir="${build.javadocs}"
author="false"
private="false"
version="false"
windowtitle="${Name} ${version} API"
doctitle="${Name} ${version} API"
bottom="Copyright &#169; ${year} Helma.org. All Rights Reserved."
classpathref="build.class.path"
/>
</target>
<!-- =================================================================== -->
<!-- Get the documentation (currently can fail due to request time-out -->
<!-- or missing support for proxies) -->
<!-- =================================================================== -->
<target name="docs" depends="init">
<get src="http://www.helma.org/docs/reference/print"
dest="${build.docs}/reference.html"
ignoreerrors="true"
/>
</target>
<!-- =================================================================== -->
<!-- Creates the full helma distribution -->
<!-- =================================================================== -->
<target name="package" depends="init">
<mkdir dir="${build.work}"/>
<!-- create the main part of helma -->
<antcall target="package-raw">
<param name="distribution" value="main" />
</antcall>
<chmod perm="755">
<fileset dir="${build.work}">
<include name="hop.sh"/>
</fileset>
</chmod>
<!-- checkout the demo apps (and zip manage-app) -->
<antcall target="package-apps" />
<!-- zip up the whole thing -->
<antcall target="package-zip">
<param name="filename" value="${package.name}"/>
</antcall>
<antcall target="package-tgz">
<param name="filename" value="${package.name}"/>
</antcall>
<!-- make the src distributions -->
<antcall target="package-src-zip">
<param name="filename" value="${package.name}"/>
</antcall>
<antcall target="package-src-tgz">
<param name="filename" value="${package.name}"/>
</antcall>
<!-- clean up -->
<delete dir="${build.work}"/>
</target>
<!-- =================================================================== -->
<!-- Compile Helma and prepare the skeleton in a temporary directory. -->
<!-- Used by package and antclick. -->
<!-- =================================================================== -->
<target name="package-raw" depends="init, jar">
<!-- copy the framework (apps.props, server.props, hop/db, hop/static) -->
<copy todir="${build.work}">
<fileset dir="${build.dir}/${distribution}" excludes="**/CVS**"/>
</copy>
<!-- copy the launcher jar file -->
<copy file="${home.dir}/launcher.jar" todir="${build.work}/"/>
<!-- copy README.txt -->
<copy file="${home.dir}/README.txt" todir="${build.work}/"/>
<!-- copy the whole docs-directory -->
<!-- copy todir="${build.work}/docs">
<fileset dir="${build.docs}"/>
</copy -->
<!-- copy all libraries except helma-YYYYMMDD.jar -->
<copy todir="${build.work}/lib">
<fileset dir="${home.dir}/lib">
<exclude name="**/helma*.jar" />
<include name="**/*.jar" />
</fileset>
</copy>
<!-- copy the whole licenses-directory -->
<copy todir="${build.work}/licenses">
<fileset dir="${home.dir}/licenses" excludes="**/CVS**"/>
</copy>
<!-- rename the current jar-file -->
<copy file="${build.lib}/${jar.name}-${DSTAMP}.jar" tofile="${build.work}/lib/helma.jar"/>
<!-- zip the sourcecode -->
<!-- mkdir dir="${build.work}/src"/>
<tar tarfile="${build.work}/src/helma-src.tar" basedir="${build.src}/">
<tarfileset dir="${build.src}">
<include name="${build.src}/**"/>
</tarfileset>
</tar>
<gzip zipfile="${build.work}/src/helma-src.tar.gz" src="${build.work}/src/helma-src.tar"/>
<delete file="${build.work}/src/helma-src.tar"/ -->
</target>
<!-- =================================================================== -->
<!-- Checkout demo apps, put them in work directory and zip manage app -->
<!-- =================================================================== -->
<target name="package-apps" depends="init">
<mkdir dir="${build.work}/apps" />
<!-- get demo apps -->
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="base" dest="${build.work}/apps" />
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="bloggerapi" dest="${build.work}/apps" />
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="himp" dest="${build.work}/apps" />
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="hopblog" dest="${build.work}/apps" />
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="lillebror" dest="${build.work}/apps" />
<antcall target="package-manage" />
<!-- write out apps.properties file -->
<echo file="${build.work}/apps.properties" append="false">
# list of applications to be started by helma
base
base.mountpoint = /
bloggerapi
himp
hopblog
lillebror
manage
</echo>
</target>
<!-- =================================================================== -->
<!-- Checkout and zip manage application -->
<!-- =================================================================== -->
<target name="package-manage" depends="init">
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="manage" dest="${build.work}" />
<mkdir dir="${build.work}/apps/manage"/>
<zip zipfile="${build.work}/apps/manage/manage.zip" basedir="${build.work}/manage/" includes="**" excludes="**/properties,readme/**" />
<copy todir="${build.work}/apps/manage">
<fileset dir="${build.work}/manage" includes="app.properties,class.properties,readme.txt"/>
</copy>
<delete dir="${build.work}/manage" />
</target>
<!-- =================================================================== -->
<!-- Packages the work directory with TAR-GZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-tgz" depends="init">
<mkdir dir="${build.dist}" />
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
<tar tarfile="${build.dist}/${filename}.tar" basedir="${build.work}" excludes="**">
<tarfileset prefix="${filename}" dir="${build.work}" mode="755">
<include name="hop.sh"/>
</tarfileset>
<tarfileset prefix="${filename}" dir="${build.work}">
<include name="**"/>
<exclude name="hop.sh"/>
</tarfileset>
</tar>
<gzip zipfile="${build.dist}/${filename}.tar.gz" src="${build.dist}/${filename}.tar"/>
<delete file="${build.dist}/${filename}.tar"/>
</target>
<!-- =================================================================== -->
<!-- Packages the work directory with ZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-zip" depends="init">
<mkdir dir="${build.dist}" />
<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
<zip zipfile="${build.dist}/${filename}.zip">
<zipfileset dir="${build.work}" prefix="${filename}" includes="**" />
</zip>
</target>
<!-- =================================================================== -->
<!-- Packages Helma src and build directories with TAR-GZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-src-tgz" depends="init">
<mkdir dir="${build.dist}" />
<tar tarfile="${build.dist}/${filename}-src.tar">
<tarfileset prefix="${filename}" dir="${home.dir}"
includes="src/**,build/**,license.txt,licenses/**"/>
</tar>
<gzip zipfile="${build.dist}/${filename}-src.tar.gz" src="${build.dist}/${filename}-src.tar"/>
<delete file="${build.dist}/${filename}-src.tar"/>
</target>
<!-- =================================================================== -->
<!-- Packages Helma src and build directories with ZIP -->
<!-- needs parameter ${filename} for final dist-file -->
<!-- =================================================================== -->
<target name="package-src-zip" depends="init">
<mkdir dir="${build.dist}" />
<zip zipfile="${build.dist}/${filename}-src.zip">
<zipfileset dir="${home.dir}" prefix="${filename}"
includes="src/**,build/**,license.txt,licenses/**" />
</zip>
</target>
<!-- =================================================================== -->
<!-- Make Antclick package (helma plus Antville and manage apps) -->
<!-- =================================================================== -->
<target name="antclick" depends="init">
<mkdir dir="${build.work}"/>
<!-- create the main part of helma -->
<antcall target="package-raw">
<param name="distribution" value="antclick" />
</antcall>
<!-- get antville -->
<mkdir dir="${build.work}/apps" />
<!-- to retrieve special versions of antville insert additional attributes:
tag="TAGNAME", date="1972-09-24" or date="1972-09-24 20:05" -->
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="antville" dest="${build.work}/apps" />
<!-- unzip images -->
<mkdir dir="${build.work}/static/images"/>
<unzip src="${build.work}/apps/antville/images.zip" dest="${build.work}/static/images">
<patternset>
<include name="**"/>
</patternset>
</unzip>
<!-- delete antville's mysql-scripts, image-zip etc -->
<delete>
<fileset dir="${build.work}/apps/antville" includes="images.zip,*.sql" />
</delete>
<!-- get and zip manage-app -->
<antcall target="package-manage" />
<!-- zip up the whole thing -->
<antcall target="package-zip">
<param name="filename" value="${antclick.name}"/>
</antcall>
<antcall target="package-tgz">
<param name="filename" value="${antclick.name}"/>
</antcall>
<!-- clean up -->
<delete dir="${build.work}"/>
</target>
<!-- =================================================================== -->
<!-- Gets an application from the cvs and zips/targzs it -->
<!-- =================================================================== -->
<target name="app" depends="init">
<mkdir dir="${build.dist}" />
<mkdir dir="${build.work}" />
<!-- to retrieve special versions of an application insert
additional attributes: tag="TAGNAME" or date="1972-09-24 20:05" -->
<cvs cvsRoot="${cvs.root.apps}" command="export" tag="HEAD" package="${application}" dest="${build.work}" />
<fixcrlf srcdir="${build.work}" eol="crlf" eof="add" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin, **/*.xml" />
<zip zipfile="${build.dist}/${application}-${DSTAMP}.zip" basedir="${build.work}" includes="**"/>
<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.txt, **/*.properties, **/*.hac, **/*.js, **/*.skin" />
<tar tarfile="${build.dist}/${application}-${DSTAMP}.tar" basedir="${build.work}">
<tarfileset dir="${build.work}">
<include name="${build.work}/**"/>
</tarfileset>
</tar>
<gzip zipfile="${build.dist}/${application}-${DSTAMP}.tar.gz" src="${build.dist}/${application}-${DSTAMP}.tar" />
<delete file="${build.dist}/${application}-${DSTAMP}.tar" />
<delete dir="${build.work}" />
</target>
</project>

Binary file not shown.

Binary file not shown.

View file

@ -1,10 +0,0 @@
# List of apps to start.
base
base.mountpoint = /
manage
himp
bloggerapi
lillebror

View file

@ -1,16 +0,0 @@
# This is where you specify relational data sources to
# map Helma types to relational databases.
#
# If you want to define a data source just for one
# application, simply copy the db.properties file to
# the application directory.
#
# The actual mapping of types is done in the
# type.properties file in the prototype directories.
#
# Properties of JDBC data sources
myDataSource.url = jdbc:mysql://db.domain.com/space
myDataSource.driver = org.gjt.mm.mysql.Driver
myDataSource.user = username
myDataSource.password = xyz

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- printed by helma object publisher -->
<!-- created Fri May 31 16:36:44 CEST 2002 -->
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
<hopobject id="0" name="root" prototype="root" created="1022855750998" lastModified="1022855804064">
<hop:child idref="3" prototyperef="weblogstory"/>
</hopobject>
</xmlroot>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- printed by helma object publisher -->
<!-- created Fri May 31 16:36:30 CEST 2002 -->
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
<hopobject id="1" name="users" prototype="hopobject" created="1022855751010" lastModified="1022855790024">
<helma idref="2" prototyperef="user"/>
</hopobject>
</xmlroot>

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- printed by helma object publisher -->
<!-- created Fri May 31 16:36:30 CEST 2002 -->
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
<hopobject id="2" name="helma" prototype="user" created="1022855790020" lastModified="1022855790025">
<hop:parent idref="1" prototyperef="hopobject"/>
<email>admin@somedomain.at</email>
<password>helma</password>
<name>helma</name>
</hopobject>
</xmlroot>

View file

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- printed by helma object publisher -->
<!-- created Fri May 31 16:36:44 CEST 2002 -->
<xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
<hopobject id="3" name="weblogstory" prototype="weblogstory" created="1022855804062" lastModified="1022855804064">
<hop:parent idref="0" prototyperef="root"/>
<postdate type="date">31.05.2002 16:36:44 CEST</postdate>
<day>2002.05.31</day>
<author idref="2" prototyperef="user"/>
<text>Congratulations! You successfully created your Helma HopBlog!
As a first step you can login to your HopBlog using "helma" as user name and password (certainly without the quotes) and create or edit stories.
Or you set-up HopBlog administration for yourself. You can do this by opening the file app.properties in the apps/hopblog directory of your Helma installation and editing the settings for siteAdmin, adminEmail and smtp.
After that you should register the new administrator as HopBlog user. Simply enter the data you chose for siteAdmin and adminEmail in the appropriate fields of the registration form, fill in the other form fields and submit your data. If you have set a valid e-mail address and smtp server, you should get a message confirming the registration.
Now you can login to your HopBlog using name and password of the newly created user.
Let the fun begin...
:)</text>
<moddate type="date">31.05.2002 16:36:44 CEST</moddate>
</hopobject>
</xmlroot>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- printed by helma object publisher -->
<!-- created Fri May 31 16:36:44 CEST 2002 -->
<xmlroot>
<counter>3</counter>
</xmlroot>

View file

@ -1,79 +0,0 @@
@echo off
rem Batch file for Starting Helma with a JDK-like virtual machine.
rem To add jar files to the classpath, simply place them into the
rem lib/ext directory of this Helma installation.
:: Initialize variables
:: (don't touch this section)
set JAVA_HOME=
set HOP_HOME=
set HTTP_PORT=
set XMLRPC_PORT=
set AJP13_PORT=
set RMI_PORT=
set OPTIONS=
:: Set TCP ports for Helma servers
:: (comment/uncomment to de/activate)
set HTTP_PORT=8080
rem set XMLRPC_PORT=8081
rem set AJP13_PORT=8009
rem set RMI_PORT=5050
:: Uncomment to set HOP_HOME
rem set HOP_HOME=c:\program files\helma
:: Uncomment to set JAVA_HOME variable
rem set JAVA_HOME=c:\program files\java
:: Uncomment to pass options to the Java virtual machine
rem set JAVA_OPTIONS=-server -Xmx128m
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::: No user configuration needed below this line :::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setting the script path
set INSTALL_DIR=%~d0%~p0
:: Using JAVA_HOME variable if defined. Otherwise,
:: Java executable must be contained in PATH variable
if "%JAVA_HOME%"=="" goto default
set JAVACMD=%JAVA_HOME%\bin\java
goto end
:default
set JAVACMD=java
:end
:: Setting HOP_HOME to script path if undefined
if "%HOP_HOME%"=="" (
set HOP_HOME=%INSTALL_DIR%
)
cd %HOP_HOME%
:: Setting Helma server options
if not "%HTTP_PORT%"=="" (
echo Starting HTTP server on port %HTTP_PORT%
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
)
if not "%XMLRPC_PORT%"=="" (
echo Starting XML-RPC server on port %XMLRPC_PORT%
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
)
if not "%AJP13_PORT%"=="" (
echo Starting AJP13 listener on port %AJP13_PORT%
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
)
if not "%RMI_PORT%"=="" (
echo Starting RMI server on port %RMI_PORT%
set OPTIONS=%OPTIONS% -p %RMI_PORT%
)
if not "%HOP_HOME%"=="" (
echo Serving applications from %HOP_HOME%
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
)
:: Invoking the Java virtual machine
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%

View file

@ -1,73 +0,0 @@
#!/bin/sh
# Shell script for starting Helma with a JDK-like virtual machine.
# To add JAR files to the classpath, simply place them into the
# lib/ext directory.
# uncomment to set JAVA_HOME variable
# JAVA_HOME=/usr/lib/java
# uncomment to set HOP_HOME, otherwise we get it from the script path
# HOP_HOME=/usr/local/helma
# options to pass to the Java virtual machine
# JAVA_OPTIONS="-server -Xmx128m"
# Set TCP ports for Helma servers
# (comment/uncomment to de/activate)
HTTP_PORT=8080
# XMLRPC_PORT=8081
# AJP13_PORT=8009
# RMI_PORT=5050
###########################################################
###### No user configuration needed below this line #######
###########################################################
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
# must be contained in PATH variable.
if [ "$JAVA_HOME" ]; then
JAVACMD="$JAVA_HOME/bin/java"
else
JAVACMD=java
fi
# Get the Helma installation directory
INSTALL_DIR="${0%/*}"
cd $INSTALL_DIR
INSTALL_DIR=$PWD
# get HOP_HOME variable if it isn't set
if test -z "$HOP_HOME"; then
# try to get HOP_HOME from script file and pwd
# strip everyting behind last slash
HOP_HOME="${0%/*}"
cd $HOP_HOME
HOP_HOME=$PWD
else
cd $HOP_HOME
fi
echo "Starting Helma in directory $HOP_HOME"
if [ "$HTTP_PORT" ]; then
SWITCHES="$SWITCHES -w $HTTP_PORT"
echo Starting HTTP server on port $HTTP_PORT
fi
if [ "$XMLRPC_PORT" ]; then
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
echo Starting XML-RPC server on port $XMLRPC_PORT
fi
if [ "$AJP13_PORT" ]; then
SWITCHES="$SWITCHES -jk $AJP13_PORT"
echo Starting AJP13 listener on port $AJP13_PORT
fi
if [ "$RMI_PORT" ]; then
SWITCHES="$SWITCHES -p $RMI_PORT"
echo Starting RMI server on port $RMI_PORT
fi
if [ "$HOP_HOME" ]; then
SWITCHES="$SWITCHES -h $HOP_HOME"
fi
# Invoke the Java VM
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES

View file

@ -1,49 +0,0 @@
Copyright (c) 1999-2002 Helma Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Products derived from this software may not be called "Helma"
or "Hop", nor may "Helma" or "Hop" appear in their name, without
prior written permission of the Helma Project Group. For written
permission, please contact helma@helma.org.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE HELMA PROJECT OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
This product contains the FESI EcmaScript interpreter written by
Jean-Marc Lugrin (http://home.worldcom.ch/jmlugrin/fesi/). FESI is
released under the GNU Lesser General Public License (see licenses/lesser.txt).
This product contains software from the Acme package written by Jef
Poskanzer. Please see the licensing terms in the Acme source code and check out
Jef's site at http://www.acme.com/.
This product includes software developed by the Apache Software Foundation
released under the Apache Software License (licenses/apache.txt).
This product includes software developed by the JDOM Project
(http://www.jdom.org/). Please see the licensing terms in licenses/jdom.txt
This product includes software developed by the Word Wide Web Consortium
(http://www.w3c.org/). Please see the licensing terms in licenses/w3c.html.

View file

@ -1,27 +0,0 @@
# The SMTP server to use for sending mails. Set and
# uncomment this line before trying to send mails from
# Helma applications.
#
# smtp=mail.yourdomain.com
# Some examples for server-wide locale settings
# (please refer to http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
# for country codes, resp. http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
# for language codes).
#
# country = AT
# language = de
#
# country = UK
# language = en
#
# country = FR
# language = fr
#
# country = CZ
# language = cs
# list ip addresses for admin-application here:
allowAdmin=127.0.0.1, 192.168.0.1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

52
cliff.toml Normal file
View file

@ -0,0 +1,52 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[changelog]
trim = true
header = "## Changes"
body = """
{% for group, commits in commits | filter(attribute="merge_commit") | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
* [<tt>{{ commit.id | split(pat="") | slice(end=11) | join() }}</tt>]\
(https://code.host.antville.org/antville/helma/commit/{{ commit.id }}) \
{% if commit.breaking %}**Breaking:** {% endif %}\
{{ commit.message | split(pat="\\n") | first | upper_first | escape }}\
{% endfor %}
{% endfor %}
**Full Changelog:** [{{ previous.version }} {{ version }}]\
(https://code.host.antville.org/antville/helma/compare/\
{{ previous.version | urlencode }}..{{ version | urlencode }})\n\n
"""
footer = """
Generated by [git-cliff](https://git-cliff.org/).
"""
[git]
conventional_commits = false
filter_commits = false
filter_unconventional = false
protect_breaking_commits = false
sort_commits = "newest"
split_commits = false
topo_order = false
commit_parsers = [
{ message = "^Apply \\d+ suggestion", skip = true },
{ message = "^Merge .*(branch|dependabot|dependency|renovate)", skip = true },
{ message = "^Lock file maintenance", skip = true },
{ message = "yarn\\.lock", skip = true },
{ message = "^[Ff]ix", group = "<!-- 0 --> 🐛 Bug Fixes" },
{ field = "author.name", pattern = "[Rr]enovate|[Dd]ependabot", group = "<!-- 3 --> 📦 Dependency Updates" },
{ message = "^Merge pull request", group = "<!-- 1 --> 🔀 Merges" },
{ message = ".*", group = "<!-- 2 --> Uncategorized" },
]

View file

@ -1,6 +0,0 @@
cd build
./build.sh jar
cd ..
mv lib/helma-* lib/helma.jar
./hop.sh

File diff suppressed because it is too large Load diff

3
gradle.properties Normal file
View file

@ -0,0 +1,3 @@
org.gradle.console = plain
function =

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View file

@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

251
gradlew vendored Executable file
View file

@ -0,0 +1,251 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed 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
#
# https://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.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

94
gradlew.bat vendored Normal file
View file

@ -0,0 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

79
hop.bat
View file

@ -1,79 +0,0 @@
@echo off
rem Batch file for Starting Helma with a JDK-like virtual machine.
rem To add jar files to the classpath, simply place them into the
rem lib/ext directory of this Helma installation.
:: Initialize variables
:: (don't touch this section)
set JAVA_HOME=
set HOP_HOME=
set HTTP_PORT=
set XMLRPC_PORT=
set AJP13_PORT=
set RMI_PORT=
set OPTIONS=
:: Set TCP ports for Helma servers
:: (comment/uncomment to de/activate)
set HTTP_PORT=8080
rem set XMLRPC_PORT=8081
rem set AJP13_PORT=8009
rem set RMI_PORT=5050
:: Uncomment to set HOP_HOME
rem set HOP_HOME=c:\program files\helma
:: Uncomment to set JAVA_HOME variable
rem set JAVA_HOME=c:\program files\java
:: Uncomment to pass options to the Java virtual machine
rem set JAVA_OPTIONS=-server -Xmx128m
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::: No user configuration needed below this line :::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setting the script path
set INSTALL_DIR=%~d0%~p0
:: Using JAVA_HOME variable if defined. Otherwise,
:: Java executable must be contained in PATH variable
if "%JAVA_HOME%"=="" goto default
set JAVACMD=%JAVA_HOME%\bin\java
goto end
:default
set JAVACMD=java
:end
:: Setting HOP_HOME to script path if undefined
if "%HOP_HOME%"=="" (
set HOP_HOME=%INSTALL_DIR%
)
cd %HOP_HOME%
:: Setting Helma server options
if not "%HTTP_PORT%"=="" (
echo Starting HTTP server on port %HTTP_PORT%
set OPTIONS=%OPTIONS% -w %HTTP_PORT%
)
if not "%XMLRPC_PORT%"=="" (
echo Starting XML-RPC server on port %XMLRPC_PORT%
set OPTIONS=%OPTIONS% -x %XMLRPC_PORT%
)
if not "%AJP13_PORT%"=="" (
echo Starting AJP13 listener on port %AJP13_PORT%
set OPTIONS=%OPTIONS% -jk %AJP13_PORT%
)
if not "%RMI_PORT%"=="" (
echo Starting RMI server on port %RMI_PORT%
set OPTIONS=%OPTIONS% -p %RMI_PORT%
)
if not "%HOP_HOME%"=="" (
echo Serving applications from %HOP_HOME%
set OPTIONS=%OPTIONS% -h "%HOP_HOME%
)
:: Invoking the Java virtual machine
%JAVACMD% %JAVA_OPTIONS% -jar "%INSTALL_DIR%\launcher.jar" %OPTIONS%

73
hop.sh
View file

@ -1,73 +0,0 @@
#!/bin/sh
# Shell script for starting Helma with a JDK-like virtual machine.
# To add JAR files to the classpath, simply place them into the
# lib/ext directory.
# uncomment to set JAVA_HOME variable
# JAVA_HOME=/usr/lib/java
# uncomment to set HOP_HOME, otherwise we get it from the script path
# HOP_HOME=/usr/local/helma
# options to pass to the Java virtual machine
# JAVA_OPTIONS="-server -Xmx128m"
# Set TCP ports for Helma servers
# (comment/uncomment to de/activate)
HTTP_PORT=8080
# XMLRPC_PORT=8081
# AJP13_PORT=8009
# RMI_PORT=5050
###########################################################
###### No user configuration needed below this line #######
###########################################################
# if JAVA_HOME variable is set, use it. Otherwise, Java executable
# must be contained in PATH variable.
if [ "$JAVA_HOME" ]; then
JAVACMD="$JAVA_HOME/bin/java"
else
JAVACMD=java
fi
# Get the Helma installation directory
INSTALL_DIR="${0%/*}"
cd $INSTALL_DIR
INSTALL_DIR=$PWD
# get HOP_HOME variable if it isn't set
if test -z "$HOP_HOME"; then
# try to get HOP_HOME from script file and pwd
# strip everyting behind last slash
HOP_HOME="${0%/*}"
cd $HOP_HOME
HOP_HOME=$PWD
else
cd $HOP_HOME
fi
echo "Starting Helma in directory $HOP_HOME"
if [ "$HTTP_PORT" ]; then
SWITCHES="$SWITCHES -w $HTTP_PORT"
echo Starting HTTP server on port $HTTP_PORT
fi
if [ "$XMLRPC_PORT" ]; then
SWITCHES="$SWITCHES -x $XMLRPC_PORT"
echo Starting XML-RPC server on port $XMLRPC_PORT
fi
if [ "$AJP13_PORT" ]; then
SWITCHES="$SWITCHES -jk $AJP13_PORT"
echo Starting AJP13 listener on port $AJP13_PORT
fi
if [ "$RMI_PORT" ]; then
SWITCHES="$SWITCHES -p $RMI_PORT"
echo Starting RMI server on port $RMI_PORT
fi
if [ "$HOP_HOME" ]; then
SWITCHES="$SWITCHES -h $HOP_HOME"
fi
# Invoke the Java VM
$JAVACMD $JAVA_OPTIONS -jar "$INSTALL_DIR/launcher.jar" $SWITCHES

5
launcher/build.gradle Normal file
View file

@ -0,0 +1,5 @@
jar {
manifest {
from 'src/main/java/helma/main/launcher/manifest.txt'
}
}

View file

@ -0,0 +1,59 @@
/*
* Helma License Notice
*
* The contents of this file are subject to the Helma License
* Version 2.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://adele.helma.org/download/helma/license.txt
*
* Copyright 1998-2003 Helma Software. All Rights Reserved.
*
* $RCSfile$
* $Author$
* $Revision$
* $Date$
*/
package helma.main.launcher;
import java.lang.reflect.*;
/**
* Helma bootstrap class. Figures out Helma home directory, sets up class path and
* lauchnes main class. This class must be invoked from a jar file in order to work.
*
* @author Stefan Pollach
*/
public class Commandline {
/**
* boot method for running a request from the command line.
* This retrieves the Helma home directory, creates the
* classpath, get the request properties, creates the app and
* runs it
*-
* @param args command line arguments
*/
public static void main(String[] args) {
try {
String installDir = Main.getInstallDir(args);
ClassLoader loader = Main.createClassLoader(installDir);
// get the main server class
Class clazz = loader.loadClass("helma.main.CommandlineRunner");
Class[] cargs = new Class[]{args.getClass()};
Method main = clazz.getMethod("main", cargs);
Object[] nargs = new Object[]{args};
// and invoke the static main(String, String[]) method
main.invoke(null, nargs);
} catch (Exception x) {
// unable to get Helma installation dir from launcher jar
x.printStackTrace();
System.err.println("Unable to get Helma installation directory: ");
System.err.println(x.getMessage());
System.exit(2);
}
}
}

View file

@ -0,0 +1,234 @@
/*
* Helma License Notice
*
* The contents of this file are subject to the Helma License
* Version 2.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://adele.helma.org/download/helma/license.txt
*
* Copyright 1998-2003 Helma Software. All Rights Reserved.
*
* $RCSfile$
* $Author$
* $Revision$
* $Date$
*/
package helma.main.launcher;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLDecoder;
import java.net.MalformedURLException;
import java.util.ArrayList;
/**
* Helma bootstrap class. Basically this is a convenience wrapper that takes over
* the job of setting the class path and helma install directory before launching
* the static main(String[]) method in <code>helma.main.Server</code>. This class
* should be invoked from a jar file in the Helma install directory in order to
* be able to set up class and install paths.
*/
public class Main {
private Class serverClass;
private Object server;
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
/**
* Helma boot method. This retrieves the Helma home directory, creates the
* classpath and invokes main() in helma.main.Server.
*
* @param args command line arguments
*
*/
public static void main(String[] args) {
Main main = new Main();
main.init(args);
main.start();
}
public void init(String[] args) {
try {
String installDir = getInstallDir(args);
ClassLoader loader = createClassLoader(installDir);
// get the main server class
serverClass = loader.loadClass("helma.main.Server");
Class[] cargs = new Class[]{args.getClass()};
Method loadServer = serverClass.getMethod("loadServer", cargs);
Object[] nargs = new Object[]{args};
// and invoke the static loadServer(String[]) method
server = loadServer.invoke(null, nargs);
Method init = serverClass.getMethod("init", EMPTY_CLASS_ARRAY);
init.invoke(server, EMPTY_OBJECT_ARRAY);
} catch (Exception x) {
// unable to get Helma installation dir from launcher jar
System.err.println("Unable to load Helma: ");
x.printStackTrace();
System.exit(2);
}
}
public void start() {
try {
Method start = serverClass.getMethod("start", EMPTY_CLASS_ARRAY);
start.invoke(server, EMPTY_OBJECT_ARRAY);
} catch (Exception x) {
// unable to get Helma installation dir from launcher jar
System.err.println("Unable to start Helma: ");
x.printStackTrace();
System.exit(2);
}
}
public void stop() {
try {
Method start = serverClass.getMethod("stop", EMPTY_CLASS_ARRAY);
start.invoke(server, EMPTY_OBJECT_ARRAY);
} catch (Exception x) {
// unable to get Helma installation dir from launcher jar
System.err.println("Unable to stop Helma: ");
x.printStackTrace();
System.exit(2);
}
}
public void destroy() {
try {
Method start = serverClass.getMethod("shutdown", EMPTY_CLASS_ARRAY);
start.invoke(server, EMPTY_OBJECT_ARRAY);
} catch (Exception x) {
// unable to get Helma installation dir from launcher jar
System.err.println("Unable to shutdown Helma: ");
x.printStackTrace();
System.exit(2);
}
}
static void addJars(ArrayList jarlist, File dir) throws MalformedURLException {
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
String n = name.toLowerCase();
return n.endsWith(".jar") || n.endsWith(".zip"); //$NON-NLS-1$//$NON-NLS-2$
}
});
if (files != null) {
for (int i = 0; i < files.length; i++) {
jarlist.add(new URL("file:" + files[i].getAbsolutePath())); //$NON-NLS-1$
}
}
}
/**
* Create a server-wide ClassLoader from our install directory.
* This will be used as parent ClassLoader for all application
* ClassLoaders.
*
* @param installDir
* @return the main classloader we'll be using
* @throws MalformedURLException
*/
public static ClassLoader createClassLoader(String installDir)
throws MalformedURLException, UnsupportedEncodingException {
// decode installDir in case it is URL-encoded
installDir = URLDecoder.decode(installDir, System.getProperty("helma.urlEncoding", "UTF-8"));
// set up the class path
File libdir = new File(installDir, "lib");
ArrayList jarlist = new ArrayList();
// add all jar files from the lib directory
addJars(jarlist, libdir);
// add all jar files from the lib/ext directory
addJars(jarlist, new File(libdir, "ext")); //$NON-NLS-1$
URL[] urls = new URL[jarlist.size()];
jarlist.toArray(urls);
// find out if system classes should be excluded from class path
String excludeSystemClasses = System.getProperty("helma.excludeSystemClasses");
ClassLoader loader;
if ("true".equalsIgnoreCase(excludeSystemClasses)) {
loader = new URLClassLoader(urls, null);
} else {
loader = new URLClassLoader(urls);
}
// set the new class loader as context class loader
Thread.currentThread().setContextClassLoader(loader);
return loader;
}
/**
* Get the Helma install directory from the command line -i argument or
* from the Jar URL from which this class was loaded. Additionally, the
* System property "helma.home" is set to the install directory path.
*
* @param args
* @return the base install directory we're running in
* @throws IOException
* @throws MalformedURLException
*/
public static String getInstallDir(String[] args)
throws IOException, MalformedURLException {
// check if home directory is set via command line arg. If not,
// we'll get it from the location of the jar file this class
// has been loaded from.
String installDir = null;
// first, try to get helma home dir from command line options
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-i") && ((i + 1) < args.length)) {
installDir = args[i + 1];
}
}
// try to get Helma installation directory
if (installDir == null) {
URL launcherUrl = ClassLoader.getSystemClassLoader()
.getResource("helma/main/launcher/Main.class"); //$NON-NLS-1$
// this is a JAR URL of the form
// jar:<url>!/{entry}
// we strip away the jar: prefix and the !/{entry} suffix
// to get the original jar file URL
String jarUrl = launcherUrl.toString();
if (!jarUrl.startsWith("jar:") || jarUrl.indexOf("!") < 0) {
installDir = System.getProperty("user.dir");
System.err.println("Warning: Helma install dir not set by -i parameter ");
System.err.println(" and not started from launcher.jar. Using ");
System.err.println(" current working directory as install dir.");
} else {
jarUrl = jarUrl.substring(4);
int excl = jarUrl.indexOf("!");
jarUrl = jarUrl.substring(0, excl);
launcherUrl = new URL(jarUrl);
File f = new File(launcherUrl.getPath()).getAbsoluteFile();
installDir = f.getParentFile().getCanonicalPath();
}
}
// set System property
System.setProperty("helma.home", installDir);
// and return install dir
return installDir;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
lib/ext/.keep Normal file
View file

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more