mirror of
https://github.com/google/nomulus.git
synced 2025-07-24 19:48:32 +02:00
Prober EPP components added (#202)
* Updated issues in rebasing * Minor style change on prober/build.gradle * Fixed warnings for java compilation * Fixed files to pass all style tests * Initial Commit. * Deleted unfinished features. Added ActionHandler and its Unit Tests. * Included prober subproject in settings.gradle * Added Protocol Class and its Basic Unit Tests * Added Changes Suggested by jianglai * Fixed Gitignore to take out AutoValue generated code * Removed AutoValue java files * Added gitignore within prober * Removed all generated java * Final Changes in .gitignore * Added Ssl and WebWhois Action Handlers and their unit tests in addition to the ProbingAction class * Fixed build.gradle changes requested * Removed Files irrelevant to current pull request * Minor fixes to ActionHandler, as responded in comments, removed package-info, and updated settings.gradle * Fully Updated ActionHandler (missing updated JavaDoc) * Added changed Protocol and both Inbound and Outbound Markers * Removed AutoVaue ignore clause from .gitignore * removed unneccessary dependencies in build.gradle * Fixed Javadoc and comments for ActionHandler * Fixed comments and JavaDoc on other files * EOL added * Removed Unnecessary Files * fixed .gradle files styles * Removed outbound message from ActionHandler's fields and renamed Marker Interfaces * Fixed javadoc for Marker Interfaced * Modified Comments on ActionHandler * Removed LocalAddress from Protocol * Fixed Travis Build Issues * Rebased to Master and added in modified Handlers and ProbingAction * Fixed changes suggested by CydeWeys * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Modified license header dates * Updated WebWhois tests. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * SpotlessApply run to fix style issues * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * Rebased to Master and added in modified Handlers and ProbingAction * Fixed changes suggested by CydeWeys * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Modified license header dates * Updated WebWhois tests. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * SpotlessApply run to fix style issues * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * Rebased to master * Updated issues in rebasing * Minor style change on prober/build.gradle * Fixed warnings for java compilation * Fixed files to pass all style tests * Minor syle fixes after succesful rebase onto master * Initial Commit. * Added Protocol Class and its Basic Unit Tests * Fixed Gitignore to take out AutoValue generated code * Final Changes in .gitignore * Minor fixes to ActionHandler, as responded in comments, removed package-info, and updated settings.gradle * Removed AutoVaue ignore clause from .gitignore * Rebased to Master and added in modified Handlers and ProbingAction * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Modified license header dates * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * SpotlessApply run to fix style issues * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Fixed files to pass all style tests * Fixed changes suggested by CydeWeys * Rebased to Master and added in modified Handlers and ProbingAction * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * Refactored by responses suggested by jianglai. * Updated build.gradle file * Modified license header dates * Updated WebWhois tests. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * SpotlessApply run to fix style issues * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * Rebased to Master and added in modified Handlers and ProbingAction * Fixed changes suggested by CydeWeys * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Modified license header dates * Updated WebWhois tests. * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * Rebased to master * Updated issues in rebasing * Added circular linked list to utils * License Header added * Refactored probing sequence to be circular linked list iterator * Modified ProbingStep tests to reflect new ProbingStep structure. * Added circular linked list to utils * Added circular linked list to utils * License Header added * License Header added * Refactored probing sequence to be circular linked list iterator * Modified ProbingStep tests to reflect new ProbingStep structure. * Added missing license header to DefaultCircularLinkedListIterator * Fixed changes suggested by CydeWeys * Rebased to Master and added in modified Handlers and ProbingAction * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Fixed max column length to be 100 * Rebased to Master and added in modified Handlers and ProbingAction * Modified license header dates * Updated WebWhois tests. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Modified tests for WebWhois according to changes suggested by laijiang. * Fixed changes suggested by CydeWeys * Added missing license headers and JavaDoc * Minor fix in NewChannelAction JavaDoc * Minor Style Fix * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Modified license header dates * Updated WebWhois tests. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * SpotlessApply run to fix style issues * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Refactored ProbingAction to minimize number of unnecessary methods * Added circular linked list to utils * Added circular linked list to utils * License Header added * License Header added * Refactored probing sequence to be circular linked list iterator * Refactored probing sequence to be circular linked list iterator * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * ProbingStepTest modified to have fewer unnecessary helper methods * Updated issues in rebasing * Fixed max column length to be 100 * Minor changes to pass style tests * Successful rebase onto finished web-whois branch * Removed need for TestTokens with Mockito mocks of Tokens * Fixed style issues in DefaultCircularLinkedListIterator and AbstractCircularLinkedListIterator * Modified CircularList according to changes suggested by jianglai. * Added Protocol Class and its Basic Unit Tests * Added Ssl and WebWhois Action Handlers and their unit tests in addition to the ProbingAction class * Fixed changes suggested by CydeWeys * Fixed changes suggested by CydeWeys * Rebased to Master and added in modified Handlers and ProbingAction * Rebased to Master and added in modified Handlers and ProbingAction * Rebased to Master and added in modified Handlers and ProbingAction * Rebased to Master and added in modified Handlers and ProbingAction * Rebased to Master and added in modified Handlers and ProbingAction * Added missing license headers and JavaDoc * Minor Style Fix * Minor Style Fix * Full WebWhoIs Sequence Added * Full WebWhoIs Sequence Added * Full WebWhoIs Sequence Added * Full WebWhoIs Sequence Added * fixed build issues * Refactored by responses suggested by jianglai. * Updated build.gradle file * Updated WebWhois tests. * Added Basic EPP structure * Added Basic EPP structure * Prober Updated tests * Prober Updated tests * Fully functioning EPP sequences with modified WebWhois base. * Fully functioning EPP sequences with modified WebWhois base. * Added Modified test server infrastructure. * Added Modified test server infrastructure. * Allowed ActionHandler to pass status to next hanlder in pipeline (to be MetricsHandler). * Allowed ActionHandler to pass status to next hanlder in pipeline (to be MetricsHandler). * Javadoc on EppRequestMessage added * Javadoc on EppRequestMessage added * Updated EppServer to properly send successful Check responses. * Updated EppServer to properly send successful Check responses. * Allowed for expected failures in EPP actions. * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Refactored WebWhois to accomodate jianglai's suggested changes and modified tests to reflect this refactoring * Fully rebased branch to prober-web-whois after refactoring * Added license header and newline where appropriate. * Javadoc style fix in tests and removed unused methods * Javadoc style fix in tests and removed unused methods * Modified tests for WebWhois according to changes suggested by laijiang. * Modified tests for WebWhois according to changes suggested by laijiang. * Removed TestProvider from TestUtils. * Rebased to master * Fixed max column length to be 100 * Fixed files to pass all style tests * Minor changes to pass style tests * Successful rebase onto circular-list * Epp Refactored to accomodate circular linked list PR * Modified construction of Epp Probing Sequences to reflect CircularList change * Renamed ProberModule provided Duration * Removed unnecessary ServerSideException file * Google-Java-Format run on all prober files * Style fix on ProbingSequence and its unit tests * Removed subclasses of EppRequestMessage and EppResponseMessage and fixed style and other minor issues * Style changes implemented as suggested by jianglai * Added style fixes suggested by mindhog
This commit is contained in:
parent
4cf4c8c191
commit
cbc36d9697
66 changed files with 6089 additions and 1083 deletions
|
@ -15,69 +15,51 @@
|
|||
package google.registry.util;
|
||||
|
||||
/**
|
||||
* Class that stores value {@param <T>}, and points in circle to other {@link CircularList}
|
||||
* objects.
|
||||
* Class that stores value {@param <T>}, and points in circle to other {@link CircularList} objects.
|
||||
*
|
||||
* <p>In its construction, we create a sequence of {@link CircularList} objects, each storing an *
|
||||
* instance of T. They each point to each other in a circular manner, such that we can perform *
|
||||
* circular iteration on the elements. Once finished building, we return this first {@link *
|
||||
* CircularList} object in the sequence.
|
||||
*
|
||||
* @param <T> - Element type stored in the {@link CircularList}
|
||||
*
|
||||
* <p>In its construction, we create a sequence of {@link CircularList} objects, each storing an
|
||||
* instance of T. They each point to each other in a circular manner, such that we can perform
|
||||
* circular iteration on the elements. Once finished building, we return this first {@link
|
||||
* CircularList} object in the sequence.</p>
|
||||
*/
|
||||
public class CircularList<T> {
|
||||
|
||||
/**
|
||||
* T instance stored in current node of list.
|
||||
*/
|
||||
/** T instance stored in current node of list. */
|
||||
private final T value;
|
||||
|
||||
/**
|
||||
* Pointer to next node of list.
|
||||
*/
|
||||
/** Pointer to next node of list. */
|
||||
private CircularList<T> next;
|
||||
|
||||
/**
|
||||
* Standard constructor for {@link CircularList} that initializes its stored {@code value}.
|
||||
*/
|
||||
/** Standard constructor for {@link CircularList} that initializes its stored {@code value}. */
|
||||
protected CircularList(T value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard get method to retrieve {@code value}.
|
||||
*/
|
||||
/** Standard get method to retrieve {@code value}. */
|
||||
public T get() {
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard method to obtain {@code next} node in list.
|
||||
*/
|
||||
/** Standard method to obtain {@code next} node in list. */
|
||||
public CircularList<T> next() {
|
||||
return next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method only used in builder to point one node to the next.
|
||||
*/
|
||||
/** Setter method only used in builder to point one node to the next. */
|
||||
public void setNext(CircularList<T> next) {
|
||||
this.next = next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Builder to create a standard instance of a {@link CircularList}.
|
||||
*/
|
||||
/** Default Builder to create a standard instance of a {@link CircularList}. */
|
||||
public static class Builder<T> extends AbstractBuilder<T, CircularList<T>> {
|
||||
|
||||
/**
|
||||
* Simply calls on constructor to {@link CircularList} to create new instance.
|
||||
*/
|
||||
/** Simply calls on constructor to {@link CircularList} to create new instance. */
|
||||
@Override
|
||||
protected CircularList<T> create(T value) {
|
||||
return new CircularList<>(value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -85,26 +67,20 @@ public class CircularList<T> {
|
|||
* create the full list.
|
||||
*
|
||||
* @param <T> - Matching element type of iterator
|
||||
*
|
||||
* <p>Supports adding in element at a time, adding an {@link Iterable}
|
||||
* of elements, and adding an variable number of elemetns.</p>
|
||||
*
|
||||
* <p>Sets first element added to {@code first}, and when built, points last element to the
|
||||
* {@code first} element.</p>
|
||||
* <p>Supports adding in element at a time, adding an {@link Iterable} of elements, and adding
|
||||
* an variable number of elemetns.
|
||||
* <p>Sets first element added to {@code first}, and when built, points last element to the
|
||||
* {@code first} element.
|
||||
*/
|
||||
public abstract static class AbstractBuilder<T, C extends CircularList<T>> {
|
||||
|
||||
protected C first;
|
||||
protected C current;
|
||||
|
||||
/**
|
||||
* Necessary to instantiate each {@code C} object from {@code value}.
|
||||
*/
|
||||
/** Necessary to instantiate each {@code C} object from {@code value}. */
|
||||
protected abstract C create(T value);
|
||||
|
||||
/**
|
||||
* Sets current {@code C} to element added and points previous {@code C} to this one.
|
||||
*/
|
||||
/** Sets current {@code C} to element added and points previous {@code C} to this one. */
|
||||
public AbstractBuilder<T, C> add(T value) {
|
||||
C c = create(value);
|
||||
if (current == null) {
|
||||
|
@ -116,9 +92,7 @@ public class CircularList<T> {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simply calls {@code addElement}, for each element in {@code elements}.
|
||||
*/
|
||||
/** Simply calls {@code addElement}, for each element in {@code elements}. */
|
||||
public AbstractBuilder<T, C> add(T... values) {
|
||||
for (T element : values) {
|
||||
add(element);
|
||||
|
@ -126,21 +100,16 @@ public class CircularList<T> {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simply calls {@code addElement}, for each element in {@code elements}.
|
||||
*/
|
||||
/** Simply calls {@code addElement}, for each element in {@code elements}. */
|
||||
public AbstractBuilder<T, C> add(Iterable<T> values) {
|
||||
values.forEach(this::add);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the next {@code C} of the list to be the first {@code C} in the list.
|
||||
*/
|
||||
/** Sets the next {@code C} of the list to be the first {@code C} in the list. */
|
||||
public C build() {
|
||||
current.setNext(first);
|
||||
return first;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue