powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / .Net -> Java
25 сообщений из 51, страница 2 из 3
.Net -> Java
    #34751013
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЩитъДа и по настоящему крупные системы обслуживают тоже мальчики на побегушках. Счас появилась куча вакансий на Java, потому что запад стал аутсорсить в Индию и Рашку. Как только доучатся достаточно прогеров под Javу, зарплаты упадут до уровней php-сайто-ваятелей.
Я тебе хочу сказать лишь одно.
Зарплаты программистов-профессионалов ни разу не падали за все 30 лет существования этой профессии. Это на фоне постоянного рыночного голода на таких специалистов.

Размер зарплаты php-ваятелей, вчерашних студентов, а также тупых недопрограммеров, рисующих формочки с 9 до 6, а после дико визжащих "ПЯДНИЦЦЦОООО" меня не волнует. Эти тенденции относятся к другим людям.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751019
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Net -> JavaТ.е на сколько я знаю ejb до 3 версии лучше было не трогать. А сейчас? Что по orm можете посоветовать?
Так может считать лишь дремучий человек, начитавшийся тявкания в форумах.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751119
.Net -> Java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрюхрюшкин. .Net -> JavaТ.е на сколько я знаю ejb до 3 версии лучше было не трогать. А сейчас? Что по orm можете посоветовать?
Так может считать лишь дремучий человек, начитавшийся тявкания в форумах.
Вот и спрашиваю=) лучше бы ответил по существу =)
В основном по форумам и смотрю, ибо по пресс релизам бесполезно.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751126
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Net -> Java
Вот и спрашиваю=) лучше бы ответил по существу =)
В основном по форумам и смотрю, ибо по пресс релизам бесполезно.
Что я тебе могу ответить по существу? Каждая технология хороша для своих задач. Задачи обучения всех подряд работе с EJB или еще какой другой технологии у меня нет.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751146
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процитирую себя:
Хрюхрюшкин.Размер зарплаты php-ваятелей, вчерашних студентов, а также тупых недопрограммеров, рисующих формочки с 9 до 6, а после дико визжащих "ПЯДНИЦЦЦОООО" меня не волнует. Эти тенденции относятся к другим людям.

Вот взять параллельный форум по Javascript'у. Там задают свои никчёмные вопросы такие дремучие люди, что я искренне удивляюсь, А ЗА ЧТО ИМ ПЛАТЯТ ДЕНЬГИ? Если, конечно, платят. Они не знают ничего, кроме своего тупорылого PHP или ASPX. Да и эти языки — на уровне прочитать значения из реквеста методом "GET" и нарисовать на странице три формочки.

Этих людей вполне можно заменять таджЫками. Хотя, не советовал бы. ТаджЫк прирежет еще свое начальство, если оно будет сильно орать и выпендриваться :)
...
Рейтинг: 0 / 0
.Net -> Java
    #34751195
.Net -> Java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрюхрюшкин. .Net -> Java
Вот и спрашиваю=) лучше бы ответил по существу =)
В основном по форумам и смотрю, ибо по пресс релизам бесполезно.
Что я тебе могу ответить по существу? Каждая технология хороша для своих задач. Задачи обучения всех подряд работе с EJB или еще какой другой технологии у меня нет.

ejb были как пример. Вопросы возникают когда переходишь с мс платформы. На Java дикий зоопарк технологий, фремворков и тд, в которых черт ногу сломит. Собсна и вопрос, что из этого бардака сейчас используется, а что устарело и тд.
Вы можете опираясь на свой опыт высказать мнение относительно этого, что возможно поможет сконцентрировать усилия на определенном наборе технологий и не распыляться на ненужные/кривый/устаревшие/сырые.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751242
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зная крепко основы и понимая как все это работает на уровне аппсервера, любой фреймворк осваивается в среднем за неделю. Меня очень умиляют люди, которые делают красивости на JSF, творят вебдваноль, но не знают, куда деплоятся классы в томкате.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751247
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Net -> Java
ejb были как пример. Вопросы возникают когда переходишь с мс платформы. На Java дикий зоопарк технологий, фремворков и тд, в которых черт ногу сломит. Собсна и вопрос, что из этого бардака сейчас используется, а что устарело и тд.
Вы можете опираясь на свой опыт высказать мнение относительно этого, что возможно поможет сконцентрировать усилия на определенном наборе технологий и не распыляться на ненужные/кривый/устаревшие/сырые.
В принципе, подходы Hibernate в любом случае помогут разбираться в том, как делается персистенция и маппинг объектов. Можете учить его, для начала.
Симпатичная вещь — Spring. Поможет разобраться в MVC архитектуре.

Можете использовать Struts + EJB (несмотря на активную критику этих технологий, во многом заслуженную) ты научишься делать многие вещи эффективно и просто.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751252
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnarionЗная крепко основы и понимая как все это работает на уровне аппсервера, любой фреймворк осваивается в среднем за неделю. Меня очень умиляют люди, которые делают красивости на JSF, творят вебдваноль, но не знают, куда деплоятся классы в томкате.
+1
Ну, не за неделю, но за месяц — вполне.
Внутри всё основано на стандартных спецификациях J2EE.
...
Рейтинг: 0 / 0
.Net -> Java
    #34751253
.Net -> Java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрюхрюшкин. .Net -> Java
ejb были как пример. Вопросы возникают когда переходишь с мс платформы. На Java дикий зоопарк технологий, фремворков и тд, в которых черт ногу сломит. Собсна и вопрос, что из этого бардака сейчас используется, а что устарело и тд.
Вы можете опираясь на свой опыт высказать мнение относительно этого, что возможно поможет сконцентрировать усилия на определенном наборе технологий и не распыляться на ненужные/кривый/устаревшие/сырые.
В принципе, подходы Hibernate в любом случае помогут разбираться в том, как делается персистенция и маппинг объектов. Можете учить его, для начала.
Симпатичная вещь — Spring. Поможет разобраться в MVC архитектуре.

Можете использовать Struts + EJB (несмотря на активную критику этих технологий, во многом заслуженную) ты научишься делать многие вещи эффективно и просто.

Спасибо большое =)
...
Рейтинг: 0 / 0
.Net -> Java
    #34751604
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин. .Net -> JavaТ.е на сколько я знаю ejb до 3 версии лучше было не трогать. А сейчас? Что по orm можете посоветовать?
Так может считать лишь дремучий человек, начитавшийся тявкания в форумах.

Я дремучий челавег, нинавидящий xdoclet согласен с тем что ejb2 это издевательство какое-то.

По существу ветки сформулировать ответ как-то трудно.

ORM он и есть орм JPA Hibernate и всё остальное, кому ORM тяжеловат (функционально, а не ментально) берут генерялку SQL iBATIS. голый JDBC используется довольно редко, хотя в последних версиях там появились DataSetы (отзывов не встречал). Реализации ActiveRecord (как в Ruby например) не припоминаю.
В отличии от .Netа транзакциями модно управлять декларативно: ejb, Spring. это работает и давно. (+1 старым ejb, но боюсь только один). Spring - придумали тогда когда ejb окончательно достали одного парня. начиналось это с Dependency Inection и AOP, в итоге получилась кучка клёвых библиотечек..
Web. тут всё гораздо обширнее. внизу Tomcat JavaBean JSP (прямые аналоги IIS и ASP), из этого и нетолько создана куча всяких фрэймворков. самый самый конечно Struts - action-based, тупой и беспощадный. к сожалению морально устарел, вместо него актуальны Spring MVC, Struts 2. противоположный лагерь component-based frameworks (похоже на ASP.NET) JSF , Wicket, Shale, Tapestry, WebWork, Seam.
В вместо JSP (которые имхо не сахар) модно Freemarker, Velocity, Facelets. JFS в исходном виде к сожалению не удобоварим и больше используется другими движками как база.
Ещё отличия организационные. Есть куча вендоров и понятие спецификации открытого сорца и халявы.

Это мой взгляд на ee и web жабу. Хотелось бы услышать мнение остальных по данному вопросу
____________________
если говорить про .Net то мне там много чего не понравилось. могу высказаться обстоятельно и по делу еслии интересует кого
...
Рейтинг: 0 / 0
.Net -> Java
    #34751825
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp
Я дремучий челавег, нинавидящий xdoclet согласен с тем что ejb2 это издевательство какое-то.

Ууууу, как страшно!!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
 package  com.forward.ejb.main.parametersLayout;

 import  java.sql.*;
 import  java.util.*;

 import  javax.ejb.*;

 import  com.forward.db.cover.*;
 import  com.forward.ejb.main.parameters.*;
 import  com.forward.system.*;
 import  org.apache.log4j.*;
 import  org.json.*;

/**
 * <p>Title: Forward 1.38 EE 4</p>
 *
 * <p>Description: Биллинговая система</p>
 *
 * <p>Copyright: © 2006—2007, Forward Telecom</p>
 *
 * <p>Company: Forward Telecom</p>
 *
 * <p>
 * Бин для управления разметкой параметров — сохранение и загрузка настроек в БД.
 *
 * <p>
 * <b>Принцип хранения разметки</b>:
 * <ul>
 *   <li>Таблицы могут быть вложены друг в друга (с теоретически неограниченным уровнем вложенности)
 *   <li>У каждой таблицы есть набор ячеек, которых также сохраняются
 *   <li>В каждой ячейке может быть помещена как новая таблица, так и параметр
 *   <li>Для хранения подобных вложенных настроек используется древовидная структура
 *   <li>Для хранение свойств каждого объекта использует текст в JSON-совместимом формате (это
 * позволит гибко менять свойства объектов, не переписывая код)
 * </ul>
 *
 * <p>
 * JSON-совместимый формат — запись вида
 * <pre>
 * {"borders":true,"rows":1,"header":false,"cellAlign":"left","tableWidth":"100%","headerName":"",
 * "columns":2,"tableClass":"table-form"}
 * </pre>
 * Состоит из наборов "код":значение, разделенный запятой
 *
 * <p>
 * <b>Описание формата хранения данных</b>:
 * <table width="100%">
 * <tr bgcolor="#ccccff">
 *   <th>Название поля
 *   <th>Тип
 *   <th>Описание
 *
 * <tr>
 *   <td>ID_OBJECT
 *   <td>varchar(255)
 *   <td>Идентификатор объекта. В зависимости от типа (поле TYPE) имеет следующий вид:
 * <ul>
 *   <li>Для таблицы выглядит как tableid@4151015 (где 4151015 — некий уникальный код)
 *   <li>Для ячейки выглядит как id@5421018 (где 5421018 — некий уникальный код)
 *   <li>Для параметра выглядит как 1015 (1015 — код данного параметра из таблицы <code>CII_SYSOBJECT_PARAM</code>)
 * </ul>
 *
 * <tr bgcolor="#eeeeff">
 *   <td>ID_PARENT
 *   <td>varchar(255)
 *   <td>Ссылка на родительский код (имеет ровно тот же вид, что и ID_OBJECT). Если это запись относится к таблице
 * или параметру, то ссылка может быть только на ячейку; если к ячейку — то ссылка на таблицу, которой принадлежит
 * эта ячейка.
 *
 * <tr>
 *   <td>PROPERTIES
 *   <td>varchar(1024)
 *   <td>Свойства объекта. В этом поле данные записываются в JSON-совместимом формате.
 * В зависимости от типа (поле TYPE) имеют следующие параметры:<br>
 *   <b>Для таблицы:</b>
 *   <table width="100%">
 *   <tr bgcolor="#ccccff">
 *     <th>Название
 *     <th>Описание
 *   <tr>
 *     <td>borders
 *     <td>true или false — наличие или отсутствие границы
 *   <tr bgcolor="#eeeeff">
 *     <td>rows
 *     <td>1 — количество строк
 *   <tr>
 *     <td>columns
 *     <td>2 — количество столбцов
 *   <tr bgcolor="#eeeeff">
 *     <td>header
 *     <td>true или false — наличие или отсутствие заголовка
 *   <tr>
 *     <td>headerName
 *     <td>текст заголовка; если header:false, то значение будет пустым
 *   <tr bgcolor="#eeeeff">
 *     <td>tableWidth
 *     <td>100% или пустое значение — максимальная или минимальная ширина
 *   <tr>
 *     <td>tableClass
 *     <td>CSS-класс отображения, по-умолчанию имеет значение table-form
 *   </table>
 *   <br>
 *   <b>Для ячейки:</b>
 *   <table width="100%">
 *   <tr bgcolor="#ccccff">
 *     <th>Название
 *     <th>Описание
 *   <tr>
 *     <td>align
 *     <td>center, left или right — выравнивание данных в ячейке по-центру, по левому или по правому краю
 *   </table>
 *   <br>
 *   <b>Для параметра:</b>
 *   <table width="100%">
 *   <tr bgcolor="#ccccff">
 *     <th>Название
 *     <th>Описание
 *   <tr>
 *     <td>styleClass
 *     <td>CSS-стиль отображения, по-умолчанию пуст
 *   <tr bgcolor="#eeeeff">
 *     <td>styleType
 *     <td>S, L или N — стиль отображения (Раздельно, В одной строке слитно, В одной строке c переносом)
 *   </table>
 *
 * <tr bgcolor="#eeeeff">
 *   <td>ID_SYSOBJECT
 *   <td>numeric(10)
 *   <td>Код sysobject — ссылка на системный объект, настройки которого сохранены в строке
 *
 * <tr>
 *   <td>TYPE
 *   <td>char
 *   <td>Тип сохраняемой в строке сущности. T, C, P — таблица, ячейка или параметр.
 *
 * <tr bgcolor="#eeeeff">
 *   <td>N_ORDER
 *   <td>numeric(10)
 *   <td>Порядковый номер в списке отображения одного уровня
 *
 * </table>
 *
 * @author raidan
 * @version 1.0
 */
 public   class  ParametersLayoutBean  implements  SessionBean
{

     private  Category cat = WU.getEJBLogger();

     private  Connection conn =  null ;

    /**
     * Конструктор по-умолчанию
     */
     public  ParametersLayoutBean ()
    {

    }

    /**
     * Конструктор для локальных вызовов с передачей внутрь <code>Connection</code>
     *
     * @param conn Connection
     */
     public  ParametersLayoutBean (Connection conn)
    {
         this .conn = conn;
    }

    SessionContext sessionContext;
     public   void  ejbCreate ()
             throws  CreateException
    {
    }

     public   void  ejbRemove ()
    {
    }

     public   void  ejbActivate ()
    {
    }

     public   void  ejbPassivate ()
    {
    }


     public   void  setSessionContext (SessionContext sessionContext)
    {
         this .sessionContext = sessionContext;
    }

    // Извлекает строку настроек из БД
     private  ParamLayoutDO fetchRow (ResultSet rs)
             throws  SQLException, JSONException
    {
        ParamLayoutDO data =  new  ParamLayoutDO();
        data.setId_sysobject(rs.getString("ID_SYSOBJECT"));
        data.setId(rs.getString("ID_OBJECT"));
        data.setProperties(rs.getString("PROPERTIES"));
        data.setId_parent(rs.getString("ID_PARENT"));
        data.setType(rs.getString("TYPE"));
        data.setOrder(rs.getString("N_ORDER"));

        JSONObject json =  new  JSONObject(data.getProperties());
        json.put("id", data.getId());
        json.put("parentId", data.getId_parent());
        data.setProperties(json.toString());

         return  data;
    }

    // Вызывается при сохранении
    // Управляет наличием параметра parentId в наборе JSON
    // Если parentId задан (это таблица), то подставляем это значение в отдельное поле ParamLayoutDO
     private  ParamLayoutDO processParamByJSON (ParamLayoutDO data)
             throws  JSONException
    {
        JSONObject json =  new  JSONObject(data.getProperties());
        data.setId(json.getString("id"));
        json.remove("id");
         if  (!json.isNull("parentId")) {
            data.setId_parent(json.getString("parentId"));
             if  (data.getId_parent().toLowerCase().equals("motherplace")) {
                data.setId_parent( null );
            }
            json.remove("parentId");
        }
        data.setProperties(json.toString());
         return  data;
    }

    /**
     * Обертка для метода. Загружает разметку без установки значений в параметры sysobject.
     *
     * @param data SystemObjectDO
     * @return SystemObjectDO
     */
     public  SystemObjectDO loadLayout (SystemObjectDO data)
    {
         return  loadLayout(data, false);
    }

    /**
     * Загружает настройки разметки для системного объекта. В <code>data</code> уже должен быть
     * загруженный sysobject.
     *
     * @param data SystemObjectDO
     * @param fillParameters если true, то в каждый параметр sysobject, если для него задана разметка?
     * загружает настройки рендеринга этого параметра; если false — просто загружает настройки
     * @return SystemObjectDO
     */
     public  SystemObjectDO loadLayout (SystemObjectDO data,  boolean  fillParameters)
    {

        Collection result =  new  ArrayList();

         if  (cat.isDebugEnabled()) {
            cat.debug("loading layout for " + data.getId());
        }
         try  {
            DBQuery query =  new  DBQuery(conn, true);
             try  {

                query.prepare(
                        "select ID_SYSOBJECT, ID_OBJECT, ID_PARENT, PROPERTIES, N_ORDER, TYPE " +
                        "from CII_SYSOBJECT_LAYOUT where TYPE = ? order by N_ORDER");
                query.addString( Const .SYSTEM_OBJECTS.LAYOUT_TYPE_CELL);

                // Загружаем список всех ячеек всех таблиц
                ResultSet rs = query.executeQuery();
                Map cellMap =  new  HashMap();
                 while  (rs.next()) {
                    ParamLayoutDO layout = fetchRow(rs);
                    Collection list = (Collection) cellMap.get(layout.getId_parent());
                     if  (list ==  null ) {
                        list =  new  ArrayList();
                        cellMap.put(layout.getId_parent(), list);
                    }
                    list.add(layout);
                }

                // Создаем кэш параметров
                Map parametersMap =  new  HashMap();
                 if  (fillParameters) {
                     for  (Iterator iter = data.getParameters().iterator(); iter.hasNext(); ) {
                        SystemParameterDO param = (SystemParameterDO) iter.next();
                        parametersMap.put(param.getId(), param);
                    }
                }

                // Загружаем все настройки кроме ячеек
                query.prepare(
                        "select ID_SYSOBJECT, ID_OBJECT, ID_PARENT, PROPERTIES, N_ORDER, TYPE " +
                        " from CII_SYSOBJECT_LAYOUT where ID_SYSOBJECT = ? and TYPE <> ? order by TYPE, N_ORDER");
                query.addLongM(data.getId());
                query.addString( Const .SYSTEM_OBJECTS.LAYOUT_TYPE_CELL);
                rs = query.executeQuery();
                 while  (rs.next()) {
                    ParamLayoutDO layout = fetchRow(rs);
                    // Если это таблица — находим ячейки
                     if  (layout.getType().equals( Const .SYSTEM_OBJECTS.LAYOUT_TYPE_TABLE)) {
                        Collection list = (Collection) cellMap.get(layout.getId());
                         if  (list !=  null ) {
                            layout.setCells(list);
                        }
                        data.getLayouts().add(layout);
                    }  else  {
                        // Если задано заполнение параметров — подставляем загруженные properties
                         if  (fillParameters) {
                            SystemParameterDO param = (SystemParameterDO) parametersMap.get(layout.
                                                                                            getId());
                             if  (param !=  null ) {
                                param.setLayoutProperties(layout.getProperties());
                            }
                        }  else  {
                            data.getLayouts().add(layout);
                        }
                    }
                }
                 if  (cat.isDebugEnabled()) {
                    cat.debug("Extracted " + result.size() + " records in layout");
                }
            }  finally  {
                query.close();
            }
        }  catch  (Exception sql) {
             throw   new  EJBException(sql);
        }
         return  data;
    }

    /**
     * Сохраняем разметку параметров. Вся старая разметка удаляется, новая вставляется.
     *
     * @param data SystemObjectDO
     */
     public   void  saveLayout (SystemObjectDO data)
    {

         if  (cat.isDebugEnabled()) {
            cat.debug("saving layout for " + data.getId());
        }
         try  {
            DBQuery query =  new  DBQuery(conn, true);
             try  {
                query.prepare("delete from CII_SYSOBJECT_LAYOUT where ID_SYSOBJECT = ?");
                query.addLongM(data.getId());
                query.executeUpdate();

                query.prepare(
                        "insert into CII_SYSOBJECT_LAYOUT (ID_SYSOBJECT, ID_OBJECT, ID_PARENT, PROPERTIES, N_ORDER, TYPE)" +
                        "values (?, ?, ?, ?, ?, ?)");

                query.setLongM( 1 , data.getId());

                 for  (Iterator iter = data.getLayouts().iterator(); iter.hasNext(); ) {
                    ParamLayoutDO param = processParamByJSON( (ParamLayoutDO) iter.next());
                     if  (cat.isDebugEnabled()) {
                        cat.debug("saving parameter " + param);
                    }
                    query.setString( 2 , param.getId());
                    query.setString( 3 , param.getId_parent());
                    query.setString( 4 , param.getProperties());
                    query.setInt( 5 , param.getOrder());
                    query.setString( 6 , param.getType());
                    query.executeUpdate();

                     if  (param.getCells().size() >  0 ) {
                         for  (Iterator cells = param.getCells().iterator(); cells.hasNext(); ) {
                            ParamLayoutDO cell = processParamByJSON( (ParamLayoutDO) cells.next());

                            query.setString( 2 , cell.getId());
                            query.setString( 3 , param.getId());
                            query.setString( 4 , cell.getProperties());
                            query.setInt( 5 , cell.getOrder());
                            query.setString( 6 , cell.getType());
                            query.executeUpdate();
                        }
                    }
                }

            }  finally  {
                query.close();
            }
        }  catch  (Exception sql) {
             throw   new  EJBException(sql);
        }
    }

    /**
     * Удаляет всю разметку, относящиеся к текущему sysobject. Вызывается при удалении
     * системного объекта.
     *
     * @param id_sysobject Long
     */
     public   void  removeLayout ( Long  id_sysobject)
    {
         try  {
            DBQuery query =  new  DBQuery(conn, true);
             try  {

                 if  (cat.isDebugEnabled()) {
                    cat.debug(" Deleting layout for system object " + id_sysobject);
                }

                 int  rows =  0 ;

                query.prepare("delete from CII_SYSOBJECT_LAYOUT where ID_SYSOBJECT = ?");
                query.addLongM(id_sysobject);
                rows = query.executeUpdate();

                 if  (cat.isDebugEnabled()) {
                    cat.debug(" Removing CII_SYSOBJECT_LAYOUT : " + rows + " rows");
                }
            }  finally  {
                query.close();
            }
        }  catch  (SQLException sql) {
             throw   new  EJBException(sql);
        }
    }
}


Страшный EJB2 бин, который я написал руками. Всё остальное среда сделала автоматически. Чуть-чуть потыркал руками, включая local/remote интерфейсы для нескольких методов.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752009
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.Страшный EJB2 бин, который я написал руками

+1

и так n-раз по нескольку раз, плюс debug и bugfixing.

код просто гениален. (без тени стёба)
но я такого ужо наившись
...
Рейтинг: 0 / 0
.Net -> Java
    #34752025
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp
+1

и так n-раз по нескольку раз, плюс debug и bugfixing.

код просто гениален. (без тени стёба)
но я такого ужо наившись
Вот этот конкретный код — это один кусок адского механизма для окучивания всех без исключений справочников, поисковых интерфейсов и параметров всех сущностей системы, отвечающий за расположение элементов на форме.
К щастью, больше его писать не нужно.
Да, в рядом лежащих бинах опять делаем запрос к очередной таблице, опять получаем resultSet, опять накачиваем данные из resultSet'а в объект...

К сожалению, использовать доступ к таблицам путем прямого маппинга (Hibernate/Spring/Toplink) не представляется возможным.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752038
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
померялись письками да и будет
...
Рейтинг: 0 / 0
.Net -> Java
    #34752039
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буагагагаа
...
Рейтинг: 0 / 0
.Net -> Java
    #34752052
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.Буагагагаа

"Хоть ты мне друг, но истина дороже" vs "москаль мэни нэ брат"
-
http://denvor.ru/content/humor/ruscode.htm

----

P.S. Это я так - рассматривая код (в части JashMap).

P.P.S. Ужо на какие непотебства народ идёт, не имея внятного редактору междумордий.
Тут покупкой коровы и велосипада - не отделаешься.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752056
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.К сожалению, использовать доступ к таблицам путем прямого маппинга (Hibernate/Spring/Toplink) не представляется возможным.

много раз такое слышал. и вижу. расскажите плиз в чём причина?
...
Рейтинг: 0 / 0
.Net -> Java
    #34752061
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
P.S. Это я так - рассматривая код (в части JashMap).

P.P.S. Ужо на какие непотебства народ идёт, не имея внятного редактору междумордий.
Тут покупкой коровы и велосипада - не отделаешься.
Ну что ты рассматриваешь, болезный?
На основе чего ты делаешь далекоидущие выводы о моей некомпетентности? На основе того, что я использую HashMap? А ты знаешь, какое количество элементов я этим кодом обрабатываю? А ты знаешь, что такое JSON?
...
Рейтинг: 0 / 0
.Net -> Java
    #34752069
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp Хрюхрюшкин.К сожалению, использовать доступ к таблицам путем прямого маппинга (Hibernate/Spring/Toplink) не представляется возможным.

много раз такое слышал. и вижу. расскажите плиз в чём причина?
Ну, так уж получается :)
Система слишком итеративно развивается.
Многие вещи всё-равно приходится делать на чистом JDBC (ради скорости). Заморачиваться с маппингом бессмысленно.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752070
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрюхрюшкин.

Я ж говорю - попробуй купить велосипед. (Раз свой то не или выходит, или удовольствия не доставляет... по причине отсутствия удобного интерфейсу видать... седла то есть)
...
Рейтинг: 0 / 0
.Net -> Java
    #34752072
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Я ж говорю - попробуй купить велосипед. (Раз свой то не или выходит, или удовольствия не доставляет... по причине отсутствия удобного интерфейсу видать... седла то есть)
Ну почему же так сразу. У меня лично вполне выходит. Решения о создании велосипедов принимаю не я. Я лишь воплощаю их в жизнь. Это даже интересно — создавать свое говно, а не копаться в чужом.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752820
Telepat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щитъ .Net -> JavaНичего плохого в сторону МС. На десктопах вне конкуренции. Для малого и среднего бизнеса тож хорошо. Но по настоящему крупные системы - не МС. А они то как раз и интересуют.Да и по настоящему крупные системы обслуживают тоже мальчики на побегушках. Счас появилась куча вакансий на Java, потому что запад стал аутсорсить в Индию и Рашку. Как только доучатся достаточно прогеров под Javу, зарплаты упадут до уровней php-сайто-ваятелей.

Я вообще жалею что учился на инженера и прогера. Надо было на хирурга или стоматолога учиться. У них зарплаты не падают, потому что неумытых гастарбайтеров во врачебное дело не пускают.

Золотые слова "неумытых гастарбайтеров во врачебное дело не пускают". Тут какой-то товарищ вон аж за месяц стал сеньером. Прикиньте кем он будет через год ?!!!
2 автор: Мне абсолютно не понятно, почему вы недоучив .NET пытаетесь перескочить на Java. Если ты действительно хороший спец по C#, то нет никаких причин переходить на Java. Это как стать хирургом, а потом переучиваться на пилота. Чушь.
И кто вам сказал что .NET не подходит для крупных проектов ? Откуда такие выводы ?

По моему мнению: Java - это винигрет из спецификаций. .NET - стройно выстороенная платформа. Посмотрите на темпы развития .NET'а: WPF, WCF, Framework 3/3.5, сюда отнесу и развитие SQL Server 2008 (Который тоже разрабатывается мелкомягкими и всяко будет "подточен" под .NET), MS VS 2008, проект Mono и т.д. А что Жава ?!!! по сути дела ничего нового. просто тупо добавляют в свой винигрет новые ингридиенты-спецификации и всё.
...
Рейтинг: 0 / 0
.Net -> Java
    #34752900
Microsoft must die
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TelepatЗолотые слова "неумытых гастарбайтеров во врачебное дело не пускают". Тут какой-то товарищ вон аж за месяц стал сеньером. Где это?Прикиньте кем он будет через год ?!!! Кем-кем, продавцом мобилок, кем же еще?По моему мнению: Java - это винигрет из спецификаций. .NET - стройно выстороенная платформа. Посмотрите на темпы развития .NET'а: WPF, WCF, Framework 3/3.5, сюда отнесу и развитие SQL Server 2008 (Который тоже разрабатывается мелкомягкими и всяко будет "подточен" под .NET), MS VS 2008, проект Mono и т.д. А что Жава ?!!! по сути дела ничего нового. просто тупо добавляют в свой винигрет новые ингридиенты-спецификации и всё.А что по сути дела новое в технологиях Microsoft? Что будет нового в SQL 2008? Чем реально сейчас прогеры пользуются из WPF, Framework 3/3.5? Где сайты, использующие это "новое"? Почему sql.ru не перепрыгнул на .NET Framework 3? Почему rsdn.ru до сих пор стоит на хламе ASP? Одни вопросы.А что Жава ?!!! по сути дела ничего нового.Принеси песочку. А что можно нового-то придумать под солнцем, родной? Что _нового_ создает Microsoft, если они просто тупо перетаскивают отшлифованные в java наработки, ака NHibernate, NUnit etc? LINQ? Так под жабу просто нет "единого" ORM-мапера, каждый выбирает себе платный-бесплатный, быстрый-навороченный, вариантов LINQ много, а LINQ претендует опять быть "молотком для всех гвоздей", и опять у LINQ это не получится, опять кодемонки не почитав, зачем нужон LINQ, станут пихать его во все щели, проги будут тормозить и LINQ охают последними словами.

.NET'а: WPF, WCF, Framework 3/3.5, сюда отнесу и развитие SQL Server 2008 , MS VS 2008По-моему как раз это винегрет из разрозненных спецификаций, а Mono вообще никаким боком сюда не относится, потому что как раз доказывает, что спецификации микрософта никому кроме микрософта реализовать не позволено

Microsoft must die
...
Рейтинг: 0 / 0
.Net -> Java
    #34752916
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft must dieА что по сути дела новое в технологиях Microsoft?
Нового в их технологиях следующее:

а) все в одном флаконе и.. с довольно приличной документаций. А т.к. 90% т.н. "прогов" (кодемонков) - не умеют пользоваться документацией, не говоря уже о вдумчивых селекциях технологий - то тут у Microsoft огромное преимущество

б) PR. Тупой и беспощадный PR. Сходи в любой ВУЗ, на IT специальность (недобитки оных), и поинтересуйся мнением сту(пи)дентов. Будешь приятно удивлен тенденцией

в) программы сертификаций, обучения, и даже уровни тех же студенческих олимпиад

г) и так далее, и тому подобное. Microsoft, как всегда, возьмет не качеством, а количеством, ей это - не в первой

д) особо, правда, отчаиваться смысла нет, т.к. дела на северном уровне - у них оставляют до сих пор желать лучшего. Тем не менее, ресурсов и возможности их координации у них, как ни странно, куда поболее, чем у JCP

---

В общем будет, конечно, весело (ну или, по меньшей мере - не скучно).
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / .Net -> Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]