Skip to content

Commit

Permalink
Merge branch 'master' into turbo
Browse files Browse the repository at this point in the history
  • Loading branch information
Johan Brichau committed Aug 28, 2023
2 parents 22b5cd1 + 2cdca05 commit f1be9fe
Show file tree
Hide file tree
Showing 185 changed files with 894 additions and 325 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, Pharo-6.1, GemStone64-3.6.5, GemStone64-3.5.5, GemStone64-3.4.5, GemStone64-3.3.9, GemStone64-3.2.17, GemStone64-3.1.0.6 ]
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.6.5, GemStone64-3.5.7 ]
experimental: [ false ]
include:
- smalltalk: Pharo64-11
- smalltalk: Pharo64-12
experimental: true
- smalltalk: Squeak64-5.3
experimental: true
Expand All @@ -26,7 +26,6 @@ jobs:
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
smalltalkCI-source: 'jbrichau/smalltalkCI'
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
- name: Install Chrome
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Please take the time to add comments and tests and provide a description of the

We have fairly detailed [coding conventions](https://github.com/SeasideSt/Seaside/wiki/Coding-Conventions) to help maintain portability. Please read through them to make the job of porting Seaside to other Smalltalk dialects not unnecessarily complex and to maintain a consistent coding style.

We have set-up automated [Travis-CI tests](https://travis-ci.org/SeasideSt/Seaside), which will be automatically executed when you submit the pull request. You can run them in your own fork before submitting the pull request, and you can even run them locally. See the [Smalltalk-CI](https://github.com/hpi-swa/smalltalkCI) project for all details.
We have set-up GitHub actions for continuous integration testing, which will be automatically executed when you submit the pull request. You can run them in your own fork before submitting the pull request, and you can even run them locally. See the [Smalltalk-CI](https://github.com/hpi-swa/smalltalkCI) project for all details.

All Seaside code is licensed under the MIT License and, by submitting code to the project, you are agreeing to provide your code under this license. Before submitting, please also ensure that you have the legal rights to license the code you are submitting; in many areas, your employer may own the rights to code you create even in your spare time.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
baselines
baselinegettext: spec
spec
for: #(#'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'gemstone')
for: #(#'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x' #'gemstone')
do: [
spec
package: 'Seaside-Gettext-Core'
Expand All @@ -18,7 +18,7 @@ baselinegettext: spec
with: #('Seaside-Gettext' 'Seaside-Gettext-Examples');
group: 'Tests' with: #('Seaside-Tests-Gettext-Core' 'Gettext-Examples') ].
spec
for: #(#'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x')
for: #(#'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x')
do: [
spec
package: 'Seaside-Pharo-Gettext-Core';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ baselinejavascript: spec
package: 'Javascript-Core'
with: [ spec includes: #('Javascript-GemStone-Core') ];
package: 'Javascript-GemStone-Core'
with: [ spec requires: #('Javascript-Core') ] ].
with: [ spec requires: #('Javascript-Core') ] ].
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,6 @@ baselinejson: spec
package: 'Seaside-Tests-Pharo-JSON-Core' with: [
spec requires: #('Seaside-Tests-JSON') ] ].

spec for: #'pharo7.x' do: [
spec
package: 'Seaside-Pharo70-JSON-Extensions' with: [ spec requires: #('Seaside-JSON-Core') ];
package: 'Seaside-Pharo-JSON-Core' with: [ spec includes: #('Seaside-Pharo70-JSON-Extensions') ];
package: 'Seaside-Tests-Pharo70-JSON-Extensions'with: [ spec requires: #('Seaside-Tests-JSON') ];
package: 'Seaside-Tests-Pharo-JSON-Core' with: [ spec includes: #('Seaside-Tests-Pharo70-JSON-Extensions') ] ].

spec
for: #'gemstone'
do: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ baselinepharo: spec
package: 'Seaside-Pharo-Tools-Spec2' with: [ spec requires: #('Seaside-Tools-Core') ] ].

spec
for: #(#'pharo10.x' #'pharo11.x')
for: #(#'pharo10.x' #'pharo11.x' #'pharo12.x')
do: [ spec
package: 'Seaside-Tools-Core' with: [ spec includes: #('Seaside-Pharo100-Tools-Spec2') ];
package: 'Seaside-Pharo100-Tools-Spec2' with: [ spec requires: #('Seaside-Tools-Core') ] ]
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ baselinerest: spec
].

spec
for: #('pharo9.x' 'pharo10.x' 'pharo11.x')
for: #('pharo9.x' 'pharo10.x' 'pharo11.x' 'pharo12.x')
do:[
spec
package: 'Seaside-Pharo90-REST-Core';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
rendering
renderContentOn: html
html label
for: html nextId;
with: 'Type a Seaside package name:'.
html break.
html textInput
id: html lastId;
script: (html jQuery this autocomplete
sourceCallback: [ :term | self packageNamesFor: term ])

| showId |
showId := html nextId.

html paragraph: [
html label
for: html nextId;
with: 'Type a Seaside package name (no callback):'.
html break.
html textInput
id: html lastId;
script: (html jQuery this autocomplete sourceCallback: [ :term |
self packageNamesFor: term ]) ].

html paragraph: [
html label
for: html nextId;
with: 'Type a Seaside package name (with callback):'.
html break.
html textInput
id: html lastId;
script: (html jQuery this autocomplete
search: [ :term | self packageNamesFor: term ]
labels: [ :packagename | packagename ]
callback: [ :val :s |
selectedPackageName := val.
s << (s jQuery id: showId) html: [ :r | self renderSelectedPackageNameOn: r ] ]).
html break.
html div
id: showId;
with: [ self renderSelectedPackageNameOn: html ] ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
rendering
renderSelectedPackageNameOn: html

html text: (selectedPackageName
ifNil: [ 'No package name selected' ]
ifNotNil: [ selectedPackageName , ' was selected' ])
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
"pools" : [ ],
"classvars" : [ ],
"instvars" : [
"packages"
"packages",
"selectedPackageName"
],
"name" : "JQAutocompleteFunctionalTest",
"type" : "normal"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
convenience
search: aSearchBlock callback: aCallbackBlock

self search: aSearchBlock labels: [ :each | each greaseString ] callback: aCallbackBlock
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@ search: aSearchBlock labels: aLabelsBlock callback: aCallbackBlock

| term mapping |
mapping := IdentityDictionary new.
"assigments to temps don't work in GS 2.4'
"Use a WAValueHolder because assigments to temps don't work in GemStone.
http://code.google.com/p/glassdb/issues/detail?id=221"
term := WAValueHolder new.
self source: ((self jQuery getJson
callback: [ :value | term contents: value ]
value: (JSStream on: 'request.term');
text: [ :stream |
stream json: ((aSearchBlock value: term contents) asArray collect: [ :object |
GRSmallDictionary2 new
at: 'label' put: (aLabelsBlock value: object);
at: 'index' put: (mapping at: object ifAbsentPut: [ mapping size + 1 ]);
yourself ]) ];
json: [ :json |
json array: [
(aSearchBlock value: term contents) do: [ :object |
json object: [
json
key: 'label' value: (aLabelsBlock value: object);
key: 'index' value: (mapping at: object ifAbsentPut: [ mapping size + 1 ]) ] ] ] ];
onSuccess: 'response(arguments[0])';
dataType: 'jsonp') asFunction: #('request' 'response')).
self onSelect: ((self jQuery ajax
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sourceCallback: aOneArgumentBlock
http://code.google.com/p/glassdb/issues/detail?id=152"
term := WAValueHolder new.
self source: ((self jQuery getJson
json: [ :stream | stream value: (aOneArgumentBlock value: term contents) ];
json: [ :json | json value: (aOneArgumentBlock value: term contents) ];
callback: [ :value | term contents: value ] value: (JSStream on: 'request.term');
onSuccess: 'response(arguments[0])';
dataType: 'jsonp') asFunction: #('request' 'response'))

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
configuring
beDefault
"Set an instance of receiver to be the default Server Manager."

self setDefault: self new
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
accessing
default
default contents ifNil: [ default contents: self new ].
^ default contents

self ensureDefaultValueHolder.
Default contents ifNil: [ Default contents: self new ].
^ Default contents
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class initialization
ensureDefaultValueHolder
Default isNil ifTrue: [
Default := GRPlatform current newTransientValueHolder ]
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
class initialization
initialize
self initializeDefaultValueHolder.
self ensureDefaultValueHolder.
GRPlatform current
addToStartUpList: self;
addToShutDownList: self

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
configuring
setDefault: aWAServerManager
"Private - Sets aWAServerManager as the default instance of receiver."

self ensureDefaultValueHolder.
Default contents: aWAServerManager.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"commentStamp" : "TorstenBergmann 9/18/2021 23:06",
"super" : "WAObject",
"category" : "Seaside-Core-Server",
"classinstvars" : [
"default"
],
"classinstvars" : [ ],
"pools" : [ ],
"classvars" : [ ],
"classvars" : [
"Default"
],
"instvars" : [
"adaptors"
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*seaside-gemstone-core
nonImplementedSelectorsSeasideCore
^ #(#'javascript:' #'internalServerErrorMessage:') "WAScriptGenerator>>writeLoadScriptsOn: is the bad boy for javascript: and GRGemStonePlatform>>seasideProcessRequest:adaptor:resultBlock: is bad boy for internalServerErrorMessage:"
^ #(#'javascript:' #'internalServerErrorMessage:' #array: #'_continue') "WAScriptGenerator>>writeLoadScriptsOn: is the bad boy for javascript:
GRGemStonePlatform>>seasideProcessRequest:adaptor:resultBlock: is bad boy for internalServerErrorMessage:
JQJsonFunctionalTest>>seasidePackagesOn: is bad boy for array:
WARemoteDebuggingWalkback>>resumeContinuation is bad boy for _continue (https://github.com/SeasideSt/Seaside/issues/1355)"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
processing
handleFiltered: aRequestContext
| size item |

item := WAObjectsReadItem request: aRequestContext request copy.
item start: DateAndTime now truncated.
System _enableTraceObjectsRead.
[ super handleFiltered: aRequestContext ]
ensure: [
size := System _disableTraceObjectsRead.
item
end: DateAndTime now truncated;
size: size;
objectsRead: (System _hiddenSetAsArray: 5).
items := items copyWith: item ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
accessing
items
^ items
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
processing
reset
items := Array new
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"category" : "Seaside-GemStone-Development-Core",
"classinstvars" : [
],
"classvars" : [
],
"commentStamp" : "JohanBrichau 06/07/2023 20:05",
"instvars" : [
"items" ],
"name" : "WAObjectsReadFilter",
"pools" : [
],
"super" : "WARequestFilter",
"type" : "normal" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
instance creation
request: aRequest
^ self basicNew initializeOn: aRequest; yourself
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
end: aDateAndTime

end := aDateAndTime
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
end

^ end
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
initialization
initializeOn: aRequest
self initialize.
request := aRequest
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
updating
objectsRead: newValue

"Modify the value of the instance variable 'objectsRead'."
objectsRead := newValue
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
accessing
objectsRead

"Return the value of the instance variable 'objectsRead'."
^objectsRead
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
as yet unclassified
report

| objects |

objects := (objectsRead groupBy:[:e | e class ] having:[:e | true ]) associations sorted:[:a :b | a value size > b value size ].
^ String streamContents:[:str |
objects do:[:assoc |
str
nextPutAll: assoc key name;
nextPutAll: '->';
nextPutAll: assoc value size asString;
cr ] ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
updating
request: newValue

"Modify the value of the instance variable 'request'."
request := newValue
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
accessing
request

"Return the value of the instance variable 'request'."
^request
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
updating
size: newValue

"Modify the value of the instance variable 'size'."
size := newValue
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
accessing
size

"Return the value of the instance variable 'size'."
^size
Loading

0 comments on commit f1be9fe

Please sign in to comment.