Changeset 37:34b9d044d0bf in AnnotationManagerN4J for src


Ignore:
Timestamp:
Sep 26, 2012, 12:48:41 PM (12 years ago)
Author:
dwinter
Branch:
default
Message:

authorisation added
js / css aufgeraeumt

Location:
src/main
Files:
2 added
2 deleted
6 edited
1 moved

Legend:

Unmodified
Added
Removed
  • src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotations.java

    r34 r37  
    5656        logger.debug("annotation-id=" + id);
    5757
     58       
     59        // do authentication
     60        Person authUser = Person.createPersonWithId(this.checkAuthToken(entity));
     61        logger.debug("request authenticated=" + authUser);
     62
    5863        if (id == null) {
    5964           
    60             return getAllAnnotations();
    61         }
    62 
    63         // do authentication
    64         Person authUser = Person.createPersonWithId(this.checkAuthToken(entity));
    65         logger.debug("request authenticated=" + authUser);
    66 
     65            return getAllAnnotations(authUser);
     66        }
     67
     68     
    6769        AnnotationStore store = getAnnotationStore();
    6870        Annotation annot = store.getAnnotationById(id);
     
    8385    }
    8486
    85     private Representation getAllAnnotations() {
     87    private Representation getAllAnnotations(Person authUser) {
    8688       
    8789         Form form = getRequest().getResourceRef().getQueryAsForm();
     
    98100        List<Annotation> annotations = store.getAnnotations(null, null);
    99101        for (Annotation annotation : annotations) {
    100                
     102                 //check permission
     103                         if (!annotation.isActionAllowed("read", authUser, store)) continue;
     104     
    101105                 JSONObject jo = createAnnotatorJson(annotation,false);
    102106             results.add(jo);
  • src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByTags.java

    r31 r37  
    1818import de.mpiwg.itgroup.annotations.Annotation;
    1919import de.mpiwg.itgroup.annotations.NS;
     20import de.mpiwg.itgroup.annotations.Person;
    2021import de.mpiwg.itgroup.annotations.Tag;
    2122import de.mpiwg.itgroup.annotations.neo4j.AnnotationStore;
     
    3839        setCorsHeaders();
    3940       
     41        // do authentication
     42        Person authUser = Person.createPersonWithId(this.checkAuthToken(entity));
     43        logger.debug("request authenticated=" + authUser);
     44
     45       
    4046        String jsonId = (String) getRequest().getAttributes().get("id");
    4147       
     
    6066       
    6167                for (Annotation annot : annotations) {
    62             JSONObject jo = createAnnotatorJson(annot,false);
     68                        //check permission
     69                        if (!annot.isActionAllowed("read", authUser, store)) continue;
     70           
     71                        JSONObject jo = createAnnotatorJson(annot,false);
    6372            results.add(jo);
    6473        }
  • src/main/webapp/annotationBrowser/index.html

    r31 r37  
    55<title>Annotatons</title>
    66<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
     7<script type="text/javascript" src="../annotationBrowser/js/annotation-core.js"></script>
    78<script type="text/javascript" src="./js/annotation.js"></script>
    89<link rel="stylesheet" type="text/css" href="./css/annotation.css"/>
  • src/main/webapp/annotationBrowser/js/annotation.js

    r35 r37  
    1 //var annotServer="http://localhost:8280/AnnotationManagerN4J/annotator/";
    2 var annotServer="http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager/annotator/";
    3 var viewerAddress="http://libcoll.mpiwg-berlin.mpg.de/libviewa?url=";
    4 var docNamespace="http://echo.mpiwg-berlin.mpg.de/documents/";
    5 
    6 //var dcDataPath="http://euler.mpiwg-berlin.mpg.de:58080/echo_nav/echo_pages/metadata/getDCDataFromPath?path=";
    7 var dcDataPath="http://libcoll.mpiwg-berlin.mpg.de/metadata/getDCDataFromPath?path=";
    8 var textPath="http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?fn=";
     1function annotations(){
    92       
    10 
    11 function getDCdata(path,obj){
    123       
    13         var splitted = path.split("?");
    14         var docUri=splitted[0];
     4        if (token==""){
     5                setTimeout(function(){annotations();},500);
     6                return;
     7        }
    158       
    16         docUri = docUri.replace(docNamespace,textPath);
    17         var md = dcDataPath+docUri+"/index.meta";
     9        var headers = {'x-annotator-auth-token':token};
    1810       
    19          $('<div/>', {
    20                     'class': 'annotatonMetaData',
    21                   }).load(md, function (){
    22                          $(this).children().children().addClass('dcMetaData');
    23                   }).appendTo(obj);
    24        
    25 }
    26 
    27 function createLinkFromURI(uri){
    28         var docUri = uri.replace(docNamespace,viewerAddress);
    29         docUri = docUri.replace("?pn","&pn");
    30         return docUri;
    31 }
    32 
    33 function annotations(){
    34         $.getJSON(annotServer+'annotations?sortBy=uri', function(data) {
     11        $.ajax({
     12                  url: annotServer+'annotations?sortBy=uri',
     13                  dataType: 'json',
     14                  headers:headers,
     15                  success: function(data) {
    3516                //var items = [];
    3617                  var rows = data["rows"];
     
    5435                  //$('#annotations').html(items.join(''));
    5536                 
    56                
     37                  }
    5738        });
    5839}
     
    6041
    6142$(document).ready(function(){
     43       
     44        getToken(tokenGenerator,username);
    6245        $.getJSON(annotServer+'tags', function(data) {
    6346                  var items = [];
     
    7861       
    7962 });
     63
     64
     65
  • src/main/webapp/annotationBrowser/js/tag.js

    r31 r37  
    1 //var annotServer="http://localhost:8280/AnnotationManagerN4J/annotator/";
    2 var annotServer="http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager/annotator/";
    3 var viewerAddress="http://libcoll.mpiwg-berlin.mpg.de/libviewa?url=";
    4 var docNamespace="http://echo.mpiwg-berlin.mpg.de/documents/";
    51
    6 //var dcDataPath="http://euler.mpiwg-berlin.mpg.de:58080/echo_nav/echo_pages/metadata/getDCDataFromPath?path=";
    7 var dcDataPath="http://libcoll.mpiwg-berlin.mpg.de/metadata/getDCDataFromPath?path=";
    8 var textPath="http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?fn=";
    9        
    102
    11 function getDCdata(path,obj){
    12        
    13         var splitted = path.split("?");
    14         var docUri=splitted[0];
    15        
    16         docUri = docUri.replace(docNamespace,textPath);
    17         var md = dcDataPath+docUri+"/index.meta";
    18        
    19          $('<div/>', {
    20                     'class': 'annotatonMetaData',
    21                   }).load(md, function (){
    22                          $(this).children().children().addClass('dcMetaData');
    23                   }).appendTo(obj);
    24        
    25 }
    263
    27 function createLinkFromURI(uri){
    28         var docUri = uri.replace(docNamespace,viewerAddress);
    29         docUri = docUri.replace("?pn","&pn");
    30         return docUri;
    31 }
    324
    335function annotations(tagId){
    34         $.getJSON(annotServer+'tags/'+tagId+"/annotations?sortBy=uri", function(data) {
    35                 //var items = [];
    36                   var rows = data["rows"];
    37                  
    38                   $('#annotations').html("");
    39                   for (var i=0;i<rows.length;i++){
    40                           var text=rows[i]['text'];
    41                           var author=rows[i]['user']['name'];
    42                           var docUri=createLinkFromURI(rows[i]['uri']);
     6        var id = tagId;
     7        if (token==""){
     8                setTimeout(function(){annotations(id);},500);
     9                return;
     10        }
     11        var headers = {'x-annotator-auth-token':token};
     12       
     13        $.ajax({
     14                  url: annotServer+'tags/'+tagId+"/annotations?sortBy=uri",
     15                  dataType: 'json',
     16                  headers:headers,
     17                  success: function(data) {
     18                                //var items = [];
     19                          var rows = data["rows"];
    4320                         
    44                           var ret = '<div id="an_'+i+'" class="annotationRow">';
    45                           ret +='<div class="annotationCol">'+text+'</div>';
    46                           ret +='<div class="annotationCol">'+author+'</div>';
    47                           ret +='<div class="annotationCol"><a target="libcoll" href="'+docUri+'">'+docUri+'</a></div>';
    48                           ret+="</div>";
    49                                
    50                           $('#annotations').append(ret);
    51                           //items.push(ret);
    52                           getDCdata(rows[i]['uri'],$('#an_'+i));
    53                   }
    54                   //$('#annotations').html(items.join(''));
    55                  
    56                
    57         });
     21                          $('#annotations').html("");
     22                          for (var i=0;i<rows.length;i++){
     23                                  var text=rows[i]['text'];
     24                                  var author=rows[i]['user']['name'];
     25                                  var docUri=createLinkFromURI(rows[i]['uri']);
     26                                 
     27                                  var ret = '<div id="an_'+i+'" class="annotationRow">';
     28                                  ret +='<div class="annotationCol">'+text+'</div>';
     29                                  ret +='<div class="annotationCol">'+author+'</div>';
     30                                  ret +='<div class="annotationCol"><a target="libcoll" href="'+docUri+'">'+docUri+'</a></div>';
     31                                  ret+="</div>";
     32                                       
     33                                  $('#annotations').append(ret);
     34                                  //items.push(ret);
     35                                  getDCdata(rows[i]['uri'],$('#an_'+i));
     36                          }
     37                  }});
    5838}
    5939
     
    6141$(document).ready(function(){
    6242        $.getJSON(annotServer+'tags', function(data) {
     43                getToken(tokenGenerator,username);
     44               
    6345                  var items = [];
    6446                  var rows = data["rows"];
     
    7153                  $('#tagList').html(items.join(''));
    7254                 
    73                 });
    74 
    75 
     55        });
    7656       
    77  });
     57       
     58});
  • src/main/webapp/index.html

    r34 r37  
    1212<body>
    1313  <h1>Annotation Server</h1>
    14   <h2>View</h2>
     14  <h2>View - Annotations without restrictions</h2>
    1515  <ul>
    1616    <li><a href="tags">View tags</a></li>
    1717    <li><a href="annotationBrowser">All Annotations</a></li>
    1818  </ul>
     19  <h2>View - restricted Annotations with log-in  </h2>
     20  <li><a href="http://libcoll.mpiwg-berlin.mpg.de/annotations">http://libcoll.mpiwg-berlin.mpg.de/annotations</li>
    1921  <h2>Admin</h2>
    2022        <ul>
  • src/main/webapp/tags/index.html

    r31 r37  
    44<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    55<title>Browse By Tags</title>
    6 <script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
    7 <script type="text/javascript" src="./js/tag.js"></script>
    8 <link rel="stylesheet" type="text/css" href="./css/tag.css"/>
     6<script type="text/javascript" src="../annotationBrowser/js/jquery-1.8.2.min.js"></script>
     7<script type="text/javascript" src="../annotationBrowser/js/annotation-core.js"></script>
     8<script type="text/javascript" src="../annotationBrowser/js/tag.js"></script>
     9<link rel="stylesheet" type="text/css" href="../annotationBrowser/css/tag.css"/>
    910</head>
    1011<body>
Note: See TracChangeset for help on using the changeset viewer.