Project

General

Profile

« Previous | Next » 

Revision 6015

insert/update documents with null user and null group to circumvent access control restrictions then update the user_owner and user_updated values to reflect what exists on the originating server (pisco)

View differences:

ReplicationHandler.java
396 396
                              null,  /* the dtd text */
397 397
                              actions,
398 398
                              accNumber,
399
                              docinfoHash.get("user_updated"),
400
                              //docinfoHash.get("user_owner"),                              
399
                              null, //docinfoHash.get("user_owner"),                              
401 400
                              null, /* null for groups[] */
402 401
                              docHomeServer,
403 402
                              remoteserver, tableName, true,// true is for time replication 
404 403
                              createdDate,
405 404
                              updatedDate);
406 405
      
406
      //set the user information
407
      String user = (String) docinfoHash.get("user_owner");
408
      String updated = (String) docinfoHash.get("user_updated");
409
      ReplicationService.updateUserOwner(dbConn, accNumber, user, updated);
410
      
407 411
      //process extra access rules 
408 412
      Vector<XMLAccessDAO> xmlAccessDAOList = dih.getAccessControlList();
409 413
      if (xmlAccessDAOList != null) {
......
555 559
      String docInfoStr = ReplicationService.getURLContent(docinfoUrl);
556 560
      docinfoParser.parse(new InputSource(new StringReader(docInfoStr)));
557 561
      Hashtable<String, String> docinfoHash = dih.getDocInfo();
558
      // Get docid owner
559
      //String user = docinfoHash.get("user_owner");
560
      String user = docinfoHash.get("user_updated");
562
      
561 563
      // Get docid name (such as acl or dataset)
562 564
      String docName = docinfoHash.get("docname");
563 565
      // Get doc type (eml public id)
......
587 589
        DocumentImpl.writeDataFileInReplication(input,
588 590
                                                datafilePath,
589 591
                                                docName,docType,
590
                                                accNumber, user,
592
                                                accNumber,
593
                                                null,
591 594
                                                docHomeServer,
592 595
                                                remoteserver,
593 596
                                                tableName,
......
595 598
                                                createdDate,
596 599
                                                updatedDate);
597 600
                                         
601
        //set the user information
602
        String user = (String) docinfoHash.get("user_owner");
603
		String updated = (String) docinfoHash.get("user_updated");
604
        ReplicationService.updateUserOwner(dbConn, accNumber, user, updated);
605
        
598 606
        //process extra access rules
599 607
        Vector<XMLAccessDAO> xmlAccessDAOList = dih.getAccessControlList();
600 608
        if (xmlAccessDAOList != null) {

Also available in: Unified diff