Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Open Subsurface Data Universe Software
Platform
System
Register
Commits
cbcce545
Commit
cbcce545
authored
Dec 23, 2020
by
Gitlab Runner
Browse files
Merge branch 'master' of
https://community.opengroup.org/osdu/platform/system/register
parents
32213d23
3e96253d
Changes
2
Hide whitespace changes
Inline
Side-by-side
provider/register-ibm/src/main/java/org/opengroup/osdu/register/provider/ibm/subscriber/DatastoreAccess.java
View file @
cbcce545
...
...
@@ -49,8 +49,9 @@ import lombok.extern.slf4j.Slf4j;
public
class
DatastoreAccess
implements
IDatastoreAccess
{
private
static
final
String
SUBSCRIBER_DB_NAME
=
"subscription"
;
@Autowired
private
PushSubscription
pushSubscription
;
/*
* @Autowired private PushSubscription pushSubscription;
*/
@Autowired
private
DatastoreMultiTenantAccess
dataStoreTenants
;
@Autowired
...
...
provider/register-ibm/src/main/java/org/opengroup/osdu/register/provider/ibm/subscriber/PushSubscription.java
View file @
cbcce545
/*
* Copyright 2017-2020, Schlumberger
*
* 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
org.opengroup.osdu.register.provider.ibm.subscriber
;
import
com.google.api.gax.rpc.NotFoundException
;
import
com.google.cloud.pubsub.v1.SubscriptionAdminClient
;
import
com.google.protobuf.Duration
;
import
com.google.pubsub.v1.ExpirationPolicy
;
import
com.google.pubsub.v1.ProjectSubscriptionName
;
import
com.google.pubsub.v1.ProjectTopicName
;
import
com.google.pubsub.v1.PushConfig
;
import
java.io.IOException
;
import
org.opengroup.osdu.core.common.model.tenant.TenantInfo
;
import
org.opengroup.osdu.register.utils.AppServiceConfig
;
import
org.opengroup.osdu.register.subscriber.model.Subscription
;
import
org.opengroup.osdu.register.utils.AppServiceConfig
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
@Component
public
class
PushSubscription
{
private
static
final
int
ackDeadlineSeconds
=
60
;
private
static
final
int
messageRetentionSeconds
=
432000
;
private
static
final
int
subscriptionExpirationSeconds
=
31540000
;
@Autowired
private
AppServiceConfig
serviceConfig
;
...
...
@@ -43,46 +18,14 @@ public class PushSubscription {
public
Subscription
create
(
Subscription
subscription
,
TenantInfo
tenant
,
String
masterGcpId
,
String
serviceIdentityEmail
)
throws
IOException
{
createPushSubscription
(
tenant
.
getProjectId
(),
masterGcpId
,
subscription
.
getTopic
(),
subscription
.
getNotificationId
(),
serviceConfig
.
getRecordsChangePubsubEndpoint
(),
serviceIdentityEmail
);
return
subscription
;
return
null
;
}
public
void
delete
(
String
servicesProjectId
,
String
subscriptionId
)
throws
IOException
{
try
(
SubscriptionAdminClient
subscriptionAdminClient
=
SubscriptionAdminClient
.
create
())
{
try
{
ProjectSubscriptionName
subscriptionName
=
ProjectSubscriptionName
.
of
(
servicesProjectId
,
subscriptionId
);
subscriptionAdminClient
.
deleteSubscription
(
subscriptionName
);
}
catch
(
NotFoundException
e
)
{
//silently catch
}
}
}
private
com
.
google
.
pubsub
.
v1
.
Subscription
createPushSubscription
(
String
tenantProjectId
,
String
servicesProjectId
,
String
topicId
,
String
subscriptionId
,
String
url
,
String
serviceIdentityEmail
)
throws
IOException
{
try
(
SubscriptionAdminClient
subscriptionAdminClient
=
SubscriptionAdminClient
.
create
())
{
ProjectTopicName
topicName
=
ProjectTopicName
.
of
(
tenantProjectId
,
topicId
);
ProjectSubscriptionName
subscriptionName
=
ProjectSubscriptionName
.
of
(
servicesProjectId
,
subscriptionId
);
PushConfig
config
=
PushConfig
.
newBuilder
()
.
setPushEndpoint
(
url
)
.
setOidcToken
(
PushConfig
.
OidcToken
.
newBuilder
().
setServiceAccountEmail
(
serviceIdentityEmail
).
build
())
.
build
();
return
subscriptionAdminClient
.
createSubscription
(
com
.
google
.
pubsub
.
v1
.
Subscription
.
newBuilder
()
.
setName
(
subscriptionName
.
toString
())
.
setTopic
(
topicName
.
toString
())
.
setPushConfig
(
config
)
.
setExpirationPolicy
(
ExpirationPolicy
.
newBuilder
().
setTtl
(
Duration
.
newBuilder
().
setSeconds
(
subscriptionExpirationSeconds
).
build
()).
build
())
.
setMessageRetentionDuration
(
Duration
.
newBuilder
().
setSeconds
(
messageRetentionSeconds
).
build
())
.
setAckDeadlineSeconds
(
ackDeadlineSeconds
)
.
build
());
}
}
}
Dmitriy Rudko
💬
@Dmitriy_Rudko
mentioned in commit
4be4a6dc
·
Feb 11, 2021
mentioned in commit
4be4a6dc
mentioned in commit 4be4a6dcd6cf81056bfd9a32c3ec6c25aae7743a
Toggle commit list
Morris Estepa
@estepamo
mentioned in commit
9b6eaa9c
·
Jun 11, 2022
mentioned in commit
9b6eaa9c
mentioned in commit 9b6eaa9cabc1af6538b17b6f76382473f6467c69
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment