Hi !! All

AspectJ syntax errors in AJHotDraw -v0.4 in  /**JDOStorageFormat.java**/
class 22 errors type mismatch and can't resolve toa type.
Please somebody can help me on Ubuntu 10.10  and same problem on Win XP/Win
7 in Eclipse . All highlighted lines are errors.

 */**JDOStorageFormat.java**/*

*package **org.jhotdraw.util**;*

*import org.jhotdraw.framework.*; *

import org.jhotdraw.standard.StandardDrawing;

 import java.io.*;

import java.util.*;

import java.util.List;

import java.awt.*;

 import javax.jdo.*;

import javax.swing.*;

import javax.swing.event.ListSelectionListener;

import javax.swing.event.ListSelectionEvent;






 *public String store(String fileName, Drawing storeDrawing) throws
IOException { *

* PersistenceManager pm = getPersistenceManager(fileName); *

String drawingName = null;

 *Drawing txnDrawing = crossTxnBoundaries(storeDrawing); *

endTransaction(pm, false);

 startTransaction(pm);

try {

*Extent extent = pm.getExtent(StandardDrawing.class, true); *

DrawingListModel listModel = new DrawingListModel(extent.iterator());

drawingName = showStoreDialog(listModel, storeDrawing);

if (drawingName != null) {

storeDrawing.setTitle(drawingName);

txnDrawing.setTitle(drawingName);

pm.makePersistent(txnDrawing);

}

}

finally {

endTransaction(pm, (drawingName != null));

}

 // there must be always a transaction running

startTransaction(pm);

return drawingName;

}

 /**

* Restore a Drawing from a file with a given name. The name must be should
with regard to the

* FileFilter that means, it should have the appropriate file extension.

*

* @param fileName of the file in which the Drawing has been saved

* @return restored Drawing

*/

p*ublic synchronized Drawing restore(String fileName) throws IOException { *

* PersistenceManager pm = getPersistenceManager(fileName); *

 endTransaction(pm, false);

startTransaction(pm);

*Drawing restoredDrawing = null; *

 try {

*Extent extent = pm.getExtent(StandardDrawing.class, true); *

DrawingListModel listModel = new DrawingListModel(extent.iterator());

*Drawing txnDrawing = showRestoreDialog(listModel); *

if (txnDrawing != null) {

// pm.retrieve(txnDrawing);

// retrieveAll(pm, (StandardDrawing)txnDrawing);

// restoredDrawing = crossTxnBoundaries(txnDrawing);

restoredDrawing = txnDrawing;

}

}

finally {

endTransaction(pm, false);

}

 // there must be always a transaction running

startTransaction(pm);

return restoredDrawing;

}

 *private void retrieveAll(PersistenceManager pm, Figure figure) { *

pm.retrieve(figure);

*FigureEnumeration fe = figure.figures(); *

while (fe.hasNextFigure()) {

retrieveAll(pm, fe.nextFigure());

}

}

 *private Drawing crossTxnBoundaries(Drawing originalDrawing) { *

* return (Drawing)((StandardDrawing)originalDrawing).clone(); *

// return originalDrawing;

}

 *private synchronized PersistenceManager getPersistenceManager(String
fileName) { *

* PersistenceManager pm = (PersistenceManager)pms.get(fileName); *

if (pm == null) {

*pm = createPersistenceManagerFactory(fileName).getPersistenceManager(); *

pms.put(fileName, pm);

}

return pm;

}

 *private PersistenceManagerFactory createPersistenceManagerFactory(String
dbFileName) { *

Properties pmfProps = new Properties();

 pmfProps.put(

"javax.jdo.PersistenceManagerFactoryClass",

"com.poet.jdo.PersistenceManagerFactories" );

pmfProps.put(

"javax.jdo.option.ConnectionURL",

"fastobjects://LOCAL/MyBase.j1" );

 *final PersistenceManagerFactory pmf = *

*JDOHelper.getPersistenceManagerFactory( pmfProps ); *

* *

return pmf;

}

 *private static void startTransaction(PersistenceManager pm) { *

if (!pm.currentTransaction().isActive()) {

pm.currentTransaction().begin();

}

}

 *private static void endTransaction(PersistenceManager pm, boolean
doCommit) { *

if (pm.currentTransaction().isActive()) {

if (doCommit) {

pm.currentTransaction().commit();

}

else {

pm.currentTransaction().rollback();

}

}

}

 *private String showStoreDialog(ListModel listModel, Drawing storeDrawing)
{ *

final String msgString = "Specify a name for the drawing";

 final JTextField nameTextField = new JTextField(storeDrawing.getTitle());

final JList dataList = new JList(listModel);

final JScrollPane dbContentScrollPane = new JScrollPane(dataList);

Object[] guiComponents = {msgString, dbContentScrollPane, nameTextField};

 dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

dataList.setValueIsAdjusting(true);

dataList.addListSelectionListener(new ListSelectionListener() {

public void valueChanged(ListSelectionEvent e) {

nameTextField.setText(dataList.getSelectedValue().toString());

}

});

 final JOptionPane optionPane = new JOptionPane(

guiComponents,

JOptionPane.PLAIN_MESSAGE,

JOptionPane.OK_CANCEL_OPTION);

 final JDialog dialog = optionPane.createDialog(null, "Restore a drawing
from the database");

// dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

// dialog.addWindowListener(new WindowAdapter() {

// public void windowClosing(WindowEvent we) {

// System.exit(0);

// }

// });

dialog.setVisible(true);

if ((optionPane.getValue() != null) && (optionPane.getValue().equals(new
Integer(JOptionPane.OK_OPTION)))) {

return nameTextField.getText();

}

else {

return null;

}

}

 *private Drawing showRestoreDialog(DrawingListModel listModel) { *

final String msgString = "Select a drawing";

 final JList dataList = new JList(listModel);

final JScrollPane dbContentScrollPane = new JScrollPane(dataList);

Object[] guiComponents = {msgString, dbContentScrollPane};

 dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

dataList.setValueIsAdjusting(true);

 final JOptionPane optionPane = new JOptionPane(

guiComponents,

JOptionPane.PLAIN_MESSAGE,

JOptionPane.OK_CANCEL_OPTION);

 final JDialog dialog = optionPane.createDialog(null, "Restore a drawing
from the database");

dialog.setVisible(true);

if ((optionPane.getValue() != null)

&& (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))

&& (dataList.getSelectedIndex() >= 0)

&& (dataList.getSelectedIndex() < dataList.getModel().getSize())) {

*return listModel.getDrawingAt(dataList.getSelectedIndex()); *

}

else {

return null;

}

}

 static class DrawingListModel extends AbstractListModel {

private List myList;

 DrawingListModel(Iterator iter) {

myList = CollectionsFactory.current().createList();

while (iter.hasNext()) {

Object o = iter.next();

*System.out.println("extent: " + o + " .. " + ((Drawing)o).getTitle()); *

myList.add(o);

}

}

 public Object getElementAt(int index) {

*return getDrawingAt(index).getTitle(); *

}

 *protected Drawing getDrawingAt(int index) { *

* return ((Drawing)myList.get(index)); *

}

 public int getSize() {

return myList.size();

}

}

 static class DrawingSelector extends JDialog {

DrawingSelector() {

init();

}

 private void init() {

setTitle("Select Drawing");

getContentPane().setLayout(new BorderLayout());

getContentPane().add(new JLabel("Database content"), BorderLayout.NORTH);

setSize(200, 200);

}

}

 public static void main(String[] args) {

DrawingSelector frame = new DrawingSelector();

try {

*Drawing newDrawing = new StandardDrawing(); *

* *newDrawing.setTitle("TestDrawingName" +
newRandom(System.currentTimeMillis()).nextLong());

new JDOStorageFormat().store("base.j2", newDrawing);

System.exit(0);

}

catch (IOException e) {

e.printStackTrace();

}

// frame.setVisible(true);

}

}

  Thanking You,


Regards

S Kotrappa






On Wed, Dec 7, 2011 at 10:30 PM, <[email protected]> wrote:

> Send aspectj-users mailing list submissions to
>        [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://dev.eclipse.org/mailman/listinfo/aspectj-users
> or, via email, send a message with subject or body 'help' to
>        [email protected]
>
> You can reach the person managing the list at
>        [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of aspectj-users digest..."
>
>
> Today's Topics:
>
>   1. How to inject a static field into a multitude of  types with
>      AspectJ? (mark Kharitonov)
>   2. AOSD 2012 Student Volunteer program (Eric Bodden)
>   3. Re: How to inject a static field into a multitude of types
>      with AspectJ? (Andy Clement)
>   4. Re: Using aspect to pass a metadata as a parameter through
>      SOAP (Andy Clement)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 7 Dec 2011 11:44:14 +0200
> From: mark Kharitonov <[email protected]>
> To: [email protected]
> Subject: [aspectj-users] How to inject a static field into a multitude
>        of      types with AspectJ?
> Message-ID:
>        <cag2yspyhwbutpy83pw+bbjqkuhgzpmnm6vyydlupoeed+nb...@mail.gmail.com
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> I would like to add a log4j.Logger private static field into a multitude of
> types. For instance, into all the types annotated with the @Path
> annotation.
>
> This my current aspect code:
>
>    public aspect LoggingAspect {
>      public interface HttpHandlerType {}
>      declare parents: (@Path *) implements HttpHandlerType;
>
>      public Logger HttpHandlerType.Log = Logger.getLogger(getClass());
>
>      pointcut httpHandlerMethods(HttpHandlerType o) :
> within(HttpHandlerType+) &&
>        execution(@(GET || PUT || POST || DELETE) public * *.*(..)) &&
> this(o);
>
>      before(HttpHandlerType o): httpHandlerMethods(o) {
>        if (o.Log.isInfoEnabled()) {
>          o.Log.info(logMethod(thisJoinPoint));
>        }
>      }
>
>      after(HttpHandlerType o) returning (Object result):
> httpHandlerMethods(o) {
>        if (o.Log.isDebugEnabled()) {
>          o.Log.debug(logMethod(thisJoinPoint, result));
>        }
>      }
>
>      after(HttpHandlerType o) throwing (Exception e):
> httpHandlerMethods(o) {
>        if (o.Log.isEnabledFor(Level.ERROR)) {
>          o.Log.error(logMethod(thisJoinPoint), e);
>        }
>      }
>
>      private static String logMethod(JoinPoint jp) {
>        ...
>      }
>
>      private static String logMethod(JoinPoint jp, Object result) {
>        ...
>      }
>    }
>
> The problem is that the Log field is an instance field, while it should be
> a static one. But one cannot specify a static field inside an interface.
>
> So my question is how to change the aspect implementation to make the Log a
> static field?
>
> Thanks.
>
> --
> Be well and prosper.
> ==============================
> "There are two kinds of people.Those whose guns are loaded and those who
> dig."
>   ("The good, the bad and the ugly")
> So let us drink for our guns always be loaded.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> https://dev.eclipse.org/mailman/private/aspectj-users/attachments/20111207/c844c749/attachment.htm
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 7 Dec 2011 14:35:23 +0100
> From: Eric Bodden <[email protected]>
> To: [email protected]
> Subject: [aspectj-users] AOSD 2012 Student Volunteer program
> Message-ID:
>        <CALhVNN+VG8Tc+kPrK00XmdSOcjr7ut2fY51zx=mq+8whzno...@mail.gmail.com
> >
> Content-Type: text/plain; charset=windows-1252
>
> The Student Volunteer program is a great opportunity for students
> interested in topics of advanced modularity and Aspect-Oriented
> Software Development (AOSD) to stay tuned on the cutting edge
> scientific and technical advances in this area. This is also an
> opportunity for the interested grad and undergrad students to engage
> with their peers: both students and senior researchers and
> practitioners. As ever, the AOSD 2012 Student Volunteer program will
> strive to provide an active and interactive environment for the
> students to benefit from the research program of the conference, as
> well as to develop their professional network and enjoy the social
> events.
>
> Special Call for Students From European Universities
> * The AOSD 2012 Student Volunteer program will provide 10 dedicated
> spots for graduate students from European universities
> * The applications will be prioritized based on the relevance of the
> student work to AOSD, the potential extension of the AOSD community
> via integration of related work from new/underrepresented research
> groups, and the circumstances of individual students.
>
> The student volunteers will receive:
> * Free student registration for the conference.
> * Free participation in all social events including one banquet ticket.
> * Excellent networking opportunities: both working as a team with
> other volunteers, and interacting with other conference participants.
> * The program chairs will strive to (as much as possible) ensure that
> the volunteers are assigned to the tutorials, workshops,
> demonstrations or other events of their interest.
> * When not on duty, volunteers will have free admission to all
> conference events, provided space is available.
>
> The student volunteers will provide 15-20 hours of work on conference
> support tasks throughout the duration of the conference, including:
> * Technical assistance for the main conference sessions, workshops,
> tutorials, demonstrations, or evening events.
> * Help at conference bag packing and signposting.
> * Help at the registration desk.
> * Help in arranging, rearranging and disassembling conference ?facilities.
> * Technical assistance to speakers and conference participants.
>
> The applicants for student volunteer positions must be:
> * Enrolled as a full-time student during the 2011-2012 academic year.
> * Willing to be friendly (no natural outgoing personality required,
> just a strong desire to do a good job).
> * Proficient in English.
> * Proficiency in other languages is an advantage.
>
> How to Apply
> Please send your application in English by email to the Student
> Volunteers Chairs at [student-volunteers at aosd.net]. The Student
> Volunteers Chairs will confirm receipt of the submission. An
> application should include:
> * A short motivation Letter;
> * A CV
> * Contact name, phone number, and email address of a faculty member at
> your institution who will recommend you as a student volunteer
> (Supervisors might be contacted to confirm the appropriateness of the
> candidates.)
> * The dates and times of your arrival and departure
>
> In the event that one?s student volunteer application is not accepted,
> you may still register using the early registration rate. Please
> contact registration at aosd.net.
> If you have further questions please contact the Student Volunteers
> Chairs (Ruzanna Chitchyan or Jens Lincke) at volunteers at aosd.net.
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 7 Dec 2011 08:17:26 -0800
> From: Andy Clement <[email protected]>
> To: [email protected]
> Subject: Re: [aspectj-users] How to inject a static field into a
>        multitude of types with AspectJ?
> Message-ID:
>        <CAAu=NOmTuzVFe0=JdoEWu5fHYih6=-yuxo3eco5unsbm+jw...@mail.gmail.com
> >
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> Currently you can't make those static declarations on interfaces, but
> it has been requested a few times and I would like to get to it soon.
> In the meantime you can simulate it using a pertypewithin
> instantiation model.  This thread discusses it:
>
>
> http://aspectj.2085585.n4.nabble.com/Introduce-static-members-into-several-classes-at-once-td2080794.html
>
> hope that helps,
>
> cheers,
> Andy
>
> On 7 December 2011 01:44, mark Kharitonov <[email protected]>
> wrote:
> > I would like to add a log4j.Logger private static field into a multitude
> of
> > types. For instance, into all the types annotated with the @Path
> annotation.
> >
> > This my current aspect code:
> >
> > ??? public aspect LoggingAspect {
> > ????? public interface HttpHandlerType {}
> > ????? declare parents: (@Path *) implements HttpHandlerType;
> >
> > ????? public Logger HttpHandlerType.Log = Logger.getLogger(getClass());
> >
> > ????? pointcut httpHandlerMethods(HttpHandlerType o) :
> > within(HttpHandlerType+) &&
> > ??????? execution(@(GET || PUT || POST || DELETE) public * *.*(..)) &&
> > this(o);
> >
> > ????? before(HttpHandlerType o): httpHandlerMethods(o) {
> > ??????? if (o.Log.isInfoEnabled()) {
> > ????????? o.Log.info(logMethod(thisJoinPoint));
> > ??????? }
> > ????? }
> >
> > ????? after(HttpHandlerType o) returning (Object result):
> > httpHandlerMethods(o) {
> > ??????? if (o.Log.isDebugEnabled()) {
> > ????????? o.Log.debug(logMethod(thisJoinPoint, result));
> > ??????? }
> > ????? }
> >
> > ????? after(HttpHandlerType o) throwing (Exception e):
> httpHandlerMethods(o)
> > {
> > ??????? if (o.Log.isEnabledFor(Level.ERROR)) {
> > ????????? o.Log.error(logMethod(thisJoinPoint), e);
> > ??????? }
> > ????? }
> >
> > ????? private static String logMethod(JoinPoint jp) {
> > ??????? ...
> > ????? }
> >
> > ????? private static String logMethod(JoinPoint jp, Object result) {
> > ??????? ...
> > ????? }
> > ??? }
> >
> > The problem is that the Log field is an instance field, while it should
> be a
> > static one. But one cannot specify a static field inside an interface.
> >
> > So my question is how to change the aspect implementation to make the
> Log a
> > static field?
> >
> > Thanks.
> >
> > --
> > Be well and prosper.
> > ==============================
> > "There are two kinds of people.Those whose guns are loaded and those who
> > dig."
> > ?? ("The good, the bad and the ugly")
> > So let us drink for our guns always be loaded.
> >
> >
> > _______________________________________________
> > aspectj-users mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 7 Dec 2011 08:19:19 -0800
> From: Andy Clement <[email protected]>
> To: [email protected]
> Subject: Re: [aspectj-users] Using aspect to pass a metadata as a
>        parameter through SOAP
> Message-ID:
>        <CAAu=NO=SiBYbH=fb6yudm1u_hkzxj9wjq5dmi9mxses5ynj...@mail.gmail.com
> >
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> > But I am wondering if this will even work and can be done using aspectj.
> > It would be great if someone can tell me if this can be done using
> > aspectj . If yes, will it solve my problem. Highly appreciate any
> > help.
>
> I guess in theory, what you are proposing will work.  But it may get
> tricky to coordinate if there are multiple requests going on
> simultaneously and multiple threads handling them.
>
> cheers,
> Andy
>
> On 5 December 2011 10:50, Ashiwan.S. <[email protected]> wrote:
> > Hi,
> >
> > Thank you so much for the reply.
> > I guess I would have to modify the bytecode and xml specification for
> > the data (since the application has been written to use SOAP). If
> > that's the case, then I wonder if aspectj can help me at all in
> > modularizing this work.
> >
> > I am thinking of doing something as below using aspectj.
> >
> > 1. Write a client side aspect which has a nested static class inside
> > it. The class implements a remote method. The remote method will save
> > the extra data in the object every time the data is available from the
> > HTTP request.
> > 2. Write a server side aspect such that , before the actual EJB call,
> > make a remote method call to get the data and then proceed further
> > with the actual call.,
> >
> > I understand that there is an extra overhead in making RMI call for
> > every request received from the Front-end to the Business logic.
> > But I am wondering if this will even work and can be done using aspectj.
> > It would be great if someone can tell me if this can be done using
> > aspectj . If yes, will it solve my problem. Highly appreciate any
> > help.
> >
> > Thanks,
> > Ashiwan
> >
> > --
> > -Ashiwan
> > _______________________________________________
> > aspectj-users mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
> ------------------------------
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
> End of aspectj-users Digest, Vol 82, Issue 4
> ********************************************
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to