2727import com .viglet .turing .client .auth .credentials .TurApiKeyCredentials ;
2828import com .viglet .turing .client .sn .TurSNServer ;
2929import com .viglet .turing .client .sn .job .*;
30- import com .viglet .turing .commons .cache .TurCustomClassCache ;
3130import com .viglet .turing .commons .exception .TurRuntimeException ;
3231import com .viglet .turing .commons .sn .field .TurSNFieldName ;
3332import com .viglet .turing .connector .aem .cli .conf .AemHandlerConfiguration ;
4140import com .viglet .turing .connector .aem .commons .bean .TurAemTargetAttrValueMap ;
4241import com .viglet .turing .connector .aem .commons .config .IAemConfiguration ;
4342import com .viglet .turing .connector .aem .commons .context .TurAemSourceContext ;
44- import com .viglet .turing .connector .aem .commons .ext .TurAemExtDeltaDate ;
45- import com .viglet .turing .connector .aem .commons .ext .TurAemExtDeltaDateInterface ;
4643import com .viglet .turing .connector .aem .commons .mappers .TurAemContentDefinitionProcess ;
4744import com .viglet .turing .connector .aem .commons .mappers .TurAemModel ;
4845import lombok .Getter ;
5956import java .nio .file .Paths ;
6057import java .util .*;
6158import java .util .concurrent .atomic .AtomicInteger ;
62- import java .util .regex .Matcher ;
63- import java .util .regex .Pattern ;
6459import java .util .stream .Collectors ;
6560
6661@ Slf4j
@@ -76,7 +71,6 @@ public class TurAemIndexerTool {
7671 public static final String JCR = "jcr:" ;
7772 public static final String ID = "id" ;
7873 public static final String STATIC_FILE_SUB_TYPE = "STATIC_FILE" ;
79- public static final String ONCE = "once" ;
8074 public static final String REP = "rep:" ;
8175 public static final String ITEMS_PROCESSED_MESSAGE = "%d items processed in %dms" ;
8276 public static final String CQ = "cq:" ;
@@ -191,15 +185,13 @@ private TurAemSourceContext getTurAemSourceContext(IAemConfiguration config,
191185 }
192186
193187 private void updateSystemOnce (TurAemSourceContext turAemSourceContext ) {
194- turAemSystemDAO .findByConfig (configOnce (turAemSourceContext )).ifPresentOrElse (turAemSystem -> {
188+ turAemSystemDAO .findByConfig (TurAemCommonsUtils .configOnce (turAemSourceContext ))
189+ .ifPresentOrElse (turAemSystem -> {
195190 turAemSystem .setBooleanValue (true );
196191 turAemSystemDAO .update (turAemSystem );
197192 },
198- () -> turAemSystemDAO .save (new TurAemSystem (configOnce (turAemSourceContext ), true )));
199- }
200-
201- private String configOnce (TurAemSourceContext turAemSourceContext ) {
202- return "%s/%s" .formatted (turAemSourceContext .getId (), ONCE );
193+ () -> turAemSystemDAO .save (new TurAemSystem (TurAemCommonsUtils .configOnce (turAemSourceContext ),
194+ true )));
203195 }
204196
205197 private void getNodesFromJson (TurAemSourceContext turAemSourceContext ) {
@@ -311,7 +303,7 @@ private void getChildrenFromJson(String nodePath, JSONObject jsonObject, TurAemS
311303 && (turAemSourceContext .getSubType ().equals (STATIC_FILE_SUB_TYPE )
312304 || TurAemCommonsUtils .checkIfFileHasNotImageExtension (key ))) {
313305 String nodePathChild = "%s/%s" .formatted (nodePath , key );
314- if (!isOnce (turAemSourceContext ) || !isOnceConfig (nodePathChild )) {
306+ if (!isOnce (turAemSourceContext ) || !TurAemCommonsUtils . isOnceConfig (nodePathChild , config )) {
315307 TurAemCommonsUtils .getInfinityJson (nodePathChild , turAemSourceContext , false )
316308 .ifPresent (infinityJson ->
317309 getNodeFromJson (nodePathChild , infinityJson , turAemSourceContext , start ));
@@ -321,19 +313,11 @@ private void getChildrenFromJson(String nodePath, JSONObject jsonObject, TurAemS
321313 }
322314
323315 private boolean isOnce (TurAemSourceContext turAemSourceContext ) {
324- return turAemSystemDAO .findByConfig (configOnce (turAemSourceContext )).map (TurAemSystem ::isBooleanValue )
316+ return turAemSystemDAO .findByConfig (TurAemCommonsUtils .configOnce (turAemSourceContext ))
317+ .map (TurAemSystem ::isBooleanValue )
325318 .orElse (false );
326319 }
327320
328- private boolean isOnceConfig (String path ) {
329- if (StringUtils .isNotBlank (config .getOncePatternPath ())) {
330- Pattern p = Pattern .compile (config .getOncePatternPath ());
331- Matcher m = p .matcher (path );
332- return m .lookingAt ();
333- }
334- return false ;
335- }
336-
337321 private void prepareIndexObject (TurAemModel turAemModel , TurAemObject aemObject ,
338322 List <TurSNAttributeSpec > targetAttrDefinitions ,
339323 TurAemSourceContext turAemSourceContext ,
@@ -393,23 +377,8 @@ private boolean objectNeedBeIndexed(TurAemObject aemObject, TurAemSourceContext
393377 }
394378
395379 private boolean objectNeedBeReIndexed (TurAemObject aemObject , TurAemSourceContext turAemSourceContext ) {
396- return ddlNeedBeReIndexed (aemObject , turAemSourceContext , getDeltaDate (aemObject , turAemSourceContext ));
397- }
398-
399- private Date getDeltaDate (TurAemObject aemObject , TurAemSourceContext turAemSourceContext ) {
400- Date deltaDate = Optional .ofNullable (turAemContentDefinitionProcess .getDeltaClassName ())
401- .map (className -> TurCustomClassCache .getCustomClassMap (className )
402- .map (classInstance -> ((TurAemExtDeltaDateInterface ) classInstance )
403- .consume (aemObject , turAemSourceContext ))
404- .orElseGet (() -> defaultDeltaDate (aemObject , turAemSourceContext )))
405- .orElseGet (() -> defaultDeltaDate (aemObject , turAemSourceContext ));
406- log .debug ("Delta Date {} from {}" , deltaDate .toString (), aemObject .getPath ());
407- return deltaDate ;
408- }
409-
410- private static Date defaultDeltaDate (TurAemObject aemObject , TurAemSourceContext turAemSourceContext ) {
411- return new TurAemExtDeltaDate ().consume (aemObject ,
412- turAemSourceContext );
380+ return ddlNeedBeReIndexed (aemObject , turAemSourceContext , TurAemCommonsUtils .getDeltaDate (aemObject ,
381+ turAemSourceContext , turAemContentDefinitionProcess ));
413382 }
414383
415384 private boolean ddlNeedBeReIndexed (TurAemObject aemObject , TurAemSourceContext turAemSourceContext ,
@@ -451,7 +420,8 @@ private void sendReindex(TurAemObject aemObject, TurAemModel turAemModel,
451420 log .info ("ReIndexed {} object ({}) from {} to {} and deltaId = {}" ,
452421 aemObject .getPath (), turAemSourceContext .getId (),
453422 turAemIndexingsList .getFirst ().getDate (),
454- getDeltaDate (aemObject , turAemSourceContext ), deltaId ));
423+ TurAemCommonsUtils .getDeltaDate (aemObject , turAemSourceContext ,
424+ turAemContentDefinitionProcess ), deltaId ));
455425 }
456426 sendToTuringToBeIndexed (aemObject , turAemModel , turSNAttributeSpecList , locale ,
457427 turAemSourceContext );
@@ -486,7 +456,8 @@ private void updateIndexingStatus(TurAemObject aemObject, Locale locale, TurAemS
486456 aemObject .getPath (), turAemSourceContext .getId (), deltaId );
487457 } else {
488458 turAemIndexingDAO .update (turAemIndexingList .getFirst ()
489- .setDate (getDeltaDate (aemObject , turAemSourceContext ))
459+ .setDate (TurAemCommonsUtils .getDeltaDate (aemObject , turAemSourceContext ,
460+ turAemContentDefinitionProcess ))
490461 .setDeltaId (deltaId ));
491462 log .info ("Updated status {} object ({}) deltaId = {}" ,
492463 aemObject .getPath (), turAemSourceContext .getId (), deltaId );
@@ -499,9 +470,10 @@ private TurAemIndexing createTurAemIndexing(TurAemObject aemObject, Locale local
499470 return new TurAemIndexing ()
500471 .setAemId (aemObject .getPath ())
501472 .setIndexGroup (turAemSourceContext .getId ())
502- .setDate (getDeltaDate (aemObject , turAemSourceContext ))
473+ .setDate (TurAemCommonsUtils .getDeltaDate (aemObject , turAemSourceContext ,
474+ turAemContentDefinitionProcess ))
503475 .setDeltaId (deltaId )
504- .setOnce (isOnceConfig (aemObject .getPath ()))
476+ .setOnce (TurAemCommonsUtils . isOnceConfig (aemObject .getPath (), config ))
505477 .setLocale (locale );
506478 }
507479
0 commit comments