@@ -230,27 +230,6 @@ public TheseMappee(Mets mets, List<Set> oaiSets) {
230230 log .error ("impossible de récupérer le getIndicCines pour " + nnt + "(NullPointerException)" );
231231 }
232232
233-
234- // status
235- try {
236- log .info ("traitement de status" );
237-
238- status = "enCours" ;
239-
240- final String regex = ".*\\ /([0-9,A-Z]*)" ;
241- final String urlperene = mets .getDmdSec ().stream ().filter (d -> d .getMdWrap ().getXmlData ().getStarGestion () != null ).findFirst ().orElse (null )
242- .getMdWrap ().getXmlData ().getStarGestion ().getTraitements ().getSorties ().getDiffusion ().getUrlPerenne ();
243- final Pattern pattern = Pattern .compile (regex , Pattern .MULTILINE );
244- final Matcher matcher = pattern .matcher (urlperene );
245-
246- if (isNnt (matcher .group (1 ))) {
247- status = "soutenue" ;
248- }
249- } catch (NullPointerException e ) {
250- log .error ("PB pour status de " + nnt + "," + e .getMessage ());
251- }
252-
253-
254233 // isSoutenue
255234 log .info ("traitement de isSoutenue" );
256235
@@ -265,6 +244,37 @@ public TheseMappee(Mets mets, List<Set> oaiSets) {
265244 log .error ("PB pour isSoutenue de " + nnt + e .getMessage ());
266245 }
267246
247+ // status
248+ try {
249+ log .info ("traitement de status" );
250+
251+ status = "soutenue" ;
252+
253+ Optional <DmdSec > starGestion = mets .getDmdSec ().stream ().filter (d -> d .getMdWrap ().getXmlData ().getStarGestion () != null ).findFirst ();
254+ Optional <DmdSec > stepGestion = mets .getDmdSec ().stream ().filter (d -> d .getMdWrap ().getXmlData ().getStepGestion () != null ).findFirst ();
255+
256+ if (starGestion .isPresent ()) {
257+ final String regex = ".*\\ /([0-9,A-Z]*)" ;
258+ final String urlperene = starGestion .get ().getMdWrap ().getXmlData ().getStarGestion ().getTraitements ().getSorties ().getDiffusion ().getUrlPerenne ();
259+ if (urlperene != null ) {
260+ final Pattern pattern = Pattern .compile (regex , Pattern .MULTILINE );
261+ final Matcher matcher = pattern .matcher (urlperene );
262+
263+ if (matcher .matches () && isNnt (matcher .group (1 ))) {
264+ status = "soutenue" ;
265+ } else {
266+ status = "enCours" ;
267+ }
268+ }
269+ }
270+ if (stepGestion .isPresent ()) {
271+ status = "enCours" ;
272+ }
273+
274+ } catch (NullPointerException e ) {
275+ log .error ("PB pour status de " + nnt + "," + e .getMessage ());
276+ }
277+
268278 // date filtre
269279 log .info ("traitement de datefiltre " );
270280
@@ -338,8 +348,7 @@ public TheseMappee(Mets mets, List<Set> oaiSets) {
338348 } else if (p .getType ().equals ("autreType" )) {
339349 pdto .setType (p .getAutreType ());
340350 }
341- }
342- catch (Exception eTypePartenaireRecherche ) {
351+ } catch (Exception eTypePartenaireRecherche ) {
343352 log .error ("pb lors de la récupération du type du partenaire de recherche pour nnt = " + nnt );
344353 }
345354
0 commit comments