Revision 54682
Added by Alessia Bardi over 5 years ago
CatalogueRegistrator.java | ||
---|---|---|
56 | 56 |
|
57 | 57 |
ParthenosRegistryResource prr = catalogueAPIClient.getRegistered(resCatName); |
58 | 58 |
if(prr != null){ |
59 |
//TODO: what to do if already registered? Generate the json and perform an update on the catalalogue!
|
|
59 |
//TODO: what to do if already registered? Generate the json and perform an update on the catalologue!
|
|
60 | 60 |
log.debug(resCatName+ " is already registered"); |
61 | 61 |
return prr.getUuid(); |
62 | 62 |
} |
63 | 63 |
else { |
64 | 64 |
//resource not yet registered |
65 |
String json; |
|
66 |
switch (type.getLocalName()) { |
|
67 |
case "E29_Design_or_Procedure": |
|
68 |
json = getJsonForDesignProcedure(resource, resCatName, datasourceName); |
|
69 |
break; |
|
70 |
case "D14_Software": |
|
71 |
json = getJsonForSoftware(resource, resCatName, datasourceName); |
|
72 |
break; |
|
73 |
case "PE35_Project": |
|
74 |
json = getJsonForProject(resource, resCatName, datasourceName); |
|
75 |
break; |
|
76 |
case "PE1_Service": |
|
77 |
json = getJsonForService(resource, resCatName, datasourceName); |
|
78 |
break; |
|
79 |
case "E39_Actor": |
|
80 |
json = getJsonForActor(resource, resCatName, datasourceName); |
|
81 |
break; |
|
82 |
case "PE18_Dataset": |
|
83 |
json = getJsonForDataset(resource, resCatName, datasourceName); |
|
84 |
break; |
|
85 |
case "E78_Collection": |
|
86 |
json = getJsonForCollection(resource, resCatName, datasourceName); |
|
87 |
break; |
|
88 |
default: |
|
89 |
throw new IllegalArgumentException(String.format("Type " + type.getLocalName() + " not supported")); |
|
90 |
} |
|
65 |
String json = getJson(type, resource, resCatName, datasourceName); |
|
91 | 66 |
String uuid = catalogueAPIClient.doRegister(json, resCatName); |
92 | 67 |
if(StringUtils.isBlank(uuid)){ |
93 | 68 |
log.warn(String.format("%s could not be registered, sleeping 1sec and then try again", resURI)); |
... | ... | |
107 | 82 |
return catalogueAPIClient.purgeItem(resCatName); |
108 | 83 |
} |
109 | 84 |
|
85 |
protected String getJson(final Resource type, final Resource resource, final String resNameForCatalogue, final String datasourceName) |
|
86 |
throws IOException, ParthenosPublisherException { |
|
87 |
switch (type.getLocalName()) { |
|
88 |
case "E29_Design_or_Procedure": |
|
89 |
return getJsonForDesignProcedure(resource, resNameForCatalogue, datasourceName); |
|
90 |
case "D14_Software": |
|
91 |
return getJsonForSoftware(resource, resNameForCatalogue, datasourceName); |
|
92 |
case "PE35_Project": |
|
93 |
return getJsonForProject(resource, resNameForCatalogue, datasourceName); |
|
94 |
case "PE1_Service": |
|
95 |
return getJsonForService(resource, resNameForCatalogue, datasourceName); |
|
96 |
case "E39_Actor": |
|
97 |
return getJsonForActor(resource, resNameForCatalogue, datasourceName); |
|
98 |
case "PE18_Dataset": |
|
99 |
return getJsonForDataset(resource, resNameForCatalogue, datasourceName); |
|
100 |
case "E78_Collection": |
|
101 |
return getJsonForCollection(resource, resNameForCatalogue, datasourceName); |
|
102 |
default: |
|
103 |
throw new IllegalArgumentException(String.format("Type " + type.getLocalName() + " not supported")); |
|
104 |
} |
|
105 |
} |
|
110 | 106 |
|
111 | 107 |
protected String getJsonForProject(final Resource res, final String resNameForCatalogue, final String datasourceName) |
112 | 108 |
throws IOException, ParthenosPublisherException { |
Also available in: Unified diff
Refactoring to get ready for updates on the catalogue