Reverse Engineering and Mocha...

I've heard of a program called Mocha that can take a .class file and spit out the source code and a program named Crema that can prevent this. Now, if this is the case, java is useless for encryption based programs or anything else that might be proprietary. Does Sun have a solution to this?

Hi,
I am blind. I really can't see any besides open source, in house, server side, installation and configuration..etc Suggest me some.
Java is so great indeed. Just for "installation and configuration" gadgets? It is kind of waste. Java should deserve more and better, especially the coming 1.5.
I will be so happy if one day Oracle can write their core codes using Java, the core of Maya and 3dMax are written in Java, or even Microsoft's windown media player(C# is welcome too). I want to see the bytecodes. :-)
The whole world will be happy too! I am sure. :-)
I'm a big fan of Java since I've been using it for the in house server side development for more than 4 years. I know its advantages and drawbacks as well.
Happy coding folks! :-)
FILE COLSED

Similar Messages

  • UML:  Reverse engineering and sequence diagram

    Hello,
    I would like to know if anybody knows a tool which can reverse a java application and return its sequences diagram. I know that Rational Rose and Together haven't such functions, they can only return the static view af an application (class diagrams). I need a tool like this to document some of my applications.
    Thanks for your response,
    Manu.

    Hello,
    I would like to know if anybody knows a tool which can
    reverse a java application and return its sequences
    diagram. I know that Rational Rose and Together
    haven't such functions, they can only return the
    static view af an application (class diagrams). I need
    a tool like this to document some of my applications.Together 6.0 can build Sequense diagram

  • ANN: Reverse-engineering tool from Logic Explorers Inc.

    Logic Explorers Inc. announces the beginning of the beta program for the CodeLogic
    reverse-engineering and code analysis tool. CodeLogic is implemented as a plugin
    for JBuilder, JDeveloper, and the standalone application. Among the major features:
    - Analyses any Java source code
    - Fully automatic generation of interactive UML Class and Sequence (sic!) diagrams
    - Unique Execution Flow diagram
    - Unique Variables Backtrack diagrams
    - Graphical Code Navigator
    - Zoom and filters
    - Intelligent Diff utility
    - Knowledge Base
    To get more information, visit Logic Explorers Inc at
    http://www.logicexplorers.com

    I would go with the Forms-Builder itself. If you want to analyze the code and see what action is done at which point, its best to do this in the tool where you developed the application. (You also wouldn't analyze a .Net-application using Notepad ;) )

  • ODI Reverse-Engineering Question

    We've been using ODI 10.3.5.1 for about a year now. The current load process was set up for us during implementation of Hyperion Planning. We are now trying to add a new dimension to our hierarchy, and I mistakenly went in and added the columns manually to all the models I could think of. I also added the columns into the source and target datastores in the interfaces manually.
    Naturally, the load did not work. I keep getting the error "invalid column name 'Cost_Center'. I have been told by the installer (over email) that i should have reverse-engineered the models, and let the program build all the datastores. I tried to do the reverse-engineering, and am now getting an error for the HYP_PLANNING model, and the HYP_ESSBASE model runs and runs and runs, without doing anything noticeable.
    How long should a reversal run? I don't believe our hierarchy is extraordinarily huge.
    This is all in the TEST environment right now, but I need to put things in LIVE for August financials, so I have until 9/9/09 to figure this stuff out. Any insights would be greatly appreciated.

    Thanks for the quick response.
    Like I said, it was done by the consultant, so I don't even know what an agent is.
    As for the error, it was:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 41, in ?
    com.hyperion.odi.planning.ODIPlanningException: Failed to sync with user provisioning. Check Planning log for details
         at com.hyperion.odi.planning.wrapper.PlanningWrapper.login(Unknown Source)
         at com.hyperion.odi.planning.ODIPlanningConnection.connect(Unknown Source)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.core.PyObject.__call__(PyObject.java)
         at org.python.core.PyInstance.invoke(PyInstance.java)
         at org.python.pycode._pyx0.f$0(<string>:41)
         at org.python.pycode._pyx0.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyCode.call(PyCode.java)
         at org.python.core.Py.runCode(Py.java)
         at org.python.core.Py.exec(Py.java)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Caused by: com.hyperion.planning.HspRuntimeException: Failed to sync with user provisioning. Check Planning log for details
         at com.hyperion.planning.HspJSImpl.synchronizeUserWithProvisioning(Unknown Source)
         at com.hyperion.planning.HspJSImpl.login(Unknown Source)
         at com.hyperion.planning.HspJSImpl.login(Unknown Source)
         at com.hyperion.planning.HyperionPlanningBean.Login(Unknown Source)
         at com.hyperion.planning.HyperionPlanningBean.Login(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
         at java.lang.reflect.Method.invoke(Method.java)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
         at sun.rmi.transport.Transport$1.run(Transport.java:164)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:160)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:837)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:911)
         at java.lang.Thread.run(Thread.java:570)
         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
         at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
         at sun.rmi.server.UnicastRef.invoke(Unknown Source)
         at com.hyperion.planning.HyperionPlanningBean_Stub.Login(Unknown Source)
         ... 34 more
    com.hyperion.odi.planning.ODIPlanningException: com.hyperion.odi.planning.ODIPlanningException: Failed to sync with user provisioning. Check Planning log for details
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)

  • ODI and Essbase: Connection, Reverse Engineering, loading

    Hi, please heeeeeeeelp me to understand how can I connect to Essbase, Reverse Engineer, and load data from a file!!!!!
    I work with ODI and Essbase for the first time. I've read ODI documentationbut it did't help.
    I have ODI 10.1.3.4.0
    I have Hyperion and Essbase
    ODI server, my ODI client and Essbase are located in different servers.
    I have a work repository.
    In the "Topology manager" in "Physical Architecture" under the "Essbase Hyperion" I created "Data Server" and in the definition tab I filled "Name", "Server" (with port), "User", "Password".
    In the JDBC tab I did nothing.
    In the physical schema in the definition tab I filled: "Application (Catalog)", "Database (Schema)", "Application (Work catalog)" (the same as first), "Database (Work schema)" (the same as second).
    In the "Context" tab I insert a new line and chose the "Context" tha I had created before and type a new logical schema("").
    (When I was creating the context I just filled Context "Name" and "Code" (automatically))
    Then I want to reverse engineer data.
    I opened ODI designer, created a new model: Definition tab: "Technology" = Hyperion Essbase, "Logical schema" = My_Hyperion_logic_schema
    Reverse tab: "Context" = My_Hyperion_context
    When I try to reverse engineer data in the Selective Reverse tab I get following error:
    java.sql.SQLException: Driver must be specified
         at com.sunopsis.sql.SnpsConnection.a(SnpsConnection.java)
         at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java)
         at com.sunopsis.dwg.reverse.Reverse.a(Reverse.java)
         at com.sunopsis.dwg.reverse.Reverse.a(Reverse.java)
         at com.sunopsis.dwg.reverse.Reverse.a(Reverse.java)
         at com.sunopsis.dwg.reverse.Reverse.d(Reverse.java)
         at com.sunopsis.graphical.frame.a.iq.fe(iq.java)
         at com.sunopsis.graphical.frame.a.iq.fa(iq.java)
         at com.sunopsis.graphical.frame.a.iq.l(iq.java)
         at com.sunopsis.graphical.frame.a.eq.actionPerformed(eq.java)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    What I do wrong?

    Thanks a loooot,
    I've correctly installed 10.1.3.4.5 patch and now this error disapeared, but I have the following:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 58, in ?
    com.hyperion.odi.essbase.ODIEssbaseException: Error in connecting to Essbase server. Error message is : Cannot connect to Analytic Server. Error:(1051293): Login fails due to invalid login credentials
    at com.hyperion.odi.essbase.ODIEssbaseConnection.connect(Unknown Source)
    at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
    at org.python.core.PyMethod.__call__(PyMethod.java)
    at org.python.core.PyObject.__call__(PyObject.java)
    at org.python.core.PyInstance.invoke(PyInstance.java)
    at org.python.pycode._pyx0.f$0(<string>:58)
    at org.python.pycode._pyx0.call_function(<string>)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyCode.call(PyCode.java)
    at org.python.core.Py.runCode(Py.java)
    at org.python.core.Py.exec(Py.java)
    at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
    at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source) at com.sunopsis.dwg.cmd.e.i(Unknown Source) at com.sunopsis.dwg.cmd.g.y(Unknown Source) at com.sunopsis.dwg.cmd.e.run(Unknown Source) at java.lang.Thread.run(Unknown Source)Caused by: com.essbase.api.base.EssException: Cannot connect to Analytic Server. Error:(1051293): Login fails due to invalid login credentials at com.essbase.server.framework.EssOrbPluginDirect.essMainLoginSV(Unknown Source) at com.essbase.server.framework.EssOrbPluginDirect.essMainLoginSV(Unknown Source) at com.essbase.server.framework.EssMainConnectionContext.open(Unknown Source) at com.essbase.server.framework.EssOrbPluginDirect.essMainLogin(Unknown Source) at com.essbase.server.framework.EssOrbPluginDirect.essMainLogin(Unknown Source) at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source) at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source) at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source) at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source) at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source) at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source) at com.essbase.api.session.EssOrbPlugin.essMainLogin(Unknown Source) at com.essbase.api.datasource.EssOlapServer.connect(Unknown Source) at com.essbase.api.datasource.EssOlapServer.connect(Unknown Source) at com.hyperion.odi.essbase.wrapper.EssbaseConnection.connect(Unknown Source) ... 33 more
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Error in connecting to Essbase server. Error message is : Cannot connect to Analytic Server. Error:(1051293): Login fails due to invalid login credentials at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
    at com.sunopsis.dwg.cmd.e.i(Unknown Source)
    at com.sunopsis.dwg.cmd.g.y(Unknown Source)
    at com.sunopsis.dwg.cmd.e.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    I run jython.bat
    I checked services (restarted them) on server where Essbase is installed:
    Hyperion S9 Administration Services ATS5
    Hyperion S9 BI+ Analytic Services 9.3.1 - hypservice
    Hyperion S9 Shared Services
    Hyperion-Essbase_Administration_Server
    I'm trying to connect with essbase server with administrator-user who I use to login to Essbase Administration Services on server where Essbase is installed
    What I do wrong?

  • Forward and Reverse Engineering

    Hello,
    Iu2019m very new to ABAP Objects and I want to know, if there any solution for Forward Engineering, which means you modeled some classes in an UML tool like ARIS and import the XMI-File in the SAP-System and its generating the classes automatically?
    Well, I´m also interested in Reverse Engineering. Do you know a solution for an export of classes to an external UML tool (maybe via XMI)?
    Thanks for your answers.
    Edited by: Neil Gardiner on Sep 24, 2010 9:47 AM

    Hi,
    ABAP -> UML reverse engineering functionality is available starting with release 7.02 and 7.20.
    You will find them in transaction SE80 in the context menu of classes, interfaces, programs and function-groups (Display -> UML Class Diagram). The UML class diagram cannot be manually modified but there are many options to configure it. There is no plan for supporting two-way-editing functionality in the future. Nevertheless you will be able to print the UML class diagram, export the UML class diagram in XMI format (without graphic) or as an bitmap and you will be able to generate an ABAPDoc like HTML document including UML class diagram bitmaps.
    The XMI file can be imported in third party UML tools (e.g. StarUML and Altova UModel), to generate UML diagrams and to modify the classes and interfaces. Therefore, XMI download can be very useful in ABAP refactoring projects. Because of the ABAP Objects UML Class Diagram is designed for reverse engineering, there is currently no plan for an XMI upload functionality.
    Regards,
    Mathiyalagan

  • JDeveloper capabilities for Reverse Engineering existing instances and data

    We are experiencing difficulty obtaining the indexes, synonyms, and triggers via reverse-engineering capture of existing 10g DB's. Does JDeveloper have the capabilities for Reverse Engineering all objects from existing DB's ?
    Will 10g JDeveloper handle reverse-engineering large 300 table schemas rich with large quantity of indexes, synonyms, & triggers?
    And last, how can a listing of the Data Dictionary be extracted /exported in CSV or excel format for review distribution? Via JDeveloper? We have a large distributed development, test, quality, and integration team which prefers to review various elements of schema updates and changes in excel.
    Thanx.

    Vicki-
    Thanks for the additional info. I was thinking you were most concerned with reverse-engineering existing schemas. I did not realize you were designing new schemas.
    When you mention ERDs, are you interested in logical ERDs (as compared to physical tables and foreign keys)? If you are interested in doing pure logical ERD modelling, then Designer is the way to go. It has been years since I worked with Designer, but it has ooodles of capabilities to forward and reverse engineer between databases, physical models, and logical models of schemas. It sounds like you might be using Designer today and are hitting some snags. Is this the case? If so, I suggest you see if Oracle Support or the Designer forum can help you get past the specific Designer issues. The forum for Oracle Designer is here: Designer
    Sue mention that JDeveloper does support database modelling. Here is a how-to for JDeveloper 11g that shows how it works:
    http://www.oracle.com/technology/obe/obe11jdev/11/db_dev/obe_%20databasedevmt.htm
    The how-to is pretty complete showing you forward and reverse engineering capabilities.
    A few more minor notes:
    1.The JDeveloper schema modelling features work on a physical (not logical) level. In other words, they work on tables not entities.
    2.The SQL Developer report features certainly work on "DATA". But, the "DATA" they work on can certainly be the data dictionary data. In other words, I can write a report in SQL Developer that queries all of the column names, column data types for a subset of tables. Then I can export that "DATA" into excel and use it for whatever your downstream needs are. The potential capabilities are practically unlimited.
    Cheers,
    -dave

  • Profiling and UML reverse engineering

    Hi,
    I just downloaded the latest jdev905preview and so far the compiling and running works fine for my Java application. Unfortunately the (event/execution/memory)profiling options are disabled, is there any way to turn it on or it's a "feature" in the preview?
    Also I am wondering is there reverse engineering like in Togethersoft's ControlCenter where you can reconstruct back the class and sequence diagrams from existing source code?
    Thanks
    Aaron

    Aaron,
    Not sure on the first point. Are you using the JDK inside JDeveloper? If not I think you need to Install OJVM in the JDK you are using, see the release notes for more information.
    As for the second point, any Java code that you have in JDeveloper can be dragged and dropped onto a Class Diagram and it will then model your code. Sequence diagramming is still not yet available in JDeveloper.
    Thanks,
    Lisa Sherriff
    JDev QA

  • How do I protect and embedded database from reverse engineering, hackers?

    Hello,
    I have an application that needs to be shipped to the customers with an embedded database that consists of critical application dependent data. The problem is that this data is top-secret information that for no reason should get in the hands of someone else because all the company value lies in this data. So my question is:
    How can I protect this data that are being shipped embedded in the application from hackers, reverse engineering etc? Is it even possible?
    Or is it secure enough to have the database credentials stored in the source code? Can reverse engineering get these credentials from the compiled application?

    TolvanTolvanTolvan wrote:
    Hello,
    I have an application that needs to be shipped to the customers with an embedded database that consists of critical application dependent data. The problem is that this data is top-secret information that for no reason should get in the hands of someone else because all the company value lies in this data. So my question is:
    How can I protect this data that are being shipped embedded in the application from hackers, reverse engineering etc? You can't. Regardless of the computer language being used to generate the executable it can always be reverse engineered so as to extract critical information.
    Is it even possible?No.
    >
    Or is it secure enough to have the database credentials stored in the source code? No.
    Can reverse engineering get these credentials from the compiled application?Yes.

  • Issue while Reverse Engineering the HFM Application

    Hi,
    We are in the process of integrating HFM (11.1.2.2.0) with ODI (11.1.1.6) for metadata upload from ODI to HFM, and, I am getting the following error while reverse engineering to the HFM application.
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
    File "<string>", line 38, in <module>
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    com.hyperion.odi.common.ODIHAppException: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
    File "<string>", line 38, in <module>
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    com.hyperion.odi.common.ODIHAppException: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at org.python.core.PyException.fillInStackTrace(PyException.java:70)
         at java.lang.Throwable.<init>(Throwable.java:181)
         at java.lang.Exception.<init>(Exception.java:29)
         at java.lang.RuntimeException.<init>(RuntimeException.java:32)
         at org.python.core.PyException.<init>(PyException.java:46)
         at org.python.core.PyException.<init>(PyException.java:43)
         at org.python.core.Py.JavaError(Py.java:455)
         at org.python.core.Py.JavaError(Py.java:448)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:177)
         at org.python.core.PyObject.__call__(PyObject.java:355)
         at org.python.core.PyMethod.__call__(PyMethod.java:215)
         at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
         at org.python.core.PyMethod.__call__(PyMethod.java:206)
         at org.python.core.PyObject.__call__(PyObject.java:381)
         at org.python.core.PyObject.__call__(PyObject.java:385)
         at org.python.pycode._pyx0.f$0(<string>:38)
         at org.python.pycode._pyx0.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java:165)
         at org.python.core.PyCode.call(PyCode.java:18)
         at org.python.core.Py.runCode(Py.java:1204)
         at org.python.core.Py.exec(Py.java:1248)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
         ... 19 more
    Caused by: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
         ... 33 more
    Caused by: com.hyperion.odi.hfm.wrapper.HFMException: Error occurred while loading driver.
         at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:29)
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:51)
         ... 40 more
    Caused by: com.hyperion.odi.hfm.wrapper.HFMException: C:\Oracle\Middleware\Oracle_ODI1\oracledi\agent\drivers\HFMDriver.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
         at com.hyperion.odi.hfm.wrapper.HFMDriverJNI.getDriver(HFMDriverJNI.java:23)
         at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:26)
         ... 41 more
    Can anyone please suggest a suitable solution for this?
    Thanks
    Abhi

    Hi,
    Under the readme eRPI : http://docs.oracle.com/cd/E17236_01/epm.1112/readme/erpi_1112200_readme.html
    I find this :
    ODI Setup Steps to Integrate with Financial Management
    To setup the ODI to integrate with Financial Management:
    Rename odiparams.bat located at <ODI_HOME>\oracledi\agent\bin to odiparams.bat.backup.
    The default installation location is C:\app\Oracle\product\11.1.1\Oracle_ODI_1.
    Download Oracle Data Integrator Companion CD 11.1.1.6.2.
    Unzip the contents of the Companion CD to the temp directory.
    Unzip oracledi-agent-standalone.zip.
    Copy the contents to: <ODI_HOME>.
    Make a backup of the HFMDriver.DLL.
    For the 32 bit operating system, copy HFMDriver32_11.1.2.2.dll as HFMDriver.DLL.
    For the 64bit operating system, copy HFMDriver64_11.1.2.2.dll as HFMDriver.DLL.
    Rename odiparams.bat.backup from Step 1 to odiparams.
    Edit the PATH to include: <ODI_HOME>\oracledi.sdk\lib
    Restart the ODI Agent.
    I try this procedure, but now, I have a new error :
    - Unable to connect on "myhfmserver" with "admin" user
    I think that, there is another step to do, because now HFM 11.1.2.2 use directly the "EPM Registry" (into Shared Services Schema) to retreive the HFM servers ou Clusters.
    But I don't find any information, how to setup this part into ODI.
    Or may be, we need to setup "Regedit Keys" into Windows registry like previous HFM release ?
    If you have any news, please inform me

  • Unable to generate Logical Model Diagrams through Reverse Engineering

    Hi,
    I am currently using SQL Developer Data Modeler Version-3.0.04.
    I have generated Logical Model Diagrams from Relational Model Diagrams through Reverse Engineering (Done by pressing an" engineer to Logical Model button" on top panel of sql developer) .I saved the DMD file (source file) once i had done generating the logical diagrams.Now if i reopen the DMD and open the logical diagram again I found that most of the tables had lost their relationships.So i tried to regenerate the Logical Model Diagram again from the same Relational Diagram but it is not being generated unless i create a new Relational Diagram.Is there a way to generate multiple Logical Diagrams for the same Relational Diagram rather than creating a new one for each Logical Diagram to be created.
    Regards .
    Thanks in advance.

    Any comments on this issue?. Please let us know.

  • Error in Reverse Engineering an XML file

    I am tring to set up ODI to read and XML file and post it to a DB.
    I am using Oracle Data Integrator 10.1.3.5
    I have set up the Connection in the Topology Manager and when I ran the Test it returned OK.
    I went to the Model tab in the Designer and tried to Reverse engineer the file. I followed the instruction int he User's Guide but I get an error:
    The Technology or the Driver used doesn not support Reverse Engineering. The User's guide says you can do it, but Designer tells me I can't.
    Has anyone received this error before and how can i get around it.
    I am using:
    com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    as the JDBC Driver. THat is the one used in the guide and example.
    JDBC URL:
    jdbc:snps:xml?f=c:\OraHome_1\Oracledi\MercuryGate\MGTransImpTemplatev1.0.1.xml&re=MercuryGate&ro=true&case_sens=true&s=MercGate
    Any help will be appreciated.

    Try the Oracle Data Integrator Forum
    Data Integrator
    Edited by: Johnreardon on 13-Jan-2011 05:34

  • Reverse-engineering excel files in ODI

    Hi,
    I am currently creating an ODBC Data Source to connect to MS Excel and then reverse-engineering the excel file.Do I need to create separate ODBC Data Source for each excel file or is there any other way to achieve this?
    Please suggest.
    Thanks in advance.

    hi Dev
    1. Have you defined the correct link between DSN and your Excel File the answer is yes
    2. Have you test the Connection in Topology ?yes and it's OK
    3. Also is your Excel file has an Extension of XLS ? yes
    4. When reversing have you check the required Technology - Microsoft Excel with required Logical Schema and context Yes i have Microsoft Excel with required Logical Schema and context
    and also try checking the Tables and System Tables for reversing .I' can't

  • Reverse engineering in Java Studio Enterprise 8.1

    I tried to do the reverse engineering in Java Studio Enterprise 8.1.
    The Reverse Engineering process launches which I can tell from the output log,
    but I didn't see any diagram generated. What could be the problem?
    Thanks!

    to see if the relationships are in the model, try to expand the class and interface nodes and they should have something like the following. If these are absent, there might be something in the reverse engineering process that lost the relationships.
    - package1
    - class1
    - Relationships
    - Implementation
    + interface1
    - package2
    - interface1
    - Relationships
    - Implementation
    + class1
    As for sequence diagram, not sure how you created it. If you just cdfs the classes, you should not see any message except for the lifelines that represent the classes. If you select an operation of a class to do cdfs or reverse engineer operation, the sequence diagram will be generated.

  • Unable to Perform Reverse Engineering, of Hyperion Planning in ODI 11.1.1.6

    Dear Gurus and Experts.
    I'm trying to reverse engineer had made a model of the Hyperion Planning.
    After configuring the topology.
    Steps:
    A)
    Physical Architecture:
    machine.mycompany.com: 11333, user / pdw (here's Hyperion Planning)
    Physical Layout:
    Catalog Application - I wrote: myapphp
    Implementation and Application of Work - I wrote: myapphp
    1_doubt: I expected to be able to select the physical layout, the field catalog application, an application name that is in Hyperion Planning.
    But I saw that does not work well. I had to enter.
    is this right? or just this wrong in my settings?
    B)
    Logical Architecture:
    Context: Global
    Associated with LS_HP_myapp
    C)
    In Contexts:
    Global, contains the association.
    logical scheme: LS_HP_myapp for Physical Schema: myapphp
    D)
    In Designer.
    I want to reverse engineer;
    Criated a folder, added a model;
    name: mymodelhp, selected technology: hyperion planning
    logical schema: LS_HP_myapp
    em group of generic actions.
    Saved.
    E)
    And clicked on Reverse Engineering
    Then the error ODI: 20616 Failed Reverse Engineering Standard.
    details:
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Driver name cannot be empty
         at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
         at java.util.concurrent.FutureTask.get(FutureTask.java:83)
         at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.get(SwingWorker.java:476)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpModel$8.done(EditFrameSnpModel.java:2622)
         at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$4.run(SwingWorker.java:615)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
         at java.awt.EventQueue.access$000(EventQueue.java:84)
         at java.awt.EventQueue$1.run(EventQueue.java:607)
         at java.awt.EventQueue$1.run(EventQueue.java:605)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
         at java.awt.Dialog$1.run(Dialog.java:1044)
         at java.awt.Dialog$3.run(Dialog.java:1096)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1094)
         at java.awt.Component.show(Component.java:1584)
         at java.awt.Component.setVisible(Component.java:1536)
         at java.awt.Window.setVisible(Window.java:841)
         at java.awt.Dialog.setVisible(Dialog.java:984)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:395)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(JEWTDialog.java:356)
         at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:352)
         at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:243)
         at oracle.ide.dialogs.ProgressBar.start(ProgressBar.java:215)
         at com.sunopsis.graphical.tools.utils.SnpsSwingUtilities.executeAndBlockGUI(SnpsSwingUtilities.java:181)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpModel.jButtonReverse_ActionEvents(EditFrameSnpModel.java:2650)
         at com.sunopsis.graphical.frame.SnpsEditFrame$IvjEventHandler.actionPerformed(SnpsEditFrame.java:206)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
         at java.awt.Component.processMouseEvent(Component.java:6290)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6055)
         at java.awt.Container.processEvent(Container.java:2039)
         at java.awt.Component.dispatchEventImpl(Component.java:4653)
         at java.awt.Container.dispatchEventImpl(Container.java:2097)
         at java.awt.Component.dispatchEvent(Component.java:4481)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
         at java.awt.Container.dispatchEventImpl(Container.java:2083)
         at java.awt.Window.dispatchEventImpl(Window.java:2482)
         at java.awt.Component.dispatchEvent(Component.java:4481)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
         at java.awt.EventQueue.access$000(EventQueue.java:84)
         at java.awt.EventQueue$1.run(EventQueue.java:607)
         at java.awt.EventQueue$1.run(EventQueue.java:605)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:621)
         at java.awt.EventQueue$2.run(EventQueue.java:619)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.lang.IllegalArgumentException: Driver name cannot be empty
         at org.springframework.util.Assert.hasText(Assert.java:161)
         at com.sunopsis.sql.SnpsConnection.setDriverName(SnpsConnection.java:302)
         at com.sunopsis.dwg.dbobj.DwgConnectConnection.setDefaultConnectDefinition(DwgConnectConnection.java:380)
         at com.sunopsis.dwg.dbobj.DwgConnectConnection.<init>(DwgConnectConnection.java:274)
         at com.sunopsis.dwg.dbobj.DwgConnectConnection.<init>(DwgConnectConnection.java:288)
         at oracle.odi.core.datasource.dwgobject.support.DwgConnectConnectionCreatorImpl.createDwgConnectConnection(DwgConnectConnectionCreatorImpl.java:53)
         at com.sunopsis.dwg.reverse.Reverse.getLocalConnection(Reverse.java:1286)
         at com.sunopsis.dwg.reverse.Reverse.getLocalConnection(Reverse.java:1336)
         at com.sunopsis.dwg.reverse.Reverse.getLocalConnection(Reverse.java:1301)
         at com.sunopsis.dwg.reverse.Reverse.getMetaData(Reverse.java:1357)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpModel$8.doInBackground(EditFrameSnpModel.java:2587)
         at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
         at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:278)
         at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
         at java.lang.Thread.run(Thread.java:662)
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                                                            
    Any light please.
    thank you

    In the reverse engineer tab of the model you will need to select customized and select the knowledge module "RKM Hyperion Planning"
    Cheers
    John
    http://john-goodwin.blogspot.com/

Maybe you are looking for

  • Call a storedprocedure with CLOB input parameter gives ORA-24811 error

    Hi all,      I am calling a storedprocedure from VB using ADO and OraOLEDB. Calling stored procedure as mention in OraOLED documentation.      The procedure accepts a varchar and a CLOB parameter.      While executing the store procedure its throw an

  • Firefox will not start and Firefox.exe process will not end!

    Good evening, I am typing this on Internet Explorer, and Google Chrome seems to refuse to install. I have been experiencing considerable trouble with launching FF. Whenever I double-click the icon, FF does not launch. There are no error mesages, the

  • Simple program with array do not want to compile

    Please do not laugh but I wrote the following program to create a array of strings. The program do not want to compile and I can not see why. Can somebody please tell me what I am doing wrong. class MyArrayOfStrings5 puplic static void main(String[]

  • Log Files out of Control - How to manage size?

    This is a two part question: 1) Our Apache2 error log has grown to 41 GB!!! How can we clear it? 2) Is there a way to limit log file growth? 3) Is there an application to manage log files on a server? We are running Leopard Server 10.5.x. Thanks!

  • Missing bonus pre-order points

    I pre-ordered Call of Duty Advanced Warfare. The points for my purchase have posted, but not the bonus pre-order points.