Project

General

Profile

« Previous | Next » 

Revision 54682

Refactoring to get ready for updates on the catalogue

View differences:

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