пятница, 17 октября 2014 г.

Hibernate @ManyToMany object binding

We need to store reason reject list in limitNUWaste object.

@Entity
public class LimitNUWaste {
 @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Set<LimitRejectReason> rejectReasonList = new HashSet<LimitRejectReason>(0);
}

@Entity
public class LimitRejectReason {
    private String nameReason;

    @ManyToMany(fetch = FetchType.LAZY, mappedBy = "rejectReasonList")
    private Set<LimitNUWaste> limitNUWasteList = new HashSet<LimitNUWaste>(0);
}

Result - we have third table "limitnuwaste_reject_reason_list":

Field Type Null Key Default
limitnuwaste_list bigint(20) NO PRI NULL
reject_reason_list bigint(20) NO PRI NULL

четверг, 2 октября 2014 г.

Applet blocked by security settings

1)Необходимо найти программу jcontrol в нашей системе, запустить эту программу от того же самого пользователя, под которым мы запускаем браузер, то есть пользователь с обычными правами, не админ, не тот же root.
2)Выбираем вкладку security.
3)Выставляем уровень безопасности на medium.
4)Добавляем в список исключений адрес страницы сайта, на котором расположен так необходимый апплет.

пятница, 18 июля 2014 г.

Error filling print... Font 'Arial' is not available to the JVM. See the Javadoc for more details.

Проблема решилась так:
apt-get install ttf-mscorefonts-installer
Копируем все ttf файлы из папки /usr/share/fonts/truetype/msttcorefonts в директорию нашего любимого jdk - JAVA_HOME/jre/lib/fonts
Перезапускаем iReport, открываем наш документ и всё как надо.)

четверг, 10 июля 2014 г.

Отличия Calendar.HOUR_OF_DAY от Calendar.HOUR

Calendar.HOUR = Field number for get and set indicating the hour of the morning or afternoon. HOUR is used for the 12-hour clock. E.g., at 10:04:15.250 PM the HOUR is 10.

Calendar.HOUR_OF_DAY = Field number for get and set indicating the hour of the day. HOUR_OF_DAY is used for the 24-hour clock. E.g., at 10:04:15.250 PM the HOUR_OF_DAY is 22.

пятница, 9 мая 2014 г.

between operator mysql

Use beetween operator in mysql correctly, that use column's indexes .
Example of great correctly query:
SELECT * FROM news
  WHERE created_at BETWEEN STR_TO_DATE('2008-08-14 00:00:00', '%Y-%m-%d %H:%i:%s')
  AND STR_TO_DATE('2008-08-23 23:59:59', '%Y-%m-%d %H:%i:%s');

воскресенье, 15 декабря 2013 г.

Процесс загрузки java классов.

1) Системный загрузчик попытается поискать в кеше класс Student.
_1.1) Если класс найден, загрузка окончена.
_1.2) Если класс не найден, загрузка делегируется загрузчику расширений.
2) Загрузчик расширений попытается поискать в кеше класс Student.
_2.1) Если класс найден, загрузка окончена.
_2.2) Если класс не найден, загрузка делегируется базовому загрузчику.
3) Базовый загрузчик попытается поискать в кеше класс Student.
_3.1) Если класс найден, загрузка окончена.
_3.2) Если класс не найден, базовый загрузчик попытается его загрузить.
__3.2.1) Если загрузка прошла успешно, она закончена ;)
__3.2.2) Иначе управление предается загрузчику раширений.
_3.3) Загрузчик расширений пытается загрузить класс. 
__3.3.1) Если загрузка прошла успешно, она закончена ;)
__3.3.2) Иначе управление предается системному загрузчику.
_3.4) Системный загрузчик пытается загрузить класс. 
__3.4.1) Если загрузка прошла успешно, она закончена ;)
__3.4.2) Иначе генерируется исключение java.lang.ClassNotFoundException.

Как подписать java апплет?

1)В папке с апплетом(/component/applet/) в консоли выполняем команду mvn clean install assembly:assembly
2)Переходим в папку BIN нашего JDK (например, C:\Program Files\Java\jdk1.6.0_23\bin)
3)Создаем локальное хранилище нашего сертификата (keystore):
keytool -genkey -keystore .keystore -alias "Espesoft" -validity 99999
где Espesoft - название alias нашего сертификата;
99999 - срок в месяцах валидности сертификата;
.keystore - имя файла создаваемого хранилища.
keytool -genkey -keystore .keystore -alias "Espesoft" -validity 99999
4)В случае успешного запуска команды, система спросит нас пароль нашего хранилища, а также некоторую информацию о сертификате
(твои ФИО, название компании, город, страну и группу крови)
В результате будем иметь файл .keystore. Это и есть наше хранилище, которым мы будем подписывать разные апплеты.
Копируем в папку BIN нашего JDK наш JAR-файл (/component/applet/target/ecologysigningapplet-jar-with-dependencies.jar)/
Подписываем его с помощью следующей команды:
jarsigner.exe -keystore .keystore ecologysigningapplet-jar-with-dependencies.jar "Espesoft"
где Espesoft - название alias нашего сертификата;
.keystore - имя файла хранилища;
ecologysigningapplet-jar-with-dependencies.jar - название JAR-файла.
Система спросит нас пароль - вводим тот, что ввели в п. 3.
5)Затем перемещаем ecologysigningapplet-jar-with-dependencies.jar в папку webapp модулей ecologyapp и authmodule.
Переименовываем его ecologysigningapplet.jar
ecologyapp (используется для загрузок) и authmodule (используется для сброса пароля с помощью ЭЦП).