7 Replies Latest reply on Apr 2, 2007 1:21 AM by sushmu

    seam-gen for a multi-user (server) environment on multiple p

    sushmu Newbie
        • 1. Re: seam-gen for a multi-user (server) environment on multip
          sushmu Newbie

          This is coming in handy in testing multiple seam deployments at once like

          seam -Dproject.name=project1 explode
          seam -Dproject.name=project2 explode restart
          seam -Dproject.name=project3 unexplode

          etc.,

          • 2. Re: seam-gen for a multi-user (server) environment on multip
            sushmu Newbie

            A further improvement can be to store the project specific seam build.properties in the respective project itself.

            currently we are storing it in the user home directory which is fine, but keeping the seam project build.properties in the project makes more sense.

            Any thoughts?

            • 3. Re: seam-gen for a multi-user (server) environment on multip
              Max Rydahl Andersen Master

              afaik the only reason the settings are stored in seam-gen is so seam can be called easily without arguments.

              I could imagine storing the "project location" in ${user.home}/.seam-gen and keep all project info in the actual project instead of in seam-gen directory.

              And then have a seam switch command to toggle the current project.

              • 4. Re: seam-gen for a multi-user (server) environment on multip
                sushmu Newbie

                Max,

                The current seam-gen behaviour is unchanged and acts exactly the same way as before.

                The hack provides the following improvement:

                1. Every seam project gets its own build.properties (currently stored in user home, can be changed to project itself)

                Why is this useful?

                As said in the google discussion group, now seam-gen can be stored in a shared server environment and all users can work with their own project without any conflicts.

                The command line switch "-Dproject.name" comes into play only when you want to run a particular project and the not the last project that seam-gen was configured for. (again mostly in shared environment, users need to use this switch to run their project and not someone else :)

                • 5. Re: seam-gen for a multi-user (server) environment on multip
                  Michael Yuan Novice

                  I think sushmu's solution is actually pretty good. It provides multi-project support without breaking any existing behavior.

                  BTW, Max, I think multi-project support is going to be pretty important for IDE integration: If the IDE opens multiple Seam-Gen projects, it would be nice if the "generate-entities", "new-action" commands only affects the currently open project ... What do you think?

                  I can apply the patch if you guys think this is a good idea. Thanks.

                  • 6. Re: seam-gen for a multi-user (server) environment on multip
                    Max Rydahl Andersen Master

                    I personally think project settings should be stored in the project it self. The only thing that should be some where different is the "default seam project".

                    Michael, with respect to IDE behavior there is alot of things in seam-gen that doesn't fit very well with most IDE's out there - this is one of the issues.

                    • 7. Re: seam-gen for a multi-user (server) environment on multip
                      sushmu Newbie

                      I agree with michael. Multi project support, in a multi user environment is critical for the mass adoption of seam-gen in organizations. I'm still in the ant world, but i guess we can do something like "maven" to keep all the common artifacts in a central location and project specific artifacts in the project.

                      IDE integration can start by doing some folder reorganization and follow existing j2ee standards.

                      +1 for patch :)