Commit Graph

5110 Commits

Author SHA1 Message Date
Michael Bayne bf77cb1520 Moved location services implementation into LocationManager so that
LocationProvider can be an interface like its brothers and sisters.

Modified the place registry to create PlaceManager instances using the injector
so that we can inject dependencies into managers. Also modified the custom
classloader functionality so that it can/will circumvent this process
entirely. It's not possible to inject using a custom classloader and one
certainly would not want to do so.

Unfortunately this means we can't inject some basic managers into PlaceManager
because it needs to work for games loaded into a sandboxed classloader, but the
big win is that in everything other than GameManager and PlaceManager, we can
inject to our heart's content.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5168 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 17:18:26 +00:00
Michael Bayne cfc240fa9c Wait scratch that. I'm apparently feeling schizophrenic.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5167 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 15:21:08 +00:00
Michael Bayne f8029e2fff Actually it is handy to have the node record.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 15:20:26 +00:00
Michael Bayne 4eb86aec71 Supply our default authenticator by making the binding optional rather than by
binding the default in PresentsServer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5165 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 14:34:16 +00:00
Michael Bayne a8e5c3e324 Don't need the record in createPeerNode().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 14:08:58 +00:00
Michael Bayne a7c7d853fe Handle the BodyService with a BodyManager instead of a concrete BodyProvider.
More dependency injection (or removal in the case of SpeakUtil).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 13:06:03 +00:00
Michael Bayne 8c37ca7bfa Three things:
- Inject the auth Invoker.
- Inject the Authenticator and formalize the chaining authenticator pattern.
- Simplify PeerNode creation and make the PeerAuthenticator a chainer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 13:04:27 +00:00
Michael Bayne da11bd0ea0 Regenerated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 12:58:27 +00:00
Michael Bayne eee2c74943 More singleton marking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5160 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:29:18 +00:00
Michael Bayne a531fd2196 Inject the ChatProvider as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:10:41 +00:00
Michael Bayne 3404d14e7b Have the PlaceRegistry handle shutting down all places when the server shuts
down. Inject same.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:07:41 +00:00
Michael Bayne 3e73a1666e Have the RebootManager do its shutdown via the ShutdownManager. Nix the
PresentsServer legacy shutdown stuff. We'll wire that up in the legacy servers
themselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5157 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 19:21:33 +00:00
Michael Bayne a6842ae5e1 Properly mark some singletons as such.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5156 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 19:14:10 +00:00
Michael Bayne fce06c52c5 Actually instead of doing the necessary jiggery pokery to make PresentsServer
subclasses provide PresentsServer "services" we'll just have no PresentsServer
services. All services will be provided by components and the server will
disappear in a puff of inversion of control.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 18:57:04 +00:00
Michael Bayne c568204bbb Merge the ServerInvoker stuff into PresentsInvoker because the PresentsInvoker
is only ever used by the PresentsServer. Also determined that we need to
explicitly let Guice know that CrowdServer provides the PresentsServer
"interface" and so on down the line.

I also think that each concrete class needs to be marked as @Singleton though I
need to confirm that. Based on how annotations work, that's how it would be
easiest to implement, so we'll assume they're not doing extra work on the
backend to make our life easier.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5154 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 18:39:19 +00:00
Michael Bayne 3aefc93838 Holy fruity beverage Batman! I'm taking the plunge and switching to Guice for
dependency resolution and management. Things are currently in a state of
transition, but the important patterns have been established and I'll aim to
sweep through all of Narya, Nenya and Vilya in the near future and do
everything properly.

Going through the other million-odd lines of code we have scattered across our
various projects that use these libraries is not something I plan to do, so
we'll be maintaining backward compatibility with the old static member method,
though I hope to strive toward eradication of that usage entirely in MSOY while
we still have a fighting chance.

Given that some of our projects will continue to use the static member method
in perpetuity, I'm not going to @Deprecate those fields because that would fill
their logs with so much spam that they'd have to turn off deprecation warnings
which would make life worse for them. So instead we'll settle for the big scary
comment warning people away from the old bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 17:44:48 +00:00
Jamie Doornbos 443ad8e139 Keep track of the client object id in the agent object (this will allow WhirledGameManager.validateUser to check out a dispatch from a bureau client)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-05 00:16:46 +00:00
Jamie Doornbos 63d228ee4c Removed overzealous inclusion of http library for narya
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5151 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-05 00:07:21 +00:00
Jamie Doornbos d2b8eaeb6b Removed temporary lib/abc files from narya and replace dependencies with maven ones
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5150 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-04 23:59:37 +00:00
Jamie Doornbos 69451c5682 Implemented bureau authentication
* Token member for bureaus
* Exception type for failed authentication
* Authenticate function
* Bureau id to credentials
* Fixed bad constructor and toString


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5149 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-02 04:38:01 +00:00
Tom Conkling 6c34b9e3ed ArrayUtil.create()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5148 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 18:22:24 +00:00
Jamie Doornbos 214d464c7f Fixed the token and added a TODO since ProcessBuilder on unix cannot handle empty strings
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5147 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 18:06:07 +00:00
Michael Bayne 02b2c67991 Name the connection manager thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 12:20:58 +00:00
Michael Bayne 8426349a19 Ze lines must be wrapped lines at 100 columns or zere vill be punishment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 09:34:38 +00:00
Jamie Doornbos 73b52b1e5f Reordered files for narya asc build to fixed static init crash. Also moved the Environment.as out of the auto-generated files since it had to be manually reinserted each time
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5144 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 06:27:53 +00:00
Bruno Garcia 783ceaf951 Added optional maxLength param to validateAndEncode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5143 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 02:05:04 +00:00
Jamie Doornbos 7ac8aa5583 More jiggering pokering workarounds for crapness of asc (files built with AscLibTask cannot be used to execute a VM, only to build a VM)... confusing, I know... ask Zell
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5142 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 01:10:29 +00:00
Michael Bayne 64f418fca9 Looks like Dave already fixed Yohoho, so we're in the clear.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5141 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:27:25 +00:00
Michael Bayne 8e7e9b1278 Work with both for now until I migrate Yohoho.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:22:58 +00:00
Michael Bayne c915f24010 Switched to the new logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5139 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:21:04 +00:00
Mike Thomas 83693608d8 Disarm the stack overflow boobytrap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5138 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 02:15:36 +00:00
Ray Greenwell 22e7ba9a1a Added a note as to why this isn't called ResultAdapter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 01:48:42 +00:00
Jamie Doornbos c8763c245a Added serverClass field to bureau agent objects. Also renamed redundant "agentCode" to just "code"
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 22:33:15 +00:00
Jamie Doornbos 257c942745 Updates narya bureau test to use AscLibTask and AscTask
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5135 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 22:27:31 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Ray Greenwell 821760366f On the mac, using "open" to run a swf has the disadvantage of obliterating the
current directory. The current directory is set to /.
So we can't read parameters.xml out of the current directory and we can't pass
the current directory in, because if we could do that we wouldn't need parameters.xml!
GAH! So read parameters.xml from the same directory as the SWF, because
that's the only thing we can reliably know about.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-25 03:16:56 +00:00
Dave Hoover 9abef6df53 Lots of times we don't care WHY someone lacks access, just that they do; so
add convenience wrappers giving us a boolean back instead of forcing us to see
if checkAccess(blah) == null.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 23:26:12 +00:00
Jamie Doornbos 529ee6eabb Added langBoolean for upcoming whirled compilation
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5131 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 22:42:46 +00:00
Jamie Doornbos 2c01b45edf New copy of thane actionscript library
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5130 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 22:42:08 +00:00
Andrzej Kapolka ac3640dc9d Standalone clients don't have communicators.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5129 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 21:00:08 +00:00
Jamie Doornbos a741f00f0b Temporarily deploy thane and builtin abc files as part of narya-abc
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5128 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 07:07:11 +00:00
Jamie Doornbos 732b726063 Yikes, that was unexpected. the flex task prefers absolute paths. Thanks Bamboo!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5127 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 06:40:14 +00:00
Jamie Doornbos 17cc867946 Include crowd and chat (PlaceConfig and dependencies) in abc build
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5126 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 05:58:07 +00:00
Jamie Doornbos 392ed4bf89 Change abc build to use an exclusion file rather than an inclusion one
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5125 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 05:48:40 +00:00
Jamie Doornbos d7a8cf4518 Cleaned up abc build using flexTasks.jar
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5124 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 05:44:15 +00:00
Jamie Doornbos 684d6f9efc Removed some unused imports, preparing for addition of more vilya/whirled dependencies to abc build
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5123 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 05:17:02 +00:00
Jamie Doornbos 35955cc701 Fixed another couple of bugs in service generation discovered when generating services for vilya
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5122 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 00:40:56 +00:00
Jamie Doornbos 19e15911aa New thane module
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5121 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 23:51:08 +00:00
Michael Bayne 64f68e6c63 As much fun as it is to have a function named fuckingCompiler(), let's have the
services that require the use of an otherwise unreferenced class or symbol take
care of referencing that class or symbol themselves, so that if you use
LocationDirector, say, all the needed classes are properly included.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 15:17:21 +00:00
Michael Bayne da9d8701c2 Sometimes my mind drifts away and forgets that I live in a world where I have
to write everything in two languages, and now have to take special care that
things written in one of those languages works properly in a wholly separate
and somewhat limited deployment environment. Ah such sweet forgetting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5119 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 14:12:10 +00:00