Commit graph

83 commits

Author SHA1 Message Date
Corey Goldfeder
d2a66e9d1f Registrant of a domain can never be null
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122630609
2016-05-18 13:10:18 -04:00
Chris Tingue
4854f875b0 Prefer @Inject over static for async flow Clock
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122555766
2016-05-18 13:08:41 -04:00
Justine Tunney
e1cf51ebb3 Migrate Domain Registry to Closure Rules 0.1.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122525197
2016-05-17 13:53:41 -04:00
Justine Tunney
1abd2a6314 Fix paths in a few places 2016-05-17 13:52:27 -04:00
Justine Tunney
be19daea01 Add schema.txt back to open source drop
The Bazel environment is now TIP TOP.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122475766
2016-05-16 20:16:28 -04:00
cgoldfeder
618050dc32 Load referenced contact/hosts from EPP more efficiently
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122459862
2016-05-16 20:11:58 -04:00
Corey Goldfeder
86f3287761 Typo in comment
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122449880
2016-05-16 18:40:40 -04:00
Justine Tunney
13f5106070 Make dnsupdate go back to using dnsjava 2.x
Currently the build breaks due to a surprise migration to dnsjava 1.6.4,
which is not available in Maven. dnsjava 2.x is available internally,
but it jarjar's the package name. So we'll need to deal with that the
same way we deal with the Objectify package rename.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122447929
2016-05-16 18:40:31 -04:00
Ben McIlwain
707e22f2d2 Don't throw entity integrity errors for renamed hosts
Old ForeignKeyIndex entities pointing to hosts are soft-deleted when a
host is renamed, and a new ForeignKeyIndex is created that correctly
points at the new host.  This is an expected state of the system, so
don't throw an error when it is observed.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122447608
2016-05-16 18:40:19 -04:00
cgoldfeder
9a2afc7a9b Remove nearly all uses of ReferenceUnion
ReferenceUnion is a hack to work around the mismatch between how
we store references (by roid) and how they are represented in EPP
(by foreign key). If it ever needed to exist (not entirely clear...)
it should have remained tightly scoped within the domain commands
and resources. Instead it has leaked everywhere in the project,
causing lots of boilerplate. This CL hides all of that behind
standard Refs, and should be followed by work to remove ReferenceUnion
completely.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122424416
2016-05-16 16:36:25 -04:00
Ben McIlwain
030d6b92ab Minor fixes to dnsupdate writer 2016-05-14 01:32:53 -04:00
ctingue
a8544100fa Adding synthetic source ID to BillingEvent.OneTime
Synthetic BillingEvent.OneTimes need to have a pointer to their source Recurring event, in order to match up properly against Cancellations.

Also improving the exception message for mismatched Flag.SYNTHETIC and syntheticCreationTime.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=122155636
2016-05-13 23:20:45 -04:00
ctingue
51362722cd Add syntheticCreationTime to BillingEvent.OneTime
In order to clean up potentially bad BillingEvent.Recurring expansions, we'll need to be able to trace synthetic billing events back to particular runs of the []. This field will be set to the cursor time at the start of the MR (all expansions in one MR job will have the same timestamp).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121999938
2016-05-13 23:20:38 -04:00
cgoldfeder
d1f34776d2 Fix whitelist tests
Followups to []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121993530
2016-05-13 23:20:27 -04:00
cgoldfeder
371ffdf0c1 Implement Uniform [] Suspension Tool
The tool needs to:
* Replace all hosts on a domain with a provided set of hosts
* Add 3 server locks to the domain
* Print an undo command that restores the domain to its original state
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121944934
2016-05-13 23:20:00 -04:00
cgoldfeder
758a4ac387 Fix two nits in DotAppDomainInfo
1) By our convention, entity fields are package-private, not private.
2) Static analysis can't tell that checkArgumentNotNull prevents
   continuing with a null on the next line. Change the code to make
   a warning in eclipse go away.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121944468
2016-05-13 23:19:54 -04:00
mcilwain
047bbf186e Extract premium pricing to a PricingEngine interface
This refactors the existing premium list functionality into the new
class StaticPremiumListPricingEngine, which implements PricingEngine.
A backfill @OnLoad is provided to default existing Registry entities
into the static implementation.  For now there is just this one
implementation.  Dagger map multibinding is used to generate the total
set of allowed pricing engines, and allows other parties to plug in
their own implementations.

The pricing engine is a required field on the Registry object.  If you
don't want a particular Registry to actually have a premium list, then
use the static pricing engine but don't actually set a premium list.

A subsequent CL will refactor the Key<PremiumList> field on the
Registry entity class to be handled solely by the
StaticPremiumListPricingEngine implementation.  Going forward, all
configuration and implementation details that are specific to a given
pricing engine should be handled by that pricing engine, and not as
fields on the Registry object.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121850176
2016-05-13 23:19:40 -04:00
ctingue
87961fbb12 Add global-scoped (and other type-scoped) cursors
Expanding recurring billing events will require a global cursor as opposed to a Registry-scoped cursor, so this CL creates a more generic Cursor type and adds a dual-write for the old RegistryCursor (for both old and new styles) on save. We can then touch any stragglers using the UpdateCursorsCommand and simply drop the old RegistryCursor once all have been migrated.

See [] for migration tracking.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121706885
2016-05-13 23:19:34 -04:00
mcilwain
6f69e96465 Add clientId and time parameters to pricing methods
This is a broken-out refactoring from []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121603352
2016-05-13 23:19:07 -04:00
mcilwain
4a9be60e0b Rename DomainNameUtils method to getTldFromSld
This is broken out from []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121599268
2016-05-13 23:19:02 -04:00
mcilwain
3ec6aebe44 Add data model entities for .app discounting
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121580499
2016-05-13 23:18:52 -04:00
ctingue
b435e20cbe Add ability to expand TimeOfYear into instances
Utilizing this function in the recurring billing event [], in order to abstract a lot of the expansion logic out of the MR itself.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121579246
2016-05-13 23:18:45 -04:00
Michael Muller
16cfd76ac9 Remove python scripts from third_party/.../util
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121500656
2016-05-13 23:18:35 -04:00
dxy
e7225cc806 Move internal Python tools to d/r/
We moved a few internal tools to third_party/ as part of large java code move but there's not much use for
these files to be in opensource drop so I pull it back to our project directory.

Basically this CL does:
- mv j{,t}/c/[] d/r/tools/
- rm third_party/java_src/gtld/j/[]
- corresponding tweaks
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121406277
2016-05-13 23:18:18 -04:00
dxy
80f6776ef5 Move misc files out of j/c/[]
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121373704
2016-05-13 23:18:13 -04:00
jart
b672643194 Remove patharg classes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121238717
2016-05-13 23:16:29 -04:00
jart
6082146d55 Prefer re2 over java.util.regex
Java's stock regex implementation doesn't guarantee linear time
complexity which makes it a security liability.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121159875
2016-05-13 23:16:07 -04:00
Michael Muller
c458c05801 Rename Java packages to use the .google TLD
The dark lord Gosling designed the Java package naming system so that
ownership flows from the DNS system. Since we own the domain name
registry.google, it seems only appropriate that we should use
google.registry as our package name.
2016-05-13 20:04:42 -04:00
Justine Tunney
5012893c1d mv com/google/domain/registry google/registry
This change renames directories in preparation for the great package
rename. The repository is now in a broken state because the code
itself hasn't been updated. However this should ensure that git
correctly preserves history for each file.
2016-05-13 18:55:08 -04:00
cgoldfeder
a41677aea1 Action to delete all cross-tld entities.
Plus refactoring of the KillAllXXXActions and tests to share
common code.

This essentially completes the KillAll []s. We can now reliably
clean out everything except for:
 * Lock - harmless to leave alone or delete from the gae console
 * GaeUserIdConverter - same
 * RdeRevision - filed [] to track, but harmless if not cleaned up
 * ForeignKeyHostIndex of renamed hosts - tracked in []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120781975
2016-05-13 17:42:16 -04:00
mcilwain
e14faaa7e6 Use Multimap bindings to construct BigQuery schema map
This refactoring allows the schemas to live in the same package they
are used, rather than all having to be inside the bigquery package.
This is a follow-up to []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120551011
2016-05-13 17:41:36 -04:00
mcilwain
d65bf2a714 Daggerize/Actionize the load snapshot servlet
This is needed to eliminate the last non-injected use of BigqueryFactory.  It gets rid of the deprecated HttpServletUtils now that we don't have lots of separate servlets, and changes the check snapshot servlet's usage of such.  It also fixes up some related minor style issues in the update snapshot action (and its injectable parameters).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120547998
2016-05-13 17:41:28 -04:00
mcilwain
9e7934684e Change WHOIS functionality to return PDT registrars
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120448012
2016-05-13 17:41:23 -04:00
cgoldfeder
9ca191f3d4 Registry should not be a BackupGroupRoot
In [] I made Registry a BGR in prep for each Registry being in
its own entity group. But we decided not to do that, and in []
mcilwain@ moved Registry under the cross-tld root. So there's no reason
for Registry to implement BackupGroupRoot anymore.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120402417
2016-05-13 17:41:18 -04:00
jart
9c8e23ea57 Really enable payment page in sandbox
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120372049
2016-05-13 17:41:03 -04:00
cgoldfeder
4e6c8ec6fe Fix WHOIS formatting to match format from RA
Our whois format was flagged as wrong in the .meet PDT. Although
we had followed the AWIP samples from ICANN, the definitive list
of field names is from Specification 4 of our contract, available at
https://newgtlds.icann.org/sites/default/files/agreements/agreement-approved-09jan14-en.htm
and indeed our fields are incorrect. (The remaining formatting issues
are ambiguous but the PDT testers' interpretation is probably correct.)

Since the footer format is now somewhat more complicated, I also denormalized
the disclaimer field into all of the testdata files. (I spent some time
debugging an extra newline between the content and the disclaimer, and
it would have been far clearer to solve if the files had been this way.)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120338930
2016-05-13 17:40:58 -04:00
cgoldfeder
c99711c7e3 Augment KillAllCommitLogsAction to also kill checkpoints
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120338924
2016-05-13 17:40:51 -04:00
mcilwain
4ba8c0e552 Use HttpException for error handling in UpdateSnapshotViewAction
This is a follow-up to []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120238590
2016-05-13 17:40:26 -04:00
mcilwain
0f4a1035b2 Refactor metrics servlet to be a Daggerized action
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120235694
2016-05-13 17:40:21 -04:00
nickfelt
706f3b44ed Enforce currency consistency for server status billing cost
Also adds tests for currency consistency for other costs, and cleans
up some of the testing for negative currencies (since I was there).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120231198
2016-05-13 17:40:17 -04:00
mcilwain
c5d09227c5 Refactor update snapshot view servlet into a Daggerized Action
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120224051
2016-05-13 17:40:12 -04:00
mcilwain
4fbf613955 Export entity integrity alerts to BigQuery
This is part 2 of a longer series.  Part 3 will add lots more tests, will add a cron entry, and will include an analysis script to run on BigQuery to detect the presence of two consecutive errors.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120040267
2016-05-13 17:40:08 -04:00
nickfelt
f20b1d89a9 Fix premium list command regressions
This CL fixes bugs introduced when the premium list commands were moved to
be server-side commands.

Fixes:

 - omitting the --name parameter actually works now; before it was failing
   in the local build() call since it uses the name as the @Id and tries to
   create a key for PremiumListRevision, but key IDs cannot be null.

 - premium list data larger than about 2K works now (see [] before
   it was stuffing the list data all into a POST query parameter, and URLs of
   more than 2K in length were all getting 404s.  Fix was changing it to put
   the inputData param in the POST body.

 - misc test cleanup
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119912494
2016-05-13 17:40:03 -04:00
cgoldfeder
2fc636632b Turn on braintree in sandbox.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119890386
2016-05-13 17:39:52 -04:00
ctingue
4112bca925 Begin writing AUTO_RENEW flag alongside reason
Backfill [] to follow, and the Recurring billing events will eventually be replicated as OneTime via a regular job.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119883652
2016-05-13 17:39:47 -04:00
ctingue
fbe076b5da Implement input for MRs over child entities
Also throwing in a proof-of-concept MR that I'd like to run in production, and then scrap once the meaty MR is finished (e.g. exploding Recurring billing events into OneTimes).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119881471
2016-05-13 17:39:40 -04:00
ctingue
e01edf261d Add a SYNTHETIC flag for BillingEvent
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119559193
2016-05-13 17:39:01 -04:00
mcilwain
755fce9e52 Consolidate BigQuery handling into one place
I'm writing a follow-up CL that will send integrity checking data to
BigQuery, and that is made a lot easier by centralizing the BigQuery
connection logic.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119375766
2016-05-13 17:38:56 -04:00
mcilwain
c880a042a7 Add command to re-save all environment entities
This is the tool we'll run after dumping everything in sandbox except
for Registrars, Registries, and RegistrarContacts, in order to
re-create the commit logs on said entities.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119369873
2016-05-13 17:38:50 -04:00
mcilwain
4b15d49f52 Add database invariant checker []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119162082
2016-05-13 17:38:34 -04:00