OdiWaitForChildSession Name filter in paralele execution
Hi,
we are using ODI version 11.1.1.6.
For parallel execution of child interfaces, we will be using interface scenarios set to asynchronous mode execution inside the package using java api's.
For example:
-master interface
-child1 interface scen in async mode
-OdiWaitForChildSession1
-Child2...child5 interface scenarios in async mode
-OdiWaitForChildSession2
For OdiWaitForChildSession here, we have used these parameters:
"-POLL_INT=1"
"-MAX_CHILD_ERROR=1"
Kindly let us know if ' Name Filter' or 'keywords' also need to be set in such cases where we are using more then 1 OdiWaitForChildSession or it should work fine if we have ' Name Filter' or 'keywords' set as null.
Thanks!
-Anuradha
Hi,
I have used StepOdiCommand with the following expression set to that.
have set the stepname to 'odiWaitForChildSessionStep' in StepOdiCommand constructor.
LanguageProviderImpl langImpl_new=new LanguageProviderImpl(odiInstance) ;
ExpressionStringBuilder expBuilder = new ExpressionStringBuilder(langImpl_new.getDefaultSnpsLanguage());
expBuilder.append("OdiWaitForChildSession ");
expBuilder.append("-POLL_INT=1");
expBuilder.append(" -MAX_CHILD_ERROR=ALL");
Expression exp = expBuilder.toExpression();
StepOdiCommand stepCommand = new StepOdiCommand(odiPackage, "odiWaitForChildSessionStep" );
stepCommand.setCommandExpression(exp);
-------------------
Similar Messages
-
Configure VISA I/O name filter programmatically
Is there any way to configure the VISA I/O name filter programmatically? Specifically I want to configure the instruments listed on "Limit Instrument Types." After looking around for awhile and not finding anything I kind of Rube Goldberged around it by using show and hide controls.
Is there a better way?
Attachments:
Capture.PNG 33 KBYeah I have had the same annoyances as you have with the VISA class. The filter avoids those problems while still presenting correct behavior for the user interface.
I have tried things like you suggested with the list box before, but I think it looks a little worse on the screen, and you don't have the nifty refresh button(though I guess you could code one).
It just seems bizzare that this should be anything more complicated than setting a property node. -
.seq name available during execution of edit substep?
Hello,
I have a case where I'd like the sequence file name to be availalbe during execution of the edit substep. Normally, during running of an actual sequence, this would be available under the runstate tree, but this does not appear to get populated by merely running an edit substep. Is there a property in existence that is contains the sequence file name during edit substep execution?Depending on what property you have available, you have a few properties that you could use.
If you pass a step object into your edit substep, you can use Step.Sequence.SequenceFile.Path
If you pass a sequence context into your edit substep, you can use SequenceContext.SequenceFile.Path
Be careful using this property, as it is common to add steps that belong to a sequence file that has not been saved. In this case, the Path property will return an empty string.
Hope this helps!
Allen P.
NI -
ER - Problem with ADF Faces filter when running ADF Faces within a portlet
I am attempting to get ADF Faces to run within Oracle Portal, i.e. within a portlet using the JPDK.
This, I am sure you are about to tell me, is not something that is fully supported, as yet.
However, I have been successful in getting MyFaces to run within a portlet, by customizing the form tag.
MyFaces, it seems, keeps track of the current viewid by storing it in the session, then uses this within the viewhandler and navigationhandler to determine the next view to load, based on the faces-config.xml navigation entries.
By customizing the form tag it is then possible to retrieve this viewid from the faces context and outputting it in the form's action parameter.
It is also possible, with a few more customizations, to run JSF RI within a portlet, i.e. by adding a custom viewhandler and loading a session variable with the current viewid from the faces context, then retrieving the viewid and outputting it as the action string in the customized form tag .
Unfortunately there does not appear to be any way of getting ADF Faces (EA19 version) to run as a portlet, with either the RI or with MyFaces.
I have configured a basic .jspx document in the <showPage> tags of the provider.xml file.
This uses only the form tag and a few input tags and works when executed directly within my portlet project in JDeveloper (http://localhost:8988/TestJSFAppContext/faces/htdocs/facesportlet/index.jspx) using a redirectfilter (*.jspx htdocs -> /faces/htdocs).
It is not possible to run ADF Faces with RI as a portlet since customization of the ADF Faces ViewHandler appears not to be supported.
When attempting to run this with MyFaces as a portlet, however, I get the following message:
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl verifyFilterIsInstalled
WARNING: The AdfFacesFilter has not been installed. ADF Faces requires this filter for proper execution.
I am having difficulty in understanding as to why this is happening but am guessing it must be something to do with either redirect URLs or due to the .jspx files being under /htdocs, i.e. the ADF Faces renderkit is checking that the ADF Faces filter is configured but the check fails since the filter does not execute.
I have configured the filter in web.xml, as detailed in the documentation:
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>ADF Faces Servlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>ADF Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ADF Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>and have modified the provider.xml file as follows:-
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<renderContainer>true</renderContainer>
<renderCustomize>true</renderCustomize>
<autoRedirect>true</autoRedirect>
<contentType>text/html</contentType>
<showPage>/faces/htdocs/facesportlet/index.jspx</showPage>
<editPage>/htdocs/facesportlet/FacesportletEditPage.jsp</editPage>
<editDefaultsPage>/htdocs/facesportlet/FacesportletEditDefaultsPage.jsp</editDefaultsPage>
</renderer>with the following tags also set:
<session>true</session>
<passAllUrlParams>true</passAllUrlParams>In order to ensure that the session stays alive so that the views are retrieved.
As I say, the page loads OK when run directly within the JPDK project within JDeveloper, with a redirect filter (*.jspx -> /faces/*.jspx) but not when run from within Oracle Portal.
In fact I have found that this filter is very sensitive, i.e. ADF Faces will not run in any project unless the configuration is exactly as above.
It seems that the MyFaces team have got around the problem of maintaining session state with redirections but that ADF Faces needs the page URL that is passed in to the filter to be consistent.
Is there some way around this, i.e. some kind of customization that I can implement to get the filter working?
ThnksI have found a way to go round the problem.
I use the servlet 2.4/jsp 2.0 route and then
change the web.xml header to the servlet 2.3/jsp 1.2
format. Everything then works fine after this!
Please fix this for production.
Behnam -
Hi,
I've got a big problem when I launch my application with a WAS 6.0 on Unix. It seems that the adf filter is not installed whereas I've declared it in my web.xml file
I don't have this problem when my WAS is on Windows
The exception log is :
[10/10/06 10:29:49:795 CEST] 00000071 viewhandler E Error Rendering View
java.lang.NullPointerException
at
oracle.adfinternal.view.faces.renderkit.AdfRenderingContext.getTranslatedString
(AdfRenderingContext.java:70)
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImplverifyFilterIsInstalled
The AdfFacesFilter has not been installed. ADF Faces requires this filter for
proper execution.
10/10/06 10:29:46:071 CEST] 00000071 CoreAdfRender W
oracle.adfinternal.view.faces.renderkit.core.CoreAdfRenderingContext_initializeSkin
There is no SkinFactory
Here is a part of my web.xml code :
<context-param>
<param-name>oracle.adf.view.faces.ALTERNATE_VIEW_HANDLER</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Thanks for your help
Fabienyes I've got
<faces-config>
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
<message-bundle>FacesMessages</message-bundle>
<locale-config>
<default-locale>fr</default-locale>
</locale-config>
<default-render-kit-id>oracle.adf.core</default-render-kit-id>
</application>
</faces-config>
Nobody knows how to resolve this problem ? -
How can I find the servlet class name from inside a ServletFilter?
Ive implemented a servlet filter, but need to discover the class name of any servlet class that gets executed.
Ive dug through the spec and cant seem to find any path to do this.
Seems the methods needed to do this have been deprecated. (for security reasons?)
Is there any way to write a ServletFilter to grab this info?
If not, is there any other way to capture every servlet execution in the container, time its execution, and log the class name along with the execution time?
(***WITHOUT*** requiring a classpath over ride of any container provider classes)
Any help is much appreciated. Been banging my head against this for some time now :(request.getServletPath() returns the part of the URL which refers to the servlet. It isn't the classname of the servlet but it should be a reasonable surrogate. If you log that, then you could write some code which reads your web.xml and uses the servlet-mapping elements to convert it to servlet class names later.
-
6/12/14 09:04:13 java.lang.NullPointerException
06/12/14 09:04:13 at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
06/12/14 09:04:13 at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
06/12/14 09:04:13 at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
06/12/14 09:04:13 at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
06/12/14 09:04:13 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
06/12/14 09:04:13 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
06/12/14 09:04:13 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
06/12/14 09:04:13 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
06/12/14 09:04:13 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
06/12/14 09:04:13 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
06/12/14 09:04:13 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
06/12/14 09:04:13 at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
06/12/14 09:04:13 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
06/12/14 09:04:13 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
06/12/14 09:04:13 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
06/12/14 09:04:13 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
06/12/14 09:04:13 at java.lang.Thread.run
Message was edited by:
BrunoTonetHello,
I'm also getting the same error when I use my application for the first time.
The application server log shows:
Component Name adfinternal
Component ID adfinternal
Host Network Address 10.40.113.96
Message Level 1
Module ID view.faces.webapp.AdfFacesFilterImpl
User ID SYSTEM
Execution Context ID 1173906922:10.40.113.96:692:3084:800
Execution Context Sequence 1
Host Name z0001-app0821-s
Thread ID 48
Message Type Warning
The application is depevloped in jdev 10.1.3 using adf faces.
it is deployed to OAS 10.1.3
My web.xml
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
Thank you
Kate -
Good day everybody, im working with oracle 9.2.0.8 on AIX 5L
I recently mounted the filesystems of the datafiles and indexes (not the product) in DIRECT IO mode (mount -o dio /path_of_files)
but it happens that some parallel query executions doesnt get any benefit from the change... actually they had been downgrades... consider the following Tkproff extract, versus the original timing....
The point is that direct io actually improves several queries, but those related to paralell execution are suffering this downgrade, i think, related to this PX Deq: Execute Reply
here are some related parameters and below the tkprof extracts ...
filesystemio_options SETALL
parallel_adaptive_multi_user TRUE
parallel_automatic_tuning TRUE
parallel_execution_message_size 8192
parallel_max_servers 160
parallel_server_instances 1
parallel_threads_per_cpu 2
DIRECT IO
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 105442 2.09 1490.70
process startup 17 0.02 0.43
PX Deq: Join ACK 2 0.01 0.01
PX Deq: Parse Reply 6 0.22 0.42
PX Deq: Execute Reply 507 1.95 797.61
PX Deq Credit: need buffer 58 0.51 2.40
PX Deq Credit: send blkd 50 1.09 5.16
PX Deq: Table Q Normal 337 0.55 1.96
log file switch completion 4 0.02 0.04
log buffer space 51 0.97 6.32
log file sync 9 0.08 0.23
PX Deq: Signal ACK 5 0.04 0.06
enqueue 5 0.00 0.00
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.07 0.07
ORIGINAL ONE
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
process startup 12 0.03 0.31
PX Deq: Join ACK 8 0.00 0.00
PX Deq: Parse Reply 12 0.16 0.19
PX Deq: Execute Reply 137 1.95 119.74
db file sequential read 104347 0.39 555.89
PX Deq Credit: need buffer 2 0.00 0.00
log buffer space 98 0.42 8.15
log file switch completion 4 0.38 0.49
log file sync 27 0.62 2.61
PX Deq: Table Q Normal 23 0.00 0.00
PX Deq: Signal ACK 6 0.00 0.00
enqueue 1 0.00 0.00
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.06 0.06Thanks in advance.First of all, thanks for your help...
and actually, there was one table that lacked parallel flag... i fixed it but...
yet, the PX Deq: Execute Reply is the top wait event... in the master tkprof..
and i think that your guesswork was accurate, take a look...
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
INSERT STATEMENT Optimizer Mode=CHOOSE 3 5866
NESTED LOOPS 3 672 5866 P->S QC (RANDOM)
HASH JOIN 3 444 5865 PCWP
TABLE ACCESS BY INDEX ROWID PRD982E.IMP_CONCEPTO 1 33 1 PCWC
NESTED LOOPS 15 K 1 M 5859 P->P HASH
HASH JOIN 74 K 4 M 2132 PCWP
TABLE ACCESS BY INDEX ROWID PRD982E.BDG_MOVIMIENTOS 74 K 3 M 1240 S->P HASH
INDEX RANGE SCAN PRD982E.SAP_BDG_IDX01 148 K 548
TABLE ACCESS FULL PRD982E.SUMCON 1 M 13 M 892 P->P HASH
INDEX RANGE SCAN PRD982E.PK_IMP_CONCEPTO 1 1 PCWP
TABLE ACCESS FULL RELACIONES_ASIENTOS 40 K 1 M 6 P->P HASH
TABLE ACCESS BY INDEX ROWID PRD982E.RECIBOS 1 76 1 PCWP
INDEX UNIQUE SCAN PRD982E.PK_RECIBOS 1 PCWP
call count cpu elapsed disk query current rows
Parse 1 0.02 1.48 0 0 0 0
Execute 1 21.26 615.80 18451 28609 530507 399299
Fetch 0 0.00 0.00 0 0 0 0
total 2 21.28 617.29 18451 28609 530507 399299
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 934
Rows Row Source Operation
0 NESTED LOOPS
0 HASH JOIN
0 TABLE ACCESS BY INDEX ROWID IMP_CONCEPTO
0 NESTED LOOPS
0 HASH JOIN
0 TABLE ACCESS BY INDEX ROWID BDG_MOVIMIENTOS
152295 INDEX RANGE SCAN SAP_BDG_IDX01 (object id 34358)
0 TABLE ACCESS FULL SUMCON
0 INDEX RANGE SCAN PK_IMP_CONCEPTO (object id 26842)
0 TABLE ACCESS FULL SAP_RELACIONES_ASIENTOS_MV
0 TABLE ACCESS BY INDEX ROWID RECIBOS
0 INDEX UNIQUE SCAN PK_RECIBOS (object id 28131)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
process startup 18 0.97 1.42
PX Deq: Join ACK 2 0.21 0.21
PX Deq: Parse Reply 7 0.07 0.15
PX Deq: Execute Reply 570 1.95 498.31
db file sequential read 18450 0.20 74.02
log file switch completion 3 0.19 0.23
PX Deq: Table Q Normal 31 0.08 0.13
PX Deq: Signal ACK 9 0.02 0.03
enqueue 2 0.00 0.00
log file sync 1 0.01 0.01
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.20 0.20
******************************************************************************** -
GenericSortFilter.xsl unable to filter data in inline transformation.
Hi,
I am working on MII 12.0
I need to filter an xml output of transaction. So I am using the inline transformation.
I am passing filter column name, filter column value, filter exp and filter type.
But the data is not getting filtered.
When I am applying inline transformation for sorting, the data is getting sorted.
When I apply generic sort filter action block in transaction to filter the data, itu2019s getting filtered.
Need help on this.
Thanks
Vishal JadhavHi,
We can use generic sort filter in BLS.
But MII has provided XLS transformation facility.
I checked the xsl file used in genericsortfilter case.
A code fragment is below
<xsl:when test="$FilterType = 'lt'">
<xsl:choose>
<xsl:when test="$TestValue < $FilterValue">Y</xsl:when>
<xsl:otherwise>N</xsl:otherwise>
</xsl:choose>
As you can see , instead of checking the FilterExp , it is checking the FilterType.
That's where the problem lies.
I made the necessary changes and now its working fine through the XSL transformation.
Regards,
Vishal Jadhav -
Strange behavior when using servlet filter with simple index.htm
I am new to J2EE development so please tolerate my ignorance. I have a web application that starts with a simple index.htm file. I am using a servlet filter throughout the website to check for session timeout, redirecting the user to a session expiration page if the session has timed out. When I do something as simple as loading the index.htm page in the browser, the .css file and one image file that are associated, or referenced in the file are somehow corrupted and not being rendered. How do I get the filter to ignore css and image files??? Thank you!!
The servlet filter:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SessionTimeoutFilter implements Filter {
String[] excludedPages = {"SessionExpired.jsp","index.htm","index.jsp"};
String timeoutPage = "SessionExpired.jsp";
public void destroy() {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
//httpServletResponse.setHeader("Cache-Control","no-cache");
//httpServletResponse.setHeader("Pragma","no-cache");
//httpServletResponse.setDateHeader ("Expires", 0);
String requestPath = httpServletRequest.getRequestURI();
boolean sessionInvalid = httpServletRequest.getSession().getAttribute("loginFlag") != "loggedIn";
System.out.println(sessionInvalid);
boolean requestExcluded = false;
System.out.println(requestExcluded);
for (int i=0;i<excludedPages.length;i++){
if(requestPath.contains(excludedPages)){
requestExcluded = true;
if (sessionInvalid && !requestExcluded){
System.out.println("redirecting");
httpServletResponse.sendRedirect(timeoutPage);
// pass the request along the filter chain
chain.doFilter(request, response);
public void init(FilterConfig arg0) throws ServletException {
//System.out.println(arg0.getInitParameter("test-param"));
The index.htm file (or the relevant portion)<HTML>
<Head>
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="RTEStyleSheet.css" rel="stylesheet" type="text/css">
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<FORM NAME="Login" METHOD="POST" ACTION="rte.ServletLDAP"><!-- Branding information -->
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="30%" align="left"><img src="images/top_logo_new2.gif">
</td>
<td width="37%" align="center"></td>
<td width="33%" align="right"></td>
</tr>
</table>
My web.xml entry for the filter: <filter>
<description>
Checks for a session timeout on each user request, redirects to logout if the session has expired.</description>
<display-name>
SessionTimeoutFilter</display-name>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>SessionTimeoutFilter</filter-class>
<init-param>
<param-name>test-param</param-name>
<param-value>this is a test parameter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>Hi,
Try adding CSS files and images to the excluded Pages. -
Help me to run this filter...please
Hi guys,
i'm a problem and i don't find a solution from 10 days....please help me.
I have to give access security to my jsf application because each page shows private information. I have a login page and a visit bean that store the session's information,like current user and current locale.
I've developed a filter that when a page is loaded try to retrieve user from Visit Object,if it's not found go to login page.
What's my problem?
When i try to open from my browser a page different from Login my application shows me the page,without addressing me to Login Page.
When i go to
http://localhost:8080/MicroArray/pages/protected/Menu.jsf
i see the page Menu while i want LOGIN!
Can you help me?
I post you the important code.
This is the important code of mu AuthenticationBean
User newUser=new User(loginName,password,teamName,tipo);
Visit visit = new Visit();
visit.setUser(newUser);
visit.setAuthenticationBean(this);
setVisit(visit);
FacesContext facesContext = getFacesContext();
getApplication().createValueBinding("#{sessionScope.visit}").setValue(facesContext, visit);this is my Visit Object
package giu;
import javax.faces.context.FacesContext;
import java.util.Locale;
import javax.faces.model.SelectItem;
import javax.faces.application.Application;
import java.util.*;
import java.io.Serializable;
public class Visit implements Serializable
private static final long serialVersionUID = 1L;
private User user;
private AuthenticationBean authenticationBean;
public Visit()
public User getUser()
return user;
public void setUser(User user)
this.user = user;
public AuthenticationBean getAuthenticationBean()
return authenticationBean;
public void setAuthenticationBean(AuthenticationBean authenticationBean)
this.authenticationBean = authenticationBean;
}and this is my filter
package giu;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class AuthorizationFilter implements Filter
FilterConfig config = null;
ServletContext servletContext = null;
public AuthorizationFilter()
public void init(FilterConfig filterConfig) throws ServletException
config = filterConfig;
servletContext = config.getServletContext();
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
Utils.log(servletContext, "Inside the filter");
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
HttpSession session = httpRequest.getSession();
String requestPath = httpRequest.getPathInfo();
Visit visit = (Visit)session.getAttribute("visit");
if (visit == null)
session.setAttribute("originalTreeId", httpRequest.getPathInfo());
Utils.log(servletContext, "redirecting to " + httpRequest.getContextPath() +
"/faces/index.jsp");
httpResponse.sendRedirect(httpRequest.getContextPath() +
"/faces/index.jsp");
else
session.removeAttribute("originalTreeId");
String role = visit.getUser().getRole();
if ((role.equals("utente") && requestPath.indexOf("protected") > 0))
String text = Utils.getDisplayString("ptrackResources",
"PathNotFound",
new Object[] { requestPath },
request.getLocale());
httpResponse.sendError(HttpServletResponse.SC_NOT_FOUND,
text);
else*/
chain.doFilter(request, response);
Utils.log(servletContext, "Exiting the filter");
public void destroy()
}index.jsp addresses to /pages/protected/Login.jsf...
with its declaration in web.xml
<filter>
<filter-name>AuthorizationFilter</filter-name>
<filter-class>giu.AuthorizationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthorizationFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>AuthorizationFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>Please help me.....Hi guys,
i'm a problem and i don't find a solution from 10 days....please help me.
I have to give access security to my jsf application because each page shows private information. I have a login page and a visit bean that store the session's information,like current user and current locale.
I've developed a filter that when a page is loaded try to retrieve user from Visit Object,if it's not found go to login page.
What's my problem?
When i try to open from my browser a page different from Login my application shows me the page,without addressing me to Login Page.
When i go to
http://localhost:8080/MicroArray/pages/protected/Menu.jsf
i see the page Menu while i want LOGIN!
Can you help me?
I post you the important code.
This is the important code of mu AuthenticationBean
User newUser=new User(loginName,password,teamName,tipo);
Visit visit = new Visit();
visit.setUser(newUser);
visit.setAuthenticationBean(this);
setVisit(visit);
FacesContext facesContext = getFacesContext();
getApplication().createValueBinding("#{sessionScope.visit}").setValue(facesContext, visit);this is my Visit Object
package giu;
import javax.faces.context.FacesContext;
import java.util.Locale;
import javax.faces.model.SelectItem;
import javax.faces.application.Application;
import java.util.*;
import java.io.Serializable;
public class Visit implements Serializable
private static final long serialVersionUID = 1L;
private User user;
private AuthenticationBean authenticationBean;
public Visit()
public User getUser()
return user;
public void setUser(User user)
this.user = user;
public AuthenticationBean getAuthenticationBean()
return authenticationBean;
public void setAuthenticationBean(AuthenticationBean authenticationBean)
this.authenticationBean = authenticationBean;
}and this is my filter
package giu;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class AuthorizationFilter implements Filter
FilterConfig config = null;
ServletContext servletContext = null;
public AuthorizationFilter()
public void init(FilterConfig filterConfig) throws ServletException
config = filterConfig;
servletContext = config.getServletContext();
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
Utils.log(servletContext, "Inside the filter");
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
HttpSession session = httpRequest.getSession();
String requestPath = httpRequest.getPathInfo();
Visit visit = (Visit)session.getAttribute("visit");
if (visit == null)
session.setAttribute("originalTreeId", httpRequest.getPathInfo());
Utils.log(servletContext, "redirecting to " + httpRequest.getContextPath() +
"/faces/index.jsp");
httpResponse.sendRedirect(httpRequest.getContextPath() +
"/faces/index.jsp");
else
session.removeAttribute("originalTreeId");
String role = visit.getUser().getRole();
if ((role.equals("utente") && requestPath.indexOf("protected") > 0))
String text = Utils.getDisplayString("ptrackResources",
"PathNotFound",
new Object[] { requestPath },
request.getLocale());
httpResponse.sendError(HttpServletResponse.SC_NOT_FOUND,
text);
else*/
chain.doFilter(request, response);
Utils.log(servletContext, "Exiting the filter");
public void destroy()
}index.jsp addresses to /pages/protected/Login.jsf...
with its declaration in web.xml
<filter>
<filter-name>AuthorizationFilter</filter-name>
<filter-class>giu.AuthorizationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthorizationFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>AuthorizationFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>Please help me..... -
Filter does not work with *.jsp URL pattern???
Hi All,
I am, by no means, very good at JSF or Java. I have looked at various forum posts on here for ways to implement a security filter to intercept requests to pages that first require one to be logged in, and if not, redirect them to the login page. Yes, I know a lot of you have heard this many times before, and I'm sorry to bring it up again.
BUT, from the guidance of other posts, I have got a filter that works fine when the url pattern is set to "/faces/*" or "/<anything>/*", however it won't work for "*.jsp" or "*.<anything>"
My filter is as follows:
package test.security;
import javax.faces.context.FacesContext;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SecurityFilter implements Filter{
/** Creates a new instance of SecurityFilter */
private final static String FILTER_APPLIED = "_security_filter_applied";
public SecurityFilter() {
public void init(FilterConfig filterConfig) {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException{
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
HttpSession session = req.getSession();
String requestedPage = req.getPathTranslated();
String user=null;
if(request.getAttribute(FILTER_APPLIED) == null) {
//check if the page requested is the login page or register page
if((!requestedPage.endsWith("Page1.jsp")) /* This is the login page */
//set the FILTER_APPLIED attribute to true
request.setAttribute(FILTER_APPLIED, Boolean.TRUE);
//Check that the session bean is not null and get the session bean property username.
if(((test.SessionBean1)session.getAttribute("SessionBean1"))!=null) {
user = ((test.SessionBean1)session.getAttribute("SessionBean1")).getUsername();
if((user==null)||(user.equals(""))) {
// try {
// FacesContext.getCurrentInstance().getExternalContext().redirect("Page1.jsp");
// } catch (ServletException ex) {
// log("Error Description", ex);
res.sendRedirect("../Page1.jsp");
return;
//deliver request to next filter
chain.doFilter(request, response);
public void destroy(){
}My web.xml declaration for the filter is:
<filter>
<description>Filter to check whether user is logged in.</description>
<filter-name>SecurityFilter</filter-name>
<filter-class>test.security</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Note: I have also tried this with <url-pattern>*.jsp</url-pattern> for the filter mapping in place of the Faces Servlet
My web.xml declaration for the url pattern is:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>Which JSC/NetbeansVWP automatically creates a "JSCreator_index.jsp" which has:
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:forward page="Page1.jsp"/>
</jsp:root>When run, this causes an Error 500 in the browser and a NullPointerException in SecurityFilter.java on the line:
if((!requestedPage.endsWith("Page1.jsp")) /* This is the login page */I think I'm missing something that would be obvious to anyone who knows better than me. Any ideas?Dear Ginger and Boris,
thanks for the information - the problem seems to ocur in EP7 as well, Boris told me it is fixed in SP15. We are on SP14 now, so there is hope !
actually the information in the oss note stated above is also true, as we have an Oracle DB. On a similar demo system (only difference is SQL DB) the hyphen search works !
best regards, thank you !
Johannes -
Retrieve Company name from the Post in contact Entity - MS CRM 2013 online
Hi All,
We have a feature in the contact entity, on change of a field called call status we are triggering a workflow which will take the current value of the call status field and creates a new status in the Auto Post. So repeated calling and call status by Target
marketing will be captured.
Below is the Sample
Now the issue i am facing is creating a report out of it to capture # of calls and call status.
This is the sample report I've created. I am not able to Display the Account name in this report.
Fetch XML used:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="post">
<attribute name="postid" />
<attribute name="createdon" />
<attribute name="createdby" />
<attribute name="source" />
<attribute name="modifiedon" />
<attribute name="text" />
<attribute name="regardingobjectid" />
<attribute name="createdonbehalfby" />
</entity>
</fetch>
Kindly suggest how this can be done.
Regards, Rekha.JHi Jithesh,
Thanks for the reply.
The above code retrieves no data and so no output is displayed, not even a single record is retrieved.
I previously had tried something similar to this , which retrieved the records but account name it was displaying some wrong data.
Below is that code which I tried.
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="post">
<attribute name="postid" />
<attribute name="createdon" />
<attribute name="createdby" />
<attribute name="source" />
<attribute name="modifiedon" />
<attribute name="createdonbehalfby" />
<attribute name="regardingobjectid" />
<attribute name="text" />
<link-entity name="systemuser" from="systemuserid" to="createdby" alias="ak">
<link-entity name="account" from="createdby" to="systemuserid" alias="al">
<attribute name="name" />
<filter type="and">
<condition attribute="name" operator="not-null" />
</filter>
</link-entity>
</link-entity>
</entity>
</fetch>
Regards, Rekha.J -
Idoc execution in Scheduling Agreement with Delivery Schedule
Hi all,
Can anybody please explain the importance of the field name "LABKY" in Idoc execution for Forecaste/JIT Delivery Schedule.
My requirement is that when i send a new Idoc i do not want the old schedule line which are not yet released , to be deleted .
As per the SAP help the use of the field LABKY is related to this , but when i tried its value as "1" , the previous schedule lines are still getting deleted.
Can you pls explain how to go about it . ( DELFOR/DELJIT Idocs)
Thank you
Regards
SubhaHi ,
The Field
LABKY : Delivery schedule key
internal data type : CHAR
Internal length : 000001 characters
Position in segment : 026, Offset : 0393. external length : 000001
Regards
Seegal -
How to use the filter facet on af:column
I have a column in my VO that is defined as a boolean and that shows as a selectBooleanCheckbox in my table. My table has filters on but above the boolean column it shows a regular input field.
I checked the filter facet and i also put a selectBooleanCheckbox in it but i don't know how to set the values so the data will be filtered when the value of the checkbox changes.
<f:facet name="filter">
<af:selectBooleanCheckbox id="cbFilt"/>
</f:facet>For an example that uses a selectOneChoice, easily adaptable to a selectBooleanCheckbox solution, please see:
Re: how create selectOneChoice in filter facet of af:column _ jdeveloper11g.
Regards,
Matthew
Maybe you are looking for
-
I've been using Firefox for more than a year and prefer it to Internet Explorer. I'm unaware of any websites or information on a website that I've been unable to access with Firefox before this. My question contains all the details. I don't know anyt
-
The problem i am facing is that any amount received from the customer as security deposit or down payment is treated in SAP as specialGL transaction and it is not captured by the system for the purpose of Credit Limit Check . Since there is no credi
-
Can't boot installation media, hangs on archiso.img
So I have a crappy old laptop that I'm trying to use as a server machine. I have Ubuntu Server installed on it, but I want to experiment a bit, and shift to Arch. Problem is, I get to the selection screen, and it automatically selections option 1 wit
-
R12 : Currency between order/invoice/paymentR12
Hello, In 11i we have the constraint to have the same currency between the PO, the invoice and the payment. I'd like to know if in R12 we can manage some special settings (for some suppliers) to avoid this constraint. e.g. can we manage a Chinese sup
-
XMLIndex Value Index on repository
Hello, I'm still fighting with that peculiar "value index" feature. Unfortunately I cannot really find comprehensive in-depth information on it at all. Has anyone ever gotten this to work with the repository? What I have found out so far: 1) When you