Last modified 14 years ago Last modified on 01/25/09 19:21:10

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=S2S_FACADE_META_ACCESS_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block



The Sophie 2 Server Facade layer provides interface which is the same on both the server and the client sides for manipulating the resources on the server. The Facade layer accesses the Server core logic.
MetaInfo of the resource is:

  • The author of the resource
  • The date the resource was created
  • Version of the resource
  • The date the resource was last modified
  • Who was the last that modified the resource
  • The dimensions of the image (if the target of the resource is an image)
  • etc.

Task requirements

Since every resource can be viewed/changed/persisted on the server, its meta information should also be accessible. Currently, there is not functionality in the facade for dealing with meta things, so it must be implemented.

  • Create class in the facade, which provides the core functionality for accessing meta.
  • Since this task uses the result from S2S_CORE_META_R0, a requirement is it to be implemented before this one.
  • Refactor the current jsp and servlet code to use the facade. Currently, there is no such code, but at the time when the task is being implemented, it is possible to have such.
  • Write unit tests.

Task result

Source code.

Implementation idea

Implement this task after S2S_CORE_META_R0.
Follow the current structure of the facade, i.e. make an interface in org.sophie2.server.facade and its imlplementation in org.sophie2.server.facade.impl.


How to demo

Show the code, run the tests.


(Describe your design here.)


(Describe and link the implementation results here (from the wiki or the repository).)


(Place the testing results here.)


(Write comments for this or later revisions here.)