Ignore:
Timestamp:
2011-05-29T21:04:54+02:00 (13 years ago)
Author:
bastiK
Message:

use IPrimitive to make upload code work for both OsmPrimitive and PrimitiveData

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java

    r2990 r4100  
    1414
    1515import org.openstreetmap.josm.data.osm.Changeset;
    16 import org.openstreetmap.josm.data.osm.OsmPrimitive;
     16import org.openstreetmap.josm.data.osm.IPrimitive;
    1717import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1818import org.openstreetmap.josm.gui.io.UploadStrategySpecification;
     
    3939     * than where passed in the list to upload*.
    4040     */
    41     private Collection<OsmPrimitive> processed;
     41    private Collection<IPrimitive> processed;
    4242
    4343    private OsmApi api = OsmApi.getOsmApi();
     
    7676     * @throws OsmTransferException thrown if an exception occurs
    7777     */
    78     protected void uploadChangesIndividually(Collection<OsmPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException {
     78    protected void uploadChangesIndividually(Collection<? extends IPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException {
    7979        try {
    8080            progressMonitor.beginTask(tr("Starting to upload with one request per primitive ..."));
    8181            progressMonitor.setTicksCount(primitives.size());
    8282            uploadStartTime = System.currentTimeMillis();
    83             for (OsmPrimitive osm : primitives) {
     83            for (IPrimitive osm : primitives) {
    8484                int progress = progressMonitor.getTicks();
    8585                String time_left_str = timeLeft(progress, primitives.size());
     
    118118     * @throws OsmTransferException thrown if an exception occurs
    119119     */
    120     protected void uploadChangesAsDiffUpload(Collection<OsmPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException {
     120    protected void uploadChangesAsDiffUpload(Collection<? extends IPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException {
    121121        try {
    122122            progressMonitor.beginTask(tr("Starting to upload in one request ..."));
     
    138138     * @throws OsmTransferException thrown if an exception occurs
    139139     */
    140     protected void uploadChangesInChunks(Collection<OsmPrimitive> primitives, ProgressMonitor progressMonitor, int chunkSize) throws OsmTransferException, IllegalArgumentException {
     140    protected void uploadChangesInChunks(Collection<? extends IPrimitive> primitives, ProgressMonitor progressMonitor, int chunkSize) throws OsmTransferException, IllegalArgumentException {
    141141        if (chunkSize <=0)
    142142            throw new IllegalArgumentException(tr("Value >0 expected for parameter ''{0}'', got {1}", "chunkSize", chunkSize));
    143143        try {
    144144            progressMonitor.beginTask(tr("Starting to upload in chunks..."));
    145             List<OsmPrimitive> chunk = new ArrayList<OsmPrimitive>(chunkSize);
    146             Iterator<OsmPrimitive> it = primitives.iterator();
     145            List<IPrimitive> chunk = new ArrayList<IPrimitive>(chunkSize);
     146            Iterator<? extends IPrimitive> it = primitives.iterator();
    147147            int numChunks = (int)Math.ceil((double)primitives.size() / (double)chunkSize);
    148148            int i= 0;
     
    181181     * @throws OsmTransferException thrown if something goes wrong
    182182     */
    183     public void uploadOsm(UploadStrategySpecification strategy, Collection<OsmPrimitive> primitives, Changeset changeset, ProgressMonitor monitor) throws OsmTransferException {
     183    public void uploadOsm(UploadStrategySpecification strategy, Collection<? extends IPrimitive> primitives, Changeset changeset, ProgressMonitor monitor) throws OsmTransferException {
    184184        CheckParameterUtil.ensureParameterNotNull(changeset, "changeset");
    185         processed = new LinkedList<OsmPrimitive>();
     185        processed = new LinkedList<IPrimitive>();
    186186        monitor = monitor == null ? NullProgressMonitor.INSTANCE : monitor;
    187187        monitor.beginTask(tr("Uploading data ..."));
     
    214214    }
    215215
    216     void makeApiRequest(OsmPrimitive osm, ProgressMonitor progressMonitor) throws OsmTransferException {
     216    void makeApiRequest(IPrimitive osm, ProgressMonitor progressMonitor) throws OsmTransferException {
    217217        if (osm.isDeleted()) {
    218218            api.deletePrimitive(osm, progressMonitor);
     
    236236     * @return the collection of successfully processed primitives
    237237     */
    238     public Collection<OsmPrimitive> getProcessedPrimitives() {
     238    public Collection<IPrimitive> getProcessedPrimitives() {
    239239        return processed;
    240240    }
Note: See TracChangeset for help on using the changeset viewer.