Class RdeRevision

    • Method Detail

      • create

        public static RdeRevision create​(java.lang.String id,
                                         java.lang.String tld,
                                         org.joda.time.LocalDate date,
                                         RdeMode mode,
                                         int revision)
      • getRevision

        public int getRevision()
      • getNextRevision

        public static int getNextRevision​(java.lang.String tld,
                                          org.joda.time.DateTime date,
                                          RdeMode mode)
        Returns next revision ID to use when staging a new deposit file for the given triplet.
        Returns:
        0 for first deposit generation and >0 for resends
      • getCurrentRevision

        public static java.util.Optional<java.lang.Integer> getCurrentRevision​(java.lang.String tld,
                                                                               org.joda.time.DateTime date,
                                                                               RdeMode mode)
        Returns the latest revision of the report already generated for the given triplet.
      • saveRevision

        public static void saveRevision​(java.lang.String tld,
                                        org.joda.time.DateTime date,
                                        RdeMode mode,
                                        int revision)
        Sets the revision ID for a given triplet.

        This method verifies that the current revision is revision - 1, or that the object does not exist in Datastore if revision == 0.

        Throws:
        java.lang.IllegalStateException - if not in a transaction
        com.google.common.base.VerifyException - if Datastore state doesn't meet the above criteria