123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import javax.swing.JOptionPane;
- import com.cognos.developer.schemas.bibus._3.AsynchDetailParameters;
- import com.cognos.developer.schemas.bibus._3.AsynchReply;
- import com.cognos.developer.schemas.bibus._3.AsynchReplyStatusEnum;
- import com.cognos.developer.schemas.bibus._3.BaseParameter;
- import com.cognos.developer.schemas.bibus._3.Option;
- import com.cognos.developer.schemas.bibus._3.Parameter;
- import com.cognos.developer.schemas.bibus._3.ParameterValue;
- import com.cognos.developer.schemas.bibus._3.ParmValueItem;
- import com.cognos.developer.schemas.bibus._3.SearchPathSingleObject;
- import com.cognos.developer.schemas.bibus._3.SimpleParmValueItem;
- public class ReportParameters
- {
-
- public BaseParameter[] getReportParameters(
- BaseClassWrapper report,
- CRNConnect connection)
- throws java.rmi.RemoteException
- {
-
- BaseParameter params[] = new Parameter[] {};
- AsynchReply response;
- String reportPathString = report.getBaseClassObject().getSearchPath().getValue();
- SearchPathSingleObject reportPath = new SearchPathSingleObject();
- reportPath.set_value(reportPathString);
-
-
- response = connection.getReportService().getParameters(reportPath, new ParameterValue[] {}, new Option[] {} );
-
-
-
- if (!response.getStatus().equals(AsynchReplyStatusEnum.conversationComplete))
- {
- while (!response.getStatus().equals(AsynchReplyStatusEnum.conversationComplete))
- {
- response = connection.getReportService().wait(
- response.getPrimaryRequest(),
- new ParameterValue[] {},
- new Option[] {});
- }
- }
-
-
- for (int i = 0; i < response.getDetails().length; i++)
- {
- if (response.getDetails()[i] instanceof AsynchDetailParameters)
- {
- params = ((AsynchDetailParameters)response.getDetails()[i]).getParameters();
- }
- }
-
-
- return params;
- }
-
-
-
- public static ParameterValue[] setReportParameters(BaseParameter[] prm)
- {
- try
- {
- int numberOfParameters = 0;
-
- if (prm.length > 0)
- {
- numberOfParameters = prm.length;
- ParameterValue[] params =
- new ParameterValue[numberOfParameters];
-
- for (int i = 0; i < prm.length; i++)
- {
-
-
-
-
-
-
- String modelFilterItem = ((Parameter)prm[i]).getModelFilterItem();
- String item =
- modelFilterItem.substring(
- modelFilterItem.lastIndexOf("["),
- modelFilterItem.lastIndexOf("]") + 1);
- String inputValue =
- JOptionPane.showInputDialog(
- "Please input a value for "
- + item
- + " of datatype ["
- + prm[i].getType().getValue()
- + "]");
- SimpleParmValueItem item1 = new SimpleParmValueItem();
- item1.setUse(inputValue);
-
- ParmValueItem pvi[] = new ParmValueItem[1];
- pvi[0] = item1;
-
- params[i] = new ParameterValue();
- params[i].setName(prm[i].getName());
- params[i].setValue(pvi);
- }
- return params;
-
- }
- else
- {
- return null;
- }
- }
- catch (Exception e)
- {
- System.out.println(e);
- return null;
- }
- }
- }
|