Q:

Calculate new coordinates from old coordinates and x and y

I have the following setup of items in real life:

The radar is static, which means it always has the same position. The A-item can move and its position can be whatever. From the radar I can read the x and y coordinates of A in relation to the radar. I have written the following classes to describe the position of each item:
public class Position {
    public enum Direction {
        EAST, WEST, NORTH, SOUTH
    };

    public final Direction latitudeDirection, longitudeDirection;
    public final float latitude, longitude, altitude;

    public Position(Direction latitudeDirection, Direction longitudeDirection,
            float latitude, float longitude, float altitude) {
        this.latitudeDirection = latitudeDirection;
        this.longitudeDirection = longitudeDirection;
        this.latitude = latitude;
        this.longitude = longitude;
        this.altitude = altitude;
    }

    public Position(float radarX, float radarY) {
        // TODO: Implement the question here
        this.altitude = Config.RADAR_POSITION.altitude;
    }

}

class Config {
    // Position of the radar
    public static final Position RADAR_POSITION = new Position(
            Position.Direction.NORTH, // Latitude direction
            Position.Direction.EAST, // Longitude direction
            55.0f, // Latitude
            13.0f, // Longitude
            60.0f); // Altitude

    // Facing direction of the radar in degrees. 0° is north, advancing
    // clockwise.
    public static final float RADAR_FACING_DIRECTION = 10.0f;
}

Now given the geographic coordinates of the radar, the x and y coordinates of A relative to the radar and the facing direction of the radar relative to the North, how can I calculate the absolute geographic coordinates of A?
The curvature of the earth is not an issue since the maximum value of x and/or y cannot be more than a couple hundred meters.

A:

As an example, you can use trigonometric functions to create triangles to find coordinates of A:

In this case, Ax = (y)(cos 10) - (x)(cos 80), and you could work out Ay similarly.
This way, you are never stuck in degrees, you are simply working in meters.
The robust solution is Vishal's comment in the OP, which was posted whilst I was drawing and scanning: 
xnew = x * cos(theta) - y * sin(theta); 
ynew = x * sin(theta) + y * cos(theta);

A:

I think it should be possible to do it this way:  Convert the x and y coordinates to polar coordinates r and theta, (with the radar as the origin).  Subtract the radar's rotation, and convert back to cartesian coordinates.  Then you just have to convert to latitude and longitude and add the coordinates of the radar.
double r = Math.hypot(radarX, radarY);
double theta = Math.atan2(radarY, radarX);
theta -= Math.toRadians(Config.RADAR_FACING_DIRECTION);
float x = (float) r * Math.cos(theta);
float y = (float) r * Math.sin(theta);
longitude = metersToLongitude(Config.RADAR_POSITION, y) + Config.RADAR_POSITION.longitude;
latitude = metersToLatitude(Config.RADAR_POSITION, x) + Config.RADAR_POSITION.latitude;

I found formulae for the length of a degree of latitude and longitude on Wikipedia.  A degree of latitude is the same everywhere but longitude gets smaller near the poles.
static float metersToLatitude(Position near, float meters) {
    return meters / 110.6*1000;
}

static float metersToLongitude(Position near, float meters) {
    float lat = Math.toRadians(near.latitude);
    return meters /
        (111132.954 - 559.822 * Math.cos(2*lat) + 1.175 * Math.cos(4*lat));
}

Unfortunately this doesn't seem to work and I can't figure out why.
If you want to express your coordinates in positive degrees east/west/north/south you'll also have to check if they're negative and invert them and the direction in that case.

