rename TreeOfTexts to less annoying stemmaweb
[scpubgit/stemmatology.git] / TreeOfTexts / lib / TreeOfTexts / Controller / Root.pm
diff --git a/TreeOfTexts/lib/TreeOfTexts/Controller/Root.pm b/TreeOfTexts/lib/TreeOfTexts/Controller/Root.pm
deleted file mode 100644 (file)
index cb3b9d9..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-package TreeOfTexts::Controller::Root;
-use Moose;
-use namespace::autoclean;
-use Text::Tradition::Analysis qw/ run_analysis /;
-
-
-BEGIN { extends 'Catalyst::Controller' }
-
-#
-# Sets the actions in this controller to be registered with no prefix
-# so they function identically to actions created in MyApp.pm
-#
-__PACKAGE__->config(namespace => '');
-
-=head1 NAME
-
-TreeOfTexts::Controller::Root - Root Controller for TreeOfTexts
-
-=head1 DESCRIPTION
-
-Serves up the main container pages.
-
-=head1 URLs
-
-=head2 index
-
-The root page (/).  Serves the main container page, from which the various
-components will be loaded.
-
-=cut
-
-sub index :Path :Args(0) {
-    my ( $self, $c ) = @_;
-
-    $c->stash->{template} = 'index.tt';
-}
-
-=head1 Elements of index page
-
-=head2 directory
-
- GET /directory
-
-Serves a snippet of HTML that lists the available texts.  Eventually this will be available texts by user.
-
-=cut
-sub directory :Local :Args(0) {
-       my( $self, $c ) = @_;
-    my $m = $c->model('Directory');
-    # TODO not used yet, will load user texts later
-    my $user = $c->request->param( 'user' ) || 'ALL';
-    my @textlist;
-    foreach my $id ( $m->tradition_ids ) {
-       my $data = { 
-               'id' => $id,
-               'name' => $m->name( $id ),
-       };
-       push( @textlist, $data );
-    }
-    
-    $c->stash->{texts} = \@textlist;
-       $c->stash->{template} = 'directory.tt';
-}
-
-=head2 alignment
-
- GET /alignment/$textid
-
-Returns an alignment table for the text specified at $textid.
-
-=cut
-
-sub alignment :Local :Args(1) {
-       my( $self, $c, $textid ) = @_;
-       my $m = $c->model('Directory');
-       my $collation = $m->tradition( $textid )->collation;
-       my $alignment = $collation->make_alignment_table;
-       
-       # Turn the table, so that witnesses are by column and the rows
-       # are by rank.
-       my $wits = [ map { $_->{'witness'} } @{$alignment->{'alignment'}} ];
-       my $rows;
-       foreach my $i ( 0 .. $alignment->{'length'} - 1 ) {
-               my @rankrdgs = map { $_->{'tokens'}->[$i]->{'t'} } 
-                       @{$alignment->{'alignment'}};
-               push( @$rows, { 'rank' => $i+1, 'readings' => \@rankrdgs } );
-       }
-       $c->log->debug( Dumper( $rows ) );
-       $c->stash->{'witnesses'} = $wits;
-       $c->stash->{'table'} = $rows;
-       $c->stash->{'template'} = 'alignment.tt';
-}
-
-=head2 stemma
-
- GET /stemma/$textid
- POST /stemma/$textid, { 'dot' => $dot_string }
-
-Returns an SVG representation of the stemma hypothesis for the text.  If 
-the URL is called with POST and a new dot string, updates the stemma and
-returns the SVG as with GET.
-
-=cut
-
-sub stemma :Local :Args(1) {
-       my( $self, $c, $textid ) = @_;
-       my $m = $c->model('Directory');
-       my $tradition = $m->tradition( $textid );
-       
-       if( $c->req->method eq 'POST' ) {
-               # Update the stemma
-               my $dot = $c->request->body_params->{'dot'};
-               $tradition->add_stemma( $dot );
-               $m->store( $tradition );
-       }
-       
-       $c->stash->{'result'} = $tradition->stemma->as_svg;
-       $c->forward('View::SVG');
-}
-
-=head2 stemmadot
-
- GET /stemmadot/$textid
-Returns the 'dot' format representation of the current stemma hypothesis.
-
-=cut
-
-sub stemmadot :Local :Args(1) {
-       my( $self, $c, $textid ) = @_;
-       my $m = $c->model('Directory');
-       my $tradition = $m->tradition( $textid );
-       
-       $c->response->body( $tradition->stemma->editable );
-       $c->forward('View::Plain');
-}
-
-=head2 default
-
-Standard 404 error page
-
-=cut
-
-sub default :Path {
-    my ( $self, $c ) = @_;
-    $c->response->body( 'Page not found' );
-    $c->response->status(404);
-}
-
-=head2 end
-
-Attempt to render a view, if needed.
-
-=cut
-
-sub end : ActionClass('RenderView') {}
-
-=head1 AUTHOR
-
-Tara L Andrews
-
-=head1 LICENSE
-
-This library is free software. You can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-__PACKAGE__->meta->make_immutable;
-
-1;