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
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

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,
applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder()
.setBranchName(branch),
.setBranchName(branch),
pageLink
).build());
}
@ -162,8 +162,8 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
return listVersions(tenantId,
applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder()
.setBranchName(branch)
.setEntityType(entityType.name()),
.setBranchName(branch)
.setEntityType(entityType.name()),
pageLink
).build());
}
@ -173,10 +173,10 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
return listVersions(tenantId,
applyPageLinkParameters(
ListVersionsRequestMsg.newBuilder()
.setBranchName(branch)
.setEntityType(entityId.getEntityType().name())
.setEntityIdMSB(entityId.getId().getMostSignificantBits())
.setEntityIdLSB(entityId.getId().getLeastSignificantBits()),
.setBranchName(branch)
.setEntityType(entityId.getEntityType().name())
.setEntityIdMSB(entityId.getId().getMostSignificantBits())
.setEntityIdLSB(entityId.getId().getLeastSignificantBits()),
pageLink
).build());
}
@ -354,7 +354,9 @@ public class DefaultGitVersionControlQueueService implements GitVersionControlQu
} else if (vcResponseMsg.hasCommitResponse()) {
var commitResponse = vcResponseMsg.getCommitResponse();
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.setRemoved(commitResponse.getRemoved());
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;
@Data
@JsonIgnoreProperties(ignoreUnknown = true) // temporary to make sure no need to wipe db during development.
public class RepositorySettings implements Serializable {
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) {
reply(ctx, Optional.empty(), builder -> builder.setCommitResponse(CommitResponseMsg.newBuilder()
.setTs(result.getVersion().getTimestamp())
.setCommitId(result.getVersion().getId())
.setName(result.getVersion().getName())
.setAuthor(result.getVersion().getAuthor())
.setAdded(result.getAdded())
var responseBuilder = CommitResponseMsg.newBuilder().setAdded(result.getAdded())
.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) {

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.setRemoved(status.getRemoved().size());
GitRepository.Commit gitCommit = repository.commit(commit.getVersionName(), commit.getAuthorName(), commit.getAuthorEmail());
repository.push(commit.getWorkingBranch(), commit.getBranch());
result.setVersion(toVersion(gitCommit));
if (result.getAdded() > 0 || result.getModified() > 0 || result.getRemoved() > 0) {
GitRepository.Commit gitCommit = repository.commit(commit.getVersionName(), commit.getAuthorName(), commit.getAuthorEmail());
repository.push(commit.getWorkingBranch(), commit.getBranch());
result.setVersion(toVersion(gitCommit));
}
return result;
} catch (GitAPIException gitAPIException) {
//TODO: analyze and return meaningful exceptions that we can show to the client;

Loading…
Cancel
Save