Browse Source

Public Customer import fix. No commit when no changes

pull/6641/head
Andrii Shvaika 4 years ago
parent
commit
7bd51cb4ce
  1. 6
      application/src/main/java/org/thingsboard/server/service/sync/ie/importing/impl/CustomerImportService.java
  2. 18
      application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultGitVersionControlQueueService.java
  3. 1
      common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java
  4. 18
      common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/DefaultClusterVersionControlService.java
  5. 9
      common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/DefaultGitRepositoryService.java

6
application/src/main/java/org/thingsboard/server/service/sync/ie/importing/impl/CustomerImportService.java

@ -42,7 +42,11 @@ public class CustomerImportService extends BaseEntityImportService<CustomerId, C
@Override @Override
protected Customer prepareAndSave(TenantId tenantId, Customer customer, EntityExportData<Customer> exportData, IdProvider idProvider) { protected Customer prepareAndSave(TenantId tenantId, Customer customer, EntityExportData<Customer> exportData, IdProvider idProvider) {
return customerService.saveCustomer(customer); if (customer.isPublic()) {
return customerService.findOrCreatePublicCustomer(tenantId);
} else {
return customerService.saveCustomer(customer);
}
} }
@Override @Override

18
application/src/main/java/org/thingsboard/server/service/sync/vc/DefaultGitVersionControlQueueService.java

@ -152,7 +152,7 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
return listVersions(tenantId, return listVersions(tenantId,
applyPageLinkParameters( applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder() ListVersionsRequestMsg.newBuilder()
.setBranchName(branch), .setBranchName(branch),
pageLink pageLink
).build()); ).build());
} }
@ -162,8 +162,8 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
return listVersions(tenantId, return listVersions(tenantId,
applyPageLinkParameters( applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder() ListVersionsRequestMsg.newBuilder()
.setBranchName(branch) .setBranchName(branch)
.setEntityType(entityType.name()), .setEntityType(entityType.name()),
pageLink pageLink
).build()); ).build());
} }
@ -173,10 +173,10 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
return listVersions(tenantId, return listVersions(tenantId,
applyPageLinkParameters( applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder() ListVersionsRequestMsg.newBuilder()
.setBranchName(branch) .setBranchName(branch)
.setEntityType(entityId.getEntityType().name()) .setEntityType(entityId.getEntityType().name())
.setEntityIdMSB(entityId.getId().getMostSignificantBits()) .setEntityIdMSB(entityId.getId().getMostSignificantBits())
.setEntityIdLSB(entityId.getId().getLeastSignificantBits()), .setEntityIdLSB(entityId.getId().getLeastSignificantBits()),
pageLink pageLink
).build()); ).build());
} }
@ -354,7 +354,9 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
} else if (vcResponseMsg.hasCommitResponse()) { } else if (vcResponseMsg.hasCommitResponse()) {
var commitResponse = vcResponseMsg.getCommitResponse(); var commitResponse = vcResponseMsg.getCommitResponse();
var commitResult = new VersionCreationResult(); var commitResult = new VersionCreationResult();
commitResult.setVersion(new EntityVersion(commitResponse.getTs(), commitResponse.getCommitId(), commitResponse.getName(), commitResponse.getAuthor())); if (commitResponse.getTs() > 0) {
commitResult.setVersion(new EntityVersion(commitResponse.getTs(), commitResponse.getCommitId(), commitResponse.getName(), commitResponse.getAuthor()));
}
commitResult.setAdded(commitResponse.getAdded()); commitResult.setAdded(commitResponse.getAdded());
commitResult.setRemoved(commitResponse.getRemoved()); commitResult.setRemoved(commitResponse.getRemoved());
commitResult.setModified(commitResponse.getModified()); commitResult.setModified(commitResponse.getModified());

1
common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java

@ -21,7 +21,6 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) // temporary to make sure no need to wipe db during development.
public class RepositorySettings implements Serializable { public class RepositorySettings implements Serializable {
private static final long serialVersionUID = -3211552851889198721L; private static final long serialVersionUID = -3211552851889198721L;

18
common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/DefaultClusterVersionControlService.java

@ -457,14 +457,18 @@ public class DefaultClusterVersionControlService extends TbApplicationEventListe
} }
private void reply(VersionControlRequestCtx ctx, VersionCreationResult result) { private void reply(VersionControlRequestCtx ctx, VersionCreationResult result) {
reply(ctx, Optional.empty(), builder -> builder.setCommitResponse(CommitResponseMsg.newBuilder() var responseBuilder = CommitResponseMsg.newBuilder().setAdded(result.getAdded())
.setTs(result.getVersion().getTimestamp())
.setCommitId(result.getVersion().getId())
.setName(result.getVersion().getName())
.setAuthor(result.getVersion().getAuthor())
.setAdded(result.getAdded())
.setModified(result.getModified()) .setModified(result.getModified())
.setRemoved(result.getRemoved()))); .setRemoved(result.getRemoved());
if (result.getVersion() != null) {
responseBuilder.setTs(result.getVersion().getTimestamp())
.setCommitId(result.getVersion().getId())
.setName(result.getVersion().getName())
.setAuthor(result.getVersion().getAuthor());
}
reply(ctx, Optional.empty(), builder -> builder.setCommitResponse(responseBuilder));
} }
private void reply(VersionControlRequestCtx ctx, Optional<Exception> e) { private void reply(VersionControlRequestCtx ctx, Optional<Exception> e) {

9
common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/DefaultGitRepositoryService.java

@ -117,10 +117,11 @@ public class DefaultGitRepositoryService implements GitRepositoryService {
result.setModified(status.getModified().size()); result.setModified(status.getModified().size());
result.setRemoved(status.getRemoved().size()); result.setRemoved(status.getRemoved().size());
GitRepository.Commit gitCommit = repository.commit(commit.getVersionName(), commit.getAuthorName(), commit.getAuthorEmail()); if (result.getAdded() > 0 || result.getModified() > 0 || result.getRemoved() > 0) {
repository.push(commit.getWorkingBranch(), commit.getBranch()); GitRepository.Commit gitCommit = repository.commit(commit.getVersionName(), commit.getAuthorName(), commit.getAuthorEmail());
repository.push(commit.getWorkingBranch(), commit.getBranch());
result.setVersion(toVersion(gitCommit)); result.setVersion(toVersion(gitCommit));
}
return result; return result;
} catch (GitAPIException gitAPIException) { } catch (GitAPIException gitAPIException) {
//TODO: analyze and return meaningful exceptions that we can show to the client; //TODO: analyze and return meaningful exceptions that we can show to the client;

Loading…
Cancel
Save