2019-02-21 22:34:35 +01:00
2019-02-21 14:57:47 +01:00
import java.nio.file.Files ;
import java.nio.file.Paths ;
2019-02-21 22:34:35 +01:00
public abstract class ImageFinder
2019-02-21 14:57:47 +01:00
{
2019-02-21 22:34:35 +01:00
static short maxYears = 5 ;
int lengthRootFolder ;
static String rootFolder ;
2019-02-21 14:57:47 +01:00
2019-02-21 22:34:35 +01:00
static int currentYear = 0 ;
2019-02-21 14:57:47 +01:00
2019-02-21 22:34:35 +01:00
static int currentMonth = 0 ;
static String [ ] monthNames = { " 01_January " , " 02_February " , " 03_March " , " 04_April " ,
" 05_May " , " 06_June " , " 07_July " , " 08_August " , " 09_September " ,
" 10_October " , " 11_November " , " 12_December " } ;
static Boolean [ ] [ ] month = new Boolean [ maxYears ] [ 12 ] ;
static String [ ] years = new String [ maxYears ] ;
2019-02-21 14:57:47 +01:00
public ImageFinder ( String rootFolder )
{
this . rootFolder = rootFolder ;
lengthRootFolder = rootFolder . length ( ) ;
}
2019-02-21 22:34:35 +01:00
String findStartyear ( )
2019-02-21 14:57:47 +01:00
{
boolean next = true ;
int i = 0 ; // start year
while ( next ) {
int currentyear = i ;
if ( Files . isDirectory ( Paths . get ( rootFolder + currentyear + " / " ) ) ) {
next = false ; // When a year folder found
} else {
i = i + 1 ;
next = true ;
}
}
return Integer . toString ( i ) ; // return first year folder name
}
public void findYears ( int yearCount , String startyear )
{
for ( int i = 0 ; i < = years . length ; i + + ) {
int currentyear = Integer . parseInt ( startyear ) + ( i * 1 ) ;
if ( Files . isDirectory ( Paths . get ( rootFolder + currentyear + " / " ) ) ) {
// System.out.println("Jahr " + currentyear + " gefunden!");
years [ i ] = Integer . toString ( currentyear ) ;
yearCount = i + 1 ;
} else {
// System.out.println("Jahr " + currentyear + " nicht gefunden!");
}
}
}
public void findMonths ( int yearCount )
{
for ( int i = 0 ; i < years . length ; i + + ) {
// System.out.println(i + " Year-Array: " + years[i]);
if ( years [ i ] ! = null ) {
for ( int j = 0 ; j < monthNames . length ; j + + ) {
if ( Files . isDirectory ( Paths
. get ( rootFolder + years [ i ] + " / " + monthNames [ j ] + " / " ) ) ) {
month [ i ] [ j ] = true ;
} else {
month [ i ] [ j ] = false ;
}
}
} else {
break ;
}
}
}
public void printFoundDirectories ( )
{
for ( int i = 0 ; i < years . length ; i + + ) {
if ( years [ i ] ! = null ) {
System . out . println ( " Jahr: " + years [ i ] ) ;
for ( int j = 0 ; j < 12 ; j + + ) {
if ( month [ i ] [ j ] ) {
System . out . print ( monthNames [ j ] + " , " ) ;
}
}
System . out . println ( " " ) ;
}
}
}
2019-02-21 22:34:35 +01:00
protected String convertImageCounter ( int imageCounter )
2019-02-21 14:57:47 +01:00
{
switch ( ( int ) ( Math . log10 ( imageCounter ) + 1 ) ) {
case 1 :
return " 00000 " + Integer . toString ( imageCounter ) ;
case 2 :
return " 0000 " + Integer . toString ( imageCounter ) ;
case 3 :
return " 000 " + Integer . toString ( imageCounter ) ;
case 4 :
return " 00 " + Integer . toString ( imageCounter ) ;
case 5 :
return " 0 " + Integer . toString ( imageCounter ) ;
case 6 :
return Integer . toString ( imageCounter ) ;
default :
return " 000000 " ;
}
}
2019-02-21 22:34:35 +01:00
public abstract String getImagePath ( int imageCounter ) ;
2019-02-21 14:57:47 +01:00
}