Показаны сообщения с ярлыком java. Показать все сообщения
Показаны сообщения с ярлыком java. Показать все сообщения

пятница, 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)Добавляем в список исключений адрес страницы сайта, на котором расположен так необходимый апплет.

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

Как подписать 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 (используется для сброса пароля с помощью ЭЦП).

понедельник, 8 апреля 2013 г.

Временные файлы java

В процессе разработки часто сталкиваюсь с необходимостью создания временного файла. И я вовремя узнал, что в JDK есть стандартный метод для создания временных файлов.
File tempFile = File.createTempFile("abc", "");
Этот метод создаёт временный файл в папке, специально предназначенной для временных файлов в данной операционной системе. Эта папка в разных ОС может называться по-разному, но для временного файла не очень важно, где он будет создан и как он будет называться. Важнее факт наличия специального каталога. После создания вы сразу получаете указатель на этот файл для дальнейшего манипулирования с ним.

Метод принимает два строковых параметра: префикс и суффикс. Префикс должен обязательно содержать не менее трёх символов. Префикс определяет начало имени временного файла. Суффикс определяет его конец, но он не обязателен. Если в качестве суффикса передать null, то временный файл получит расширение .tmp. Но ведь расширение ни на что не влияет, так что можно передать в качестве суффикса пустую строку, чтобы в конец имени временного файла ничего не добавлялось. Серединой же имени временного файла будет набор цифр.

Итак, для значений параметров, приведённых выше, метод создаст, например, такой файл:

/tmp/abc8859980780322653785
А вот этот файл может получиться, если в качестве суффикса передать null:
/tmp/abc7890857977307054209.tmp
Ну а если хотим заменить расширение tmp на что-нибудь другое, достаточно в качестве суффикса передать, например, ".temporary":
/tmp/abc7751462332148781358.temporary