2012년 4월 29일 일요일

apache BeanUtils.populate에서 user_name 형식의 속성을 userName 멤버변수에 입력하도록 하기


public static void populate(Object bean, Map properties) throws IllegalAccessException, InvocationTargetException {
// Do nothing unless both arguments have been specified
if ((bean == null) || (properties == null)) {
return;
}

// Loop through the property name/value pairs to be set
Iterator entries = properties.entrySet().iterator();
while (entries.hasNext()) {

// Identify the property name and value(s) to be assigned
Map.Entry entry = (Map.Entry) entries.next();
String name = (String) entry.getKey();
if (name == null) {
continue;
}
char[] del = {'_'};
name = StringUtils.replace(WordUtils.capitalize(name, del), "_", "");
if (name.length() > 1) {
name = name.substring(0,1).toLowerCase() + name.substring(1);
}

// Perform the assignment for this property
BeanUtils.setProperty(bean, name, entry.getValue());
}
}

2011년 10월 28일 금요일

우분투 11.10에 Sun JDK 설치하기


Synaptic Package Manager 실행  (설치 않되어 있다면 설치)

우분투 소프트웨어 센터 실행
설정 > 저장소 (Settings > Repositories)
기타 소프트웨어 탭
추가 클릭하고 ppa:ferramroberto/java 입력하고 소스추가 클릭
닫기
새로고침

OpenJDK 삭제
Sun-Java 로 검색해서 패키지 설치

2011년 10월 11일 화요일

JOIN문을 이용한 UPDATE 쿼리


UPDATE T1
SET T1.P_CODE_VALUE1 = T2.P_CODE1
,T1.P_CODE_VALUE2 = T2.P_CODE2
FROM TMAST02TT T1
INNER JOIN TCODE02TT T2 ON T1.YEAR = T2.YEAR AND T1.P_CODE = T2.T_CODE
WHERE 1=1
AND T1.GUBUN = :gubun AND T1.YEAR = :year AND T1.SEASON = :season AND T1.SCHOOL = :school 
AND T1.BOKJONG = :bokjong AND T1.PUMOK = :pumok AND T1.SAYANG = :sayang AND T1.P_CODE = :pCode
AND T2.SEQ = :seq

2011년 9월 4일 일요일

ubuntu nabi 설치

1. nabi를 설치
$sudo apt-get install nabi

2. im-swich 설치
$sudo im-switch

3. nabi를 기본으로 설정
$sudo im-switch -c

4. reboot 또는 alt+SysRq+k

2011년 9월 1일 목요일

tomcat session timeout 변경

[tomcat]이 설치된 디렉토리/conf/web.xml 에서 아래 부분을 편집
단위는 분, 기본은 30분으로 설정되어 있음


<session-config>
        <session-timeout>360</session-timeout>
</session-config>

** 세션 타임아웃 적용 우선순위

1. 프로그램에 코딩된 session.setMaxInactiveInterval(int)
2. 각 웹 어플리케이션의 WEB-INF/web.xml
3. [tomcat설치디렉토리]/conf/web.xml

2011년 8월 24일 수요일

sdcard path 구하기


1. 경로구하기
android.os.Environment.getExternalStorageDirectory().getAbsolutePath();

2. SDCard에 쓰기 권한 부여
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

android DatePickerDialog


main.xml
********************************************************************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical">
<EditText android:id="@+id/airedDate" android:layout_width="fill_parent"
android:layout_height="wrap_content"  android:focusableInTouchMode="false" />
</LinearLayout>
********************************************************************************

MainActivity.java
********************************************************************************
public class MainActivity extends Activity {
static final int AIRED_DATE_DIALOG_ID = 1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

EditText airedDate = (EditText) findViewById(R.id.airedDate);
airedDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(AIRED_DATE_DIALOG_ID);
}
});
Calendar c1 = Calendar.getInstance();
String yyyy = Integer.toString(c1.get(Calendar.YEAR));
String mm = Integer.toString(c1.get(Calendar.MONTH)+1);
String dd = Integer.toString(c1.get(Calendar.DAY_OF_MONTH));
if (mm.length() < 2)
mm = "0"+mm;
if (dd.length() < 2)
dd = "0"+dd;
airedDate.setText(yyyy+"-"+mm+"-"+dd);
}

private DatePickerDialog.OnDateSetListener airedDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String s = Utils.toDate(year, monthOfYear+1, dayOfMonth, "-");
EditText airedDate = (EditText) findViewById(R.id.airedDate);
airedDate.setText(s);
}
};

@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case AIRED_DATE_DIALOG_ID:
EditText airedDate = (EditText) findViewById(R.id.airedDate);
Calendar c = Calendar.getInstance();
try {
c = Utils.getCalendar(airedDate.getText().toString());
} catch (Exception e) {
}
return new DatePickerDialog(this, airedDateSetListener, c.get(Calendar.YEAR), c.get(Calendar.MONDAY), c.get(Calendar.DAY_OF_MONTH));
}
return null;
}
}
********************************************************************************


Utils.java
********************************************************************************
public class Utils {
public static Calendar getCalendar(String yyyy, String mm, String dd) throws Exception {
Calendar c = Calendar.getInstance();

try {
int y = Integer.parseInt(yyyy);
int m = Integer.parseInt(mm)-1;
int d = Integer.parseInt(dd);

c.set(Calendar.YEAR, y);
c.set(Calendar.MONTH, m);
c.set(Calendar.DAY_OF_MONTH, d);
} catch (Exception e) {
throw e;
}
return c;
}

public static Calendar getCalendar(String yyyymmdd) throws Exception {
String[] ymd = null;
try {
ymd = yyyymmdd.split("-");
} catch (Exception e) {
throw e;
}
return getCalendar(ymd[0], ymd[1], ymd[2]);
}

public static String toDate(int yyyy, int mm, int dd, String sep) {
String result = Integer.toString(yyyy);
result += "-";
if (mm < 10)
result += "0"+Integer.toString(mm);
else
result += Integer.toString(mm);
result += "-";
if (dd < 10)
result += "0"+Integer.toString(dd);
else
result += Integer.toString(dd);

return result;
}
}
********************************************************************************