This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects

Resolve "Die Statistiken sollten auch in ElasticSearch hinterlegt werden."

Compare and Show latest version
1 file
+ 33
0
Compare changes
  • Side-by-side
  • Inline
@@ -9,8 +9,13 @@ import at.ac.uibk.gitsearch.service.vocabulary.VocabularyService.ValidationResul
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.networknt.schema.JsonSchema;
import com.networknt.schema.JsonSchemaFactory;
@@ -42,6 +47,7 @@ import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultDTO.GitProject;
import org.codeability.sharing.plugins.api.search.SearchResultDTO.MetadataFile;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.PublicVisibility;
import org.gitlab4j.api.GitLabApi;
import org.gitlab4j.api.GitLabApiException;
import org.gitlab4j.api.models.Branch;
@@ -165,6 +171,22 @@ public class GitlabEventService {
}
}
public static class PublicVisibilityDeserializer extends JsonDeserializer<PublicVisibility> {
@Override
public PublicVisibility deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException {
if (jsonParser.currentToken() == JsonToken.VALUE_TRUE) {
PublicVisibility publicVisibility = new PublicVisibility();
publicVisibility.setExcept(new String[]{});
return publicVisibility;
}
else if (jsonParser.currentToken() == JsonToken.VALUE_FALSE) {
return null;
}
return jsonParser.readValueAs(PublicVisibility.class);
}
}
/**
* just a derived class that does not JSONignore collectionContent,
*
@@ -187,6 +209,17 @@ public class GitlabEventService {
public void setCollectionContent(String[] collectionContent) {
this.collectionContent = collectionContent;
}
@JsonDeserialize(using = PublicVisibilityDeserializer.class)
@Override
public PublicVisibility getPublicVisibility() {
return super.getPublicVisibility();
}
@Override
public void setPublicVisibility(PublicVisibility publicVisibility) {
super.setPublicVisibility(publicVisibility);
}
}
/**