javax.faces.FacesException: javax.el.ELException: /jniwrapper/winpack/page.xhtml @13,96 rendered="#{productPage.requestHandler.userOperationSystemString == 'WINDOWS'}": Error reading 'userOperationSystemString' on type $Proxy174
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:393)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at teamdev.jsf.ai.renderView(SourceFile:49)
at teamdev.jsf.cl.renderView(SourceFile:405)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.sevenhats.util.servlet.AbstractServletWrapper.service(AbstractServletWrapper.java:28)
at org.sevenhats.jsf.impl.FacesServletWrapper.service(FacesServletWrapper.java:79)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:82)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at com.teamdev.site.jsf.filter.NoCacheFilter.doFilter(NoCacheFilter.java:48)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at com.teamdev.site.jsf.filter.ForwardFilter.doFilter(ForwardFilter.java:55)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at org.sevenhats.web.transaction.TransactionFilter.doFilter(TransactionFilter.java:48)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at teamdev.jsf.util.ResourceFilter.doFilter(SourceFile:93)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at org.sevenhats.web.common.FilterMappingFilter.doFilter(FilterMappingFilter.java:60)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.common.WelcomeFileSupportFilter.doFilter(WelcomeFileSupportFilter.java:74)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.common.UrlPathMappingSupportFilter.doFilter(UrlPathMappingSupportFilter.java:60)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.impl.ScopeRegistrationFilter.doFilter(ScopeRegistrationFilter.java:56)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.sevenhats.web.common.TargetBundleAwareServlet.service(TargetBundleAwareServlet.java:79)
at org.eclipse.equinox.http.helper.ContextInitParametersServletAdaptor.service(ContextInitParametersServletAdaptor.java:34)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:255)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
at com.teamdev.site.jsf.filter.ForwardFilter.doFilter(ForwardFilter.java:49)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at org.sevenhats.web.transaction.TransactionFilter.doFilter(TransactionFilter.java:63)
at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93)
at org.sevenhats.web.common.FilterMappingFilter.doFilter(FilterMappingFilter.java:60)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.common.WelcomeFileSupportFilter.doFilter(WelcomeFileSupportFilter.java:74)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.common.UrlPathMappingSupportFilter.doFilter(UrlPathMappingSupportFilter.java:60)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.sevenhats.web.impl.ScopeRegistrationFilter.doFilter(ScopeRegistrationFilter.java:56)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.sevenhats.web.common.TargetBundleAwareServlet.service(TargetBundleAwareServlet.java:79)
at org.eclipse.equinox.http.helper.ContextInitParametersServletAdaptor.service(ContextInitParametersServletAdaptor.java:34)
at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:255)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: javax.el.ELException: /jniwrapper/winpack/page.xhtml @13,96 rendered="#{productPage.requestHandler.userOperationSystemString == 'WINDOWS'}": Error reading 'userOperationSystemString' on type $Proxy174
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:390)
... 104 more
Caused by: java.lang.NullPointerException
at com.teamdev.site.jsf.util.RequestHandlerImpl.getUserOperationSystemString(RequestHandlerImpl.java:72)
at sun.reflect.GeneratedMethodAccessor788.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:64)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:78)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:36)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy174.getUserOperationSystemString(Unknown Source)
at sun.reflect.GeneratedMethodAccessor787.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
at com.sun.el.parser.AstValue.getValue(AstValue.java:117)
at com.sun.el.parser.AstEqual.getValue(AstEqual.java:41)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
... 105 more
- <dn id="_teamdev_ViewRoot" locale="en_US" renderKitId="HTML_BASIC" rendered="true" transient="false" viewId="/jniwrapper/winpack/index.xhtml">
- _QuipuKitValidationProcessor_
- <ValidationProcessor id="teamdevValidationProcessor" rendered="false" transient="false" useDefaultClientValidationPresentationForApplication="true" useDefaultServerValidationPresentationForApplication="true"/>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
- <html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="AUTHOR" content="TeamDev Ltd."/>
<meta name="CONTENT-LANGUAGE" content="en-US,ru"/>
<meta name="COPYRIGHT" content=" 2009 TeamDev Ltd."/>
<meta name="CACHE-CONTROL" content="Public"/>
- <ComponentRef id="j_id3" rendered="true" transient="false">
- <meta name="Keywords" content="#{metaKeywords}"/>
- </ComponentRef>
- <ComponentRef id="j_id5" rendered="true" transient="false">
- <meta name="Description" content="#{metaDescription}"/>
- </ComponentRef>
- <title>
- #{productPage.productName} — #{propertyService.properties['company.name.full']}
- </title>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/reset.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/layout.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/main.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/menu.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/boxes.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/popup.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/print.css" type="text/css" media="print"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/handheld.css" type="text/css" media="handheld"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/edit.css" type="text/css" media="screen,projection"/>
- <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/products.css" type="text/css" media="screen,projection"/>
<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/product_#{productName}.css" type="text/css" media="screen,projection"/>
- <script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery-1.2.6.pack.js" type="text/javascript"/>
<script src="#{facesContext.externalContext.requestContextPath}/js/jquery/facebox.js" type="text/javascript"/>
<script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery.hoverIntent.minified.js" type="text/javascript"/>
<script src="#{facesContext.externalContext.requestContextPath}/js/main.js" type="text/javascript"/>
<script src="#{facesContext.externalContext.requestContextPath}/js/dlink.js?notitles&nomailevents" type="text/javascript"/>
- <script src="/js/jquery/jquery.history.js" type="text/javascript"/>
- <ComponentRef id="j_id13" transient="false">
- <script type="text/javascript">
$(document).ready(function(){
$('#runDemo').show();
$('.quipukitRun').show();
});
</script>
- </ComponentRef>
- <ComponentRef id="j_id15" transient="false">
- <script type="text/javascript">
$(document).ready(function(){
$('#nonWindowsOS').show();
});
</script>
- </ComponentRef>
- <!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="/css/style_ie6.css">
<script src="/js/stylefix.js" type="text/javascript"></script>
<![endif]-->
<link rel="icon" href="/favicon.ico" type="image/x-icon"/>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
- <link rel="alternate" type="application/rss+xml" title="TeamDev #{productPage.productName} Product News" href="http://support.teamdev.com/blogs/feeds/tags/#{productName}"/>
- <link rel="alternate" type="application/rss+xml" title="TeamDev Company News" href="http://support.teamdev.com/blogs/feeds/tags/company_news"/>
<link rel="alternate" type="application/rss+xml" title="TeamDev Products Release Notes" href="http://support.teamdev.com/blogs/feeds/tags/release_notes"/>
<link rel="alternate" type="application/rss+xml" title="TeamDev Support Blog Posts Feed" href="http://support.teamdev.com/community/feeds/blogs?community=1"/>
<link rel="alternate" type="application/rss+xml" title="TeamDev Support Documents Feed" href="http://support.teamdev.com/community/feeds/documents?community=1"/>
</head>
<body id="#{bodyId}">
- <AjaxSettings id="j_id20" progressMessage="teamdev.jsf.component.ajaxsettings.DefaultProgressMessage@754198" rendered="true" sessionExpiration="teamdev.jsf.component.ajaxsettings.DefaultSessionExpiration@256471" transient="false">
- progressMessage
- <DefaultProgressMessage id="j_id21" rendered="true" style="display: none;" transient="false"/>
- sessionExpiration
- <DefaultSessionExpiration confirmation="teamdev.jsf.component.confirmation.Confirmation@e54e62" id="j_id59" rendered="true" transient="false">
- <Confirmation alignToInvoker="false" cancelButtonText="Reload later" captionText="Session Expired" closeOnOuterClick="false" details="A new session will be created when the page is reloaded" draggable="false" draggableByContent="true" height="160px" hidingTimeout="-1" id="j_id59--confirm_expiration" message="Your session has expired" minHeight="80px" minWidth="150px" modal="true" modalLayerStyle="background: black; filter: alpha(opacity=50); opacity: .50;" okButtonText="Reload page now" rendered="true" resizeable="false" showCloseWindowButton="false" showMessageIcon="true" transient="false" visible="false" width="400px"/>
- </DefaultSessionExpiration>
- </AjaxSettings>
- <div id="Page">
- <h1 id="Logo_small"><a href="/"><img src="#{facesContext.externalContext.requestContextPath}/images/logos/logo_1.png" alt="#{propertyService.properties['company.name.full']} Home Page" title="#{propertyService.properties['company.name.full']} Home Page"/></a></h1>
- <UINamingContainer id="menuSubview" rendered="true" transient="false">
- <UINamingContainer id="menuSubview" rendered="true" transient="false">
- <ul id="Menu">
<li class="orange_bg #{current=='product' ? 'current' : ''}"><a href="/products/"><span><img src="/images/menu/blank.gif" alt="Producs"/></span></a></li>
<li class="green_bg #{current=='store' ? 'current' : ''}"><a href="/store/"><span><img src="/images/menu/blank.gif" alt="Store"/></span></a></li>
<li class="violet_bg #{current=='support' ? 'current' : ''}"><a href="/support/"><span><img src="/images/menu/blank.gif" alt="Support"/></span></a></li>
<li class="indigo_bg #{current=='services' ? 'current' : ''}"><a href="/services/"><span><img src="/images/menu/blank.gif" alt="Services"/></span></a></li>
<li class="blue_bg lastItem #{current=='company' ? 'current' : ''}"><a href="/company/"><span><img src="/images/menu/blank.gif" alt="Company"/></span></a></li>
- </ul>
- </UINamingContainer>
- </UINamingContainer>
- <UINamingContainer id="submenuSubview" rendered="true" transient="false">
- <UIRepeat id="j_id26" offset="0" rendered="true" size="-1" transient="false" var="group">
- <ul class="SubMenu #{group.name}">
- <UIRepeat id="j_id28" offset="0" rendered="true" size="-1" transient="false" var="item">
- <li class="#{item.current ? 'active' : ''} #{item.menuType.value=='IMAGE' ? 'imagemenu' : ''}">
- <HtmlPanelGroup id="j_id30" rendered="false" transient="false">
- <span>
- <HtmlGraphicImage id="j_id32" ismap="false" rendered="false" transient="false"/>
- <HtmlOutputText escape="true" id="j_id33" rendered="false" transient="false"/>
- </span>
- </HtmlPanelGroup>
- <HtmlPanelGroup id="j_id35" rendered="true" transient="false">
- <a href="#{item.url}" class="#{item.urlClass}" id="#{item.linkId}">
- <HtmlGraphicImage id="j_id37" ismap="false" rendered="false" transient="false"/>
- <HtmlOutputText escape="true" id="j_id38" rendered="false" transient="false"/>
- </a>
- </HtmlPanelGroup>
- </li>
- </UIRepeat>
- </ul>
- </UIRepeat>
- </UINamingContainer>
- <div id="Content">
- <HtmlForm enctype="application/x-www-form-urlencoded" id="j_id43" prependId="true" rendered="true" submitted="false" transient="false">
- <HtmlOutputText escape="false" id="j_id44" rendered="true" transient="false" value="<script type="text/javascript">
/*<![CDATA[*/
function pageload(hash) {
if(hash) {
$(".tabs").hide();
$("#div_" + hash).show();
$("#PackMenu > ul.arrowSubMenu > li.selected").removeClass("selected");
$("a[href='#"+ hash +"']").parent().addClass("selected");
} else {
// start page
$(".tabs").hide();
$("#PackMenu > ul.arrowSubMenu > li.selected").removeClass("selected");
$("#div_overview").show();
}
}
$(document).ready(function(){
$.historyInit(pageload);
$("#menuWinPack").click(componentMenuClick);
$("#PackMenu > ul.arrowSubMenu > li > a").click(componentMenuClick);
$("#PackMenu > ul.arrowSubMenu > li > h3 > a").click(componentMenuClick);
});
function componentMenuClick () {
$("#PackMenu > ul.arrowSubMenu > li.selected").removeClass("selected");
$(this.parentNode).addClass("selected");
var hash = this.href;
hash = hash.replace(/^.*#/, '');
// moves to a new page.
// pageload is called at once.
$.historyLoad(hash);
return false;
}
/*]]>*/
</script>
<div class="clearfix hangingContent">
<div class="Col4_1 nomargintop">
<div id="PackMenu">
<ul class="arrowSubMenu">
<li class="title"><h3><a href="#overview"><img src="/images/products/jni/winpack/winpack_mi.png" alt="WinPack" /></a></h3></li>
<li><h5>Dialogs</h5></li>
<li><a href="#select_color">Select Color<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#open_save_file">Open/Save File<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#select_folder">Select Folder<span class="_right"><!--Arrow--></span></a></li>
<li><hr /></li>
<li><h5>Windows</h5></li>
<li><a href="#decorations">Decorations<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#custom_shape">Custom Shape<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#registry_access">Registry Access<span class="_right"><!--Arrow--></span></a></li>
<li><hr /></li>
<li><h5>Shell</h5></li>
<li><a href="#tray_icons">Tray Icons<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#shell_folders">Shell Folders<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#system_colors_and_metrics">System Colors and Metrics<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#shell_links">Shell Links<span class="_right"><!--Arrow--></span></a></li>
<li><hr /></li>
<li><h5>IO</h5></li>
<li><a href="#file_system_watcher">File System Watcher<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#file_management_extensions">File Management Extensions<span class="_right"><!--Arrow--></span></a></li>
<li><hr /></li>
<li><h5>System</h5></li>
<li><a href="#system_info">System Info<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#services">Services<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#processes">Processes<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#hooks">Hooks<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#dde">DDE<span class="_right"><!--Arrow--></span></a></li>
<li><a href="#system_event_log">System Event Logs<span class="_right"><!--Arrow--></span></a></li>
<li><hr /></li>
</ul>
</div>
</div>
<div class="Col4_234 nomargintop serif">
<!-- Overview -->
<div id="div_overview" class="tabs">
<div class="relative" style="padding-left: 5px;">
<a id="runDemo" class="absolute" style="bottom:40px;right:28px;min-height:0;display:none;" href="/downloads/demo/winpackdemo.jnlp"><img src="/images/buttons/run_the_demo_big.png" alt="Run the Demo" title="Run the Demo" /></a>
<img id="nonWindowsOS" class="absolute" style="bottom:48px;right:45px;display:none;" src="/images/products/jni/winpack/non_windows_os.png" alt="Non Windows OS Detected" title="Non Windows OS Detected" />
<img src="/images/products/jni/winpack/artwork.jpg" alt="Make use of native Windows libraries from within Java" />
</div><br/>
<p>Buying JNIWrapper, you receive WinPack, a free add-on enabling access to the Windows native API and libraries from Java code. WinPack provides quite a number of integration features to make your Java application look and behave like a Win32 citizen. WinPack requires no extensive knowledge of the Win32 API, nor writing cumbersome wrapper classes for JNI.</p>
<div class="container">
<div class="Col3_1">
<h4>Dialog Boxes</h4>
<p>With WinPack, you can use familiar Windows dialog boxes and modify window properties in any way possible.</p>
</div>
<div class="Col3_23">
<h4>Services, Processes and Event Logs</h4>
<p>Using the Services API, you can start, stop or delete a service, display all running services in the list, or change the service options. WinPack lets you monitor and manage system processes, modules, memory and system event logs.</p>
</div>
</div>
<div class="container">
<div class="Col3_1">
<h4>Access to the Registry</h4>
<p>With just a snippet of code, you can make your Java application read, write or delete the Windows registry keys and values. Most of the major data types are supported.</p>
</div>
<div class="Col3_23">
<h4>Events and File Management</h4>
<p>WinPack lets you listen to the file system events. You can also get file attributes, check disk space, or identify the disk media type.</p>
</div>
</div>
</div>
<!-- Select Color -->
<div id="div_select_color" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Select Color Dialog</h4>
<p>Allow your Microsoft Windows users to choose colors using the full-featured Select Color dialog they are used to.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/color.png" alt="Native Select Color Dialog" title="Native Select Color Dialog" />
</div>
</div>
</div>
<!-- Open Save File -->
<div id="div_open_save_file" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Open/Save File Dialog</h4>
<p>Use the standard Microsoft Windows Open/Save File dialog in your Java program instead of JDK dialogs or JFileChooser to make your program really integrated with the platform.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/opendialog.png" alt="Native Open/Save File Dialog" title="Native Open/Save File Dialog" />
</div>
</div>
</div>
<!-- Select Folder -->
<div id="div_select_folder" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Select Folder Dialog</h4>
<p>No need to confuse users with the Open File dialog when your program actually needs a folder.</p>
<p>The dialog allows opening folders, printers, network locations, etc.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/select_folder.png" alt="Native Select Folder Dialog" title="Native Select Folder Dialog" />
</div>
</div>
</div>
<!-- Window Decorations -->
<div id="div_decorations" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Window Decorations</h4>
Enhance your application using the WinPack Window Decorator functions with:
<ul class="hang">
<li>Custom-shaped windows,</li>
<li>Multi-level window transparency,</li>
<li>Palette style windows,</li>
<li>Topmost windows.</li>
</ul><br/>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/decorations.png" alt="A transparent palette styled window" title="A transparent palette styled window" />
</div>
</div>
</div>
<!-- Custom Shape -->
<div id="div_custom_shape" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Custom Shape Window</h4>
<p>Creating non-rectangular windows using custom Regions.</p>
<p>You want your program to have an attractive non-rectangular splash screen?</p>
<p>It’s easy! Just choose a picture, specify a transparency color for it and you have an attractive splash screen ready.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/customshape.png" alt="A transparent non-rectangular splash screen" title="The window is created using a special Image to Region method implemented inside WinPack" />
</div>
</div>
</div>
<!-- Registry Access -->
<div id="div_registry_access" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Access to the Registry</h4>
<p>A small piece of code written by you will allow your software to read, write or delete the registry keys and values. Most of major data types are supported.</p>
<p>Check WinPack Demo to see the Registry viewer implemented using a new <code>RegistryKey</code> class.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/registry.png" alt="Registry Access" title="The Registry viewer implemented inside WinPack Demo by using WinPack's RegistryKey class" />
</div>
</div>
</div>
<!-- Tray Icons -->
<div id="div_tray_icons" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Tray Icons & Balloon Tips
</h4>
<p>This functionality allows you to use various tray icons for putting your Java application into the system tray and display or hide balloon tips for tray icons. You can also display specific options on the pop-up menu and display balloon messages from the tray.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/baloon.png" alt="Tray Icons" title="WinPack: Java Application in system tray with icon and baloon hint" />
</div>
</div>
</div>
<!-- Shell Folders -->
<div id="div_shell_folders" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Getting Paths & Icons for User Folders</h4>
<p>Store work files in the user folders and then easily find these folders using the <code>ShellFolders</code> functions. You can also see folder icons extracted from Folder settings and converted to Java image by using a new ‘Windows Icon to Java Image’ conversion method.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/shell_folders.png" alt="Shell Folders" title="WinPack Demo displays the paths of default user shell folders like 'My Documents', 'My Music', 'Favorites', etc." />
</div>
</div>
</div>
<!-- System Colors and Metrics -->
<div id="div_system_colors_and_metrics" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Getting Windows-like Appearance</h4>
<p>You don’t want to spend much time on a custom user interface? Make your Java program look like other programs around. Get the Windows Appearance Schema colors and apply them to your software in just a few clicks.</p>
<p>You can modify the Color Schema. Just click the color and change it using the standard Windows Select Color dialog.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/syscolors.png" alt="System Colors and Metrics" title="WinPack gets Windows Appearance Schema colors and applies them to itself" />
</div>
</div>
</div>
<!-- Shell Links -->
<div id="div_shell_links" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Managing the System Link Files</h4>
<p>Get more Shell functionality. Now WinPack enables you to create and resolve native links.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/links.jpg" alt="Shell Links" />
</div>
</div>
</div>
<!-- File System Watcher -->
<div id="div_file_system_watcher" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Listening to the File System Events</h4>
<p>This functionality allows you to easily monitor changes inside a specified folder. You can watch all files or just specified by the filter. The files will be watched inside the selected folder or in all subfolders recursively.</p>
All kinds of changes are detected:
<ul class="hang">
<li>Creating a new file or folder</li>
<li>Renaming of files or folders</li>
<li>Removal of files or folders</li>
<li>File size or contents change</li>
<li>Attributes modifications.</li>
</ul>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/filewatcher.png" alt="File System Watcher" />
</div>
</div>
</div>
<!-- Files Management Extensions -->
<div id="div_file_management_extensions" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Files Management Extensions</h4>
With WinPack it is no longer a problem to:
<ul class="hang">
<li>Get file attributes</li>
<li>Check disk space</li>
<li>Identify the disk media type (CD, mapped network drive, local drive, etc.)</li>
</ul>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/management_extensions.png" alt="Files Management Extensions" />
</div>
</div>
</div>
<!-- System Info -->
<div id="div_system_info" class="tabs container hangingContent">
<div class="Col2_1 nomargintop">
<h4>Gathering CPU & Memory Information</h4>
The Processor Information functionality enables you to get virtually all information about the processor (CPU), including such options as:
<ul class="hang">
<li>Processor Vendor</li>
<li>Processor Name</li>
<li>Family</li>
<li>Model</li>
<li>Frequency</li>
<li>MMX or 3DNow! support flags.</li>
</ul><br/>
<p>The Memory Information functionality allows reporting the amounts of physical Total and Available memory, etc.</p>
</div>
<div class="Col2_2 nomargintop">
<div class="quipukitDemoImageHolder">
<div class="quipukitRun" style="display: none;">
<a href="/downloads/demo/winpackdemo.jnlp">
<img title="Run the Demo" alt="Run the Demo" src="/images/buttons/run_the_demo_small.png"/>
</a>
</div>
<img src="/images/products/jni/winpack/screenshots/system_info.png" alt="System Info" title="WinPack gets Processor Vendor, Processor Name, Family, Model, Stepping and MMX or 3DNow support flags values for the CPU" />
</div>
</div>
</div>
<!-- Sevices -->
<div id="div_services" class="tabs Col1_1 nomargintop">
<h4>Managing NT Services.</h4>
<p>Winpack provides ultimate NT Services management.</p>
Using the provided Services API, you can:
<ul class="hang">
<li>Start a service</li>
<li>Stop a service</li>
<li>Delete a service</li>
<li>Create a new service</li>
<li>List all services</li>
<li>Change service options</li>
<li>and more…</li>
</ul>
</div>
<!-- Processes -->
<div id="div_processes" class="tabs Col1_1 nomargintop">
<h4>Monitoring & Managing Processes</h4>
The Processes API included in WinPack gives you the power to monitor and manage all running processes, modules, memory, etc. You will be able to:
<ul class="hang">
<li>Create a new process</li>
<li>Retrieve the process information such as its ID, status, etc.</li>
<li>Terminate the process</li>
<li>Wait for the process termination.</li>
</ul><br/>
Also, the Processes API includes the following monitoring functions, available in the new <code>Snapshot</code> class:
<ul class="hang">
<li>List of all running processes and detailed information about each process</li>
<li>List of all running modules and detailed information about each module</li>
<li>List of all running threads and detailed information about each thread</li>
<li>Process heap information</li>
<li>and more…</li>
</ul><br/>
This API also exposes the following useful capabilities:
<ul class="hang">
<li>Process environment variables maintenance</li>
<li>System environment variables maintenance</li>
<li>Current process command line, current process ID, etc.</li>
</ul>
</div>
<!-- Hooks -->
<div id="div_hooks" class="tabs Col1_1 nomargintop">
<h4>Various System Hooks</h4>
<p>Did you ever need to be aware of all the system events in your program? The Hooks API gives you such an ability!</p>
<p>You can easily install a necessary hook to gain the ultimate control over the system resources from Java programs. The Hooks API represents the following list of available hooks:</p>
<table>
<tr>
<td style="padding-right:1em;"><code>KEYBOARD</code></td>
<td>Records input messages posted to the system message queue.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>MOUSE</code></td>
<td>Monitors the mouse messages.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>JOURNALRECORD</code></td>
<td>Records input messages posted to the system message queue.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>GETMESSAGE</code></td>
<td>Monitors messages posted to the message queue.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>SHELL</code></td>
<td>Receives notifications useful to shell applications.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>CALLWNDPROC</code></td>
<td>Monitors messages before the system sends them to the destination window procedure.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>CALLWNDPROCRET</code></td>
<td>Monitors messages after they have been processed by the destination window procedure.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>FOREGROUNDIDLE</code></td>
<td>Is called when the application’s foreground thread is about to become idle.</td>
</tr>
<tr>
<td style="padding-right:1em;"><code>SYSMSGFILTER</code></td>
<td>Monitors messages generated by an input event in a dialog or message boxes, menu or scroll bar.</td>
</tr>
</table>
</div>
<!-- DDE -->
<div id="div_dde" class="tabs Col1_1 nomargintop">
<h4>Dynamic Data Exchange</h4>
<p>The DDE API included in WinPack allows a Java application to communicate with native Windows applications via the Dynamic Data Exchange (DDE) protocol.</p>
<p>The API provides both the client-side and server-side implementations. In other words, a Java application can be a DDE server or a DDE client for other applications, or it can be a DDE server and client simultaneously.</p>
</div>
<!-- System Event Logs -->
<div id="div_system_event_log" class="tabs Col1_1 nomargintop">
<h4>Managing & Monitoring the System Event Logs</h4>
The System Event Log API included in WinPack allows you to monitor various system event logs and also provides functionality to:
<ul class="hang">
<li>Back up or restore the system event logs</li>
<li>Post new log messages</li>
<li>Clear logs</li>
<li>List all event log messages.</li>
</ul>
</div>
</div>
</div>"/>
- </HtmlForm>
- </div>
<div class="BoxGrey QuickLinks">
<div class="content container">
<div class="Col4_1">
- <UINamingContainer id="companyNavigationBlock" rendered="true" transient="false">
- <h4>Company</h4>
<ul>
<li><a href="/company/customers/">Customers</a></li>
<li><a href="/company/casestudies/">Case studies</a></li>
<li><a href="/documents/TeamDev-Company_Profile.pdf" class="pdf_small">Company profile</a></li>
<li><a href="/company/contactus/">Contact us</a></li>
</ul>
- </UINamingContainer>
- </div>
<div class="Separator4_12"/>
<div class="Col4_2">
- <UINamingContainer id="supportNavigationBlock" rendered="true" transient="false">
- <h4>Support</h4>
<ul>
<li><a href="http://support.teamdev.com/#{productPage.productNameLowerCase}" class="external" target="_blank">Get help with #{productPage.productName}</a></li>
<li><a href="http://support.teamdev.com/forms/reportForm.jsf" class="external" target="_blank">Submit your support request</a></li>
</ul>
- </UINamingContainer>
- </div>
<div class="Separator4_23"/>
<div class="Col4_3">
- <UINamingContainer id="documentationNavigationBlock" rendered="true" transient="false">
- <h4>Documentation</h4>
<ul>
<li><a href="http://teamdev_ci/downloads/jniwrapper/winpack/javadoc/index.html" target="_blank">JavaDoc </a></li>
<li><a href="http://support.teamdev.com/docs/DOC-1049" target="_blank">Installation Instruction</a></li>
<li><a href="http://support.teamdev.com/docs/DOC-1044" target="_blank">Troubleshooting</a></li>
<li><a href="http://support.teamdev.com/docs/DOC-1045" target="_blank">FAQ</a></li>
</ul>
- </UINamingContainer>
- </div>
<div class="Separator4_34"/>
<div class="Col4_4">
- <UINamingContainer id="productsNavigationBlock" rendered="true" transient="false">
- <script type="text/javascript">
$(document).ready(function(){
$('.q_popuplayer').mouseout(function(){
$('.q_popuplayer').css({display: 'none'});
});
$('.productQuickLink:not(#jxfilewatcherQuickLink)').hoverIntent({
sensitivity: 3,
interval: 200,
over: function() {
var productName = this.href.substring(0, this.href.length - 1);
productName = productName.substring(productName.lastIndexOf('/') + 1);
openProductPopup(productName);
},
out: function() {
}
});
closeProductPopup();
});
function openProductPopup(productNameLowerCase) {
if (productNameLowerCase == "") {
return;
}
var productInfoSelector = "#" + productNameLowerCase + "ProductQuickLinkContent";
var productName = $(productInfoSelector + " > .productName")[0].innerHTML;
var productDescription = $(productInfoSelector + " > .productDescription")[0].innerHTML;
var description = '<strong><a href="/' + productNameLowerCase + '/">' + productName
+ '</a></strong><br/><span>' + productDescription + '</span><br/>';
if (productNameLowerCase != 'quipukit'){
description += '<a href="/' + productNameLowerCase + '/features/">Features</a>';
description += ' | ';
}
if (productNameLowerCase != 'jniwrapper'){
description += '<a href="/' + productNameLowerCase + '/onlinedemo/">Online Demo</a>';
} else {
description += '<a href="/jniwrapper/winpack/">WinPack</a>';
}
$("#productInfoDiv")[0].innerHTML = description;
$("#productImgDiv")[0].innerHTML = '<img src="/images/icons/quicklinks/' + productNameLowerCase + '.png" alt="' + productName + '" align="left"/>';
var offset = $("#" + productNameLowerCase + "QuickLink").offset();
var pageOffset = $('#Page').offset();
var x = offset.left - pageOffset.left - 22;
var navBlockOffset = $('.QuickLinks').offset();
var y = offset.top - navBlockOffset.top - 9;
document.getElementById('productsNavigationBlock:links:productPopup').showAtXY(x, y);
document.getElementById('productsNavigationBlock:links:productPopup').onmouseover = function() {
q_showPopupLayer('productsNavigationBlock:links:productPopup');
};
}
function closeProductPopup() {
document.getElementById('productsNavigationBlock:links:productPopup').hide();
}
</script>
<h4>Products</h4>
<div class="container">
<ul class="productsList">
<li><a id="jniwrapperQuickLink" href="/jniwrapper/" class="productQuickLink">
<img src="/images/icons/quicklinks/jniwrapper.png" alt="JNIWrapper" align="left"/>JNIWrapper</a>
<div id="jniwrapperProductQuickLinkContent" style="display:none;">
<div class="productName">JNIWrapper</div>
<div class="productDescription">Access to native code from Java without JNI</div>
</div>
</li>
<li><a id="comfyjQuickLink" href="/comfyj/" class="productQuickLink">
<img src="/images/icons/quicklinks/comfyj.png" alt="ComfyJ" align="left"/>ComfyJ</a>
<div id="comfyjProductQuickLinkContent" style="display:none;">
<div class="productName">ComfyJ</div>
<div class="productDescription">Bi-directional Java-COM bridge</div>
</div>
</li>
<li><a id="jxcaptureQuickLink" href="/jxcapture/" class="productQuickLink">
<img src="/images/icons/quicklinks/jxcapture.png" alt="JxCapture" align="left"/>JxCapture</a>
<div id="jxcaptureProductQuickLinkContent" style="display:none;">
<div class="productName">JxCapture</div>
<div class="productDescription">Screen capture API for Java apps</div>
</div>
</li>
<li><a id="jxbrowserQuickLink" href="/jxbrowser/" class="productQuickLink">
<img src="/images/icons/quicklinks/jxbrowser.png" alt="JxBrowser" align="left"/>JxBrowser</a>
<div id="jxbrowserProductQuickLinkContent" style="display:none;">
<div class="productName">JxBrowser</div>
<div class="productDescription">Integration of Mozilla Firefox into Java AWT/Swing</div>
</div>
</li>
</ul>
<ul class="productsList">
<li><a id="jexplorerQuickLink" href="/jexplorer/" class="productQuickLink">
<img src="/images/icons/quicklinks/jexplorer.png" alt="JExplorer" align="left"/>JExplorer</a>
<div id="jexplorerProductQuickLinkContent" style="display:none;">
<div class="productName">JExplorer</div>
<div class="productDescription">Use the IE browser as a Java Swing UI component</div>
</div>
</li>
<li><a id="jexcelQuickLink" href="/jexcel/" class="productQuickLink">
<img src="/images/icons/quicklinks/jexcel.png" alt="JExcel" align="left"/>JExcel</a>
<div id="jexcelProductQuickLinkContent" style="display:none;">
<div class="productName">JExcel</div>
<div class="productDescription">Provides full access to Excel functionality from Java</div>
</div>
</li>
<li><a id="jxfilewatcherQuickLink" href="/jxfilewatcher/" class="productQuickLink">
<img src="/images/icons/quicklinks/jxfilewatcher.png" alt="JxFileWatcher" align="left"/>JxFileWatcher</a>
</li>
<li><a id="quipukitQuickLink" href="/quipukit/" class="productQuickLink">
<img src="/images/icons/quicklinks/quipukit.png" alt="QuipuKit" align="left"/>QuipuKit</a>
<div id="quipukitProductQuickLinkContent" style="display:none;">
<div class="productName">QuipuKit</div>
<div class="productDescription">JSF library for creating a dynamic UI for Web apps</div>
</div>
</li>
</ul>
</div>
- <HtmlForm enctype="application/x-www-form-urlencoded" id="links" prependId="true" rendered="true" submitted="false" transient="false">
- <PopupLayer closeOnOuterClick="false" draggable="false" hidingTimeout="0" id="productPopup" modal="false" rendered="true" transient="false" visible="false">
- <HtmlOutputText escape="false" id="j_id53" rendered="true" transient="true" value="
<div class="productPopup">
<div>
<div id="productImgDiv" class="productImgDiv">
</div>
<div id="productInfoDiv" class="productInfoDiv">
</div>
</div>
</div>"/>
- </PopupLayer>
- </HtmlForm>
- </UINamingContainer>
- </div>
</div>
</div>
- <UINamingContainer id="footerSubview" rendered="true" transient="false">
- <div id="Footer" class="clearfix">
- <HtmlForm enctype="application/x-www-form-urlencoded" id="errorReport" prependId="true" rendered="true" submitted="false" transient="false">
- <HtmlInputHidden id="pageId" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/>
- <HtmlInputHidden id="errorText" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/>
- <HtmlPanelGroup id="errorReportSender" rendered="true" transient="false">
- <ReloadComponents disableDefault="false" id="sendBugReport" immediate="false" rendered="true" requestDelay="0" submitParent="true" transient="false"/>
- </HtmlPanelGroup>
- </HtmlForm>
- <div class="Col2_1">
© #{dateUtil.currentYear} #{propertyService.properties['company.name.full']} All rights reserved. <a href="/legal/">Terms of Use</a> | <a href="/privacy/">Privacy Policy</a>
- <HtmlOutputText escape="true" id="buildNumber" rendered="true" style="color:white;" transient="false" value=" | Build: #223"/>
- </div>
<div class="Col2_2 textright">
<script>
function googleSearch(value) {
var queryComponent = value + " site:" + window.location.host;
queryComponent = encodeURIComponent(queryComponent);
var query = "http://www.google.com/search?hl=en&q="
+ queryComponent;
window.location = query;
}
</script>
<form id="search" type="container" method="get" onsubmit="googleSearch(document.getElementById('search_field').value);return false;">
<a href="/company/contactus/">Contact Us</a> | <a href="/company/news/">Latest News</a> | <a href="/company/career/">Job Offers</a> | <!-- a href="/sitemap/">Site Map</a-->
<input type="search" id="search_field" name="text" placeholder="Search" autosave="TeamDev" results="5"/>
</form>
</div>
</div>
- </UINamingContainer>
- </div>
<!-- Google Analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-477095-2");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>
- </dn>
| Name | Value |
|---|---|
| None | |
| Name | Value |
|---|---|
| __acegi_filterSecurityInterceptor_filterApplied | true |
| __acegi_session_integration_filter_applied | true |
| clearVerifiableComponents | true |
| errorReportHandler | com.teamdev.site.jsf.bean.feedback.ErrorReportHandler@7d10b2 |
| winpackOverview | com.teamdev.site.jsf.beans.product.ProductPageHandler@d352e4 |
| Name | Value |
|---|---|
| Q__SESSION | true |
| explorer_browser | false |
| mozilla_browser | false |
| opera_browser | false |
| quipukitPerDeveloperSaleHandler | com.teamdev.site.jsf.beans.store.PerDeveloperLicenseSaleHandler@1811405 |
| quipukitSourceCodeSaleHandler | com.teamdev.site.jsf.beans.store.SourceCodeSaleHandler@1497afd |
| quipukitUnlimitedSaleHandler | com.teamdev.site.jsf.beans.store.UnlimitedLicenseSaleHandler@1297bc7 |
| safari_browser | false |
| Name | Value |
|---|---|
| None | |