IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Client lourd Swing et default permissions


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2009
    Messages : 23
    Par défaut Client lourd Swing et default permissions
    Bonjour,

    J'ai fait un applicatif en Swing (j'ignore si le terme "applicatif" est le bon) il manipule des fichiers (renommage et suppression/copies).

    En local, avec les fichiers du filesystem, tout fonctionne bien. J'en ai déduis que java utilisait les droits du user qui lançait l'application (si l'utilisateur a des droits sur un répertoire alors mon application java aussi).

    J'ai voulu utiliser mon application pour agir sur un serveur de fichier de mon réseau. L'utilisateur a bien les droits sur le répertoire distant.

    Par contre java refuse de renommer/supprimer les fichiers sur le réseau.

    Je ne connais pas du tout ces histoires de droits. Et je le découvre sur le tard.
    J'ai juste besoin de confirmations pour voir si je pars dans la bonne direction concernant mes recherches.

    Suis-je confronté à des limites fixées par les default policy de java ?
    Interdiction d'agir sur un répertoire distant par exemple.

    Lorsque mon application manipule des fichiers, cela fonctionne t'il bien comme je l'ai supposé ?
    C'est à dire droit de l'utilisateur + default policies

    J'ai l'intention d'étendre les droits de mon application (il y aurait une classe policy). Est-ce que je pars sur la bonne voie ou mon problème viendrait juste des droits sur la machine distante (Je rappelle que mon utilisateur peut créer et supprimer des fichiers sur cette machine distante)?

    (Pour information je suis dans un environnement Windows xp/vista)

    J'ai juste besoin d'un peu d'orientation. Je découvre cette problématique d'un bloc, je suis un peu paumé. Je ne sais pas si cette histoire de policy est la bonne piste.

    Merci d'avance.

    edit: correction de quelques erreurs.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par herotic Voir le message
    Par contre java refuse de renommer/supprimer les fichiers sur le réseau.
    Quel est l'erreur ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    et plus important encore, qu'utilise tu pour te connecter en distant à cette machine?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2009
    Messages : 23
    Par défaut
    et plus important encore, qu'utilise tu pour te connecter en distant à cette machine?
    Rien de spécial. J'utilise JFileChooser pour consulter un lecteur réseau. Désolé si je n'étais pas clair sur ce point dans mon premier message. Je passe donc entièrement à travers l'explorateur de Windows.

    L'erreur viendrait de File.renameTo() elle n'est pas garantie de fonctionner si j'en crois la JavaDoc :

    java.io.File
    Many aspects of the behavior of this method are inherently platform-dependent: The rename operation might not be able to move a file from one filesystem to another, it might not be atomic, and it might not succeed if a file with the destination abstract pathname already exists. The return value should always be checked to make sure that the rename operation was successful.
    J'ai ajouté des contrôles vérifiant l'existence du fichier, que je sauvegarde dans un autre File, je supprime le fichier existant puis crée un nouveau avec le nom qui m’intéresse. Je pensais contourner le problème mais ça ne marche pas plus.

    renameTo() marche sur mon Windows 7, sur mon filesystem local.
    Il ne marche pas sur un poste Windows XP du réseau.
    Et je ne peux pas accéder à un lecteur réseau depuis ce Windows XP.

    Je regarde des frameworks qui pourraient me garantir le fonctionnement de ces fonctionnalités (renommer/supprimer/copier un fichier)

    edit : du coup je pense que ce problème de renameTo() a déjà été traité dans le forum. Sur le coup il y avait beaucoup de choses nouvelles à intégrer pour moi.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    il s'agit d'un montage réseau (mappé vers une lettre de lecteur) ou d'un File avec un nom du style \\machine\dosssier partage\blablabla?

    Dans le second cas, tu aura plus de chance je pense de travailler avec la librairie JCIFS pour gérer le protocole de partage windows directement.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2009
    Messages : 23
    Par défaut
    il s'agit d'un montage réseau (mappé vers une lettre de lecteur) ou d'un File avec un nom du style \\machine\dosssier partage\blablabla?
    Et bien c'est un chemin du style \\machine\dosssier partage\blablabla? qui est monté en lecteur.
    Je ne connais vraiment rien à ces histoires de réseau Windows.

    J’accède au lecteur F qui monte un partage de la forme \\machine\dosssier partage\blablabla

    JCIFS est-t'il toujours d'actualité ?

    J'ai lu que quelqu'un conseillait commons.io.

    C'est ce sur quoi je me concentrais depuis hier.

    Merci en tout cas pour les réponses, je suis moins paumé qu'au début là.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparatif swing/eclipse RCP pour faire du client lourd
    Par joseph_p dans le forum AWT/Swing
    Réponses: 25
    Dernier message: 08/08/2019, 01h12
  2. [EJB3] Problème avec mon client lourd en Swing
    Par bza88 dans le forum Java EE
    Réponses: 3
    Dernier message: 30/01/2012, 09h26
  3. Problème EJB 3.1 et client lourd (Swing)
    Par mimamima dans le forum NetBeans
    Réponses: 1
    Dernier message: 16/05/2011, 11h57
  4. Architecture d'un client lourd (Swing) avec Hibernate
    Par nicorama dans le forum Persistance des données
    Réponses: 3
    Dernier message: 02/12/2010, 22h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo