-неизвестно

 -Поиск по дневнику

Поиск сообщений в ATUM

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.02.2006
Записей:
Комментариев:
Написано: 1139




Мечты составляют половину реальности....(Жозеф ЖУБЕР) В этом мире все когда-то было мечтой...

Is GlassFish Admin console (port 4848) secure?

Четверг, 18 Апреля 2013 г. 11:34 + в цитатник
Is GlassFish Admin console (port 4848) secure?

"checkin secure option for admin-listener" is working after I restart the server.

https://blogs.oracle.com/dipol/entry/glassfish_3_1_clusters_without

Метки:  

split variable from last slash - jquery

Вторник, 16 Апреля 2013 г. 17:51 + в цитатник
var string = 'var1/var2/var3';

var result = string.split('/');     //Splits into an array

//var final = result[result.length -1]; //Grabs last value
//result.pop();             //Removes last value

var final = result.pop();        //Removes last value and grap the last value
var previous = result.join('/');    //Grabs the previous part

alert("Previous: " + previous + ", Final Part: " + final); //Alerts results


* This source code was highlighted with Source Code Highlighter.

Метки:  

lookup

Среда, 10 Апреля 2013 г. 23:34 + в цитатник
EJB named java:global/chapter06/BookEJB as follows:
Context ctx = new InitialContext();
BookEJB bookEJB = (BookEJB) ctx.lookup("java:global/chapter06/BookEJB");
JNDI has been around for a long time. Its API is specified and is portable across application servers.
But this wasn’t the case with the JNDI name, which was implementation specific. When an EJB in
GlassFish or JBoss was deployed, the name of the EJB in the directory service was different and thus not
portable. A client would have to look up an EJB using one name for GlassFish, and another name for
JBoss. With EJB 3.1, JNDI names have been specified so the code could be portable. In the preceding
example, the java:global/chapter06/BookEJB name respects the new naming convention:
java:global[/]//[!]
So, if the EJB is in the com.apress.javaee6.chapter06 package, the JNDI name to look up will be as
follows:

ctx.lookup("java:global/chapter06/BookEJB!com.apress.javaee6.chapter06.BookEJB");

Метки:  

Без заголовка

Среда, 10 Апреля 2013 г. 22:44 + в цитатник
JPA 2.0
entityManager.getTransaction().begin();
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();

java Mapping Oracle XMLType on JPA (EclipseLink)

Среда, 10 Апреля 2013 г. 22:13 + в цитатник
http://stackoverflow.com/questions/3961237/mapping-oracle-xmltype-on-jpa-eclipselink

Mapping Oracle XMLType on JPA (EclipseLink)

import org.eclipse.persistence.config.DescriptorCustomizer;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.mappings.xdb.DirectToXMLTypeMapping;

public class XMLDataCustomizer implements DescriptorCustomizer {

  public void customize(final ClassDescriptor descriptor) throws Exception {
    descriptor.removeMappingForAttributeName("xmlField");
    DirectToXMLTypeMapping mapping = new DirectToXMLTypeMapping();
    mapping.setAttributeName("xmlField"); //name of the atribute on the Entity Bean
    mapping.setFieldName("XML_COLUMN"); //name of the data base column
    descriptor.addMapping(mapping);
  }

}

Then, all you have to do is use the @Customizer anotation on the entity, for the EntityManager to make use of it when handling the property called xmlField (as seen at the previous code snippet):

@Entity
@Table(name="TABLE_NAME")
@NamedQueries({ /* ... */})
@Customizer(XMLDataCustomizer.class)
public class DataEntity implements Serializable {
  /* ... */

  private String xmlField;

  /* .... */
}
The xmlField attribute does not need @Column anotation, as it's mapping is defined at our DescriptorCustomizer implementation.


* This source code was highlighted with Source Code Highlighter.

Метки:  

Clob oracle java

Среда, 10 Апреля 2013 г. 18:35 + в цитатник
а как лучше писать в clob поля?
1. java.io.StringReader reader = new java.io.StringReader( XmlData );
cstmt.setCharacterStream( 2, reader, XmlData.length() );
или
2.
tempClob = CLOB.createTemporary( conn, true, CLOB.DURATION_SESSION );
tempClob.open( CLOB.MODE_READWRITE );
Writer tempClobWriter = tempClob.getCharacterOutputStream( );
tempClobWriter.write( XmlData );
tempClobWriter.flush( );
tempClobWriter.close( );
tempClob.close( );
cstmt.setClob(tempClob);

Метки:  

JPA Criteria API by samples

Вторник, 09 Апреля 2013 г. 15:58 + в цитатник
http://www.altuure.com/2010/09/23/jpa-criteria-api-by-samples-%E2%80%93-part-ii/

http://www.altuure.com/2010/09/23/jpa-criteria-api-by-samples-part-i/


long category=200L;
Query query = entityManager.createQuery("select s from OrderItem s " +
"where s.product.category=:cat");
query.setParameter("cat", category);
List<OrderItem> list = query.getResultList();
 
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Object> criteriaQuery = criteriaBuilder.createQuery();
Root<OrderItem> from = criteriaQuery.from(OrderItem.class);
Path<Object> path = from.join("product").get("category");
 
CriteriaQuery<Object> select = criteriaQuery.select(from);
select.where(criteriaBuilder.equal(path, category));
 
TypedQuery<Object> typedQuery = entityManager.createQuery(select);
List<Object> resultList = typedQuery.getResultList();
assertEqualsList(list, resultList);

Метки:  

string to xml

Понедельник, 08 Апреля 2013 г. 11:06 + в цитатник

connection = ds.getConnection();
stmt = (OracleCallableStatement) connection.prepareCall("{? = call TEMPLATE.TEMPLATE_TEST() }");
stmt.registerOutParameter(1,OracleTypes.VARCHAR);
stmt.execute();
String xmlString = stmt.getString(1);


System.out.println(xmlString);


DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();



// Use String reader
Document document = builder.parse( new InputSource(new StringReader( xmlString ) ) );


TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer();
Source src = new DOMSource( document );

Result dest = new StreamResult( new File( "xml/xmlFileName.xml" ) );
aTransformer.transform( src, dest );

Метки:  

Книги

Понедельник, 25 Марта 2013 г. 15:35 + в цитатник
Светлана Ермакова и Леонид Жаров.

Метки:  

...

Понедельник, 25 Марта 2013 г. 15:31 + в цитатник
Мы ищем, встречаем, теряем, находим....

Имея - не ценим...Нам нужно другое...

Попытки, попытки, сошлись-разбежались..

Пожить не успели и снова расстались.........

Но где же любовь? Чтоб навек и без края?

А может быть эта? А может другая?

Меняются лица, тела и улыбки,

Но поиском только лишь множим ошибки..........

Влюбленность, привязанность, страсть- что угодно,

Собой и другими играем свободно..

Когда же любовь- догадаться не сложно,

Когда друг без друга- уже невозможно!

linux How To Find Files by Content Under UNIX

Пятница, 22 Марта 2013 г. 17:08 + в цитатник
You can also use find command:
$ find . -name "*.c" -print | xargs grep "main("

Метки:  

Красивые имена url

Среда, 20 Марта 2013 г. 23:05 + в цитатник
urlrewritefilter-4.0.3.jar

code

Метки:  

INSERT ... SELECT

Среда, 20 Марта 2013 г. 15:38 + в цитатник
INSERT ... SELECT
- Такой синтаксис позволяет внести в таблицу большое количество записей за один раз, причем из разных таблиц.
Следующий пример запишет в таблицу users_new все записи из таблицы users, в которых поле country равно "Russia".
1
INSERT INTO
2
`users_new`
3
SELECT
4
*
5
FROM
6
`users`
7
WHERE
8
`country` = 'Russia'
Если для таблицы, в которую происходит вставка записей, не указан список полей, то значения для всех полей будут определены на основании результата работы SELECT.
Если некоторые поля не определены, то для них будут принято значение по умолчанию.
Особенности синтаксиса INSERT ... SELECT:
Имя таблицы, в которую вставляются записи, не должна присутствовать в списке таблиц FROM части SELECT, т.к. это может привести к ошибке вставки (ведь условие WHERE части SELECT может найти записи, которые уже вставлены этой командой ранее).
Другим сценариям запрещено производить вставку в таблицы, учавствующие в запросе, во время выполнения этого запроса.
Столбцы AUTO_INCREMENT работают, как обычно.

Пример из двух таблиц таблицы вносим данные в одну ( есть таблица роли , есть таблица пользователи )
нужно добавить в таблицу роли_пользователи пользователя и дать ему все права


insert into user_role
select "user".id as user_id, "role".id as roles_id from "user" CROSS JOIN "role"
WHERE "user".login = 'root'
and
"role"."name" in ('ROLE_ROOT' , 'ROLE_USER');

Метки:  

Calling Java from Database Triggers

Среда, 20 Марта 2013 г. 10:14 + в цитатник
http://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/04_call2.htm


A database trigger is a stored program associated with a specific table or view. Oracle executes (fires) the trigger automatically whenever a given DML operation affects the table or view.

A trigger has three parts: a triggering event (DML operation), an optional trigger constraint, and a trigger action. When the event occurs, the trigger fires and either a PL/SQL block or a CALL statement performs the action. A statement trigger fires once, before or after the triggering event. A row trigger fires once for each row affected by the triggering event.

Within a database trigger, you can reference the new and old values of changing rows using the correlation names new and old. In the trigger-action block or CALL statement, column names must be prefixed with :new or :old.

To create a database trigger, you use the SQL CREATE TRIGGER statement. For the syntax of that statement, see the Oracle8i SQL Reference. For a full discussion of database triggers, see the Oracle8i Application Developer's Guide - Fundamentals.

Example 1

Suppose you want to create a database trigger that uses the following Java class to log out-of-range salary increases:

import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;

public class DBTrigger {
public static void logSal (int empID, float oldSal, float newSal)
throws SQLException {
Connection conn = new OracleDriver().defaultConnection();
String sql = "INSERT INTO sal_audit VALUES (?, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, empID);
pstmt.setFloat(2, oldSal);
pstmt.setFloat(3, newSal);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {System.err.println(e.getMessage());}
}
}

The class DBTrigger has one method, which inserts a row into the database table sal_audit. Because logSal is a void method, you publish it as a procedure:

CREATE OR REPLACE PROCEDURE log_sal (
emp_id NUMBER, old_sal NUMBER, new_sal NUMBER)
AS LANGUAGE JAVA
NAME 'DBTrigger.logSal(int, float, float)';

Next, you create the database table sal_audit, as follows:

CREATE TABLE sal_audit (
empno NUMBER,
oldsal NUMBER,
newsal NUMBER);

Finally, you create the database trigger, which fires when a salary increase exceeds twenty percent:

CREATE OR REPLACE TRIGGER sal_trig
AFTER UPDATE OF sal ON emp
FOR EACH ROW
WHEN (new.sal > 1.2 * old.sal)
CALL log_sal(:new.empno, :old.sal, :new.sal);

When you execute the UPDATE statement below, it updates all rows in the table emp. For each row that meets the trigger's WHEN clause condition, the trigger fires and the Java method inserts a row into the table sal_audit.

SQL> UPDATE emp SET sal = sal + 300;

SQL> SELECT * FROM sal_audit;

EMPNO OLDSAL NEWSAL
---------- ---------- ----------
7369 800 1100
7521 1250 1550
7654 1250 1550
7876 1100 1400
7900 950 1250
7934 1300 1600

6 rows selected.

Example 2

Suppose you want to create a trigger that inserts rows into a database view defined as follows:

CREATE VIEW emps AS
SELECT empno, ename, 'Sales' AS dname FROM sales
UNION ALL
SELECT empno, ename, 'Marketing' AS dname FROM mktg;

where the database tables sales and mktg are defined as:

CREATE TABLE sales (empno NUMBER(4), ename VARCHAR2(10));
CREATE TABLE mktg (empno NUMBER(4), ename VARCHAR2(10));

You must write an INSTEAD OF trigger because rows cannot be inserted into a view that uses set operators such as UNION ALL. Instead, your trigger will insert rows into the base tables.

First, you add the following Java method to the class DBTrigger (defined in the previous example):

public static void addEmp (
int empNo, String empName, String deptName)
throws SQLException {
Connection conn = new OracleDriver().defaultConnection();
String tabName = (deptName.equals("Sales") ? "sales" : "mktg");
String sql = "INSERT INTO " + tabName + " VALUES (?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, empNo);
pstmt.setString(2, empName);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {System.err.println(e.getMessage());}
}

The method addEmp inserts a row into the table sales or mktg depending on the value of the parameter deptName. You write the call spec for this method as follows:

CREATE OR REPLACE PROCEDURE add_emp (
emp_no NUMBER, emp_name VARCHAR2, dept_name VARCHAR2)
AS LANGUAGE JAVA
NAME 'DBTrigger.addEmp(int, java.lang.String, java.lang.String)';

Then, you create the INSTEAD OF trigger:

CREATE OR REPLACE TRIGGER emps_trig
INSTEAD OF INSERT ON emps
FOR EACH ROW
CALL add_emp(:new.empno, :new.ename, :new.dname);

When you execute each of the following INSERT statements, the trigger fires and the Java method inserts a row into the appropriate base table:

SQL> INSERT INTO emps VALUES (8001, 'Chand', 'Sales');
SQL> INSERT INTO emps VALUES (8002, 'Van Horn', 'Sales');
SQL> INSERT INTO emps VALUES (8003, 'Waters', 'Sales');
SQL> INSERT INTO emps VALUES (8004, 'Bellock', 'Marketing');
SQL> INSERT INTO emps VALUES (8005, 'Perez', 'Marketing');
SQL> INSERT INTO emps VALUES (8006, 'Foucault', 'Marketing');

SQL> SELECT * FROM sales;

EMPNO ENAME
---------- ----------
8001 Chand
8002 Van Horn
8003 Waters

SQL> SELECT * FROM mktg;

EMPNO ENAME
---------- ----------
8004 Bellock
8005 Perez
8006 Foucault

SQL> SELECT * FROM emps;

EMPNO ENAME DNAME
---------- ---------- ---------
8001 Chand Sales
8002 Van Horn Sales
8003 Waters Sales
8004 Bellock Marketing
8005 Perez Marketing
8006 Foucault Marketing

Метки:  

Хождение по ssh

Понедельник, 18 Марта 2013 г. 17:58 + в цитатник
1. Добавляем приватный ключ в ./ssh
2. Добавим конфиг config (mc -e config)

Host example_name
HostName example.com
User first_last
IdentityFile ~/.ssh/example_rsa

3.ssh-add example_rsa (ssh-add -l) (ssh-add -p)

4. ssh-agent example_rsa

5.Вызов ssh example_name

Метки:  

virtualbox netbenas

Понедельник, 18 Марта 2013 г. 12:32 + в цитатник
чтобы переключить host key - для того чтобы заработало автодополнение Ctrl+space - в настройках virtualbox выставить host key - к примеру на Ctrl left

Метки:  

netbeans AlternateUserdir

Пятница, 15 Марта 2013 г. 13:52 + в цитатник
netbeans AlternateUserdir

http://wiki.netbeans.org/FaqAlternateUserdir


Examples
Windows:
netbeans.exe --userdir C:\MyOtherUserdir --cachedir "%HOME%\Locale Settings\Application Data\NetBeans\7.1\cache"
Unix:
./netbeans --userdir ~/my-other-userdir
Mac OS:
/Applications/NetBeans.app/Contents/MacOS/executable --userdir ~/my-other-userdir

Метки:  

города - ujhjlf

Среда, 13 Марта 2013 г. 17:57 + в цитатник

Метки:  

Города России

Понедельник, 11 Марта 2013 г. 12:05 + в цитатник

Метки:  

File Writer

Понедельник, 11 Марта 2013 г. 09:48 + в цитатник
import java.io.*;



public class Append1

{

 public static void main(String[] args)

 {

  String filename="C:\\file.txt";

  

  System.out.print("Use file : " + filename);

 

// 1 вариант

  try{

    FileWriter sw = new FileWriter(filename,true);

    sw.write("Add this text to the end of datafile by FileWriter" + "\n");

    sw.close();

  }catch(Exception e){

    System.out.print(e.getMessage());

  }  



// 2-ой вариант

  try {

  RandomAccessFile file = new RandomAccessFile(filename, "rw");

  file.skipBytes((int)file.length()); //skip to the end of the file

  file.writeBytes("Add this text to the end of datafile by RandomAccessFile\n");   

  file.close();

  }catch(Exception e){

   System.out.print(e.getMessage());

  }  



// 3-ий вариант

  PrintStream out = null;

  

  try {

   out = new PrintStream(

       new BufferedOutputStream(

        new FileOutputStream(filename, true)));

   out.println("Add this text to the end of datafile by FileOutputStream");

  } catch(IOException e) {

   e.printStackTrace();

  } finally {

    if (out != null) {

     out.close();

    }

  }

 

 }

}

* This source code was highlighted with Source Code Highlighter.

Метки:  

log4j

Среда, 06 Марта 2013 г. 10:55 + в цитатник

log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE.File=log.file
log4j.appender.LOGFILE.Append=true
log4j.appender.bulk.datePattern='.'yyyy-MM-dd'.log'
log4j.appender.LOGFILE.Threshold=WARN
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n


Следующий! org.apache.log4j.DailyRollingFileAppender. Очень полезный и функциональный аппендер. В отличии от org.apache.log4j.RollingFileAppender-а, ротирующего файл по достижении определенного размера, org.apache.log4j.DailyRollingFileAppender ротирует файл с определенной частотой. Она зависит от шаблона, указанного в конфигурации:

'.'yyyy-MM – файл ротируется раз в месяц
'.'yyyy-ww – файл ротируется раз в неделю
'.'yyyy-MM-dd – файл ротируется раз в день
'.'yyyy-MM-dd-a – файл ротируется раз в полдня
'.'yyyy-MM-dd-HH – файл ротируется раз в час
'.'yyyy-MM-dd-HH-mm – файл ротируется раз в минуту
При ротации к имени файла в конце приписываются текущие дата и время, отформатированные согласно указанному шаблону (с помощью класса java.text.SimpleDateFormat). В кавычках в начале шаблона указан символ, который будет использоваться как разделитель между значением даты/времени и именем файла. В принципе этот символ может быть практически любым, кроме ":" – он интерпретируется в имени файла как указатель имени сетевого протокола (всё, что стоит до ":").

Этот аппендер может быть весьма удобен в случае, когда у вас организована автоматическая архивация лога. Кроме того, наличие в имени файла временной метки делает его по определению уникальным – лог не потеряется, как это может произойти с обычным ротирующим аппендером.

Как конфигурируются все эти аппендеры, мы увидим в соответствующем разделе. А пока переходим к третьему базовому понятию.


http://www.skipy.ru/useful/logging.html#log4j_drfa

Метки:  

Scoped

Четверг, 28 Февраля 2013 г. 18:12 + в цитатник
ApplicationScoped -- бин "живёт" на протяжении жизни всего вашего приложения (т.е. как только вы запустили контекст, этот бин создаётся, а при уничтожении контекста, бин тоже уничтожается.)
CustomScoped -- не помню точно, но там программисту дали какую-то свободу по управлению времени жизни бином (лучше всего в гугле поискать)
RequestScoped -- время жизни бина -- один запрос
NoneScoped -- не помню точно, но где-то на SO (http://stackoverflow.com/questions/3086896/what-is-none-scope-bean-and-when-to-use-it) был вопрос зачем он нужен, и, кажется, никто ничего не смог придумать
ViewScoped -- опять же, точно не подскажу, но кажется существует только внутри отображения (view)

А есть ещё flash scope, кстати, это на уровне двух страниц при использовании то ли редиректа,то ли форвардинга, точно не помню. Опять же в гугле лучше поискать

Метки:  

...

Четверг, 21 Февраля 2013 г. 21:56 + в цитатник
NetBeans 7.* и Python
Из стандартных плагинов недоступна, однако же есть дев версия плагина.
Идём в Tools -> Plugins -> Settings
Жмакаем кнопочку Add
Называем новый источник как угодно и вставляем ссыль http://deadlock.netbeans.org/hudson/job/nbms-and-j...ct/nbbuild/nbms/updates.xml.gz
Обратно Available Plugins и жмакаем кнопочку Reload Catalog
Ищем питон и ставим как обычно

Метки:  

бизнес идея

Пятница, 08 Февраля 2013 г. 09:42 + в цитатник
Бизнес идея : человек идет пол улице, в метро , дома и везде числа, голос за кадром говорит что числа сопровождают нашу жизнь от самого её зарождения и до последнего дня ... потом он выигрывает в лотерею ... слоган попробуй и ты :)

Метки:  

Jetty-runner

Среда, 06 Февраля 2013 г. 17:17 + в цитатник
Как запустить Jetty-runner?
После того, как jetty-runner.jar окажется у нас на компьютере можно приступать к обкатке. Множество блогов просто копируют одно и тоже — вот эту запись.
По большому счету, все сводится к выполнения вот такой команды в консоли:

java -jar jetty-runner.jar helloworld.war
плюс к этому есть небольшой набор дополнительных аргументов для более гибкой настройки запускаемого приложения.

Как сделать WAR-файл?
Создадим папку для будущего веб-приложения и в ней создадим простой HTML-файл index.html.
Перейдем внутрь этой папки и выполним следующую команду:

jar cvf helloworld.war .
Получившийся WAR можно использовать.

Открываем страницу
Открыть главную страницу получившегося приложения можно запустив браузер и направив его по адресу http://127.0.0.1:8080/

Метки:  

postgres password

Вторник, 05 Февраля 2013 г. 17:38 + в цитатник
, А это будет тоже самое, что я через pgAdmin III зайду и там где "Роли входа" у пользователя postgres, зайду в "Свойства" и введу новый пароль и его подтверждение и сохраню эти изменения

Метки:  

ant delete folder

Пятница, 01 Февраля 2013 г. 22:07 + в цитатник
`find . -name foo -exec rm {}`

* This source code was highlighted with Source Code Highlighter.

Метки:  

regexp http

Пятница, 01 Февраля 2013 г. 12:21 + в цитатник
Поиск тега A в HTML-коде с помощью регулярного выражения
Выражение:
(?i)<a([^>]+)>(.+?)</a>
Поиск ссылки в HTML-коде с помощью регулярного выражения
\s*(?i)href\s*=\s*(\"([^"]*\")|'[^']*'|([^'">\s]+));


* This source code was highlighted with Source Code Highlighter.



package ru.topcode.skillbase.regexp;

import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HTMLLinkExtrator {

  private Pattern patternTag, patternLink;
  private Matcher matcherTag, matcherLink;

  private static final String HTML_A_TAG_PATTERN = "(?i)<a([^>]+)>(.+?)</a>";
  private static final String HTML_A_HREF_TAG_PATTERN = "\\s*(?i)href\\s*=\\s*(\"([^\"]*\")|'[^']*'|([^'\">\\s]+))";

  public HTMLLinkExtrator() {
    patternTag = Pattern.compile(HTML_A_TAG_PATTERN);
    patternLink = Pattern.compile(HTML_A_HREF_TAG_PATTERN);
  }

  /**
   * Поиск ссылок с помощью регулярных выражений
   *
   * @param html
   *      html-код
   * @return Список ссылок и текстов ссылок
   */
  public ArrayList<HtmlLink> grabHTMLLinks(final String html) {

    ArrayList<HtmlLink> result = new ArrayList<HtmlLink>();
    matcherTag = patternTag.matcher(html);

    while (matcherTag.find()) {

      String href = matcherTag.group(1); // href
      String linkText = matcherTag.group(2); // текст ссылки

      matcherLink = patternLink.matcher(href);

      while (matcherLink.find()) {
        String link = matcherLink.group(1); // ссылка
        result.add(new HtmlLink(link, linkText));
      }
    }
    return result;
  }

  public class HtmlLink {

    String link;
    String linkText;

    public HtmlLink(String link, String linkText) {
      this.link = link;
      this.linkText = linkText;
    }

    @Override
    public String toString() {
      return new StringBuffer("Ссылка : ").append(this.link).append(
          " Текст ссылки : ").append(this.linkText).toString();
    }
  }
}


* This source code was highlighted with Source Code Highlighter.

Метки:  

jetty

Пятница, 01 Февраля 2013 г. 11:39 + в цитатник
Worker Role Implementation

To do this, basically just start with a new Cloud project in Visual Studio, and add one Worker Role (just the same as a “Hello World” Worker Role app). And below is the only code I added inside of the Run() method in the WorkerRole class (minus the tracing code which I removed from this view):

string response = "";
try
{
  System.IO.StreamReader sr;
  string port = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["HttpIn"].IPEndpoint.Port.ToString();
  string roleRoot = Environment.GetEnvironmentVariable("RoleRoot");
  string jettyHome = roleRoot + @"\approot\app\jetty7";
  string jreHome = roleRoot + @"\approot\app\jre6";
  Process proc = new Process();
  proc.StartInfo.UseShellExecute = false;
  proc.StartInfo.RedirectStandardOutput = true;
  proc.StartInfo.FileName = String.Format("\"{0}\\bin\\java.exe\"", jreHome);
  proc.StartInfo.Arguments = String.Format("-Djetty.port={0} -Djetty.home=\"{1}\" -jar \"{1}\\start.jar\"", port, jettyHome);
  proc.EnableRaisingEvents = false;
  proc.Start();
  sr = proc.StandardOutput;
  response = sr.ReadToEnd();
}
catch (Exception ex)
{
  response = ex.Message;
  Trace.TraceError(response);
}


* This source code was highlighted with Source Code Highlighter.

Метки:  

Как превратить браузер в notepad за 1 секунду

Четверг, 31 Января 2013 г. 13:55 + в цитатник
Как превратить браузер в notepad за 1 секунду
Браузеры*, HTML*
Открыть новую закладку, скопировать в адресную строку

data:text/html, <html contenteditable>

и нажать Enter.


* This source code was highlighted with Source Code Highlighter.

Метки:  

getRealAddress

Понедельник, 28 Января 2013 г. 12:57 + в цитатник
  public static String getAddress(HttpServletRequest request) {
    return request.getRemoteAddr();
  }

  public static String getRealAddress(HttpServletRequest request) {
    String xFor = request.getHeader("X-Forwarded-For");
    return xFor != null && xFor.trim().length() > 0 ? xFor : getAddress(request);
  }


* This source code was highlighted with Source Code Highlighter.

Метки:  

Без заголовка

Пятница, 25 Января 2013 г. 13:58 + в цитатник
Идея снять клип - свадьба во всех временах года !!! + фото

Метки:  

Java jar war

Среда, 23 Января 2013 г. 12:07 + в цитатник
#jar -xvf webApplicationfilename.war

Метки:  

200 лучших книг по версии BBC

Суббота, 19 Января 2013 г. 18:14 + в цитатник
200 лучших книг по версии BBC


1 - «Властелин колец» — Джон Р. Р. Толкин
2 - «Гордость и предубеждение» — Джейн Остин
3 - «Тёмные начала» — Филип Пулман
4 - «Автостопом по галактике» — Дуглас Адамс
5 - «Гарри Поттер и Кубок огня» — Джоан Роулинг
6 - «Убить пересмешника» — Харпер Ли
7 - «Винни-Пух и все-все-все» — Алан Милн
8 - «1984» — Джордж Оруэлл
9 - «Лев, колдунья и платяной шкаф» — Клайв Стэйплз Льюис
10 - «Джейн Эйр» — Шарлотта Бронте
11 - «Уловка-22» — Джозеф Хеллер
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 - «Тайный дневник Адриана Моула, 13 3/4 лет» — Сью Таунсенд
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 - «39 ступеней» — Джон Бьюкен
139 - «Девчонки в слезах» — Жаклин Уилсон
140 - «Вечеринка с ночевкой» — Жаклин Уилсон
141 - «На западном фронте без перемен» — Эрих Мария Ремарк
142 - «В хранилищах музея» — Кейт Аткинсон
143 - «Hi-Fi» — Ник Хорнби
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 - «Цветы на чердаке» — Вирджиния Эндрюс

Метки:  

facebook Cookie

Суббота, 19 Января 2013 г. 11:04 + в цитатник
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
<!--

var is_not_publish = true;
var data = new Object(); 

var del_add_text = "Delete application";//"Удалить приложение";
var timeline_on = "Timeline On";//"Хроника включена";
var timeline_off = "Timeline Off";//"Хроника выключена";
var delete_txt = "delete";//"удалить";
//var ntv_verb = getMeta("og:type");
//var ntv_objectType = "ntv_program";
var ntv_verb = 'ntvtimeline:ntv_live';
var ntv_objectType = 'peredacha';
var postId=0; // id - новости на facebook
var postIdTimer = null; // таймер для отправки просмотренного видео
var url =  getMeta("og:url");
url = encodeURIComponent(url);
window.fbAsyncInit = function () {
  FB.init({
    appId: '398092463538505', // App ID
    status: true, // check login status
    cookie: true, // enable cookies to allow the server to access the session
    oauth: true, // enable OAuth 2.0
    xfbml: true // parse XFBML
  });
  
   //TODO возможно сюда перенести функции publish_news updateButton
   // так было в примере !?
  
  // run once with current status and whenever the status changes
  //тут вызов два раза
  FB.getLoginStatus(showUserPanel);
  FB.Event.subscribe('auth.statusChange', showUserPanel);  
};    


function fbchecker(checked){
  console.log(checked);
}

function getVerb(){
  var result = 'ntvtimeline:ntvwatch?ntvvideo';
  //  result = 'ntvtimeline:ntv_live?peredacha';
  //ntvtimeline:peredacha - ntvtimeline:ntv_live?peredacha=
  //ntvtimeline:ntv_video - ntvtimeline:ntv_watch?ntv_video=
   var type = getMeta("og:type");
   if(type.length>0){
    var verb = type.split(":");
   if(verb != null && verb[1] == 'peredacha'){
     result = 'ntvtimeline:ntv_live?peredacha';
   }
   if(verb != null && verb[1] == 'ntv_video'){
     result = 'ntvtimeline:ntv_watch?ntv_video';
   }
   if(type!=null && type =="article" ){
     result = 'news.reads?article';
   }
   
     if(type!=null && type =="video.other" ){
     result = 'video.watches?video';
   }
  
   
   }
  return result;
}
function getObjectType(){
  //var ntv_objectType = 'ntv_video'; //'peredacha''
   var result = 'ntv_video';
   var type = getMeta("og:type");
  if(type.length>0){
    var verb = type.split(":");
    if(verb != null && verb[1] == 'peredacha'){
      result = 'peredacha';
    }
    if(verb != null && verb[1] == 'ntvvideo'){
      result = 'ntvvideo';
    }
    
   if(type!=null && type =="article" ){
     result = 'article';
   }
   
   if(type!=null && type =="video.other" ){
     result = 'video';
   }
    
  }
  return result;
  
}


function clckbtnaddnews(){
  $('#btnaddnews').removeClass("add");
  $('#btnaddnews').addClass("save");
  $('#btnaddnews').html('I read this');
  $('#btnaddnews').attr('disabled', 'disabled');
}

  function publish_news(){
    var isStat = isStatus();
//    console.log(" is_not_publish = "+is_not_publish +"; isStatus =  " + isStat);
   
    if(is_not_publish && isStat){
      is_not_publish = false;
       clckbtnaddnews();
     // var ntv_verb = 'ntvtimeline:ntv_watch';
     // var ntv_objectType = 'ntv_video';
    //  var ntv_verb = 'ntvtimeline:watch_online';
    //  var ntv_objectType = 'ntv_program';
    //console.log('/me/' + ntv_verb + '?' + ntv_objectType + '=' + url);
      console.log('/me/' + getVerb() + '=' + url);
      var mbody = getMeta("og:title");
      FB.api('/me/' + getVerb() + '=' + url, 'post', {message: mbody},
        function (result) {
          postId = result.id;
          console.log(result);
          postTimer();
        // console.log('published with id = ' + result.id);
          showPopupWindow(result);
        });
    }
     clckbtnaddnews();
     btnLater();
  }
  
  
//  $(document).ready(function(){
//  $(document).not('основной_элемент').click(function(){
//    $('элемент').slideUp(); // клик был на странице вне элемента
//  });
// 
//  $('основной_элемент').click(function(){
//    $('элемент').slideDown(); // клик был на самом основном элементе
//    return false;
//  });
//  
//});
  
    function showPopupWindow(result){
      $('#infowindow').fadeIn(4000, function (){
        
        setTimeout(function(){
          $('#infowindow').fadeOut(4000);
        },3000);
      });
    }
  
  // propname,propval, content
function getMeta(property) {
 var metas = document.getElementsByTagName('META');
 var i;
 var url;
 for (i = 0; i < metas.length; i++){
   if (metas[i].getAttribute('property') == property){
   url = metas[i].getAttribute('content');  
   return url
   break;
   }
 }
//  url = window.location.toString();
 return url;
}
  

  function showUserPanel(response) {
    
    FB.getLoginStatus(function(response) {
      
    showHelp(response.status);
    
    if (response.status === 'connected') { 
     
     document.getElementById('login-panel-on').setAttribute('style','display:block;'); 
     document.getElementById('login-panel-off').setAttribute('style','display:none;');
     loadUserInfo(response);
    }else{
     document.getElementById('setting-dialog').setAttribute('style','display:none;'); 
     document.getElementById('login-panel-on').setAttribute('style','display:none;'); 
     document.getElementById('login-panel-off').setAttribute('style','display:block;');
    
      if(response.status === 'not_authorized'){
        
      //   document.getElementById('helpcenter').style.display='';
      }
     
    }
  });
  }  
  
  
  function showHelp(resp){
 
  var fb_source = false;
  var fb_appcenter = false;
  var access_token = "0";
  //?fb_source=appcenter&fb_appcenter=1&code=AQB4cKbGiO
  var search = document.location.search.substr(1);
  var parts  = search.split("&");
  for (i=0; i<parts.length; i++) {
    var curr = parts[i].split('=');
    if(curr[0] == "fb_source" & curr[1] == "appcenter"){
      fb_source = true;
    }
    if(curr[0] == "fb_appcenter" & curr[1] == "1"){
      fb_appcenter = true;
    }
    if(curr[0] == "fb_action_ids" & curr[1] == "486575714693365"){
      fb_source = true;
      fb_appcenter = true;
    }
  }
  if(fb_source && fb_appcenter || resp === 'not_authorized'){
  
     document.getElementById('helpcenter').style.display='block';
     document.getElementById('popup_overlay').style.display='block';
     
  }
  }
 
  function btnLater(){
     document.getElementById('helpcenter').style.display='none';
     document.getElementById('popup_overlay').style.display='none';
  }


 var dx = [0,-650,-2*650,-1930, -2495 , -3130];
 var pos = 0;
  function step_left(){
    console.log('step_left');
    pos--;
    if(pos<0) pos = 0;
    var xpos = dx[pos];
    if($.browser.safari){
      $('#infolenta').animate({'background-position-x': xpos+'px'},'slow');
    }else{
      $('#infolenta').css("background-position", xpos+'px '+ '-64px');
    }

  }
  
  function step_right(){
     console.log('step_right');
    pos++;
    if(pos>(dx.length-1)) pos = 0;
    var xpos = dx[pos];
    if($.browser.safari){
      $('#infolenta').animate({'background-position-x': xpos+'px'},'slow');
    }else{
      $('#infolenta').css("background-position", xpos+'px '+ '-64px');
    }

  }
  
  function loadUserInfo(response){
    //console.log("response.authResponse = "+response.authResponse);
    if (response.authResponse) {
     FB.api('/me', function(response) {
       //console.log(response.id + " = " +response.name);
        var userPicture = document.getElementById('user-picture');
        userPicture.innerHTML = '<img src="https://graph.facebook.com/'+ response.id + '/picture">';
         var userName = document.getElementById('user-name');
         userName.innerHTML = '<a href=\"'+response.link+'\" target=\"_blank\">'+response.name+'</a>' ;
         get_timeline_status();
         setTimeout(publish_news,11000);
      });
    }
  }

function showSettingPanel(){

 document.getElementById('login-panel-on').setAttribute('style','display:none;');
 document.getElementById('setting-dialog').setAttribute('style','display:block;');
 hide();

  FB.getLoginStatus(function(response) {
    //console.log("response.authResponse = "+response.authResponse);
    if (response.authResponse) {
      FB.api('/me', function(response) {
        var userPicture = document.getElementById('user-picture1');
        userPicture.innerHTML = '<img src="https://graph.facebook.com/'+ response.id + '/picture">';
        var userName = document.getElementById('user-name1');
        userName.innerHTML = '<a href=\"'+response.link+'\" target=\"_blank\">'+response.name+'</a>' ;
      });
    }
  });


}

function hideSettingPanel(){
   document.getElementById('login-panel-on').setAttribute('style','display:block;');
   document.getElementById('setting-dialog').setAttribute('style','display:none;');
}

// Load the SDK Asynchronously

(function(d, s, id) {
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return;
 js = d.createElement(s);js.id = id;
 js.src = "//connect.facebook.net/ru_RU/all.js#xfbml=1&appId=398092463538505";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

//(function (d) {
//  var js, id = 'facebook-jssdk';
//  if (d.getElementById(id)) {
//    return;
//  }
//  js = d.createElement('script');
//  js.id = id;
//  js.async = true;
//  js.src = "//connect.facebook.net/ru_RU/all.js#xfbml=1&appId=398092463538505";
//  d.getElementsByTagName('head')[0].appendChild(js);
//} (document));



// устанавливаем cookie для того чтобы понять отключили ли мы ведение хроники или нет .
// name = timeline : value on | off
function set_cookie (name, value){
 var cookie_string = name + "=" + encodeURIComponent ( value );
    var expires = new Date();
      expires.setFullYear(expires.getFullYear() + 1);
    var path = "/";
    var domain = 'ntv.ru';
    var secure = false;
  if (expires) cookie_string += '; expires=' + expires.toGMTString();
  if (path)  cookie_string += '; path=' + path;
  if (domain) cookie_string += '; domain=' + domain;
  if (secure) cookie_string += '; secure';
 
 //console.log('set_cookie : ' + cookie_string); 
 
 document.cookie = cookie_string;
}

function get_cookie ( cookie_name ){
  
    var pattern = "(?:; )?" + cookie_name + "=([^;]*);?";
  var regexp = new RegExp(pattern);
  if (regexp.test(document.cookie)){
  return decodeURIComponent(RegExp["$1"]);
    }
  return false;
}

function isStatus(){
  if ( ! get_cookie ( "timeline" ) ){
    set_cookie ( "timeline", "on");
       return true;
   }else{
    var status = get_cookie ( "timeline" );
    if(status == 'on'){
       return true;
    }
  }
   return false;
}

function set_timeline_status(){
  // если ее нет то выслявляем в off
  var status = isStatus();
  if(status) {
    set_cookie ('timeline', 'off');
  }
  else{
    set_cookie('timeline', 'on');
    publish_news();
  }
  get_timeline_status();
}
// on | off
function get_timeline_status(){
  // если ее нет то выслявляем в off  
  if ( ! get_cookie ( "timeline" ) ){
    set_cookie ( "timeline", "on");
    //console.log("timeline = off");
  }
  
  var isStatus = false;
  var f = document.getElementById('timeline_btn');
  var el = document.getElementById('timeline-status');
  var status = get_cookie ( "timeline" );
  //console.log( "status = " +status);
  if(status == "off") {
    f.style.marginTop='52px';
    f.title = timeline_off;//'Хроника Выкл.';
    el.style.backgroundImage = 'url(/i/fb/timeline_off.gif)';
  } else
  if(status == "on"){
    f.style.marginTop='2px';
    f.title = timeline_on;//'Хроника Вкл.';
    el.style.backgroundImage = 'url(/i/fb/timeline_on.png)';
    isStatus = true;
  }
    
   
  return isStatus;
}


// delete app
function delete_ntv_app(){
  set_cookie('timeline', 'on');
  FB.getLoginStatus(function(response) {
    if (response.status === 'connected') { 
     FB.api("/me/permissions","DELETE",function(response){
     //console.log(" DELETE app : "+response); //gives true on app delete success
     document.location.reload();
    });
    }
  });
  
  
}

function all_history_show(flag){
//console.log("all_history_show == "+ flag );
var id = document.getElementById('history-list');
var el = document.getElementById('history');
if(flag){
 id.style.display="block";
 el.style.display="block";
}else{
  id.style.display="none";
  el.style.display="none";
}
}



// всплывающее окно с прочитанными новостями
<!--
function show (evt, id) {
var evt = evt || window.event;

var f = document.getElementById('history-items');
f.opacityFilter = 0;
f.className = 'popup_active';
f.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (f.opacityFilter * 100) + ');';
f.style.opacity = f.opacityFilter;
f.style.display = 'block';
f.style.top = '0';
f.style.left = '410px';
window.setTimeout('animate()', 50);
 if (evt.stopPropagation)  evt.stopPropagation();
 if (evt.cancelBubble!=null) evt.cancelBubble = true;

return false;
}

function open_history(){
  window.open("http://www.facebook.com/me/app_398092463538505", "", "");
}


function showHistory(){
   var f = document.getElementById('history-items');
     f.style.display = 'block';
     //console.log('showHistory');
}

// формат времени
function checkTime(i)
{
if (i<10)
 {
 i="0" + i;
 }
return i;
}
// является ли переменная числом
function isNum(v) {
    return typeof v === 'number' && isFinite(v);
}

// загрузка локальной истории
function load_history(evt, id){
   FB.getLoginStatus(function(response) {
    if (response.status === 'connected') { 
      console.log(getVerb());
     FB.api("/me/"+getVerb(),"GET",function(response){
     // парсим ответ
     
     if(!response.data || !response.data.length){return;}
     
     var length = response.data.length;
     if(length>0){
      for(var i=0; i<length && i<7; i++) {
      var news_id = response.data[i].id;
     // var ntv_article_id = response.data[i].data.ntv_article.id;
      var date = new Date(response.data[i].publish_time);
      var y = date.getYear()+1900;
      var m = date.getMonth();
      var d = date.getDate();
      var isNumder = false ;
      var time = "";
      isNumder = isNum(date.getHours()) && isNum(date.getMinutes());
      if(isNumder){
       var h = isNum(date.getHours()) ? checkTime(date.getHours()) : "12";
       var mi =isNum(date.getMinutes()) ? checkTime(date.getMinutes()) : "00";
       time = h +":"+mi+" ";
      }
       ntv_objectType = getObjectType();
       console.log(response.data[i]);
      if(response.data[i].data == undefined) continue;
      
      var title  = time + response.data[i].data[ntv_objectType].title;
      var url   = response.data[i].data[ntv_objectType].url;
      //data.push(news_id,title);
       if(data[news_id] == null){
       data[news_id] = title;
       //console.log( data[news_id] +" = "+ title);
       append_news(news_id , title , url);
       }
      }
      show (evt, id);
     
     
     }
    });
    }
  });
 
}


function delete_news(news_id){
   FB.getLoginStatus(function(response) {
    if (response.status === 'connected') { 
     FB.api("/"+news_id,"DELETE",function(response){
     //console.log("delete_news : " + response);
     if(response == true){
       var y = document.getElementById('id'+news_id);
       var x = document.getElementById("history-items");
       x.removeChild(y);
       // скрыть окно если в нем больше ничего нет :
       var size = $('#history-items').children().size();
       //console.log("history-items.length : " + size);
      if(size == 1){
        hide();
      }
     }
    });
    }
  });
}

// вставка новости в div истории
function append_news (news_id, title , url) {
 var el = document.createElement('div');
 el.setAttribute ('id', 'id'+news_id);
 el.setAttribute ('style','display: block; top: 0px; left: 0px;width:400px; position: relative;');
 el.setAttribute ('class','newli');
 var text = title.substring(0,55)+'...';
 text = "<a href=\""+ url+"\" class='ntv_decoration' >" + text + "</a>";
 el.innerHTML=text + "<a class='close1 ntv_decoration' href=\"javascript:delete_news('"+news_id+"') ;\"><span>"+delete_txt+"</span></a>";
 document.getElementById('history-items').appendChild(el);
}

function hide() {
var div = document.getElementById('history-items');
if (div != null) {
 div.className = 'footnote_new';
 div.style.display = 'none';
}
return false;
}

function animate() {
var f = document.getElementById('history-items');
f.opacityFilter += 0.05;
f.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (f.opacityFilter * 100) + ');';
f.style.opacity = f.opacityFilter;
if (f.opacityFilter<1) window.setTimeout('animate()', 50);
}

function getPosition(offsetTrail) {
var offsetLeft = 0;
var offsetTop = 0;
while (offsetTrail) {
 offsetLeft += offsetTrail.offsetLeft;
 offsetTop += offsetTrail.offsetTop;
 offsetTrail = offsetTrail.offsetParent;
}
return {left:offsetLeft, top:offsetTop}
}


// отсылка информации в facebook о том что мы смотрим видео
function postTimer(){
   postIdTimer = setTimeout(function run() {
    if(postId!= undefined && postId.length>1){
      console.log(postId); 
      FB.api('/'+postId, 'post', {
        expires_in : '5000'
      } ,function(response){
        resp1 = response;
        console.log(response );
        if(response.error && response.error.code==100){
          clearTimeout(postIdTimer);
          postIdTimer = null;
        }
      } );
    } 
    if(postIdTimer!=null)
      postIdTimer = setTimeout(run, 5000);
 }, 5000);

}

var fb_timer = null;

function fb_play(){
  console.log('fb_play');
   fb_timer = setTimeout(publish_news,11000);
   postTimer();
}

function fb_stop(){
   console.log('fb_stop');
  if (fb_timer!= null){
    clearTimeout(fb_timer);
    fb_timer = null;
    clearTimeout(postIdTimer);
    postIdTimer = null;
  }



$(document).ready(function () {
  
  if(true){
  document.getElementById('login-txt1').innerHTML='Share with friends in Facebook information that you have read and looked at ntv.ru';
  if(document.getElementById('login-txt2'))
    document.getElementById('login-txt2').innerHTML='Log in to start';
  
  document.getElementById('setting').setAttribute('title','Application settings');
  
  document.getElementById('history-link').setAttribute('title','The history of your activity on the site НТВ.RU');
  document.getElementById('history-link').innerHTML='your activity';
  
  document.getElementById('all_history_link').innerHTML='The whole history of activity';
  document.getElementById('all_history_link').setAttribute('title','The whole history of activity of the application on the site НТВ.RU');
  
  document.getElementById('delete_app').innerHTML='Remove the application';
  document.getElementById('delete_app').setAttribute('title','Remove the application and all the history of its activity');
  
  
  document.getElementById('x_image').setAttribute('title','Close');
  document.getElementById('history-header-txt').innerHTML='<b>History of activity:</b>';
  

}
});
//-->


* This source code was highlighted with Source Code Highlighter.

Метки:  

Example Basic Authentication

Пятница, 18 Января 2013 г. 12:16 + в цитатник
1 создаем проект !

2. Прописываем ему web.xml

<security-constraint>
  <web-resource-collection>
   <web-resource-name>
    Protected Site
   </web-resource-name>
   <!-- This would protect the entire site -->
   <url-pattern> /* </url-pattern>
   <!-- If you list http methods,
      only those methods are protected -->
   <http-method> DELETE </http-method>
   <http-method> GET </http-method>
   <http-method> POST </http-method>
   <http-method> PUT </http-method>
  </web-resource-collection>
  <auth-constraint>
   <!-- Roles that have access -->
   <role-name> test </role-name>
  </auth-constraint>
 </security-constraint>
 
 <!-- BASIC authentication -->
 <login-config>
  <auth-method> BASIC </auth-method>
  <realm-name> Example Basic Authentication </realm-name>
 </login-config>

 <!-- Define security roles -->
 <security-role>
  <description> Test role </description>
  <role-name> test </role-name>
 </security-role>

  <filter>
    <filter-name>NewFilter</filter-name>
    <filter-class>com.isalnikov.NewFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>NewFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <servlet>
    <servlet-name>NewServlet</servlet-name>
    <servlet-class>com.isalnikov.NewServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>NewServlet</servlet-name>
    <url-pattern>/NewServlet</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>
      30
    </session-timeout>
  </session-config>
</web-app>


2. Tomcat - tomcat-users.xml



<tomcat-users>
 <role rolename="test"/>
 <user username="user" password="pass" roles="test"/>
</tomcat-users>



3. server.xml


<Engine>
...
<Realm className="org.apache.catalina.realm.MemoryRealm" />
...
</Engine>



4. logout (logout.jsp)


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
session.invalidate();
  response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // HTTP 401
  response.setHeader("WWW-<wbr>Authenticate", "Basic realm=\"xyzzy\"");
//response.sendRedirect("index.jsp");
%>

* This source code was highlighted with Source Code Highlighter.

Без заголовка

Понедельник, 14 Января 2013 г. 22:59 + в цитатник
Новая игра - угадай место ! использовать google map

Метки:  

Oracle Java 7 в Ubuntu 12.04

Пятница, 11 Января 2013 г. 13:20 + в цитатник
Как установить Oracle Java 7 в Ubuntu 12.04
Добавим нужный репозиторий и обновимся:

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
Установим JRE (Java Runtime Environment):

sudo apt-get install oracle-java7-installer
Либо JDK (Java Development Kit):

sudo apt-get install oracle-jdk7-installer

Метки:  

Gnome Classic в Ubuntu 12.04

Пятница, 11 Января 2013 г. 10:25 + в цитатник
Установка Gnome Classic в Ubuntu 12.04

sudo apt-get install gnome-panel

sudo apt-get install compizconfig-settings-manager



http://startubuntu.ru/?p=93518

Метки:  

Virtualbox auto mount Folder

Четверг, 10 Января 2013 г. 18:19 + в цитатник
UPD : Это Плохое решение!

Есть Основная ОС Windows 7 - есть гостевая ос Ubuntu 12.04 под virtualbox
Хочется монтировать автоматически папку расширы :

что делаем - создаем по инстукции в винде папку для шаринга (ubuntu1204 )- указываем ее в virtualbox .
запускаем ubuntu Устанавливаем гостевые дополнения

создаем в home папку ubuntu1204

монтируем в консоле

$ sudo mount -t vboxsf ubuntu1204 ubuntu1204

(у меня названия одинаковые - можно разные)


чтобы не монтировать каждый раз руками делаем :

запускаем блокнот
sudo gedit /etc/fstab

добавляем
строку
#windows auto mount folder
#/ipadrr/ubuntu1204 /home/user/ubuntu1204 vboxsf rw,uid=1000,gid=1000 0 0



в терминале проверяем что нет ошибок
$ sudo mount -a



еще

http://oss-it.ru/157

Метки:  

Ubuntu boot error in VirtualBox

Среда, 09 Января 2013 г. 16:57 + в цитатник
Ubuntu boot error in VirtualBox - piix4_smbus 0000.00.07.0: SMBus base address uninitialized - upgrade bios or use force_addr=0xaddr

http://fintastical.blogspot.ru/2010/11/virtualbox-piix4smbus-error.html

http://blog.thefoleyhouse.co.uk/2011/02/ubuntu-boot-error-in-virtualbox.html

Метки:  

Без заголовка

Четверг, 27 Декабря 2012 г. 12:09 + в цитатник
Dwemthy’s Array in Java - Refactored
What is Double Brace initialization in Java?

Эффект «double brace»
http://habrahabr.ru/post/63192/



package ru.zeroed.test.doublebrace;

import java.util.List;
import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
List values = new ArrayList() {{
add("one");
add("two");
add("three");
}};

for (String value : values) {
System.out.println(value);
}
}
}




Погуглив на эту тему выясняю, что «будьте аккуратны, т.к. блок инициализации вызывается до конструктора».

Да, действительно, это так. Простейший пример для подтверждения:


class Parent {

public Parent() {
System.out.println("Parent constructor");
}

{
System.out.println("Parent initialization block");
}
}

class Child extends Parent {

public Child() {
System.out.println("Child constructor");
}

{
System.out.println("Child initialization block");
}
}

public class InitTest {
public static void main(String[] args) {
new Child();
}
}


Parent initialization block
Parent constructor
Child initialization block
Child constructor





И вот, на просторах интернета можно встретить предостережение на тему «double brace»: будьте внимательны, блок инициализации вызывается до конструктора!

Ну что ж, русская душа просит поломать то, что ломается.


class AnotherInnerTest {
private List values;

public AnotherInnerTest() {
System.out.println("AnotherInnerTest()");
values = new ArrayList();
}

public void addValue(String value) {
values.add(value);
}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
for (String value : values) {
builder.append(value);
}
return builder.toString();
}
}

public class User {
public static void main(String[] args) {
AnotherInnerTest test = new AnotherInnerTest(){{
System.out.println("Overrided");
addValue("hi!");
}};

System.out.println(test);
}
}

AnotherInnerTest()
Overrided
hi!



Всё-таки, как правильно отметили выше, первым вызывается конструктор, а уже из него вызывается блок инициализации:


//Parent.java
public class Parent
{
public Parent(int x)
{
System.out.println("Parent ctor(int)");
}

{
System.out.println("Parent init");
}
}

//Child.java
public class Child extends Parent
{
public Child()
{
super(x());
System.out.println("Child ctor()");
}

{
System.out.println("Child init");
}

private static int x()
{
System.out.println("Child.x()");
return 0;
}
}

//Test.java
public class Test
{
public static void main(String[] args)
{
new Child();
}
}



Заметили super(x()) в конструкторе? А вывод на консоль будет таким:

Child.x()
Parent init
Parent ctor(int)
Child init
Child ctor()







Метки:  

Словари

Понедельник, 24 Декабря 2012 г. 13:23 + в цитатник
http://sourceforge.net/projects/xdxf/files/

XDXF - XML Dictionary Exchange Format Beta

android

Метки:  

Тэг Embed во Flash Develop

Суббота, 22 Декабря 2012 г. 16:01 + в цитатник
[Starting debug session with FDB]
[Fault] exception, information=VerifyError: Error #1053: Недопустимое переопределение z в mx.core.BitmapAsset.
[Fault] exception, information=VerifyError: Error #1014: Не удалось найти класс mx.core::BitmapAsset.
[Fault] exception, information=VerifyError: Error #1053: Недопустимое переопределение z в mx.core.SpriteAsset.
[Fault] exception, information=VerifyError: Error #1014: Не удалось найти класс mx.core::SpriteAsset.
[Fault] exception, information=ReferenceError: Error #1065: Переменная Main_GreenButton не определена.
[Fault] exception, information=ReferenceError: Error #1065: Переменная Main_FontsClass не определена.


Та да, знакомо, чего-то в SDK4 они в конфиге сделали

false

можно
%flex_sdk_4%\frameworks\flex-config.xml
подправить
или просто компилятору опцией указать
-static-link-runtime-shared-libraries=true

Метки:  

SQL подсчет количества повторов

Четверг, 20 Декабря 2012 г. 14:17 + в цитатник
SQL количество одинаковых записей в таблице

Есть много записей у которых одинаковый mid

SELECT mid, COUNT(mid) AS cnt FROM MESSAGE GROUP BY mid

jquery table select

Четверг, 20 Декабря 2012 г. 11:26 + в цитатник
Есть таблица - берем из нее значения  

jquery filter

   <tr id="m_260">
       <td attr_id="idx">3</td>
       <td attr_id="pid">3</td>
       <td attr_id="mtext">Новый год!!!</td>
       <td attr_id="adate">20.12.2012 10:18</td>
       <td attr_id="edate">27.12.2012 10:18</td>
       <td attr_id="cdate">20.12.2012 10:55</td>
       <td attr_id="aid" action_val="0">Добавлено</td>
       <td attr_id="tid">0</td>
     </tr>

    //.filter('[attr_id=idx]')
    var row_elem = $("#"+mid).children();
    var prior = row_elem.filter('[attr_id=pid]').html();
    var message_text = row_elem.filter('[attr_id=mtext]').html();
    var activation_date = row_elem.filter('[attr_id=adate]').html();
    var end_date = row_elem.filter('[attr_id=edate]').html();


* This source code was highlighted with Source Code Highlighter.

Метки:  

...

Среда, 19 Декабря 2012 г. 14:49 + в цитатник
Чтобы исправить ошибку в Win7 x64 необходимо скопировать msvcr71.dll из C:\Program Files (x86)\Java\jre6\bin в C:\Windows\SysWOW64.
Так же на всякий случай добавил переменную среду JAVA_HOME 'D:\Program Files (x86)\Java\jre6'
Теперь все работает.


Debugger startup error: System.DllNotFoundException: Не удается загрузить DLL "jvm.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)

Метки:  

Без заголовка

Пятница, 14 Декабря 2012 г. 12:34 + в цитатник

package ru..term.util;

import org.eclipse.persistence.config.SessionCustomizer;
import org.eclipse.persistence.sessions.JNDIConnector;
import org.eclipse.persistence.sessions.Session;

/**
*
* @author i.salnikov
*/
public class EclipseLinkSessionCustomizer implements SessionCustomizer{

@Override
public void customize(Session session) throws Exception {
JNDIConnector connector = (JNDIConnector) session.getLogin().getConnector();
connector.setLookupType(JNDIConnector.STRING_LOOKUP);
}

}



Поиск сообщений в ATUM
Страницы: 12 ... 8 7 [6] 5 4 ..
.. 1 Календарь