cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic attribute creation...

Former Member
0 Kudos

Hi ,

I am facing a problem in creating a dynamic attributes for storing values of a two dimensional array...

Any help in this regard will be appreciated.

Thanks in advance .

Accepted Solutions (0)

Answers (3)

Answers (3)

monalisa_biswal
Contributor
0 Kudos

Create a parent value node which will store values for array A.

Create a subnode under this node with singleton propery set to false to store values of array B.

Now traverse through array A and add elements to ParentNode.

Inside the loop traverse through array B and elements to subnode

String A[] = {"a", "b"};
	String B[][] ={{"AI","S1","S2","S3"},{"A2","S4","S5","S6"}};
	for(int i=0;i<A.length;i++)
	{
		IPrivate<viewname>.INodeAElement e1=
		wdContext.nodeNodeA().createNodeAElement();
		wdContext.nodeNodeA().addElement(e1);
		e1.setAttrA(A<i>);
		wdContext.nodeNodeA().moveNext();
                                if(B.length>i)
		for(int j=0;j<B<i>.length;j++)
		{
			IPrivate<viewname>.INodeBElement e2=
			wdContext.nodeNodeB().createNodeBElement();
			wdContext.nodeNodeB().addElement(e2);
			e2.setAttrB(B<i>[j]);
			
		}
	}

Hope it helps.

Former Member
0 Kudos

Hi Ayyapparaj,

I written the code in wdDoInit itself :

undermentioned is the req:

I have 2 array:

A[] ={"a", "b"}

B[][] = {{"AI","S1","S2","S3"}

{"A2","S4","S5","S6"}}

now i have to select "a"from array A[] and respective "S1","S2","S3" from B[][],

similarly "b" and respective "S4","S5","S6" and store it in a node .

now i am creating dynamic attributes for storing the values of arrayB[][].

and the whole code runs in Init itself.

Regards

Kamlesh

sridhar_k2
Active Contributor
0 Kudos

Hi,

How r u calling that array? Try to make use of this code. It may be useful to u.

String A[] = {"a", "b"};

String B[][] ={{"AI","S1","S2","S3"},{"A2","S4","S5","S6"}};

String c[] = new String[3];

if(contextEle.getTest().equals(A[0])){

wdComponentAPI.getMessageManager().reportSuccess("First");

c[0]=B[0][0];

wdComponentAPI.getMessageManager().reportSuccess("First : "+c[0]);

}else{

c[1]=B[0][1];

wdComponentAPI.getMessageManager().reportSuccess("Second : "+c[1]);

}

Regards,

Sridhar

Former Member
0 Kudos

Hi,

Try using recursive context structure

Regards

Ayyapparaj

Former Member
0 Kudos

Hi Ayyapparaj ,

I will be pleased enough if you throw some light on this...

And if i am not making mistake I am using the same but the error which i get is :

java.lang.ArrayIndexOutOfBoundsException: 0

Regards

Kamlesh

Former Member
0 Kudos

Can you post the entire the err trace

Former Member
0 Kudos

Hi Ayyapparaj,

I am extremely sorry for the above cause as i was remotely logged in...

Coming back to error trc :

Here is teh following:

java.lang.ArrayIndexOutOfBoundsException: 0

at com.sap.burberry.comp.TestSizeView.wdDoInit(TestSizeView.java:115)

at com.sap.burberry.comp.wdp.InternalTestSizeView.wdDoInit(InternalTestSizeView.java:124)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61)

at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)

at com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:398)

at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:690)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:560)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.doOpen(WebDynproWindow.java:311)

at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.open(ApplicationWindow.java:204)

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:347)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:668)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:268)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:705)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:659)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:227)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:150)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:56)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:40)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Former Member
0 Kudos

Can u put the code snippet in the Init especially the loop and the line 115