GemTalk / JadeiteForPharo

IDE for GemStone Smalltalk application development in Pharo using Rowan code management
MIT License
0 stars 0 forks source link

Refactor JadeiteGCIConnectionProfile so that it can be shared with GsDevKit_stones ... #96

Open dalehenrich opened 5 months ago

dalehenrich commented 5 months ago

It would be convenient to be able to have GsDevKit_stones generate a JadeiteGCIConnectionProfile when a stone Rowan3 stone is created to save the user from having to manually fill out the fields in a connection profile by copying the values from the GDKStoneSpec:

GDKStoneSpec {
    #name : 'rowan_dev_i',
    #parentRegistryName : '37x',
    #parentRegistryPath : '$STONES_DATA_HOME/gsdevkit_stones/registry/37x.ston',
    #root : '/bosch1/users/dhenrich/_stones/37x/stones/rowan_dev_i',
    #stoneHost : 'bosch',
    #stoneName : 'rowan_dev_i',
    #gemHost : 'bosch',
    #gemTask : 'gemnetobject',
    #userId : 'SystemUser',
    #password : 'swordfish',
    #stoneDirectorySpecName : 'minimal_rowan',
    #stoneDirectorySpec : GDKrowanStoneDirectorySpec {
        #name : 'minimal_rowan',
        #dbfSource : '$GEMSTONE/bin/extent0.rowan.dbf',
        #bin : 'bin',
        #logs : 'logs',
        #netldiPort : 38601,
        #customenv : {
            'stone_dir' : '/bosch1/users/dhenrich/_stones/37x/stones/rowan_dev_i',
            'STONES_DATA_HOME' : '/bosch1/users/dhenrich/gsdevkit_stones_REGISTRY',
            'GEMSTONE' : '/bosch1/users/dhenrich/_stones/37x//i_37x/noop50/gs/product',
            'ROWAN_PROJECTS_HOME' : '/bosch1/users/dhenrich/_stones/37x//i_37x_externals_st',
            'ARCHBASE' : '/bosch1/users/dhenrich/_stones/37x//i_37x',
            'GDK_stones_projects' : '/bosch1/users/dhenrich/_stones/37x/i_37x_externals_st',
            'l2tests' : '/bosch1/users/dhenrich/_stones/37x//i_37x/tests',
            'ROWAN_PROJECTS_SANDBOX' : '/bosch1/users/dhenrich/_stones/37x/stones/rowan_dev_i/bin/../sandbox'
        },
        #userId : 'SystemUser'
    },
    #gemstoneVersionString : '3.7.2_i'
}

We'd just need to refactor the JadeiteGCIConnectionProfile so that the state and setters/getters were in a JadeiteGCISessionDescription class and move the class into a separate package, so that GsDevKit_stones could load the class, GsDevKit_stones could generate JadeiteGCISessionDescription when the stone was created and no manual operations would be required ...