Total Pageviews

2006/09/27

[JavaScript] How to do trim() in JavaScript

<body onload="test()">

<script>

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function test() {

var str = " a ";

alert("Original string: '" + str + "'");

str = str.trim();

alert("Incompletely stripped string: '" + str + "'");

}

</script>



reference
http://www.bigbold.com/snippets/posts/show/701

[JavaScript] How to do trim() in JavaScript

<body onload="test()">

<script>

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function test() {

var str = " a ";

alert("Original string: '" + str + "'");

str = str.trim();

alert("Incompletely stripped string: '" + str + "'");

}

</script>

2006/09/08

[Windchill] How to generate mData

Steps.
1. open rose
2. Tools --> Windchill --> System Generation
3. Click OK

Troubleshoot
It may show generation refuse error in the progress of system generation
Error: wt.templateutil.processor.DefaultTemplateProcessor is not Extendable, so cannot extend it.

Solution
1. Open user.properties (under /Codebase)
2. add one attribute wihch named
wt.generation.overrideNonExtendableClasses, and add classes which we want to do extend. If we have multiple classes need to do extend, sperate them by comma.

ex. wt.generation.overrideNonExtendableClasses=wt.templateutil.processor.DefaultTemplateProcessor,wt.templateutil.processor.FormTaskDelegate
After you add them to user.properties, you can see this kind of warning message, it means you had successfully finished system generation.
Warning: wt.templateutil.processor.DefaultTemplateProcessor is not Extendable, but is being allowed as a backward compatible override

2006/08/27

[Mail] commons-mail 亂碼問題

[常見問題1]sent出去的mail的中文標題變成亂碼

呼叫setCharset此方法,設定編碼方式為UTF-8
public void setCharset(java.lang.String newCharset)
http://jakarta.apache.org/commons/email/api-release/org/apache/commons/mail/Email.html#setCharset(java.lang.String)



[常見問題2]sent出去的mail的中文內文便成亂碼

呼叫setContent此方法,第一個參數給予訊息內容,第二個參數給予conent type,例如text/plain;charset=UTF-8
public void setContent(java.lang.Object aObject,
java.lang.String aContentType)
http://jakarta.apache.org/commons/email/api-release/org/apache/commons/mail/Email.html#setContent(java.lang.Object,%20java.lang.String)


[常見問題3]sent出去的附件中文檔名變成亂碼

在EmailAttachment的物件中的setName方法中,使用MimeUtility的encodeText方法
attachment.setName(MimeUtility.encodeText("中文訊息", "UTF-8", null));

http://java.sun.com/products/javamail/javadocs/javax/mail/internet/MimeUtility.html

2006/08/11

[InfoEngine] Remember to get newOid as you want to update-object


 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
<ie:unit>
 <ie:webject name="CheckOut-Objects" type="ACT">
  <ie:param name="INSTANCE" data="windchill"/>
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
  <ie:param name="OBJECT_REF" data="<%=objRef%>"/>
  <ie:param name="GROUP_OUT" data="checkoutDoc"/> 
 </ie:webject>

 <%

 Group checkoutDoc = getGroup("checkoutDoc");;
 String newOid = (String)checkoutDoc.getAttributeValue(0, "obid");
 System.out.println("Checkout Document ends... Update begin, new id");
 System.out.println(newOid);
 %>

 <ie:failure>
 <%System.out.println("no document had been CheckOut");%>
 </ie:failure>

 <ie:success>
 <% System.out.println (getGroup("checkoutDoc").getElementCount() + " document(s) 
 had been CheckOut"); %>
 </ie:success>

</ie:unit> 

<ie:unit>
 <ie:webject name="Update-Objects" type="ACT">
  <ie:param name="INSTANCE" data="windchill"/>
  <ie:param name="GROUP_OUT" data="updateDoc"/>
  <ie:param name="ATTRIBUTE" data="IBA|Revise_By_Drawing"/>
  <ie:param name="OBJECT_REF" data="<%=newOid%>"/>
  <ie:param name="TYPE" data="wt.doc.WTDocument"/>
  <ie:param name="FIELD" data="IBA|Revise_By_Drawing='N'"/> 
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
 </ie:webject>

 <ie:failure>
  <%System.out.println("no document had been update");%>
 </ie:failure>

 <ie:success>
  <% System.out.println (getGroup("updateDoc").getElementCount() + " document(s) had been updated"); %>
 </ie:success>
</ie:unit>

<ie:unit>

 <ie:webject name="CheckIn-Objects" type="ACT">
  <ie:param name="INSTANCE" data="com.ptc.vm-ase.Windchill"/>
  <ie:param name="ATTRIBUTE" data="IBA|Revise_By_Drawing"/>
  <ie:param name="GROUP_OUT" data="checkInDoc"/>
  <ie:param name="AUTHORIZATION" data="${@server[]authorization[0]}"/>
  <ie:param name="TYPE" data="wt.doc.WTDocument"/>
  <ie:param name="OBJECT_REF" data="<%=newOid%>"/>
 </ie:webject>

 <ie:failure>
  <%System.out.println("no document had been checked-in");%>
 </ie:failure>

 <ie:success>
  <% System.out.println (getGroup("checkInDoc").getElementCount() + " document(s) had been checked-in"); %>
 </ie:success>

</ie:unit>

[InfoEngine] Where to find the compiled InfoEngine Task

You can find the Java files and class files under:
<Windchill_HOME>\tasks\codebase\com\infoengine\compiledTasks


2006/07/04

[SVN] mod_dav_svn.so is garbled- perhaps this is not an Apache module DSO

Error Message
httpd: Syntax error on line 115 of D:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: API module structure `dav_svn_module' in file D:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_dav_svn.so is garbled- perhaps this is not an Apache module DSO?


Resolution
Owning to the apache version is 2.2, it will report this kind of error message. Just change the apache version to 2.0, then this kind of error will disappear.

2006/06/06

[Windchill] Build ResourceBundle How-To

If I edit some texts in reportResource.rbInfo, how do I build this resource bundle.

Steps.
1. open windchill shell window
2. utilize ResourceBuild
Example Usage: ResourceBuild D:\ptc\Windchill\src\wt\fc or ResourceBuild wt.fc.fcResource
--Arg1 specifies which directory or class to generate.
--Arg2 specifies if locale specific resource will be built.
--values for arguments not passed will be obtained from tools.properties.

then input the command as bellows:
ResourceBuild ext.fusheng.report.reportResource true

execution info:
D:\ptc\Windchill>echo off
CLASSPATH=
file:/D:/ptc/Windchill/codebase/
file:/D:/ptc/Windchill/srclib/SystemGeneration.jar
file:/D:/ptc/Windchill/srclib/WindchillUtil.jar
file:/D:/ptc/Windchill/srclib/CommonXml.jar
file:/D:/ptc/Windchill/srclib/CommonCore.jar
file:/D:/ptc/Windchill/srclib/Modules.jar
file:/D:/ptc/Windchill/srclib/JGL.jar
file:/D:/ptc/Windchill/srclib/xmlParserAPIs.jar
file:/D:/ptc/Windchill/srclib/xercesImpl.jar
file:/D:/ptc/Windchill/srclib/dom4j.jar
file:/D:/ptc/Windchill/srclib/SystemGeneration_L10N.jar
file:/D:/ptc/Windchill/srclib/WindchillUtil_L10N.jar
file:/D:/ptc/Windchill/srclib/CommonXml_L10N.jar
file:/D:/ptc/Windchill/srclib/CommonCore_L10N.jar
Update ResourceInfos = false
Build ResourceBundles = true
Process Locales = en_US,en_GB,fr,de,es,ja,it,ko,zh_CN,zh_TW

ext.fusheng.report.reportResource
Warning: com.sun.tools.javac.Main cannot be loaded, using external compiler instead
Execution/Launch Time = 4.0 seconds

2006/06/02

[HTML / JS] View formatted source (format source extension)

https://addons.mozilla.org/firefox/697/

Displays formatted and color-coded source and optional CSS information for each element.

You can see exactly which CSS rules match for an element. The rules are displayed including file name and line number. The topmost element is that with the highest priority.

You can fold/unfold/hilite block elements (table, tr, td, div, span,...). Really cool feature: select a block level element of interest directly in the page and view it's source! To help you to quickly analyze the source code you can view images directly from the source and add comments to folded block elements. The code view is based on the rendered document, so you will also see dynamically (by Javascript) created and modified html elements! Works also with frames and selected text.

2006/05/31

[Windchill] Cannot do copy & paste in Applet

Scenario
As I do some operation in Windchill, because of some user interface was done by applet, it is inconvenience for us if we wolud like to copy some texts then paste them into the applet.

Solution
It is the security constraints so we cannot do copy and paster in applet window.
We can find out the java.policy file in JRE\lib\security, then append this declaration as bellows:

grant codeBase "http://hostname/Windchill/-" {
permission java.security.AllPermission;
};

[Windchill] IE, IE, IE Affects PTC SW

reference: http://worldcadaccess.typepad.com/blog/2006/05/ie_ie_ie_affect.html

PTC notes that This issue affects all releases of Windchill and Windchill-based solutions, including Windchill PDMLink, Windchill ProjectLink, Windchill Foundation & PDM, Windchill DynamicDesignLink, and Pro/INTRALINK 8.0 and higher; ProductView clients may also be affected. Some of the problems include:
- Loading the Java plug-in from an updated Microsoft browser may cause it to exit prematurely.
- Launching ProductView Standard Edition plug-in from an updated browser may cause it to become unresponsive.

For more info, check this Web page [ptc.com].

2006/05/30

[ANT] Date of 05/28/2006 07:06 午後 Cannot be parsed correctly. It should be in MM/DD/YYYY HH:MM AM_PM format


Scenario

As I utilized ant to build program, it throwed exception as bellows:
D:\ptc\Windchill_8.0\customization\wtinstaller.xml:234: Date of 05/28/2006 07:06 午後 Cannot be parsed correctly. It should be in MM/DD/YYYY HH:MM AM_PM format.

About the timestamp in the build script is written as bellows:
<tstamp><format property="myDateTime" pattern="MM/dd/yyyy hh:mm aa"
offset="-${sinceDays}" unit="day" /></tstamp>

Solution
Owing to the locale of my environment is Japane, so it will show this kind of error message, we just need to add locale attribute to this element, and set it to be en, then we can resolve this kind of problem.
<tstamp><format property="myDateTime" pattern="MM/dd/yyyy hh:mm aa"
offset="-${sinceDays}" unit="day" locale="en"/></tstamp>

2006/05/27

[Windchill] How to modify the value which in property file

xconfmanager -s <property_pair>=<property_value> -t <property_file> -p

s: set (set the key-value pair)
t: target (assign the property file name)
p: propogate (propogate the new value to the specific property file)

if the value has space, remember to use double quote at the start and end, i.e. name="Albert Guo"

2006/05/24

[Windchill] java.rmi.ConnectException: Connection refused to host

Scenario
As I start the method server, it always throw this kind of exception message as bellows and the method server always cannot be start properly:

星期一 5/22/06 16:31:49: main: Warning: exception connecting to master LogicalIdentifierCacheMgr:

星期一 5/22/06 16:31:49: main: java.rmi.ConnectException: Connection refused to host: albert.ptcnet.ptc.com; nested exception is:
星期一 5/22/06 16:31:49: main: java.net.ConnectException: Connection timed out: connect


Solution

According to the wt.properties, it said that windchill use port 5001. But as I telnet it, telnet albert.ptcnet.ptc.com 5001, it cannot be connect it.
It may result from that port 5001 had been occupied by another applications or this port had been blocked by firewall, so I change the port from 5001 to 5002, then the problem had been resolved successfully.

[Windchill] com.infoengine.au.ServiceUnavailableException

Scenario
As I start method server, it throws this kind of exception as bellows. And when I click the Product tab in the windchill, it will produce the same exception:

星期三 5/24/06 14:02:53: Thread-38: Caused by: (com.infoengine.util.IEResource/49) com.infoengine.au.ServiceUnavailableException: "ptcServiceName=com.ptc.ptcnet.albert.server.taskProcessor,dc=albert,dc=ptcnet,dc=ptc,dc=com,cn=Windchill_8.0,cn=Application Services,o=ptc": 無法使用服務
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.au.NamingService.getConnection(NamingService.java:952)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.procunit.adapter.Adapter.getConnection(Adapter.java:707)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.procunit.adapter.Adapter.createConnection(Adapter.java:650)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.procunit.adapter.Adapter.(Adapter.java:142)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.SAK.Task.executeTaskRemotely(Task.java:1948)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.SAK.Task.invoke(Task.java:1665)
星期三 5/24/06 14:02:53: Thread-38: at com.infoengine.SAK.Task.executeTask(Task.java:1851)
星期三 5/24/06 14:02:53: Thread-38: ... 10 more

Solution
Owning to the service which named
com.ptc.ptcnet.albert.server.taskProcessor does not exist, so it will produce this kind of exception in the method server console.


Change the value of ptcServiceName of com.ptc.ptcnet.albert.Windchill in LDAP.

[Tomcat] Disable Tomcat Cache

Scenario
As I author jsp files, no matter how I refresh the browser, it always show old data. It's inconvenient for us to do debug

Solution
search this keyword org.apache.jasper.servlet.JspServlet in the web.xml(E:\ptc\tomcat5\conf)

<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>


But remember to change the value of development to false for the sake of performance.

[Oracle] SP2-0678: 資料欄或屬性類型無法經由 SQL*Plus 顯示



As I use sqlplus to do query, it showed the error message as belows:
SP2-0678: 資料欄或屬性類型無法經由 SQL*Plus 顯示
The sql statement is select * from projec2;

Owing to the column in this table include BLOB data, sqlplus cannot show the BLOB data so it will return this kind of error message.

[Windchill] Load Demo Data to Windchill

(1) windchill wt.load.WindchillLoader -All -IncludeDemo

(2) windchill wt.load.WindchillLoader -All -IncludeDemo -Unattended (no intervention)

2006/05/23

[Oracle] Cannot Start OracleOraHome92Agent



Scenario
As we wanna start OracleOraHome92Agent service, it always cannot be initialized normally.


Root Cause

It's service internal error or windows internal


Solution

delete the *.q files which locate at %oracle_home%\network\agent

main purpose about this blog



this blog will be recorded the knowledge which I learned from the job.