88import  edu .ie3 .datamodel .exceptions .ConnectorException ;
99import  edu .ie3 .datamodel .io .IoUtil ;
1010import  edu .ie3 .datamodel .io .csv .*;
11- import  edu .ie3 .datamodel .io .csv .timeseries .ColumnScheme ;
12- import  edu .ie3 .datamodel .io .csv .timeseries .IndividualTimeSeriesMetaInformation ;
1311import  edu .ie3 .datamodel .io .naming .FileNamingStrategy ;
12+ import  edu .ie3 .datamodel .io .naming .TimeSeriesMetaInformation ;
13+ import  edu .ie3 .datamodel .io .naming .timeseries .ColumnScheme ;
14+ import  edu .ie3 .datamodel .io .naming .timeseries .IndividualTimeSeriesMetaInformation ;
1415import  edu .ie3 .datamodel .models .UniqueEntity ;
1516import  edu .ie3 .datamodel .models .timeseries .TimeSeries ;
1617import  edu .ie3 .datamodel .models .timeseries .TimeSeriesEntry ;
@@ -41,7 +42,8 @@ public class CsvFileConnector implements DataConnector {
4142      new  HashMap <>();
4243  private  final  Map <UUID , BufferedCsvWriter > timeSeriesWriters  = new  HashMap <>();
4344  // ATTENTION: Do not finalize. It's meant for lazy evaluation. 
44-   private  Map <UUID , CsvIndividualTimeSeriesMetaInformation > individualTimeSeriesMetaInformation ;
45+   private  Map <UUID , edu .ie3 .datamodel .io .csv .CsvIndividualTimeSeriesMetaInformation >
46+       individualTimeSeriesMetaInformation ;
4547  private  final  FileNamingStrategy  fileNamingStrategy ;
4648  private  final  String  baseDirectoryName ;
4749
@@ -219,8 +221,25 @@ public BufferedReader initReader(String filePath) throws FileNotFoundException {
219221   * 
220222   * @param timeSeriesUuid The time series in question 
221223   * @return An option on the queried information 
224+    * @deprecated since 3.0. Use {@link #individualTimeSeriesMetaInformation(UUID)} instead 
222225   */ 
223-   public  Optional <IndividualTimeSeriesMetaInformation > getIndividualTimeSeriesMetaInformation (
226+   @ Deprecated (since  = "3.0" , forRemoval  = true )
227+   public  Optional <edu .ie3 .datamodel .io .csv .timeseries .IndividualTimeSeriesMetaInformation >
228+       getIndividualTimeSeriesMetaInformation (UUID  timeSeriesUuid ) {
229+     return  individualTimeSeriesMetaInformation (timeSeriesUuid )
230+         .map (edu .ie3 .datamodel .io .csv .timeseries .IndividualTimeSeriesMetaInformation ::new );
231+   }
232+ 
233+   /** 
234+    * Get time series meta information for a given uuid. 
235+    * 
236+    * <p>This method lazily evaluates the mapping from <i>all</i> time series files to their meta 
237+    * information. 
238+    * 
239+    * @param timeSeriesUuid The time series in question 
240+    * @return An option on the queried information 
241+    */ 
242+   public  Optional <IndividualTimeSeriesMetaInformation > individualTimeSeriesMetaInformation (
224243      UUID  timeSeriesUuid ) {
225244    if  (Objects .isNull (individualTimeSeriesMetaInformation ))
226245      individualTimeSeriesMetaInformation  = buildIndividualTimeSeriesMetaInformation ();
@@ -233,7 +252,7 @@ public Optional<IndividualTimeSeriesMetaInformation> getIndividualTimeSeriesMeta
233252   * 
234253   * @return Mapping from time series uuid to it's meta information. 
235254   */ 
236-   private  Map <UUID , CsvIndividualTimeSeriesMetaInformation >
255+   private  Map <UUID , edu . ie3 . datamodel . io . csv . CsvIndividualTimeSeriesMetaInformation >
237256      buildIndividualTimeSeriesMetaInformation () {
238257    return  getIndividualTimeSeriesFilePaths ().parallelStream ()
239258        .map (
@@ -242,11 +261,11 @@ public Optional<IndividualTimeSeriesMetaInformation> getIndividualTimeSeriesMeta
242261              String  filePathWithoutEnding  = removeFileEnding (filePath );
243262              IndividualTimeSeriesMetaInformation  metaInformation  =
244263                  (IndividualTimeSeriesMetaInformation )
245-                       fileNamingStrategy .extractTimeSeriesMetaInformation (filePathWithoutEnding );
246-               return  new  CsvIndividualTimeSeriesMetaInformation (
264+                       fileNamingStrategy .timeSeriesMetaInformation (filePathWithoutEnding );
265+               return  new  edu . ie3 . datamodel . io . csv . CsvIndividualTimeSeriesMetaInformation (
247266                  metaInformation , filePathWithoutEnding );
248267            })
249-         .collect (Collectors .toMap (FileNameMetaInformation ::getUuid , v  -> v ));
268+         .collect (Collectors .toMap (TimeSeriesMetaInformation ::getUuid , v  -> v ));
250269  }
251270
252271  /** 
@@ -257,7 +276,7 @@ public Optional<IndividualTimeSeriesMetaInformation> getIndividualTimeSeriesMeta
257276   *     possible readers will be initialized. 
258277   * @return A mapping from column scheme to the individual time series meta information 
259278   */ 
260-   public  Map <ColumnScheme , Set <CsvIndividualTimeSeriesMetaInformation >>
279+   public  Map <ColumnScheme , Set <edu . ie3 . datamodel . io . csv . CsvIndividualTimeSeriesMetaInformation >>
261280      getCsvIndividualTimeSeriesMetaInformation (ColumnScheme ... columnSchemes ) {
262281    return  getIndividualTimeSeriesFilePaths ().parallelStream ()
263282        .map (
@@ -269,7 +288,8 @@ public Optional<IndividualTimeSeriesMetaInformation> getIndividualTimeSeriesMeta
269288        .map (Optional ::get )
270289        .collect (
271290            Collectors .groupingBy (
272-                 CsvIndividualTimeSeriesMetaInformation ::getColumnScheme , Collectors .toSet ()));
291+                 edu .ie3 .datamodel .io .csv .CsvIndividualTimeSeriesMetaInformation ::getColumnScheme ,
292+                 Collectors .toSet ()));
273293  }
274294
275295  /** 
@@ -322,11 +342,11 @@ private Set<String> getIndividualTimeSeriesFilePaths() {
322342   *     allowed. 
323343   * @return An {@link Optional} to {@link IndividualTimeSeriesMetaInformation} 
324344   */ 
325-   private  Optional <CsvIndividualTimeSeriesMetaInformation >  buildCsvTimeSeriesMetaInformation ( 
326-       String  filePathString , ColumnScheme ... columnSchemes ) {
345+   private  Optional <edu . ie3 . datamodel . io . csv . CsvIndividualTimeSeriesMetaInformation >
346+       buildCsvTimeSeriesMetaInformation ( String  filePathString , ColumnScheme ... columnSchemes ) {
327347    try  {
328-       FileNameMetaInformation  metaInformation  =
329-           fileNamingStrategy .extractTimeSeriesMetaInformation (filePathString );
348+       TimeSeriesMetaInformation  metaInformation  =
349+           fileNamingStrategy .timeSeriesMetaInformation (filePathString );
330350      if  (!IndividualTimeSeriesMetaInformation .class .isAssignableFrom (metaInformation .getClass ())) {
331351        log .error (
332352            "The time series file '{}' does not represent an individual time series." ,
@@ -350,7 +370,7 @@ private Optional<CsvIndividualTimeSeriesMetaInformation> buildCsvTimeSeriesMetaI
350370        return  Optional .empty ();
351371      }
352372      return  Optional .of (
353-           new  CsvIndividualTimeSeriesMetaInformation (
373+           new  edu . ie3 . datamodel . io . csv . CsvIndividualTimeSeriesMetaInformation (
354374              individualMetaInformation .getUuid (),
355375              individualMetaInformation .getColumnScheme (),
356376              filePathString ));
@@ -433,19 +453,28 @@ public void shutdown() {
433453            });
434454  }
435455
436-   /** Enhancing the {@link IndividualTimeSeriesMetaInformation} with the full path to csv file */ 
456+   /** 
457+    * Enhancing the {@link IndividualTimeSeriesMetaInformation} with the full path to csv file 
458+    * 
459+    * @deprecated since 3.0. Use {@link 
460+    *     edu.ie3.datamodel.io.csv.CsvIndividualTimeSeriesMetaInformation} instead 
461+    */ 
462+   @ Deprecated (since  = "3.0" , forRemoval  = true )
437463  public  static  class  CsvIndividualTimeSeriesMetaInformation 
438-       extends  IndividualTimeSeriesMetaInformation  {
464+       extends  edu . ie3 . datamodel . io . csv . timeseries . IndividualTimeSeriesMetaInformation  {
439465    private  final  String  fullFilePath ;
440466
441467    public  CsvIndividualTimeSeriesMetaInformation (
442-         UUID  uuid , ColumnScheme  columnScheme , String  fullFilePath ) {
468+         UUID  uuid ,
469+         edu .ie3 .datamodel .io .csv .timeseries .ColumnScheme  columnScheme ,
470+         String  fullFilePath ) {
443471      super (uuid , columnScheme );
444472      this .fullFilePath  = fullFilePath ;
445473    }
446474
447475    public  CsvIndividualTimeSeriesMetaInformation (
448-         IndividualTimeSeriesMetaInformation  metaInformation , String  fullFilePath ) {
476+         edu .ie3 .datamodel .io .csv .timeseries .IndividualTimeSeriesMetaInformation  metaInformation ,
477+         String  fullFilePath ) {
449478      this (metaInformation .getUuid (), metaInformation .getColumnScheme (), fullFilePath );
450479    }
451480
0 commit comments