Compare commits

..

5 commits
1.11 ... 1.17

18 changed files with 212 additions and 31 deletions

View file

@ -18,9 +18,8 @@
<classpathentry kind="lib" path="lib/UnitTesting/junit-4.12.jar" sourcepath="lib/UnitTesting/junit-4.12-sources.jar"/>
<classpathentry kind="lib" path="lib/Logs/slf4j-api-1.7.25.jar" sourcepath="lib/Logs/slf4j-api-1.7.25-sources.jar"/>
<classpathentry kind="lib" path="lib/Logs/slf4j-log4j12-1.7.25.jar" sourcepath="lib/Logs/slf4j-log4j12-1.7.25-sources.jar"/>
<classpathentry kind="lib" path="lib/devinsy-utils-0.8.0.jar" sourcepath="lib/devinsy-utils-0.8.0-sources.zip"/>
<classpathentry kind="lib" path="lib/devinsy-strings-0.11.0.jar" sourcepath="lib/devinsy-strings-0.11.0-sources.zip"/>
<classpathentry kind="lib" path="lib/commons-lang3-3.11.jar" sourcepath="lib/commons-lang3-3.11-sources.jar"/>
<classpathentry kind="lib" path="lib/commons-text-1.9.jar" sourcepath="lib/commons-text-1.9-sources.jar"/>
<classpathentry kind="lib" path="lib/commons-lang3-3.13.0.jar" sourcepath="lib/commons-lang3-3.13.0-sources.jar"/>
<classpathentry kind="lib" path="lib/devinsy-strings-0.17.0.jar" sourcepath="lib/devinsy-strings-0.17.0-sources.zip"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>

View file

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit!
#Fri Nov 20 05:18:02 CET 2020
build.number=3
#Mon Nov 27 12:47:18 CET 2023
build.number=1

View file

@ -1,3 +1,3 @@
product.name=xidyn
product.revision.major=1
product.revision.minor=11
product.revision.minor=17

View file

@ -1,7 +1,6 @@
This project is using the following libraries:
# Main requirements:
devinsy-utils GNU LGPL useful tools (StringList…)
commons-lang3 Apache 2
# Unit testing requirements:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -27,7 +27,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import fr.devinsy.util.FileTools;
import fr.devinsy.xidyn.utils.XidynUtils;
import fr.devinsy.xidyn.utils.cache.Cache;
/**
@ -35,8 +35,6 @@ import fr.devinsy.xidyn.utils.cache.Cache;
*/
public class PresenterFactory
{
private static Logger logger = LoggerFactory.getLogger(PresenterFactory.class);
/**
* http://thecodersbreakfast.net/index.php?post/2008/02/25/26-de-la-bonne-
* implementation-du-singleton-en-java
@ -46,6 +44,8 @@ public class PresenterFactory
private final static PresenterFactory INSTANCE = new PresenterFactory();
}
private static Logger logger = LoggerFactory.getLogger(PresenterFactory.class);
private Cache<Presenter> cache;
/**
@ -110,7 +110,7 @@ public class PresenterFactory
}
else
{
String localizedSource = FileTools.addBeforeExtension(source.toString(), "-" + locale.getLanguage());
String localizedSource = XidynUtils.insertBeforeExtension(source.toString(), "-" + locale.getLanguage());
result = this.cache.get(localizedSource);
@ -200,7 +200,7 @@ public class PresenterFactory
}
else
{
File localizedSource = new File(FileTools.addBeforeExtension(source.getAbsolutePath(), "-" + locale.getLanguage()));
File localizedSource = new File(XidynUtils.insertBeforeExtension(source.getAbsolutePath(), "-" + locale.getLanguage()));
result = this.cache.get(localizedSource);
@ -271,7 +271,7 @@ public class PresenterFactory
{
URL localizedSource;
localizedSource = new URL(FileTools.addBeforeExtension(source.getPath(), "-" + locale.getLanguage()));
localizedSource = new URL(XidynUtils.insertBeforeExtension(source.getPath(), "-" + locale.getLanguage()));
result = this.cache.get(localizedSource);
@ -383,7 +383,7 @@ public class PresenterFactory
}
else
{
String localizedSource = FileTools.addBeforeExtension(source.toString(), "-" + locale.getLanguage());
String localizedSource = XidynUtils.insertBeforeExtension(source.toString(), "-" + locale.getLanguage());
result = create(localizedSource);
@ -468,7 +468,7 @@ public class PresenterFactory
}
else
{
File localizedSource = new File(FileTools.addBeforeExtension(source.getAbsolutePath(), "-" + locale.getLanguage()));
File localizedSource = new File(XidynUtils.insertBeforeExtension(source.getAbsolutePath(), "-" + locale.getLanguage()));
result = create(localizedSource);
@ -531,7 +531,7 @@ public class PresenterFactory
}
else
{
URL localizedSource = new URL(FileTools.addBeforeExtension(source.getPath(), "-" + locale.getLanguage()));
URL localizedSource = new URL(XidynUtils.insertBeforeExtension(source.getPath(), "-" + locale.getLanguage()));
result = create(localizedSource);

View file

@ -22,9 +22,9 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import fr.devinsy.util.FileTools;
import fr.devinsy.xidyn.XidynException;
import fr.devinsy.xidyn.data.TagDataManager;
import fr.devinsy.xidyn.utils.XidynUtils;
/**
* The Class TranslatorPresenter.
@ -270,7 +270,7 @@ public class TranslatorPresenter implements Presenter
}
else
{
String adaptedSource = FileTools.addBeforeExtension(this.defaultSource, "-" + language);
String adaptedSource = XidynUtils.insertBeforeExtension(this.defaultSource, "-" + language);
result = PresenterFactory.create(adaptedSource);
if (result.isAvailable())
@ -279,7 +279,7 @@ public class TranslatorPresenter implements Presenter
}
else
{
adaptedSource = FileTools.addBeforeExtension(this.defaultSource, "_" + language);
adaptedSource = XidynUtils.insertBeforeExtension(this.defaultSource, "_" + language);
if (result.isAvailable())
{

View file

@ -597,6 +597,45 @@ public class XidynUtils
return result;
}
/**
* Insert before extension.
*
* @param fileName
* the file name
* @param addition
* the addition
* @return the string
*/
public static String insertBeforeExtension(final String fileName, final String addition)
{
String result;
if (fileName == null)
{
result = null;
}
else if (addition == null)
{
result = fileName;
}
else
{
int separatorIndex = fileName.lastIndexOf('.');
if (separatorIndex > 0)
{
result = fileName.substring(0, separatorIndex) + addition + fileName.substring(separatorIndex);
}
else
{
result = fileName + addition;
}
}
//
return result;
}
/**
* Load.
*

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2006-2017 Christian Pierre MOMON
* Copyright (C) 2006-2023 Christian Pierre MOMON <christian@momon.org>
*
* This file is part of Xidyn.
*
@ -21,7 +21,7 @@ package fr.devinsy.xidyn.utils;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.fest.assertions.Assertions;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@ -49,7 +49,7 @@ public class XidynUtilsTest
String source = "aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractBodyContent(source);
Assertions.assertThat(target).isEqualTo("hello");
Assert.assertEquals(target, "hello");
}
/**
@ -61,7 +61,7 @@ public class XidynUtilsTest
String source = "aaaaaaa<boDY>hello</Bod>zzzzz";
String target = XidynUtils.extractBodyContent(source);
Assertions.assertThat(target).isEqualTo("");
Assert.assertEquals(target, "");
}
/**
@ -73,7 +73,7 @@ public class XidynUtilsTest
String source = "aaaaa<body></BodY>zzzzz";
String target = XidynUtils.extractBodyContent(source);
Assertions.assertThat(target).isEqualTo("");
Assert.assertEquals(target, "");
}
/**
@ -85,7 +85,7 @@ public class XidynUtilsTest
String source = "aaaaa<boDY> hello </body>zzzzz";
String target = XidynUtils.extractBodyContent(source);
Assertions.assertThat(target).isEqualTo("hello");
Assert.assertEquals(target, "hello");
}
/**
@ -114,7 +114,7 @@ public class XidynUtilsTest
// System.out.println("[" + source + "]");
String target = XidynUtils.extractBodyContent(source);
Assertions.assertThat(target).isEqualTo("WELCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOME");
Assert.assertEquals(target, "WELCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOME");
}
/**
@ -126,7 +126,7 @@ public class XidynUtilsTest
String source = "aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractDoctype(source);
Assertions.assertThat(target).isNull();
Assert.assertNull(target);
}
/**
@ -138,7 +138,7 @@ public class XidynUtilsTest
String source = "<html xmlns='http://www.w3.org/1999/xhtml'>aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractDoctype(source);
Assertions.assertThat(target).isEqualTo("");
Assert.assertEquals(target, "");
}
/**
@ -150,7 +150,7 @@ public class XidynUtilsTest
String source = "<!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml'>aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractDoctype(source);
Assertions.assertThat(target).isEqualTo("<!DOCTYPE html>");
Assert.assertEquals(target, "<!DOCTYPE html>");
}
/**
@ -162,7 +162,7 @@ public class XidynUtilsTest
String source = "<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml'>aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractDoctype(source);
Assertions.assertThat(target).isEqualTo("<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html>");
Assert.assertEquals(target, "<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html>");
}
/**
@ -174,6 +174,150 @@ public class XidynUtilsTest
String source = "<?xml version='1.0' encoding='UTF-8' ?><!-- TOTOT --><!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml'>aaaaa<boDY>hello</Body>zzzzz";
String target = XidynUtils.extractDoctype(source);
Assertions.assertThat(target).isEqualTo("<?xml version='1.0' encoding='UTF-8' ?><!-- TOTOT --><!DOCTYPE html>");
Assert.assertEquals(target, "<?xml version='1.0' encoding='UTF-8' ?><!-- TOTOT --><!DOCTYPE html>");
}
/**
* Test insert before extension 01.
*/
@Test
public void testInsertBeforeExtension01()
{
String source = null;
String target = XidynUtils.insertBeforeExtension(source, null);
Assert.assertNull(target);
}
/**
* Test insert before extension 02.
*/
@Test
public void testInsertBeforeExtension02()
{
String source = null;
String target = XidynUtils.insertBeforeExtension(source, "");
Assert.assertNull(target);
}
/**
* Test insert before extension 03.
*/
@Test
public void testInsertBeforeExtension03()
{
String source = null;
String target = XidynUtils.insertBeforeExtension(source, "-fr");
Assert.assertNull(target);
}
/**
* Test insert before extension 05.
*/
@Test
public void testInsertBeforeExtension05()
{
String source = "";
String target = XidynUtils.insertBeforeExtension(source, null);
Assert.assertEquals(target, "");
}
/**
* Test insert before extension 06.
*/
@Test
public void testInsertBeforeExtension06()
{
String source = "";
String target = XidynUtils.insertBeforeExtension(source, "");
Assert.assertEquals(target, "");
}
/**
* Test insert before extension 07.
*/
@Test
public void testInsertBeforeExtension07()
{
String source = "";
String target = XidynUtils.insertBeforeExtension(source, "-fr");
Assert.assertEquals(target, "-fr");
}
/**
* Test insert before extension 08.
*/
@Test
public void testInsertBeforeExtension08()
{
String source = "foo";
String target = XidynUtils.insertBeforeExtension(source, null);
Assert.assertEquals(target, "foo");
}
/**
* Test insert before extension 09.
*/
@Test
public void testInsertBeforeExtension09()
{
String source = "foo";
String target = XidynUtils.insertBeforeExtension(source, "");
Assert.assertEquals(target, "foo");
}
/**
* Test insert before extension 10.
*/
@Test
public void testInsertBeforeExtension10()
{
String source = "foo";
String target = XidynUtils.insertBeforeExtension(source, "-fr");
Assert.assertEquals(target, "foo-fr");
}
/**
* Test insert before extension 11.
*/
@Test
public void testInsertBeforeExtension11()
{
String source = "foo.txt";
String target = XidynUtils.insertBeforeExtension(source, null);
Assert.assertEquals(target, "foo.txt");
}
/**
* Test insert before extension 12.
*/
@Test
public void testInsertBeforeExtension12()
{
String source = "foo.txt";
String target = XidynUtils.insertBeforeExtension(source, "");
Assert.assertEquals(target, "foo.txt");
}
/**
* Test insert before extension 13.
*/
@Test
public void testInsertBeforeExtension13()
{
String source = "foo.txt";
String target = XidynUtils.insertBeforeExtension(source, "-fr");
Assert.assertEquals(target, "foo-fr.txt");
}
}