/* Copyright 2014 Danish Maritime Authority. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.maritimecloud.common.infrastructure.axon; import java.net.URI; import net.maritimecloud.serviceregistry.command.serviceinstance.Coverage; import java.util.UUID; import net.maritimecloud.serviceregistry.command.api.CreateOrganization; import net.maritimecloud.serviceregistry.command.api.OrganizationCreated; import net.maritimecloud.serviceregistry.command.organization.OrganizationId; import net.maritimecloud.serviceregistry.command.api.PrepareServiceSpecification; import net.maritimecloud.serviceregistry.command.api.ServiceInstanceCreated; import net.maritimecloud.serviceregistry.command.api.ServiceSpecificationCreated; import net.maritimecloud.serviceregistry.command.serviceinstance.ServiceEndpoint; import net.maritimecloud.serviceregistry.command.serviceinstance.ServiceInstanceId; import net.maritimecloud.serviceregistry.command.servicespecification.ServiceSpecificationId; import net.maritimecloud.serviceregistry.command.servicespecification.ServiceType; /** * Helper class that provides useful constants and factories for instances of various test data. * <p> * @author Christoffer Børrild */ public class CommonFixture { public static final String AN_ORG_ID = "AN_ORG_ID"; public static final String A_SPEC_ID = "A_SPEC_ID"; public static final String AN_INSTANCE_ID = "AN_INSTANCE_ID"; public static final String ANOTHER_INSTANCE_ID = "ANOTHER_INSTANCE_ID"; public static final ServiceType A_SERVICE_TYPE = ServiceType.AISASM; public static final String A_NAME = "a name"; public static final String A_SUMMARY = "a summary ..."; public static final String AN_ALIAS = "AN_ALIAS"; public static final String ANOTHER_ALIAS = "ANOTHER_ALIAS"; public static final Coverage A_COVERAGE = new Coverage("[{\"type\":\"polygon\",\"points\":[[12.557373046874998,56.29215668507645],[11.656494140625,56.022948079627454],[12.381591796875,55.41030721005218],[13.568115234375,55.61558902526749],[13.90869140625,56.072035471800866],[13.0517578125,55.83214387781303],[13.128662109375,56.17613891766981],[12.513427734375,55.99838095535963]]},{\"type\":\"rectangle\",\"topLeftLatitude\":56.05976947910657,\"topLeftLongitude\":9.38232421875,\"buttomRightLatitude\":55.429013452407396,\"buttomRightLongitude\":11.1181640625},{\"type\":\"circle\",\"center-latitude\":55.29162848682989,\"center-longitude\":11.074218749999998,\"radius\":49552.58124628375}]"); public static final ServiceEndpoint AN_ENDPOINT = new ServiceEndpoint(URI.create("http://some-url/an-endpoint")); public static final ServiceEndpoint ANOTHER_ENDPOINT = new ServiceEndpoint(URI.create("http://some-url/another-endpoint")); public static final String ANOTHER_NAME = "another name"; public static final String ANOTHER_SUMMARY = "another summary ..."; public static final Coverage ANOTHER_COVERAGE = new Coverage("[{\"type\":\"rectangle\",\"topLeftLatitude\":56.05976947910657,\"topLeftLongitude\":9.38232421875,\"buttomRightLatitude\":55.429013452407396,\"buttomRightLongitude\":11.1181640625},{\"type\":\"circle\",\"center-latitude\":55.29162848682989,\"center-longitude\":11.074218749999998,\"radius\":49552.58124628375}]"); public static final String A_URL = "http://a-url.com"; public static final String ANOTHER_URL = "http://another-url.com"; public static final OrganizationId anOrganizationId = new OrganizationId(AN_ORG_ID); public static final ServiceSpecificationId aServiceSpecificationId = new ServiceSpecificationId(A_SPEC_ID); public static final ServiceInstanceId aServiceInstanceId = new ServiceInstanceId(AN_INSTANCE_ID); public static final ServiceInstanceId anotherServiceInstanceId = new ServiceInstanceId(ANOTHER_INSTANCE_ID); public static OrganizationCreated organizationCreatedEvent() { return new OrganizationCreated(anOrganizationId, AN_ALIAS, A_NAME, A_SUMMARY, A_URL); } public static ServiceSpecificationCreated serviceSpecificationCreatedEvent() { return new ServiceSpecificationCreated(anOrganizationId, aServiceSpecificationId, A_SERVICE_TYPE, A_NAME, A_SUMMARY); } public static ServiceInstanceCreated serviceInstanceCreatedEvent() { return new ServiceInstanceCreated(anOrganizationId, aServiceSpecificationId, aServiceInstanceId, A_NAME, A_SUMMARY, A_COVERAGE, A_SERVICE_TYPE); } public static String generateIdentity() { return UUID.randomUUID().toString(); } public static OrganizationId generateOrganizationId() { return generateOrganizationId(generateIdentity()); } public static OrganizationId generateOrganizationId(String organizationIdentity) { return new OrganizationId(organizationIdentity); } public static ServiceSpecificationId generateServiceSpecificationId() { return generateServiceSpecificationId(generateIdentity()); } public static ServiceSpecificationId generateServiceSpecificationId(String serviceSpecificationId) { return new ServiceSpecificationId(serviceSpecificationId); } public static ServiceInstanceId generateServiceInstanceId() { return new ServiceInstanceId(generateIdentity()); } public static CreateOrganization generateCreateOrganizationCommand(String organizationIdentity) { return new CreateOrganization(generateOrganizationId(organizationIdentity), AN_ALIAS + organizationIdentity, A_NAME, A_SUMMARY, A_URL); } public static PrepareServiceSpecification aPrepareServiceSpecificationCommand( OrganizationId organizationId, ServiceSpecificationId serviceSpecificationId ) { return new PrepareServiceSpecification(organizationId, serviceSpecificationId, A_SERVICE_TYPE, A_NAME, A_SUMMARY); } }